我对OneToMany有一些奇怪的行为:
ENTITY1:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "entity1")
private Set<Deal> deals;
交易:
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "entity1_id")
private Entity1 entity1;
我也有:
properties.setProperty("hibernate.hbm2ddl.auto", "create");
启动时出现以下错误:
ERROR: org.hibernate.tool.hbm2ddl.SchemaExport - HHH000389: Unsuccessful: alter table deal add constraint FK_d17qqf8ra0ibdsnngbp465qvs foreign key (entity1_id) references entity1 (entity1_id)
ERROR: org.hibernate.tool.hbm2ddl.SchemaExport - Table 'test.deal' doesn't exist
我尝试从db中删除所有表,所有表都是成功创建的(我在其他实体中有这种类型的关系,这些表也是创建的)除了这一个。我究竟做错了什么?感谢。
答案 0 :(得分:2)
最后我发现了问题所在。 为了命名我的字段,我使用了MySQL关键词:to,from,show。 因此,Hibernate生成的SQL创建请求对于MySQL来说是完全的乱码,唯一的标志是来自服务器的消息,语法错误。 我通过逐个删除字段并逐步重新启动来找到它。