定义主键,Hibernate逆向工程,Oracle序列

时间:2012-04-26 07:44:43

标签: oracle hibernate netbeans reverse-engineering

我想使用hibernate(Netbeans)生成java类。 当表没有主键时,这似乎是不可能的。

我发现他无法访问数据库,他们使用的是序列而不是主键。

create sequence SEQ_ANY
minvalue 0
maxvalue 99999999999999999999
start with 0
increment by 1000
cache 20;

所以我的问题现在,我可以编辑hibernate.hbm或hibernate.cfg.xml或任何其他文件来告诉hibernate哪个类包含主键? F.E.

<table name="myTable">
<useThisFieldAsPrimaryKey name="uniqueSequenz"/>
</table>

谢谢!

1 个答案:

答案 0 :(得分:0)

序列是为主要部分提供唯一值的对象。因此,您的表可能有一个主键,由一列组成。

然后每个表都有一个主键(在最坏的情况下,所有列一起形成主键 - 这通常是一个糟糕的数据库设计)。主键可以有多个列。

Hibernate喜欢由单个列组成的主键。不过,您可以在Hibernate中定义由多个列组成的复合键。

您需要表格的架构。如果不是你就被困住了。