【发布时间】:2020-03-30 13:26:04
【问题描述】:
我们有一个基于非常旧版本的 Spring Boot (1.3) 构建的应用程序。这个应用程序使用 Hibernate 4.3.x 和 QuerDSL 3.x。
该应用严重依赖 Spring Boot 对 QueryDSL 的谓词的支持。下面是示例代码
@RequestMapping(value = "/findAll", method = RequestMethod.GET, headers = "Accept=application/json")
public HttpEntity<PagedResources<Resource<OrderEntity>>> findAll(@QuerydslPredicate(root = OrderEntity.class) Predicate predicate,
Pageable pageable,
PagedResourcesAssembler<OrderEntity> assembler) {
//return something
}
现在,问题是 QueryDSL 没有得到积极维护,我想避免使用 QueryDSL。谁能推荐一个 QueryDSL 的替代方案,它与新版本的 Hibernate 兼容并有助于实现与上述代码 sn-p 中相同的动态查询?
【问题讨论】:
-
是的。规范不像 QueryDSL 谓词那样有用/动态。
-
你可以和jooq一起去
-
是的,我也会推荐jooq.org 进行查询。
-
它正在慢慢恢复活力,最初专注于解决最新 Hibernate 版本的问题。 github.com/querydsl/querydsl/issues/2459
标签: hibernate spring-boot spring-data spring-data-rest querydsl