ich Mysql-Datenbank verwenden und haben zwei Tabellen chapter
und chapter_title_1
gibt es eine fk chapter_id
in Tabelle chapter_title_1
Bezug auf Tabelle chapter
.Hibernate Kriterien Abfrage Reihenfolge von Tabellenfeld beitreten
Zwei Entitätsklasse sind ChapterEntity.class
siehe Tabelle chapter
und ChapterTitle1Entity.class
siehe Tabelle chapter_title_1
. Es gibt eine List<ChapterTitle1Entity> chapterTitle1EntityList
in ChapterEntity.class
, die mit @OneToMany
annotiert ist. Ich möchte eine Liste von ChapterEntity
von ChapterEntity.sequence
asc in jedem Element der ChapterEntity
von ChapterTitle1Entity.sequence
ab bestellt und eine Liste der ChapterTitle1Entity
bestellt bekommen.
In meiner ADO-Schicht verwende ich Kriterien, um meine Datenbank abzufragen. Ich verwende den folgenden Code, um die Liste zu erhalten:
Criteria criteria = session().createCriteria(ChapterEntity.class, "chapter");
criteria.createAlias("chapter.chapterTitle1EntityList", "title1List");
criteria.addOrder(Order.asc("chapter.sequence")).
addOrder(Order.desc("title1List.sequence"));
List<ChapterEntity> chapterEntityList = criteria.list();
return chapterEntityList;
aber egal, es ist addOrder(Order.desc("title1List.sequence")
oder addOrder(Order.asc("title1List.sequence")
, die Reihenfolge der Liste ChapterTitle1Entity
bleiben gleich.
Vielen Dank, aber die peinliche Sache ist, dass ich es auch Reihenfolge von 'Sequenz asc 'manchmal wollen, so verwende ich Hibernate-Kriterien, um meine Datenbank abzufragen. –
Ja, es wird funktionieren, wenn Sie Ihre angegebenen Kriterien verwenden. Jetzt brauchen Sie keinen Alias mehr zu erstellen, verwenden Sie einfache Kriterien mit Order.asc ("chapter.sequence"). – Gokul
Ich werde es wieder versuchen, danke für Ihre Beratung –