Ich habe zwei Tabellen/Entitäten. Alles funktioniert gut (Getter und Setter weggelassen).ManyToMany Abfrage in JPA
@Entity
public class Book() {
@Id;
int id;
@ManyToMany
List<Category> categories;
}
@Entity
public class Category {
@Id
int id;
@ManyToMany
List<Book> books;
}
JPA/Hibernate schafft Struktur Datenbank mit einer Tabelle namens book_category beitreten zu erwarten, dass die Felder book_id und category_id enthält.
Kategorien werden im Voraus erstellt, damit nicht alle Bücher haben. Ich möchte verschiedene Kategorien abfragen, in denen sich Bücher befinden.
Die folgende SQL-Abfrage funktioniert es:
SELECT DISTINCT <things> FROM book_category JOIN category ON category.id = book_category.category_id
Aber wie kann ich die Liste der Kategorien aus dem Repository zu bekommen?
Also habe ich versucht, dies in der Kategorie Repository 'Liste findDistinctByBookIsGreaterThan (int i)' aber es gibt mir ein 'NoSuchElementException' –
jared
Ist eine direkte JPQL Abfrage keine Option? –
@jared Ich kenne die genau benannte Methodensyntax für meine Antwort nicht. Sie sollten JPQL jedoch bei Bedarf immer direkt verwenden können. –