Java Hibernate尝试在创建表之前更改表
这里有一个简单的问题:我使用MySQL5方言在mySQL数据库上运行SpringBoot2.2.5。在我将@manytone注释添加到引用用户实体的幻灯片实体之前,一切都很顺利-现在Hibernate无法创建表,因为它创建了用户表,然后尝试更改尚未创建的幻灯片表。我做错了什么 用户: 幻灯片:Java Hibernate尝试在创建表之前更改表,java,mysql,spring-boot,hibernate,Java,Mysql,Spring Boot,Hibernate,这里有一个简单的问题:我使用MySQL5方言在mySQL数据库上运行SpringBoot2.2.5。在我将@manytone注释添加到引用用户实体的幻灯片实体之前,一切都很顺利-现在Hibernate无法创建表,因为它创建了用户表,然后尝试更改尚未创建的幻灯片表。我做错了什么 用户: 幻灯片: @Entity @Getter @Setter @NoArgsConstructor @AllArgsConstructor @ToString(exclude = "editor")
@Entity
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
@ToString(exclude = "editor")
@Table(name = "slides")
public class Slide {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private boolean visible;
private int order;
private Date edited;
@ManyToOne
@JoinColumn(name = "editor_id")
private User editor;
private String title;
private String text;
private String picture;
}
休眠配置详细信息:
spring.jpa.hibernate.ddl-auto = update
spring.datasource.initialization-mode=always
spring.jpa.hibernate.naming-strategy = org.hibernate.cfg.ImprovedNamingStrategy
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5Dialect
错误是:
Hibernate: create table users (id integer not null auto_increment, bio varchar(255), cohort_number integer not null, company varchar(255), email varchar(255), email_visible bit not null, enabled bit not null, function varchar(255), linked_in varchar(255), membership varchar(255), membership_since datetime, membership_until datetime, name varchar(255), password varchar(255), phone varchar(255), phone_visible bit not null, position varchar(255), role varchar(255), surname varchar(255), token varchar(255), username varchar(255), primary key (id)) engine=MyISAM
Hibernate: alter table slides add constraint FKobqxptfxg36ls278o63ouq369 foreign key (editor_id) references users (id)
2020-08-11 14:27:48.201 WARN 8224 --- [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "alter table slides add constraint FKobqxptfxg36ls278o63ouq369 foreign key (editor_id) references users (id)" via JDBC Statement
...
Caused by: java.sql.SQLSyntaxErrorException: Table '32293814_alumnicemba.slides' doesn't exist
发现问题:
私有整数顺序代码>
此处不允许将“order”作为字段名,并且Hibernate在尝试创建幻灯片表但未记录该错误时遇到错误。我已将该字段重命名为“排序”,它现在可以工作。发现问题:
私有整数顺序代码>
此处不允许将“order”作为字段名,并且Hibernate在尝试创建幻灯片表但未记录该错误时遇到错误。我已将该字段重命名为“排序”,它现在可以工作。我在您的“错误”中没有看到任何错误。抱歉,核心错误是java.sql.SQLSyntaxErrorException:表“32293814\u alumnicemba.slides”不存在,请尝试再次运行该应用程序。它会很好的工作。还有,我要确保你有一个界面幻灯片位置不,它不会正常工作。每次运行都会出现问题:Hibernate试图更改尚未创建的表。是的,当然我有存储库界面。来吧。我在您的“错误”中没有看到任何错误。抱歉,核心错误是java.sql.SQLSyntaxErrorException:表“32293814\u alumnicemba.slides”不存在,请尝试再次运行该应用程序。它会很好的工作。还有,我要确保你有一个界面幻灯片位置不,它不会正常工作。每次运行都会出现问题:Hibernate试图更改尚未创建的表。是的,当然我有存储库界面。来吧
Hibernate: create table users (id integer not null auto_increment, bio varchar(255), cohort_number integer not null, company varchar(255), email varchar(255), email_visible bit not null, enabled bit not null, function varchar(255), linked_in varchar(255), membership varchar(255), membership_since datetime, membership_until datetime, name varchar(255), password varchar(255), phone varchar(255), phone_visible bit not null, position varchar(255), role varchar(255), surname varchar(255), token varchar(255), username varchar(255), primary key (id)) engine=MyISAM
Hibernate: alter table slides add constraint FKobqxptfxg36ls278o63ouq369 foreign key (editor_id) references users (id)
2020-08-11 14:27:48.201 WARN 8224 --- [ restartedMain] o.h.t.s.i.ExceptionHandlerLoggedImpl : GenerationTarget encountered exception accepting command : Error executing DDL "alter table slides add constraint FKobqxptfxg36ls278o63ouq369 foreign key (editor_id) references users (id)" via JDBC Statement
...
Caused by: java.sql.SQLSyntaxErrorException: Table '32293814_alumnicemba.slides' doesn't exist