hibernate - 具有超过 1 个继承级别的 @MappedSuperclass 在实体映射中抛出重复列异常

标签 hibernate jpa mappedsuperclass

我创建了一个父类,将所有实体通用的字段或映射放在一个位置。

但是当继承级别大于1时,hibernate会抛出异常

MappingException:实体映射中重复列

代码示例是,

@MappedSuperclass
public abstract class BaseModel {

@Column(name="created_date")
private Date createdDate;

@Column(name = "modified_date")
private Date modifiedDate;

}

@MappedSuperclass
public class Order extends BaseModel {

@Column(name="due_date", nullable = true)
private Date dueDate;

}

@Entity 
public class Invoice extend Order {

}

有人可以指出我做错了什么吗?

最佳答案

这在我这边工作得很好,就像 Invoice 中的一个属性一样,它将成为主键。

我这样做了,它完美地创建了一个包含 4 列 id、created_date 日期、modified_date、due_date 的表

@Entity
public class Invoice extends Order {
    @Id
    String id;
}

关于hibernate - 具有超过 1 个继承级别的 @MappedSuperclass 在实体映射中抛出重复列异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33621168/

相关文章:

java - 试图删除 Entitymanager,但没有设置

java - Spring数据-实体未更新

java - Hibernate 继承映射未知属性

java - Hibernate @OneToOne 自连接,在连接子句中使用 OR

java - 我应该在 Hibernate 资源中放入什么?

mysql - hibernate 触发器生成的 ID 问题 (MySQL)

java - 如何使用 @ElementCollection 映射子 Set<UUID>

java - 如何在Hibernate中获取结果集

java - 使用 JPA 覆盖 @MappedSuperclass 中定义的 @Id

java - 我可以在接口(interface)上使用@MappedSuperclass 注解吗?