Hibernate @MappedSuperclass超类属性在getReference之后为空

Hibernate @MappedSuperclass超类属性在getReference之后为空,hibernate,Hibernate,最奇怪的是,当我调用entityManager方法时,发现似乎一切正常,但当我调用entityManager时,getReference超类的属性返回null // Super class @MappedSuperclass abstract class BaseModel implements Serializable{ private static final long serialVersionUID = 1L; @Id @GeneratedValue pr

最奇怪的是,当我调用entityManager方法时,发现似乎一切正常,但当我调用entityManager时,getReference超类的属性返回null

// Super class
@MappedSuperclass
abstract class BaseModel implements Serializable{
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue
    private Long id;
    @Column(name = "create_time")
    @Temporal(TemporalType.TIMESTAMP)
    @CreationTimestamp
    private Date createTime;
    @Column(name = "update_time")
    @Temporal(TemporalType.TIMESTAMP)
    @UpdateTimestamp
    private Date updateTime;
    @Version
    private Long version;
    //getter and setter here
}


//Sub class
@Entity
@Table(name = "test")
public class Test extends BaseModel{
    private String name;
    @Enumerated
    @Column(name = "double_z")
    private X x;
    public enum X{Y,Z}
    //getter and setter
}

如何解决此问题?

公开类BaseModel解决此问题。

公开类BaseModel解决此问题

Test ref = entityManager.getReference(Test.class, 11L);
System.out.println(ref.getId()); //null(property of super class)
System.out.println(ref.getUpdateTime());//null(property of super class)
System.out.println(ref.Name());//udf(property of sub class)
Test f = entityManager.find(Test.class, 11L);
System.out.println(f.getId()); //11
System.out.println(f.getUpdateTime());//2016-11-30 16:38:29.0
System.out.println(f.Name());//udf