繁体   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