Ich bin jetzt für einen Moment stecken und ich brauche Hilfe.Mapping in Hibernate auf einem anderen Feld als die PK
Ich will eine Zuordnung in Hibernate haben zwischen zwei Feldern, die nicht in einem der beiden Tabellen PK sind
Table Category (
catId Numeric(10),
categoryBusinessRef Numeric(10)
)
Table Product (
productId Numeric(10),
categoryBusinessRef Numeric(10)
)
Die SQL-Abfrage wäre:
SELECT *
from Category as a
Join Product as b on a.categoryBusinessRef = b.categoryBusinessRef
Aber in Hibernate es mir machen diese Zuordnung
SELECT *
from Category as a
Join Product as b on a.categoryId = b.categoryBusinessRef
Mein HBMs sieht gefällt
<class name="Category" table="A">
<id name="categoryId" length="10">
<column name="categoryid" />
<generator class="sequence">
<param name="sequence">S_category</param>
</generator>
</id>
<set name="categoryBusinessRefs" table="B" >
<key>
<column name="categoryBusinessRef" />
</key>
<one-to-many class="ProductClass" />
</set>
</class>
<class name="Product" table="B">
<id name="productId" length="10">
<column name="productid" />
<generator class="sequence">
<param name="sequence">S_product</param>
</generator>
</id>
<property name="categoryBusinessRef" length="10">
<column name="categoryBusinessRef" />
</property>
</class>
So ist es eine One-to-many-Beziehung, aber es hat mit anderen Werten als die PK der Kategorie
Danke für die Hilfe
EDIT zur Karte:
Wenn ich kann‘ t mach das ok! Aber wenn ich das tun kann, weiß ich alles mit dem Primärschlüssel, aber meine Frage ist nicht "Mapping in Hibernate on PK", sondern "Mapping in Hibernate auf einem anderen Feld als der PK", so die Antworten, die Karte sagte PK interessiert mich nicht: p
Ich denke, Tabelle 'A' ist die' 1'-Seite einer OneToMany-Relation, richtig? Dann ist das Attribut "Scheibe" in der Tabelle "A" falsch. – JimHawkins
Ich habe keine Warennamen gewählt Ich denke, ich werde diese Variablen umbenennen –
es ist keine Frage von guten oder schlechten Namen. War meine Annahme richtig? – JimHawkins