2010-07-20 62 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

相關問題