【发布时间】:2019-07-01 00:28:15
【问题描述】:
我需要一些关于实现 Spring JPA 查询的建议。由于输入长度,我的查询很复杂。
作为输入,我有:
- 15 条件 - 如果不为空,则检查相等性;
- 2 条件 - 检查是否为空
- 此外,输出必须是可分页的。
我知道这可以通过使用标准的 PagingAndSortingRepository 来解决,例如:
Page<A> findAllByParam1AndParam2AndParam3Between...(@Nullable String param1, @Nullable String param2, @Nullable Integer param3,...)
但是看看我的输入是多久这个解决方案看起来不清楚,我不认为有这么多参数的方法是一个好的解决方案。
我也在考虑通过 Example 考虑 findAll,但这是支持平等,而不是 between 条件。
还有其他选择吗?
唯一的方法是使用 CriteriaBuilder 构建自定义查询?
【问题讨论】:
标签: java spring hibernate spring-boot spring-data-jpa