我有一个名为task的表,其中place id,category id和ammendability是列。我调用了一个方法,我传递了两个地方ids placeId1,placeId2。
第一个查询获取可修改性列表。
"select distinct(ammend) from Task where flag = :sactive;";
query.setParameter("sactive", "A");
所以这会给我三条记录说
A
B
C
现在我想进行一个查询,它将获取placeId1和placeId2,它们具有相同的可修改性。这样做是为了比较具有相同可修改性的两个地方ID。
我尝试了下面的功能。
from task where placeId = :placeId1 and placeId = :placeId2 where amendability = :ammend;
我没有得到理想的结果。
有任何帮助吗?
答案 0 :(得分:0)
这似乎不像HQL。你没有显示你的映射,所以我不得不猜测Task和Place之间有一对多的连接。
select t from Task
join t.place p
where p.id in (:placeId1, :placeId2)
and t.ammendability = :ammend
但这肯定不是你想要的。这只是猜测,因为当你想谈论Hibernate查询时,你真的必须包含域对象代码和映射。