簡體   English   中英

休眠結果加入左

[英]hibernate results join left

我已經完成了一件小事情:

我在數據庫中有兩個表是相關的-User和UserReference。

UserReference中,我有一個字段userid ,它與User中的 id有關。

我有向聯接左查詢mysql:

"FROM User as user left join fetch user.userReferences WHERE login='"+login+"' or email='"+login+"' AND password = '" +password+ "'" ;

查詢還可以,我得到結果。

我將結果發送到控制器,將其更改為list:query.list();

在控制器中,我接收結果並將其推入用戶列表。

用戶列表中,我可以從表User中獲取信息

用戶表中有:

@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
public Set<UserReference> getUserReferences() {
    return this.userReferences;
}

現在-我想從用戶列表中的表UserReference獲取數據,因為我的查詢具有JOIN。

我該怎么做?

我正在嘗試做這樣的事情:

List<UserReference> userReference = (List<UserReference>) user.get(0).getUserReferences();
            System.out.println(userReference.get(0).getAge());

但這是行不通的。

你能幫助我嗎 ?

您不能將Set強制轉換為列表,而要遍歷Set以獲得userRefences。

暫無
暫無

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

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