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