我需要一些关于实现spring查询的建议。由于输入长度,我的查询很复杂。
作为输入,我已经:
我知道这可以通过使用标准的PagingAndSortingRepository来解决,比如:
Page<A> findAllByParam1AndParam2AndParam3Between...(@Nullable String param1, @Nullable String param2, @Nullable Integer param3,...) 但是看我输入的时间,这个解决方案看起来不清楚,而且我不认为有这么多参数的方法是一个很好的解决方案。我也是通过例子来考虑findAll的,但是这是支持相等的,而不是条件之间的。
还有其他选择吗?
唯一的方法是使用CriteriaBuilder构建自定义查询
发布于 2019-02-07 05:59:55
派生查询,即从方法名称派生实际查询的查询,对于如此长或复杂的查询是错误的工具,因为结果名称变得不可用。
你应该考虑的其他选择是
@Query注释中提供的固定查询:https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query发布于 2019-02-06 23:52:43
你有下面的选择来做这件事。1)使用hql,因为必须将所有表映射为jpa实体2)是使用本机查询,这里的缺点是影响应用程序的可移植性,但是如果您确定您的应用程序不会在任何其他数据库上迁移,那么您可以使用这3)是使用标准
编辑->发现我们的@Query可以用于SQL和JPQL来执行。
请按照下面的链接获取更多信息。
https://www.baeldung.com/spring-data-jpa-query
使用查询的一些春季开发人员认证书也。
希望这有帮助
https://stackoverflow.com/questions/54564017
复制相似问题