2009-08-13 7 views
0

J'ai la structure suivante:Mise en veille prolongée ManyToOne rapport à un type de sous-classe rejoint

[Class] 
public class SuperClass 
{ 
} 

[JoinedSubclass]  
public class SubClass : SuperClass 
{ 
} 

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

Cependant, lors de la récupération d'une instance de ContainerClass via Hibernate.ISession.Get, il me renvoie toujours une instance de superclasse, même si l'élément en question devrait être une instance de sous-classe. La documentation d'hibernation suggère que cela devrait fonctionner, alors peut-être que je manque une annotation?

Répondre

0

Il s'avère que si vous faites une association avec impatience, cela résout le problème. Sinon, le proxy lazyinitialiser utilise toujours le type superclasse. On dirait que c'est un bug en hibernation, bien qu'il y ait peut-être une bonne raison technique pour laquelle vous ne pouvez pas le faire fonctionner

Questions connexes