2010-07-20 102 views
9

存在一个专用的休眠批注指定外键约束是在生成DDL时使用:org.hibernate.annotations.ForeignKey如何选择DDL PRIMARY KEY约束名称使用JPA/Hibernate的

有还指定主键约束的方法吗?

+0

其他JPA提供者可能允许它(例如那些也支持JDO API(例如DataNucleus),因为它是该API的标准),但不是JPA API的一部分(直到并包括JPA 2.2) – 2017-07-27 15:08:07

回答

8

不可能与标准JPA,而不是由Hibernate主键约束既不支持。

这个功能请求实际上存在一个很老的问题(HB-1245),但它看起来并没有得到太多的关注。

1

如果你正在谈论选择名称你的主键(在数据库中),Hibernate可以而不是那样做。请记住,Hibernate是一个主要专注于映射对象的框架,而不是创建/维护数据库实体。

至于定义主键,下面的链接(特别是2.2.3.2)可能会有所帮助:Mapping identifier properties in the JBoss Hibernate guide

+0

True ,我的意思是PK约束的*名称*。鉴于有一种机制可以为FK约束做到这一点,我希望类似的机制存在PK约束。 – Jan 2010-07-20 12:01:19

+0

它看起来像JDO(http://java.sun.com/jdo/)可以让你至少定义你正在使用的索引的名称:当然,这与主键不同。 (请参阅http://www.objectdb.com/java/jpa/entity/index#Single_Field_Index) – Marco 2010-07-23 09:11:31