我面临着休眠的显式多态性问题。我使用了多态注释并将其设置为显式,但是使用映射类中的 get() 和集合,我总是得到所有子类。我在休眠“show_sql”输出中看到了所有带有左连接的子类。有什么问题?我对文档的理解有误吗?或者它是hibernate 4中的一个错误?我还没有看到任何带有休眠 4 和多态注释的示例。
sessionFactory.getCurrentSession().get(Node.class, 111); // return subclasses!
@Entity
@Table(name="Nodes")
@Inheritance(strategy = InheritanceType.JOINED)
@Polymorphism(type= PolymorphismType.EXPLICIT)
public class Node implements Serializable {
...
}
@Entity
@Table(name="Persons")
public class Person extends Node {
}
@Entity
@Table(name="Networks")
public class Network extends Node {
}
...and other subclasses...