2

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

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

}

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

4

2 回答 2

1

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

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

@Entity
public class Invoice extends Order {
    @Id
    String id;
}
于 2015-11-10T02:24:38.960 回答
1

问题的根本原因是 @Embeddable 对象继承了 BaseModel 并且已在 Invoice 模型中使用。因此抛出了重复的列异常。

于 2015-11-10T08:18:42.717 回答