2010-07-20 9 views
9

Es existiert eine proprietäre Hibernate Annotations geben Sie die Foreign Key Einschränkung Namen die verwendet werden, um DDL Generationszeit zu wählen.Wie DDL Primary Key Constraint-Namen mit JPA/Hibernate

Gibt es auch eine Möglichkeit, die Primary Key Einschränkung Namen angeben?

+0

Andere JPA-Anbieter erlauben es wahrscheinlich (wie diejenigen, die auch die JDO-API unterstützen (z. B. DataNucleus), da es Standard bei dieser API ist), aber nicht Teil der JPA-API (bis einschließlich JPA 2.2) –

Antwort

8

Nicht möglich bei Standard JPA und nicht von Hibernate unterstützt weder für Primärschlüssel.

Es gibt tatsächlich ein sehr altes Problem über diese Feature-Anfrage (HB-1245), aber es sieht aus wie es nicht viel Aufmerksamkeit bekommt.

1

Wenn Sie über die Wahl den Namen Ihren Primärschlüssels im Gespräch sind (in der Datenbank), kann Hibernate nicht das tun.

Denken Sie daran, Hibernate ist ein Framework, das sich hauptsächlich auf das Mapping von Objekten konzentriert, nicht auf die Erstellung/Wartung von Datenbankelementen.

Im Hinblick auf den Primärschlüssel definiert, die folgende Verbindung (insbesondere 2.2.3.2) könnte hilfreich sein: Mapping identifier properties in the JBoss Hibernate guide

+0

True , Ich meine den * Namen * der PK-Einschränkung. Angesichts der Tatsache, dass es einen Mechanismus gibt, um dies für FK-Constraints zu tun, habe ich gehofft, dass ein ähnlicher Mechanismus für PK-Constraints existiert. – Jan

+0

Es sieht so aus, als ob JDO (http://java.sun.com/jdo/) zumindest den Namen des von Ihnen verwendeten Indexes definieren kann: Das ist natürlich nicht der gleiche wie ein Primärschlüssel. (siehe http://www.objectdb.com/java/jpa/entity/index#Single_Field_Index) – Marco

Verwandte Themen