【发布时间】:2015-02-12 22:51:47
【问题描述】:
我正在尝试在 Film 实体之间创建最简单的多对一关系:
@Entity
public class Film {
@Id
@GeneratedValue
private Long id;
并显示实体:
@Entity
public class Show {
@Id
@GeneratedValue
private Long id;
@ManyToOne
@JoinColumn(name = "film_id")
private Film film;
我正在使用 MySQL 数据库和 Hibernate 4.3.0 Final。我已经设置了数据库模式在启动时自动更新。当我开始这个时,我有这样的错误:
错误:HHH000388:不成功:创建表显示(id bigint not null auto_increment,价格小数(19,2),film_id bigint,主键(id)) 14.12.2014 22:37:25 org.hibernate.tool.hbm2ddl.SchemaUpdate 执行 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“Show (id bigint not null auto_increment, price decimal(19,2), film_id bigint, pr”附近使用正确的语法 14.12.2014 22:37:25 org.hibernate.tool.hbm2ddl.SchemaUpdate 执行 错误:HHH000388:不成功:更改表显示添加约束 FK_t3uhu4qn5ughklywjf8vgfjym 外键 (film_id) 引用电影 (id) 14.12.2014 22:37:25 org.hibernate.tool.hbm2ddl.SchemaUpdate 执行 错误:您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的“显示添加约束 FK_t3uhu4qn5ughklywjf8vgfjym 外键 (film_id) 参考”附近使用正确的语法 14.12.2014 22:37:25 org.hibernate.tool.hbm2ddl.SchemaUpdate 执行
如果我将 FOREIGN_KEY_CHECKS = 0 设置为 MySQL,我也会遇到同样的错误。哪里出了问题?
【问题讨论】:
标签: java mysql hibernate jpa orm