hibernate结果加入左边

时间:2012-02-15 10:11:23

标签: java hibernate

我堆叠了一件小事:

我在数据库中有两个表,它们是相关的 - User和UserReference。

UserReference 中,我有用户ID 字段,该字段与用户中的 id 相关。

我通过左边的连接查询mysql:

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

查询没问题,我得到了结果。

我将结果发送到控制器,将其更改为list:query.list();

在控制器中,我会收到结果并将其推送到用户列表。

用户列表中,我可以从表格用户

获取信息

用户中有:

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

现在 - 我想从用户参考表中获取数据,这些数据位于用户列表中,因为我的查询已经加入。

我该怎么做?

我试图做这样的事情:

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

但它不起作用。

你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您无法将Set转换为List,而是迭代Set以获取userRefences。