Hibernate @MappedSuperclass超类属性在getReference之后为空
最奇怪的是,当我调用entityManager方法时,发现似乎一切正常,但当我调用entityManager时,getReference超类的属性返回nullHibernate @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
// 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