我将BusinessParty POJO对象映射到表BP表, 请求POJO对象映射到REQUESTS表。
一个BP通过外键在REQUESTS表中有多个请求。
我想通过提供DAO所需的BP数量来获取请求,并从REQUEST表中获取所有请求(例如10个)BP请求。
我最初在Oracle SQL中尝试过
select * from REQUESTS where BP_ID in (select distinct BP_ID from REQUESTS where ROWNUM<=200);
但是在这个内部查询中搜索了200行,它发现了95个BP和外部查询返回了217个请求记录,其中包含95个BP。
我必须将结果查询转换为HQL。
不知道如何获取特定BP数量的所有请求。
答案 0 :(得分:0)
我不确定,如果我明白了,你想做什么,但我认为问题是,甲骨文限制了rownum而不是明确。如果要获得200个唯一的BP_ID,则必须进行另一个子查询:
select *
from REQUESTS
where BP_ID in (select BP_ID from (Select distinct BP_ID from REQUESTS) where ROWNUM<=200);