refactor(jpa): 重命名 listPredicate 方法为 commonPredicates
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user