我有继承类型 SINGLE_TABLE 的实体层次结构:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorValue("junioruser")
@DiscriminatorColumn(name = "dtype", discriminatorType = DiscriminatorType.STRING)
.........
public class JuniorUser {
问题是如何将此 JuniorUser 实体及其所有子类映射为 Answer 实体中的属性:
@Entity
public class Answer {
private JuniorUser user;
..........................
如果不可能,那么我如何使用hibernate 4映射到JuniorUser或JuniorUser本身的Answer实体正确子类中的“用户”属性?
更新: 我这样做是为了检索答案和相关用户:
Answer answer = sessionFactory.getCurrentSession().get(entityClass, id);
询问相关用户的规范名称
answer.getUser().getClass().getCanonicalName();
给出com.javahelp.domain.impl.JuniorUser_$$_javassist_3
Next 询问属性 dtype 的值,它给出了“junioruser”。最后一件事是这个用户的所有其他属性都是空的,包括 user_id 属性。
我自己看到,对于检索到的答案,我有相关用户,其 dtype 为“专家用户”
谢谢!