My BDD is postgreSQL 9.1-901.jdbc4
我的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 中创建函数。
我找到了解决方案...
@query(value = "select * FROM version ORDER BY STRING_TO_ARRAY(numberVersion, '.')\:\:int[] ASC", nativeQuery=true)
List<Version> findByversionOrderBYNumberVersion();
感谢您的帮助!