hibernate中的@GeneratedValue(strategy = IDENTITY)在部署时不会生成关系(表)

时间:2015-01-24 02:16:18

标签: java mysql hibernate

我的代码中有以下内容:

@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "id", unique = true, nullable = false)
private Long id;

而且,我注意到当我拥有@GeneratedValue时,它根本不会生成我的MySql表,但如果没有该注释,它会生成相应的表。

我应该检查的关键点是什么?

1 个答案:

答案 0 :(得分:0)

这非常棘手,因为您可能认为已正确定义了hibernate的所有属性,并添加了@GeneratedValue注释导致SQL Gram-mer错误。然而,我能够通过更仔细地探索hibernate属性来解决这个问题。具体在hibernate配置中查找以下属性。 property name =" hibernateProperties">

            hibernate.dialect=${hibernate.dialect}
            hibernate.hbm2ddl.auto=create

用于hibernate.dialect - >你应该有org.hibernate.dialect.MySQL5InnoDBDialect 但你可能会看到,它还为 - >生成表格。 MySQL数据库中的org.hibernate.dialect.SQLServerDialect,它可以推断您已正确设置了hibernate属性。 如果您的任何元数据注释产生语法错误,我强烈建议您检查hibernate属性

谢谢