2009-08-13 4 views
0

Ich habe die folgende Struktur:Hibernate ManyToOne Beziehung zu einem verbundenen Unterklasse Typ

[Class] 
public class SuperClass 
{ 
} 

[JoinedSubclass]  
public class SubClass : SuperClass 
{ 
} 

[Class] 
public class ContainerClass 
{ 
    [ManyToOne] 
    public SuperClass SomeProperty {get; set;} 
} 

Wenn jedoch eine Instanz von ContainerClass über Hibernate.ISession.Get abrufen, es gibt mir immer eine Instanz von übergeordneter Klasse, auch wenn Das fragliche Objekt sollte eine Instanz der Unterklasse sein. Die Winterschlaf-Dokumentation suggsets das sollte einfach funktionieren, also vielleicht fehlt mir eine Anmerkung?

Antwort

0

Stellt sich heraus, wenn Sie die Assoziation eifrig geladen machen, behebt es das Problem. Andernfalls verwendet der Lazyinitializer-Proxy immer den Superklasse-Typ. Scheint so, als ob es sich um einen Fehler im Ruhezustand handelt, obwohl es vielleicht einen guten technischen Grund gibt, warum es nicht funktioniert

Verwandte Themen