2016-05-03 11 views
0

Ich verstehe nicht, wie man einen zusammengesetzten Schlüssel definieren, darunter ein Fremdschlüssel, innerhalb eines SatzesComposite-Schlüssel einschließlich Fremdschlüssel in Hibernate Set

Hier meine Objekte:

MyObject     MySubset 
--------     ------------- 
String myId     String subAttribute 
String myAttribute   String subValue 
Set<MySubset> mySubset 

ich haben will zwei Tabellen MyObjectTable und MySubsetTable. myId ist der Primärschlüssel von MyObjectTable. Ich möchte die FK myId und subAttribute als die zusammengesetzten Schlüssel von MySubsetTable definieren.

Wie sieht das Hibernate-Mapping von in XML aus?

<hibernate-mapping> 
    <class table="myObjectTable" name="MyObject"> 
    <id name="myId"> 
     <column name="myId"/> 
    </id> 
    <property name="myAttribute"> <column name=....> </property> 
    <set cascade="all, delete-orphan table="MySubsetTable" name"mySubset" ...> 

     <!-- How should I define my key? --> 


     <composite-element class="MySubset"> 
     <property name="subAttribute"> <column name="subAttribute"/> </property> 
     <property name="subValue"> <column name="subValue"/> </property> 
     </composite-element> 
    </set> 
    </class> 
</hibernate-mapping> 
+0

[hier] (http: //docs.jboss .org/hibernate/orm/4.0/manual/de-DE/html/components.html # components-composite) finden Sie vielleicht Hilfe. – ujulu

+0

Dort suche ich schon ... –

Antwort

0

ich mein Problem gelöst, indem kein Satz verwenden, aber eine Karte:

<hibernate-mapping> 
    <class table="myObjectTable" name="MyObject"> 
    <id name="myId"> 
     <column name="myId"/> 
    </id> 
    <property name="myAttribute"> <column name=....> </property> 
    <map cascade="all, delete-orphan table="MySubsetTable" name"mySubset" ...> 
     <key not-null="true" foreign-key="FK_MyObj" column="MyObject"/> 
     <map-key type="string" column="myAttribute"/> 
     <element type="string" column="myValue"/> 
    </map> 
    </class> 
</hibernate-mapping> 

Vielleicht hilft das jemand anderes ...

Verwandte Themen