【发布时间】:2020-09-23 07:17:19
【问题描述】:
Service.java
private String sid;
private String serviceName;
private List<Feature> feature;
Feature.java
private Long id;
private String featureName;
我构建如下谓词
import com.querydsl.core.BooleanBuilder;
import com.querydsl.core.types.Predicate;
BooleanBuilder booleanBuilder = new BooleanBuilder();
booleanBuilder.and(QService.service.id.eq(id));
booleanBuilder.and(QFeature.feature.usoc.eq(featureUsoc));
Predicate predicate = booleanBuilder;
serviceRepository.findAll(predicate);
当我查询 repo 时,我得到以下错误
nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryException: illegal attempt to dereference collection [{synthetic-alias}{non-qualified-property-ref}feature] with element property reference [featureName] [select service
from com.ws.app.model.Service service
where service.id = ?2 and feature.featureName = ?3]]
如果实体中的变量是List类型,如何建立谓词查询?
【问题讨论】: