我堆叠了一件小事:
我在数据库中有两个表,它们是相关的 - 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());
但它不起作用。
你能帮助我吗?
答案 0 :(得分:1)
您无法将Set转换为List,而是迭代Set以获取userRefences。