JP QL - Фильтрация результата в отношении один ко многим - PullRequest
1 голос
/ 19 августа 2010

Я застрял, пытаясь построить запрос JPQL, и надеялся, что кто-то с большим опытом JPA, чем мой, мог бы помочь. Рассмотрим следующие две сущности:

class Author{
  String name
  @OneToMany(mappedBy="author")
  Set<Book> books
}

class Book{
  String title  
  Boolean inPrint
  @ManyToOne
  Author author
}

Если я хочу вернуть определенного автора (по имени) и с нетерпением извлекать (т. Е. ПОЛУЧИТЬ СЛЕДУЮЩУЮ) книги, в которых установлен флаг Book.inPrint, как бы я выразил это в JPQL?

1 Ответ

2 голосов
/ 19 августа 2010
SELECT a FROM Author a LEFT JOIN a.books b WHERE b.inPrint = true OR b is null
...