1
我BDD是PostgreSQL的9.1-901.jdbc4PostgreSQL和通過版本號冬眠訂購1.1.1.1.1
我的ORM的休眠誰帶彈簧的引導工作1.5.1和春季數據REST
我有一個表號碼版本
1.1
1.3
1.2.1
1.3.12.4
1.5.10.3.5
我有5個號碼最大。
在我@respositoryRestResource
我試過這個自定義查詢:
@query("select v FROM version v ORDER By cidr(numberVersion)")
List<Version> findByversionOrderBYNumberVersion();
這個自定義查詢的工作方式,直到4號。
我試過其他自定義查詢:
@query("select v FROM version v ORDER BY STRING_TO_ARRAY(numberVersion, '.')::int[] ASC")
List<Version> findByversionOrderBYNumberVersion();
我有一個錯誤:
產生的原因:org.hibernate.hql.internal.ast.QuerySyntaxException:意外的標記:
有人能幫我 ?請我沒有其他想法...
我不能在postgres中創建一個函數。
我不使用像Hibernate這樣的混淆圖層,但'@ query'指示** HQL **查詢?如果你想使用本地Postgres函數,你需要使用** native **查詢,而不是HQL –
*建議:*不要求數據庫或Hibernate進行排序。相反,使用自定義的「比較器」對Java返回的'List'進行排序。 – Andreas
我嘗試使用本機查詢: @query(value =「select v FROM version v ORDER BY STRING_TO_ARRAY(numberVersion,'。'):: int [] ASC」,nativeQuery = true) List findByversionOrderBYNumberVersion(); 我有這個例外: 引起:org.hibernate.QueryException:並非所有命名參數已設置:[:int] 我該如何排除像param? –
Viet47