Java Spring数据:具有规范的复杂查询
我使用的方法是使用查询参数附带的规范来生成动态查询。它很好用。但是通过这种方式,我可以使用simpleJava Spring数据:具有规范的复杂查询,java,spring,spring-data-jpa,specifications,Java,Spring,Spring Data Jpa,Specifications,我使用的方法是使用查询参数附带的规范来生成动态查询。它很好用。但是通过这种方式,我可以使用simple和()或或() 我的问题是,处理复杂查询的最佳实践是什么,比如where((a&b)|(c&d)&(x))和动态输入规范 如果您想生成动态查询(如果您不知道在或/和中有多少个元素),最好的解决方案是创建一些生成器类来生成查询。示例:来自我的github 当您知道将有多少个元素时,我建议您使用规范,如(仅示例): 如果您想生成动态查询(如果您不知道在或/和中有多少个元素),最好的解决方案是创建一些
和()
或或()
我的问题是,处理复杂查询的最佳实践是什么,比如where((a&b)|(c&d)&(x))
和动态输入规范 如果您想生成动态查询(如果您不知道在或/和中有多少个元素),最好的解决方案是创建一些生成器类来生成查询。示例:来自我的github
当您知道将有多少个元素时,我建议您使用规范,如(仅示例):
如果您想生成动态查询(如果您不知道在或/和中有多少个元素),最好的解决方案是创建一些生成器类来生成查询。示例:来自我的github
当您知道将有多少个元素时,我建议您使用规范,如(仅示例):
(root, query, builder) -> {
return builder.and(
builder.equal(root.get("id"), "1"),
builder.equal(root.get("name"), "name"),
builder.or(
builder.equal(root.get("id"), "2"),
builder.equal(root.get("name"), "enam")
)
);
}