private Specification<RelationEntity> getEntityFieldsSpec(EntityId from, String relationType,
RelationTypeGroup typeGroup, ThingType childType) {
return new Specification<RelationEntity>() {
@Override
public Predicate toPredicate(Root<RelationEntity> root, CriteriaQuery<?> criteriaQuery,
CriteriaBuilder criteriaBuilder) {
List<Predicate> predicates = new ArrayList<>();
if (from != null) {
Predicate fromIdPredicate = criteriaBuilder.equal(root.get("fromId"),
UUIDConverter.fromTimeUUID(from.getId()));
predicates.add(fromIdPredicate);
Predicate fromEntityTypePredicate = criteriaBuilder.equal(root.get("fromType"), from.getEntityType().name());
predicates.add(fromEntityTypePredicate);
}
if (relationType != null) {
Predicate relationTypePredicate = criteriaBuilder.equal(root.get("relationType"), relationType);
predicates.add(relationTypePredicate);
}
if (typeGroup != null) {
Predicate typeGroupPredicate = criteriaBuilder.equal(root.get("relationTypeGroup"), typeGroup.name());
predicates.add(typeGroupPredicate);
}
if (childType != null) {
Predicate childTypePredicate = criteriaBuilder.equal(root.get("toType"), childType.name());
predicates.add(childTypePredicate);
}
return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
}
};
}
JpaRelationDao.java 文件源码
java
阅读 42
收藏 0
点赞 0
评论 0
项目:iotplatform
作者:
评论列表
文章目录