두 개의 테이블/엔티티가 있습니다. 모두 정상적으로 작동합니다 (게터와 세터 생략). 필드가 book_id 및 CATEGORY_ID 포함 조인 테이블이라고 book_category 예상대로JPA에서 ManyToMany 쿼리
@Entity
public class Book() {
@Id;
int id;
@ManyToMany
List<Category> categories;
}
@Entity
public class Category {
@Id
int id;
@ManyToMany
List<Book> books;
}
JPA/Hibernate는 데이터베이스 구조를 만듭니다.
카테고리가 사전에 만들어져 있으므로 모두가 책을 가지고있는 것은 아닙니다. 책이있는 고유 한 카테고리를 쿼리하고 싶습니다.
다음 SQL 쿼리는 작업을 수행합니다
SELECT DISTINCT <things> FROM book_category JOIN category ON category.id = book_category.category_id
그러나 어떻게 저장소에서 범주의 목록을 얻을 수 있나요? 당신이 그들에게 할당 된 모든 도서의 범주를 원하는 경우
그래서 내가 findDistinctByBookIsGreaterThan이 (내가 INT) 카테고리 저장소 '목록이 시도'그러나 그것은'NoSuchElementException' –
jared
가 직접 JPQL 쿼리하지 옵션입니다 나에게 준다? –
@jared 필자의 대답에 대한 정확한 명명 된 구문 구문을 모르겠습니다. 그러나 필요한 경우 항상 JPQL을 직접 사용할 수 있어야합니다. –