Hibernate 4 explizite Polymorphie (Annotation) funktioniert nicht?

8

Ich habe ein Problem mit dem expliziten Polymorphismus des Winterschlafs. Ich habe die Annotation des Polymorphismus benutzt und sie auf explicit gesetzt, aber mit get () und collections in gemappten Klassen bekomme ich immer alle Unterklassen. Ich sehe alle Unterklassen mit linken Join in der Hibernate "show_sql" -Ausgabe. Was ist das Problem? Verstehe ich die Dokumentation falsch? Oder ist es ein Fehler im Winterschlaf 4? Ich habe kein Beispiel mit Hibernate 4 und Polymorphismus-Annotation gesehen.

%Vor%     
Floaz 28.01.2013, 21:32
quelle

2 Antworten

4

Es ist ein gemeinsames Missverständnis, ich hatte auch einmal die gleichen Zweifel.

Das ist es, was wirklich im expliziten Polymorphismus passiert.

  
    

Polymorphismus explizit gilt nur für root-Entitäten und verhindern     fragt die Benennung einer (nicht zugeordneten) Oberklasse ab, um zugeordnete Unterentitäten zurückzugeben

  
     

In Ihrem Fall, wenn Entity-Klasse Knoten nicht zugeordnet und Personen waren   Wenn der Polymorphismus explizit ist, dann würden Knoten keine Personen zurückgeben   Elemente .

Schau dir diesen Code an ..

%Vor%

Es ist im Grunde das Gegenteil von dem, was alle im Kopf haben. !!

    
Dileep 21.08.2013 13:32
quelle
1

Wenn Sie sich die Definition von PolymorphismType.EXPLICIT es sagt:

  

EXPLICIT: Diese Entität wird nur abgerufen, wenn explizit gefragt wird.

Um die Unterklassen auszublenden, müssen Sie die Unterklassen mit EXPLICIT und nicht mit der Basisklasse annotieren.

    
xwoker 21.08.2013 16:32
quelle