如何在插入子实体时覆盖子实体中的父@MappedSuperclass @column属性,扩展父实体



我有两个类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 的列

相关内容

  • 没有找到相关文章

最新更新