求助:jpa 不使用原生 sql 如何实现 jsonb 字段排序?

2021-05-26 23:27:00 +08:00
 tuine

直接使用会报错:No property jsonbField->'field' found for type TestEntity 代码如下: Pageable pageable = PageRequest.of(1, 2, JpaSort.unsafe(Sort.Direction.ASC, "jsonbField->'field'")); Page<TestEntity> page = testRepository.findAll(pageable);

使用 nativeQuery 结合 pageable 没有问题,现在需要复杂筛选如何使用 Criteria 查询实现?

1298 次点击
所在节点    Java
2 条回复
akiza
2021-05-27 10:16:50 +08:00
可以试试 @Formula 注解,@Formula("JSON_EXTRACT(field, '$.filed.orderFiled')")
tuine
2021-05-27 14:23:40 +08:00
@akiza jsonbField 字段中的数据是可变的,所以排序的字段也不固定,如果用这个注解就需要事先定义出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/779446

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX