3
我目前正試圖解決一個問題,即在實體之間存在多個多對多關係的同時,我在Java Swing應用程序中使用了Hibernate 4。保存/更新具有多對多關係的Hibernate實體
例如,項目實體與人有關係。 人和項目有一個多對多的關係。 A 項目可以在許多分類,所以也有一個多對多的關係。
Person *-----* Project *-----* Category
當我有一個擺動的形式,我可以編輯有關人,一個項目和類別所有這些信息,並涉及到保存人當用戶點擊「保存「按鈕,將有什麼可能的解決方案來保存/更新人?
void savePerson(Person p){
Session sess = factory.openSession();
Transaction tx = null;
try {
tx = sess.beginTransaction();
// steps to be done
tx.commit();
}
catch (RuntimeException e) {
if (tx != null) tx.rollback();
}
finally {
sess.close();
}
}
因爲還有一個收集項目內人和收集的Categoy內項目可能已經改變了,我必須做一個遞歸的保存類型(首先保存/更新集合包含的所有子實體,然後保存/更新Person實體),還是我只需要ave Person實體和Hibernate將保存/更新機制應用於以Person爲根的整個實體樹?任何最佳實踐?
感謝YOUT提示,這個註釋是去我上述的行爲的關鍵。但花了我幾周的時間才發現,另一個最愚蠢的命名可能需要的註釋才能正確地工作。屬性「inverse = false」,簡單地表示關係的責任方也是需要的。 – xSNRG 2012-02-14 10:08:41