Ответ 1
Если вы хотите использовать несколько одинаковых классов Embedded
. Вы должны сделать @AttributeOverrides
для всех столбцов.
Попробуйте, как показано ниже;
Ссылка JPA AttributeOverrides
@Embeddable
public class Address {
private String state;
@Column(name = "zip_code")
private String zip;
}
@Entity(name = "Employee")
public class Employee implements Serializable {
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "state", column = @Column(name = "province_1")),
@AttributeOverride(name = "zip", column = @Column(name = "postal_code_2"))
})
private Address address_1;
@Embedded
@AttributeOverrides({
@AttributeOverride(name = "state", column = @Column(name = "province_2")),
@AttributeOverride(name = "zip", column = @Column(name = "postal_code_2"))
})
private Address address_2;
}
Мое предложение, если в вашем Entity
есть одно или несколько значений Embedded
. Попытайтесь использовать @CollectionTable
.
@CollectionTable(name = "EMPLOYEE_ADDRESS", joinColumns = @JoinColumn(name = "ADDRESS_ID"))
private List<Address> addressList;
Ссылка JPA CollectionTable