假設我有對應於Posts
和Users
的域對象。不過,我有相應的數據庫表,其中包含與「帖子」和「用戶」有關的信息。Java Spring-Hibernate映射問題?
目前我已經在Hibernate中正確設置了映射,以便我可以從「posts」表中取出信息並將其保存爲Post
對象。然而,我然後在我的Posts
域對象中添加了對User
對象的引用(以便每個帖子可以有對應的User
對象)。
在我的數據庫結構中,「posts」表有一個user_id
列,它是「users」表中的外鍵。
我的問題是:在我的DAO查詢「上崗」表時,我必須參加的「用戶」表,然後返回的用戶數據在某種程度上鑄造成User
對象?或者我可以簡單地離開我的查詢(即只是查詢「posts」表),並以某種方式添加休眠映射,以便Posts
表中的User
屬性被填充? (我想我想知道如果我正確地設置了映射,Hibernate是否可以自動生成連接 - 例子也很棒!)
謝謝,我希望我已經清楚了。
更新:我想弄清楚,這裏有一些代碼段:
我的帖子對象:
public class Posts {
private String title;
...
private User user;
//getters and setters here
}
我的帖子表列:
post_id (primary key)
title
...
user_id (foreign key into User table)
我的映射(不考慮考慮到用戶屬性)目前看起來像這樣:
<class name="com...Post" table="post">
<id name="pId" column="post_id" />
<property name="title" column="title" type="java.lang.String" />
...
<!-- Need to add mapping here to join with user table?? -->
</class>
所以基本上,我的DAO目前取得一個沒有private User user
屬性的Post對象(因爲我剛剛添加了這個)。我的問題是如何在Post對象中填充該屬性(,以便獲取的Post對象也包含用戶對象)?
很抱歉,如果當前的職位已經回答了這個......他們只是稍微有一些混亂給我..
延遲讀取是默認行爲 - 即使在您鏈接的文章中也是如此。 –
你說得對,我的不好。 – juniorbl