Hibernate @OrderBy für verschachtelte Eigenschaften

8

Ich muss @OrderBy (JPA, Hibernate als Provider) verwenden, um die Auflistung nach geschachtelter Eigenschaft zu sortieren:

%Vor%

In PkdbParameter.java:

%Vor%

In Release.java:

%Vor%

(alle diese Felder haben einfache Getter und Setter zur Verfügung gestellt)

Leider bekomme ich einen Fehler:

Caused by: org.hibernate.AnnotationException: property from @OrderBy clause not found: some.package.PkdbParameter.release.ordinal

Was ist falsch an diesem Code? Wenn es nicht möglich ist, verschachtelte Eigenschaftenschreibweise zu verwenden, gibt es eine andere Möglichkeit, für ordinal -Eigenschaft zu bestellen?

    
Piotr Sobczyk 09.05.2012, 14:32
quelle

3 Antworten

3

@OrderBy funktioniert nur mit direkten Eigenschaften oder eingebetteten Attributen. Von Java EE 6-Dokumenten

  

Die Punktnotation (".") wird verwendet, um auf ein Attribut innerhalb eines eingebetteten Attributs zu verweisen

Wenn also Release ein eingebettetes Attribut ist, könnte dies funktionieren. Andernfalls könnten Sie die benannte Abfrage als vorgeschlagenen hier

    
anergy 22.03.2013, 10:36
quelle
2

Sie können die Anmerkung Hibernate @SortComparator verwenden:

So:

%Vor%

Wo CameraNameComparator ist:

%Vor%     
Vlad Mihalcea 27.10.2016 19:43
quelle
0

Sie können die Anweisungsanweisungen aufteilen und sie in Nicht-Auflistungseigenschaften einfügen:

%Vor%

und

%Vor%

Als Nebeneffekt haben Sie die Sortierreihenfolge für PkdbParameter festgelegt.

    
Tires 26.05.2014 16:10
quelle