Я работаю над гибернацией и связываю сопоставление со связью @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.
Кто-то, помогите мне исправить это, что не так в этом отображении.Заранее спасибо