0
假設我有這樣的POJO,我想插入文章到MySQL數據庫。休眠MySQL
@Entity
@Table(name = "article")
public class Article{
private String author;
private String body;
private int commentCount;
private List<EntryComment> comments;
@Entity
@Table(name = "comments")
public class Comment{
private String author;
private String body;
private int voteCount;
我想從另一個表中刪除字段comments
從「文章」。是否可以使用hibernate註釋將註釋放在單獨的表中?
您不應該在Comment類中熱切地獲取文章 - 當您將迭代Article類的評論時,最終會不必要地向文章表中添加後向連接。 – 2014-10-11 18:05:52
我相信這很大程度上取決於應用程序,對於我來說,在處理子對象時,我總是需要父對象,所以這樣做有時候會有意義。在這篇文章中,我只展示了兩種選擇(從父母到孩子,這是懶惰的,從小孩到父母都很渴望)。一個人可能已經放棄了這一切,但我認爲重要的是要表明實際上可以指定獲取行爲。 – 2014-10-11 20:05:22
你是對的,評論將需要對其父母的參考。但它應該是懶惰的 - 在大多數情況下,您將不會顯示與文章相關的任何內容,而您將顯示評論。該文章已經顯示,您將感興趣的是僅顯示與評論相關的詳細信息。懶惰的時候,你會在什麼時候查詢這篇文章。當它渴望的時候,你會有「SELECT * FROM comment JOIN文章...」,並且與文章表的連接是不必要的。 – 2014-10-11 20:13:14