java.sql.SQLSyntaxErrorException: неизвестный столбец «имя_ столбца» в «списке полей» - сопоставления в сущности такие же, как в базе данных - PullRequest
0 голосов
/ 24 мая 2019

Я получаю сообщение об ошибке, как в заголовке столбца "accept_at", однако я не могу видеть, где я делаю ошибку, потому что я проверил имена столбцов, и объекты, по-видимому, аннотированы должным образом.Не удивительно, почему нет сеттеров и геттеров

@Id
@GeneratedValue
private Long id;
private Long version;

@Column(name = "accepted_at")
private Date acceptedAt;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "accepted_by_id")
private Account acceptedBy;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "account_id")
private Account account;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "token_id")
private Token token;

@Column(name = "date_created")
private Date dateCreated;

@Column(name = "is_accepted")
private Boolean isAccepted;

@Column(name = "is_enabled")
private Boolean isEnabled;

@Column(name = "last_updated")
private Date lastUpdated;

@Column(name = "organization_id")
private String organizationId;

@Column(name = "pending_status")
private int pendingStatus;

@Column(name = "pending_status_date")
private Date pendingStatusDate;

@Column(name = "profile_type")
private int profileType;

@Column(name = "valid_from")
private Date validFrom;

@Column(name = "valid_to")
private Date validTo;

Вот как я создаю таблицу для профиля с помощью скрипта.

create table profile
(
id                   bigint(20) not null auto_increment,
version              bigint(20) not null,
accepted_at          datetime,
accepted_by_id       bigint(20),
account_id           bigint(20) not null,
token_id             bigint(20),
date_created         datetime,
is_accepted          bit(1) not null,
is_enabled           bit(1) not null,
last_updated         datetime,
organization_id      national varchar(10) not null,
pending_status       int(11),
pending_status_date  datetime,
profile_type         int(11) not null,
valid_from           datetime,
valid_to             datetime,
primary key (id),
key organization_id (organization_id)
);

Я использую application.yml вместо application.СВОЙСТВА.Я надеюсь, что это как-то полезно

 spring:
  datasource:
   url: jdbc:mysql://localhost/*****?serverTimezone=GMT
   username: root
   password: ******
  jpa:
   open-in-view: false
 flyway:
  enabled: true
 thymeleaf:
  suffix: .html
  cache: false

1 Ответ

0 голосов
/ 24 мая 2019

пожалуйста, замените ваши свойства yml на следующие:

spring:
  datasource:
   url: jdbc:mysql://localhost/focus3?serverTimezone=GMT
   username: root
   password: 123456
  jpa:
   open-in-view: false
    hibernate:
    naming:
      physical-strategy : org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
 flyway:
  enabled: true
 thymeleaf:
  suffix: .html
  cache: false

, потому что ваши свойства yml должны нравиться ниже, чтобы использовать имя вашего поля,

spring:
  jpa:
    hibernate:
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...