我有以下域模型:
@Entity
public class Sample {
// id and other stuff
private boolean deleted;
private Set<Occurrence> occurrences;
// Constructors, getter and setter
}
@Entity
public class Occurrence {
// id and other stuff
private boolean deleted;
private Classification classification;
// Constructors, getter and setter
}
@Entity
public class Classification {
private int id;
// other stuff
}
我想使用 QueryDSL 和 Spring Data JPA 查找所有未删除且包含未删除事件且包含 id 47 的分类的样本。
我已经为未删除的样本准备了一个 BooleanExpression:qSample.deleted.isFalse()
和一个针对具有特定分类 ID 的未删除事件的子查询:
JPASubQuery occurrenceSubQuery = new JPASubQuery();
QOccurrence qOccurrence = QOccurrence.occurrence;
occurrenceSubQuery.from().where(
qOccurrence.in(qSample.occurrences),
qOccurrence.deleted.isFalse(),
qOccurrence.classification.id
.eq(queryId));
缺少的是:如何将这些部分组合到 Spring 数据存储库的谓词中?
问候
丹尼尔
最佳答案
您可以使用
com.mysema.query.support.Expressions.allOf(...)
或
a.和(b).and(c)...
关于java - 使用 spring data 和 querydsl 查询集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24164681/