Java 休眠结果左键联接
我已经考虑过一件小事: 我在数据库中有两个表,它们是相关的——User和UserReference 在UserReference中,我有一个字段userid,它与User中的id相关 我已经用join left查询了mysql:Java 休眠结果左键联接,java,hibernate,Java,Hibernate,我已经考虑过一件小事: 我在数据库中有两个表,它们是相关的——User和UserReference 在UserReference中,我有一个字段userid,它与User中的id相关 我已经用join left查询了mysql: "FROM User as user left join fetch user.userReferences WHERE login='"+login+"' or email='"+login+"' AND password = '" +password+ "'" ;
"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;
}
@OneToMany(fetch=FetchType.LAZY,mappedBy=“user”)
公共集getUserReferences(){
返回this.userReferences;
}
现在-我想从user列表中的表UserReference中获取数据,因为我的查询有JOIN
我怎么做
我试着这样做:
List<UserReference> userReference = (List<UserReference>) user.get(0).getUserReferences();
System.out.println(userReference.get(0).getAge());
List userReference=(List)user.get(0.getUserReferences();
System.out.println(userReference.get(0.getAge());
但它不起作用
你能帮我吗?你不能将一个集合强制转换为一个列表,而是迭代该集合以获取用户引用