[英]Hibernate: how to delete entities in many-to-many relationships with extra attributes
[英]Saving/updating Hibernate Entities with many-to-many relationships
我目前正在嘗試解決一個問題,我在Java Swing應用程序中使用Hibernate 4,同時在實體之間有多個多對多關系。
例如, Project實體與Person有關系。 人與項目有很多關系。 項目可以在許多類別中 ,因此也存在多對多關系。
Person *-----* Project *-----* Category
當我有一個swing表單,我可以在其中編輯有關Person , Project和Category的所有信息,當用戶點擊“save”按鈕時保存Person ,什么是保存/更新Person的可能解決方案?
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實體)或者我是否只需要保存Person實體,Hibernate將保存/更新機制應用於以Person為根的整個實體樹? 任何最佳做法?
看看CascadeType
。 您可以使用關系注釋中的CascadeType直接設置保存/更新操作的行為:
@OneToMany(cascade = CascadeType.ALL)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.