Hallo Leute,
sitze schon seit Tagen vor einem Problem (Hibeernate vs. 2.1.6).
Folgendes soll realisiert werden.
Produkte gehörhen zu mehreren
Kategorien.
Kategorien beinhalten mehrere
Produkte.
Das mapping sieht folgendermasen aus:
Code:
*** Produkt***
...
<set name="categories" table="rel_product_category" cascade="save-update">
<key>
<column name="rel_product_id"/>
</key>
<many-to-many class="de.vislabor.hibernate.Category" column="rel_category_id"/>
</set>
*** Kategorie ***
...
<set name="products" table="rel_product_category" cascade="save-update">
<key>
<column name="rel_category_id"/>
</key>
<many-to-many class="de.vislabor.hibernate.Product" column="rel_product_id"/>
</set>
Mit folgendem Code will ich nun ein Testprodukt samt Kategorie hinzufügen:
Code:
// Get a new createt product
Product prod = prodForm.getProduct();
session.save(prod);
// Create a category manually
Category cat = new Category("Category_1", null, null);
// Persist the category
session.save(cat);
prod.getCategories().add(cat);
session.update(prod);
session.close();
Daraufhin ist zwar sowohl das Produkt als auch die Kategorie vorhanden, allerdings fehlt der Eintrag in der Join-Tabelle (rel_product_category).
Ich habe auch schon alle möglichen anderen Reihenfolge zur Generierung der Objekte versucht, nichts hat geholfen (egal ob auf der inversen Seite oder nicht).
Für Hilfe wäre ich wirklich sehr dankbar!