【发布时间】:2019-08-21 05:27:06
【问题描述】:
我正在研究休眠并将映射与@OneToMany 关系与复合键相关联。 以下是我目前使用的实体。
@Embeddable
@Getter
@Setter
public class AddressKey implements Serializable {
private static final long serialVersionUID = -307823488229761699L;
@Column(name = "id")
private Long id;
@Column(name = "city")
private Long city;
@Column(name = "locale")
private String locale;
@Column(name = "type")
private String type;
@ManyToOne
@JoinColumn(name="id")
private Person person;
}
@Entity
@Table(name = "address", schema = "test")
@Setter
@Getter
public class AddressHistory {
@EmbeddedId
private AddressKey key;
@Column(name = "active")
private boolean active;
@Column(name = "current")
private boolean current;
}
@Entity
@Table(name = "person", schema="test")
@ToString
public class Person {
@Id
@Column(name = "id")
private Long id;
@OneToMany(mappedBy="key.person", fetch=FetchType.EAGER, cascade=CascadeType.ALL)
private Set<AddressHistory> addressHistory;
}
但是当我试图运行这个程序时,它给了我以下错误。
实体 AddressHistory 映射中的重复列。
有人帮我解决这个映射中的问题。 在此先感谢
【问题讨论】: