Có thể cho lớp thực thể JPA chứa hai trường được nhúng (@Embedded
) không? Một ví dụ sẽ là:JPA Nhiều trường được nhúng
@Entity
public class Person {
@Embedded
public Address home;
@Embedded
public Address work;
}
public class Address {
public String street;
...
}
Trong trường hợp này một Person
có thể chứa hai Address
trường - gia đình và công việc. Tôi đang sử dụng JPA với việc thực hiện Hibernate. Khi tôi tạo lược đồ bằng cách sử dụng Công cụ Hibernate, nó chỉ nhúng một Address
. Những gì tôi muốn là hai trường hợp Address
được nhúng, mỗi trường hợp có tên cột được phân biệt hoặc được mở trước bằng một số tiền tố (chẳng hạn như nhà riêng và cơ quan). Tôi biết về @AttributeOverrides
, nhưng điều này yêu cầu mỗi thuộc tính phải được ghi đè riêng. Điều này có thể trở nên rườm rà nếu đối tượng được nhúng (Address
) trở nên lớn vì mỗi cột cần phải được ghi đè riêng.
Lưu ý rằng 'name =" street "' là tên của thuộc tính chứ không phải tên cột. –