如何在 Spring Data 中编写至少使用三个参数之一的 JPA 查询?
我有这三个参数:
- Id (PK)
- Name
- Surname
客户端必须至少提供这三个参数之一,我想通过这些非空参数找到用户。
是否可以为我的存储库创建此类自定义查询,或者我是否必须为所有可能的组合创建自定义查询WHERE
状况?
您可以让存储库扩展 org.springframework.data.querydsl.QueryDslPredicateExecutor 并使用继承的 findAll(Predicate predicate) 方法来使用任意参数组合进行查询。
这样您就不必编写任何查询方法:
http://docs.spring.io/spring-data/jpa/docs/1.10.5.RELEASE/reference/html/#core.extensions.querydsl http://docs.spring.io/spring-data/jpa/docs/1.10.5.RELEASE/reference/html/#core.extensions.querydsl
您还可以将谓词自动绑定到 Spring MVC 控制器中,详细信息如下:
https://spring.io/blog/2015/09/04/what-s-new-in-spring-data-release-gosling#querydsl-web-support https://spring.io/blog/2015/09/04/what-s-new-in-spring-data-release-gosling#querydsl-web-support
和这里:
https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#core.web.type-safe https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#core.web.type-safe
因此,您的控制器可以使用作为请求参数传递的 1,2 个或所有 3 个参数自动处理搜索,而无需编写任何代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)