java hibernate自引用表按fk获取行
table Student
----------------
id | somecolumn with string| fk(which is self referencing ID of the same table)
如何进行hibernate查询,以获取id值与fk值匹配的所有项
以下是我尝试过的,但它不起作用(它只返回1个结果,而不是结果集)
List<Student> list = (List<Student>) sessionFactory
.getCurrentSession()
.createQuery("from Student p join p.studentFKs p2 where p2.id = :parentId")
.setParameter("parentId", parentId).list();
有人能帮我解决这个问题吗?我知道它也可以通过Hibernate标准来实现
更新答案是将查询更改为(加入无效..):
select p from Student p join p.student p2 where p2.id = :parentId
# 1 楼答案
我用这样的东西,这就是工作
连接内部实体学生的属性:
HQL获得该设置:
也许您可以将查询从
p2.id = :parentId
更改为>>p.id = :parentId