有没有办法在子查询上使用SetMaxResult()方法?我正在编写一个查询,以返回所有属于最近订单的订单项。因此,我需要限制子查询中记录的数量。
等效的SQL语句大致如下:
SELECT i.*
FROM tbl_Orders o
JOIN tbl_OrderItems i on i.OrderId = o.Id
WHERE
o.Id in (SELECT TOP 1 o.Id FROM tbl_Orders o orderby o.Date desc)
我使用HQL是因为Criteria API不允许你投影另一个域对象(我正在查询订单但想返回订单项)
我知道HQL不接受“SELECT TOP”,但如果我使用SetMaxResult()它将应用于外部查询而不是子查询。
有什么想法吗?