2016-05-20 13 views
0

Ich habe eine Klasse namens LocType, die 30 Elemente und eine @ OneToMany Beziehung zu LocProfile hat, die 40 Elemente hat. Ich muss einige Berechnungen durchführen, um herauszufinden, welches LocTypeProfile zugeordnet werden soll, sobald ein Benutzer einen Standort auswählt, so dass er auf der Seite von jsp verfügbar sein muss.Replizieren Hibernate Eager Laden mit einem Abruf

Wenn ich die Beziehung für Eager-Initialisierung wie unten definieren, wenn ich Elemente von LocType abrufen, gibt es mir 30 Elemente mit den Instanzen, in denen eins zu viele Beziehung in der Liste gespeichert ist - das ist das Verhalten, das ich will.

@OneToMany(fetch = FetchType.EAGER, mappedBy = "LocType ", cascade = CascadeType.ALL) 
private List<LocTypeProfile > locTypeProfiles; 

Wenn ich nun die Zuordnung zu Lazy Loading im Interesse der guten Praxis

@OneToMany(mappedBy = "creditTypes") 

und versuchen, die Abfrage zu ändern ein

select lt from LocTypes lt left join fetch lt.locTypeProfiles 

holen mit erhalte ich die 40 Elemente, in denen Die Daten sind abgeflacht.

Meine Frage ist, gibt es eine Möglichkeit, das Verhalten der Eager-Initialisierung in diesem Szenario zu replizieren?

Antwort

Verwandte Themen