Lassen Sie uns sagen, dass ich die folgenden 2 Klassen haben:NamedQuery für die meisten verwendete Tags
@Entity
class Article {
@Id
int id;
@ManyToMany(mappedBy="articles")
List<Tag> tags;
}
@Entity
@NamedQueries({
@NamedQuery(name = "Tag.trends", query = "SELECT t FROM Tag t") // Some magic stuff here..
})
class Tag {
@Id
String name;
@ManyToMany
List<Articles> articles;
}
Jetzt habe ich eine benannte Abfrage erstellen möchten, die am häufigsten verwendeten Tags auswählen.
So wird dies erfordern eine beitreten, Zählung und eine um von. Aber ich kann das nicht herausfinden.
Frage: Wie kann ich die am häufigsten verwendeten Tags auswählen?
Zum Beispiel, wenn die folgenden Artikel mit den folgenden Tags haben:
Article: Tags
0: A, B
1: A
2: C
3: A, C
Ausgabe
A // 3 times
C // 2 times
B // 1 time
Sie möchten alle Tags gruppieren und absteigend zählen und sortieren? –
@Nicholas Ich bin mir nicht sicher, ob ich sie gruppieren möchte. Ich möchte sie absteigend nach der Anzahl der Vorkommen in den Artikelklasseninstanzen ordnen. – Tim
da ist vermutlich irgendwo eine Join - Tabelle drin, weil ein MN ohne ein wenig sinnlos wäre –