【问题标题】:How to override parent @MappedSuperclass @column attributes in child entity extending parent while inserting child entity如何在插入子实体时在扩展父实体的子实体中覆盖父@MappedSuperclass @column属性
【发布时间】:2017-04-03 16:24:48
【问题描述】:

我有两个类 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_IDFEATURE_CODE 进入 INSERT 查询和目标数据库表 TABLE B 没有导致异常的列 FEATURE_CODE

谁能指出我正确的方向,即如何在保留子实体 B 的同时忽略 FEATURE_CODE 字段? 谢谢!

【问题讨论】:

    标签: entity eclipselink jpa-2.0 mappedsuperclass


    【解决方案1】:

    @MappedSuperclass 需要一个构造函数及其获取和设置。还有你的班,B,..

    数据库中必须有A的列,如果你用hibernate做应该自动创建,但是如果你手动做,你必须在B的表中创建A的列

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多