我想在我的HQL中使用RowNum
和Orderby
。底層數據庫是Oracle。 如預期Rownum
在訂購之前執行(我不想要)。在HQL中使用Rownum和OrderBy
在SQL中,這可以使用from子句中的Subselect
來完成,但是如何在不影響性能的情況下在HQL中實現這一點。此外,HQL不允許在子句中使用子查詢。 試過:
setFirstResult(resultsetLimit)
setMaxResults(resultsetLimit)
setFetchSize(resultsetLimit)
並且它的性能非常糟糕。
我不是Hibernate專家,所以請原諒,如果我失去了什麼或做任何事情嚴重。 也在這一點上,我沒有選擇,只能使用HQL。
「HQL子查詢只能出現在select或where子句中。」 select子句中的子查詢應返回單個值...在我的情況下有多個值..感謝您的答案您 – airboss
由於您的查詢變得複雜,嘗試將其移動到** SQL,函數或存儲過程**將很容易維護。如果有幫助,你可以接受答案。 – ManuPK