Чи можливо, щоб клас сутності JPA містив два вбудовані ( @Embedded
) поля? Прикладом може бути:
@Entity
public class Person {
@Embedded
public Address home;
@Embedded
public Address work;
}
public class Address {
public String street;
...
}
У цьому випадку a Person
може містити два Address
екземпляри - домашній та робочий. Я використовую JPA з реалізацією Hibernate. Коли я створюю схему за допомогою Hibernate Tools, вона вбудовує лише одну Address
. Що б я хотів, це два вбудовані Address
екземпляри, кожен з іменами стовпців яких відрізняється або попередньо розглядається з певним префіксом (наприклад, дім та робота). Я знаю @AttributeOverrides
, але для цього потрібно, щоб кожен атрибут був замінений окремо. Це може стати громіздким, якщо вбудований об’єкт ( Address
) стає великим, оскільки кожен стовпець потрібно індивідуально замінювати.
name="street"
стосується назви властивості, а не назви стовпця.