我将Spring Data用于我的存储库,并且希望能够结合简单的规范来构建复杂的查询。通过使用Specifications
类并应用and
,or
帮助方法,然后调用接受{{1 }}。
主要问题是,我想重用现有规范,而不是直接获取结果列表,而是对规范应用findAll
聚合函数或JpaSpecificationExecutor<T>
聚合函数并获取规范的结果聚合函数作为Specification<T>
结果或count
。
更具体地说,我在这里放一个简单的例子:
groupBy
在此示例中,我的Long
类中有一个名为List<Tuple>
的方法,打算在多个地方重用。我想在三种情况下使用此规范:
public Specification<Person> getByNameSpec(String name) {
return (root, query, builder) -> {
return builder.equal(root.get(Person_.firstName), name);
};
}
之类的其他字段来命名“约翰”的人员和每个组的计数请注意,如果可能的话,我打算以这种方式大量使用规范。如果不可能,我应该如何创建一些基本条件并在我的代码中重复使用它们?