我已經有一個小問題暴露:HQL功能與現場提取的行只包含數
我想從一個實體提取,假設它的名字「爲CustomerDetail」的所有行的特定字段(代碼)只有數字字符。
在HQL中不存在像Sql Server這樣的ISNUMERIC()函數,以及應用正則表達式函數的可能性。
一種可能的方案是:
SELECT C
FROM CustomerDetail C
WHERE C.code NOT LIKE '%A%'
AND C.code NOT LIKE '%B%'
等重複該條件總體alfabetical字母和特殊字符。
我認爲這是一個貧窮的解決方案,具有低級別的性能(巨大LIKE數)
,能不能請您諮詢我更聰明的解決方案?
謝謝您提前
P.S.我的應用程序是多數據庫管理系統,所以我不能使用SQL查詢
親愛的,HQL has'n got isNumeric(正如我在我的問題中寫的) –
您是否試過我的解決方案(包括'= 1')?因爲,就像我在我的答案中寫的 - 它的工作原理... –
在我寫一個問題之前...我嘗試我的代碼。這是HQL的第14章:http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/queryhql.html顯示允許的函數。 –