0
我正在使用類似的查詢,例如發佈here的查詢來按給定順序獲取對象列表。按給定順序Hibernate和Oracle訂單
我也有兩個環境,其中一個使用MySQL,另一個使用Oracle。在MySQL中,該答案中給出的HQL(在此處發佈以供參考)工作正常,但切換到Oracle時,它轉換爲相同的結果SQL,這是無效的。
所以我希望能拓展Oracle10gDialect並提供翻譯成該Oracle SQL兼容:
select q.id
from
Question q
where
q.id in (
1701, 1698, 1264
)
order by
decode(q.id,
1701, 1, 1698, 2, 1264 , 3)
但我不知道如何定義我的功能。當按位處理,我延長了方言和使用此代碼:
registerFunction("bwand", new SQLFunctionTemplate(IntegerType.INSTANCE, "BITAND(?1, ?2)"));
,工作正常,但在這種情況下,我需要提供的圖案爲ID列表,隨後其訂單指數,和我不噸知道如何得到該索引號。
任何幫助?
如果對象的數量很小,你可以做排序在Java中。 –