0
我在一個Java應用程序中使用Hibernate,我覺得可以做些更好的事情來管理父/子關係。休眠和父母/子女關係
我有一組複雜的實體,它們之間有一些關係(一對多,多對多,一對一,單向和雙向)。 每次一個實體被保存並且有一個父母時,爲了建立關係,父母必須將該孩子添加到其集合中(考慮一對一關係)。 例如:
Parent p = (Parent) session.load(Parent.class, pid);
Child c = new Child();
c.setParent(p);
p.getChildren().add(c);
session.save(c);
session.flush();
以同樣的方式,如果我刪除一個孩子的話,我必須從父集合明確地將其刪除了。
Child c = (Child) session.load(Child.class, cid);
session.delete(c);
Parent p = (Parent) session.load(Parent.class, pid);
p.getChildren().remove(c);
session.flush();
,如果有一些最佳做法,在那裏做這個工作以不同的方式我想知道:當我挽救一個孩子的實體,其自動添加到父集合。如果我刪除一個孩子,通過去除孩子,等
例如自動更新父集合,
Child c = new Child();
c.setParent(p);
session.save(c); // Automatically update the parent collection
session.flush();
或
Child c = (Child) session.load(Child.class, cid);
session.delete(c); // Automatically updates its parents (could be more than one)
session.flush();
無論如何,這不會是難以實現這個行爲,但我想知道是否存在一些處理此問題的標準工具或衆所周知的庫。如果不是,原因是什麼?
感謝
非常同意這個評論 - 封裝這些操作。 – John 2010-04-01 23:35:37
+1;我們也是這樣做的。 – mindas 2010-04-02 14:51:01