簡體   English   中英

使用多對多關系保存/更新Hibernate實體

[英]Saving/updating Hibernate Entities with many-to-many relationships

我目前正在嘗試解決一個問題,我在Java Swing應用程序中使用Hibernate 4,同時在實體之間有多個多對多關系。

例如, Project實體與Person有關系。 項目有很多關系。 項目可以在許多類別中 ,因此也存在多對多關系。

Person *-----* Project *-----* Category

當我有一個swing表單,我可以在其中編輯有關PersonProjectCategory的所有信息,當用戶點擊“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM