1
0

refactor(jpa): 重命名 listPredicate 方法为 commonPredicates

This commit is contained in:
2026-01-07 11:38:02 +08:00
parent af4be9db8f
commit 657f9593ba

View File

@@ -55,7 +55,7 @@ import org.springframework.data.domain.Sort;
* <h3>使用说明</h3> * <h3>使用说明</h3>
* <p>子类可以重写以下方法:</p> * <p>子类可以重写以下方法:</p>
* <ul> * <ul>
* <li>listPredicate(): 添加自定义的查询条件</li> * <li>commonPredicates(): 添加自定义的查询条件</li>
* </ul> * </ul>
* *
* @param <ENTITY> 实体类型必须继承SimpleEntity * @param <ENTITY> 实体类型必须继承SimpleEntity
@@ -118,7 +118,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
*/ */
@Override @Override
public Long count() { public Long count() {
return repository.count(this::listPredicate); return repository.count(this::commonPredicates);
} }
/** /**
@@ -131,7 +131,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
*/ */
@Override @Override
public List<ENTITY> list() { public List<ENTITY> list() {
return repository.findAll(this::listPredicate); return repository.findAll(this::commonPredicates);
} }
/** /**
@@ -150,7 +150,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
} }
return repository.findAll( return repository.findAll(
(root, query, builder) -> { (root, query, builder) -> {
var predicate = listPredicate(root, query, builder); var predicate = commonPredicates(root, query, builder);
var idsPredicate = builder.in(root.get(IdOnlyEntity.Fields.id)).value(ids); var idsPredicate = builder.in(root.get(IdOnlyEntity.Fields.id)).value(ids);
return ObjectHelper.isNull(predicate) return ObjectHelper.isNull(predicate)
? idsPredicate ? idsPredicate
@@ -231,7 +231,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
* @return 返回构建的谓词列表 * @return 返回构建的谓词列表
*/ */
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected Predicate queryPredicates(Query.Queryable queryable, Root<ENTITY> root, CriteriaQuery<?> query, CriteriaBuilder builder) { private Predicate queryPredicates(Query.Queryable queryable, Root<ENTITY> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
var predicates = new ArrayList<Predicate>(); var predicates = new ArrayList<Predicate>();
if (ObjectHelper.isNull(queryable)) { if (ObjectHelper.isNull(queryable)) {
return null; return null;
@@ -453,19 +453,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
} }
} }
/** protected Predicate commonPredicates(Root<ENTITY> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
* 构建列表查询条件
* <p>
* 子类可以重写此方法以添加特定的查询条件。
* 默认返回null表示不添加额外条件。
* </p>
*
* @param root JPA Criteria查询根节点
* @param query JPA Criteria查询对象
* @param builder JPA Criteria构建器
* @return 返回查询条件谓词
*/
protected Predicate listPredicate(Root<ENTITY> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
return null; return null;
} }
@@ -498,7 +486,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
} }
var result = repository.findAll( var result = repository.findAll(
(root, query, builder) -> { (root, query, builder) -> {
var predicate = listPredicate(root, query, builder); var predicate = commonPredicates(root, query, builder);
var queryPredicate = queryPredicates(listQuery.query(), root, query, builder); var queryPredicate = queryPredicates(listQuery.query(), root, query, builder);
return ObjectHelper.isNull(predicate) return ObjectHelper.isNull(predicate)
? queryPredicate ? queryPredicate
@@ -524,7 +512,7 @@ public abstract class SimpleServiceSupport<ENTITY extends SimpleEntity> implemen
} }
return repository.findOne( return repository.findOne(
(root, query, builder) -> { (root, query, builder) -> {
var predicate = listPredicate(root, query, builder); var predicate = commonPredicates(root, query, builder);
var idPredicate = builder.equal(root.get(IdOnlyEntity.Fields.id), id); var idPredicate = builder.equal(root.get(IdOnlyEntity.Fields.id), id);
return ObjectHelper.isNull(predicate) return ObjectHelper.isNull(predicate)
? idPredicate ? idPredicate