在hibernate映射文件中指定约束名称

时间:2009-07-13 15:03:12

标签: hibernate

我正在使用Hibernate 3和Oracle 10。

有没有办法在Hibernate映射文件中指定将创建的约束名称(来自外键,唯一约束等)而不是(非用户友好的)生成的约束名称?

2 个答案:

答案 0 :(得分:2)

是的,使用最新版本的Hibernate(至少3.5+),您可以使用@ForeignKey注释。

http://docs.jboss.org/hibernate/orm/3.5/api/org/hibernate/annotations/ForeignKey.html

答案 1 :(得分:1)

之前我已经成功地使用了unique-key =“name of constraint”语法。在多对一中还有一个名为foreign-key的属性,我认为它具有相同的功能(尽管文档没有说明)。

例如,我知道这适用于唯一约束:

<many-to-one name="column1" class="Class1" unique-key="TABLE_U1"/>
<property name="column2" unique-key="TABLE_U1" />

我认为这适用于外键:

<many-to-one name="column1" class="Class1" foreign-key="TABLE_FK1"/>