Hibernate @继承级别超过1的MappedSuperclass在实体异常的映射中抛出重复列

Hibernate @继承级别超过1的MappedSuperclass在实体异常的映射中抛出重复列,hibernate,jpa,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 modi

我已经创建了一个父类,使所有实体的字段或映射在一个地方都是公共的

但是当继承级别大于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 {

}

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

这在我这边非常好,就像发票中的一个属性一样,它将是主键

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

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

问题的根本原因是@Embeddeble对象继承了BaseModel并在发票模型中使用了它。因此引发了重复的列异常。

拥有多个级别的MappedSuperclass没有错。假设您在某个地方有一个Id注释,那么就可以了。不知道你的JPA提供者消息是什么意思。尝试不同的JPA提供商谢谢neil。它工作得很好。实际上,这是代码中的一个缺陷。非常感谢biraj。它工作得很好。实际上,这是代码中的一个缺陷。