java - 使用 spring data 和 querydsl 查询集合

标签 java jpa spring-data querydsl

我有以下域模型:

@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/

相关文章:

java - jpa实体映射情侣表

java - spring data 通过嵌套列表对象查找

java - 线程中的异常 "main"java.lang.ClassCastException : [Ljava. lang.Object;无法转换到 [B

java - Spring Boot 应用程序中的两个数据源

java - Hibernate ORM 5 有什么新功能?

mysql - 使用 JPQL 或 SQL 确保唯一性(不同记录)?或两者?

spring-data - Spring 数据项目 - 状态?

java.net.SocketException : Permission denied: connect Starting Tomcat 7 异常

java - 修改 try-catch 语句以减少笨重的代码

java - INIT=RUNSCRIPT 和相对路径的问题