我注释了一堆POJO,所以JPA可以使用它们在Hibernate中创建表。看起来,除了一个名为“Revision”的非常中心的表之外,所有表格都被创建。 Revision类有一个@Entity(name="RevisionT")
注释,所以它将被重命名为RevisionT,因此不会与MySQL(目标数据库)中的任何保留字发生冲突。表未由Hibernate创建
我删除整个数据库,重新创建它并基本打开和关闭JPA会话。所有的表似乎都没有问题重新创建。
为什么创建的模式中缺少单个表?可以使用哪些工具来查看Hibernate正在生成的内容以及哪些错误?
谢谢。
更新:我试图创建一个德比DB,它是成功的。但是,其中一个字段的名称是“索引”。我使用@org.hibernate.annotations.IndexColumn
来将名称指定为保留字以外的名称。但是,该列在创建时始终称为“索引”。
下面是可疑注释的示例。
@ManyToOne
@JoinColumn(name="MasterTopID")
@IndexColumn(name="Cx3tHApe")
protected MasterTop masterTop;
而不是创建MasterTop.Cx3tHApe
作为一个领域的,它创造MasterTop.Index
。为什么名称被忽略?
这个帮助非常大!我发现有还有一个名为“Index”的列被创建,进一步调查显示模式的@OneToMany一侧也有@IndexColumn(name =“Index”),Hibernate忽略了@ManyToOne上的@IndexColumn,我仍然想知道为什么没有输出从休眠。哦,它的工作! – User1 2009-09-04 16:42:16
哈哈,我很高兴,帮助:) – 2009-09-04 19:34:06