斐伊川, 我有两个双向关联实体。
Project.java
class Project{
int project_id;
@OneToMany(mappedBy="project")
private Set<Users> projectsUsers = new HashSet<Users>();
//getters and setters and other fields
}
Users.java
class Users{
int id;
int userId;
int project_id
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name="project_id")
private Project project;
//getters and setters and other fields
}
我想编写一个HQL查询,该查询检索与特定userId关联的项目列表。
我正在写一些这样的东西,但没有用。
from Project P where P.projectsUsers.userId=1
尝试执行此操作时,我收到异常“非法尝试取消引用收集” 请你帮助我解决问题吗?
先谢谢
关心 Phani Kumar
答案 0 :(得分:3)
首先,“与特定userId关联的项目列表”没有意义,因为您具有一对多/多对一关系,因此每个用户可以关联不超过一个项目
检索该项目的查询如下:
SELECT u.project FROM users u WHERE u.userId = ?