我想使用Hibernate SQL實現與以下查詢相同的結果,也就是說,我希望從ID不等於300的表中獲取兩個隨機記錄。我正在使用Hibernate 4.1和Oracle 11g。我在Toad上運行了下面的查詢,它給出了2個隨機記錄。但是,當我嘗試運行HQL時,使用「DBMS_RANDOM.value」會出錯。使用DBMS_RANDOM.value時出現Hibernate錯誤
SELECT * FROM
(SELECT *
FROM table
where ID != '300'
AND q_ID=125
ORDER BY DBMS_RANDOM.value
)WHERE rownum < 3
;
我試圖創建標準和查詢,但都給予休眠錯誤:
休眠消息:無效的路徑:「DBMS_RANDOM.RANDOM」 [從com.model.table標籤,讓tab.ID =「33092」 ORDER BY DBMS_RANDOM.RANDOM]
和我的實際Hibernate查詢是:
查詢查詢= session.createQuery( 「!從表標籤,讓tab.ID = '」 + agrmId + 「' ORDER BY DBMS_RANDOM.RANDOM」) .setMaxResults(2);
我也試過ORDER BY rand(),並給出了一個Oracle錯誤。
謝謝你的幫助。
什麼是確切的錯誤信息? –
請更新問題,並在那裏添加錯誤消息。 –