簡體   English   中英

Hibernate中的CRUD與一對多映射

[英]CRUD in Hibernate with one-to-many mapping

我在數據庫中有三個實體和三個表及其關系:

 Class person {

 int id;

 @OneToMany(mappedBy = "person", fetch = FetchType.LAZY)
 List<Comment> comments;

 @OneToMany(mappedBy = "person", fetch = FetchType.LAZY)
 List<CellPhone> cellPhones;

 }

 Class Comment {

 String content;    

 @ManyToOne
 @JoinColumn(name = "id")
 Person person;

 }

 Class CellPhone {

 String mark;    

 @ManyToOne
 @JoinColumn(name = "id")
 Person person;

 }

Hibernate是否支持我做類似的事情?

  • 插入一個新人,它會自動插入到CellPhone和Comment中,而不是每個實體都插入。
  • 刪除具有給定id的人,然后通過person的ID自動刪除CellPhone和Comment及其關系。
  • 讓我們給一個人id,它讓所有評論和手機的人?
  • 更新某人的Comment和CellPhone中的某個內容並保存一個人,它將自動保存CellPhone和Comment。

通常,我只想為person對象設置/獲取CellPhone和Comment,然后調用getPerson(person),save(person)或delete(person)ect,而無需get(comment),save(comment)或delete(cellPhone) )..

請幫我澄清一下。 謝謝。

答案是肯定的。

具體來說,對於問題1、2和4,請看一下Hibernate級聯:

  1. 有關級聯的Hibernate文檔
  2. Mkyong有關級聯的文章

對於問題3,Hibernate將在您請求其他實體后自動獲取它們(通過調用它們的get方法)。

你看過CascadeType嗎? 是有關此主題的教程。 高溫超導

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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