我创建了一个父类,以便在一个地方为所有实体共享字段或映射。
但是当继承级别大于1时,hibernate抛出异常
MappingException: Repeated column in mapping for entity
代码示例为,
@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;
}
问题的根本原因是@Embeddable对象继承了BaseModel,并在Invoice模型中使用了它。因此,引发了重复列异常。