我有两个类A和B,B扩展A和A是@MappedSuperclass,因为它也被其他实体扩展以及一些公共字段。
A类
@MappedSuperclass
public class A implements Serializable {
@Column(name="TYPE_ID")
private String type;
@Column(name="FEATURE_CODE")
private String featureCode;
}
B类
public class B extends A implements Serializable {
@Column(name="ID")
private String id;
@Column(name="GROUP")
private String group;
}
现在的问题是,当我尝试保留类 B 时,它需要TYPE_ID并FEATURE_CODE到 INSERT 查询中,并且目标数据库表B没有列FEATURE_CODE,从而导致异常。
任何人都可以指出如何在保留子实体 B 时忽略FEATURE_CODE字段的正确方向? 谢谢!
@MappedSuperclass需要一个构造函数及其get和set。 和你的班级,B,..
数据库中必须有 A 的列,如果使用 hibernate 执行此操作,则应自动创建它们,但如果手动执行此操作,则必须在 B 的表中创建 A 的列