我有以下情况:
我有一个超类,它有一个字符串属性“A”和一个子类@Entity,它从映射的超类扩展并具有另一个字符串属性 B。
我不需要进行插入,我只需要对表 B 进行选择。
但是,当我查询 B 类时,hibernate 从 B 加载所有属性,但是,映射的超类属性没有加载,所以,如果我这样做 B.getPropertyB() 包含正确的值,但是,如果我这样做 B. getPropertyA() 它总是返回 null。
这些类看起来像这样:
@MappedSuperclass
public abstract class BaseContributorEntity extends BaseEntity<Long> implements Comparable<BaseContributorEntity> {
private String propertyA;
@Column(name = "column_a", length = 450)
public String getPropertyA() {
return propertyA;
}
public void setPropertyA(String value) {
this.propertyA = value;
}
}
@Entity
@Table(name = "work_contributor")
public class WorkContributorEntity extends BaseContributorEntity {
.... Other properties, including @id ....
private String propertyB;
@Column(name = "column_b", length = 450)
public String getPropertyB() {
return propertyB;
}
public void setPropertyB(String value) {
this.propertyB = value;
}
.... Other setters and getters ....
}
有人知道为什么会这样吗?
我应该重载映射超类 A 的吸气剂吗?
我正在使用休眠 3.6.3 和 JPA 2.0