"Java Persistence 2.0, Final Release" на стр 404 имеет следующий пример:Как заменить двунаправленное отношение OneToOne ElementCollection?
Пример 3: один-к-одному ассоциации от встраиваемого класса к другому объекту.
@Entity
public class Employee {
@Id int id;
@Embedded LocationDetails location;
...
}
@Embeddable
public class LocationDetails {
int officeNumber;
@OneToOne ParkingSpot parkingSpot;
...
}
@Entity
public class ParkingSpot {
@Id int id;
String garage;
@OneToOne(mappedBy="location.parkingSpot") Employee assignedTo;
...
}
Я хотел бы иметь несколько LocationDetails внутри Employee:
@Entity
public class Employee {
@Id int id;
@ElementCollection
@CollectionTable(name="EMP_LOCATION")
Map<String, LocationDetails> locations;
...
}
Как объект ParkingSpot должен быть перенаправлен обратно вкладываемые LocationDetails внутри коллекция таблицы EMP_LOCATION.
Должно быть
@OneToOne(mappedBy="location.parkingSpot") Employee assignedTo;
заменил бы на @ElementCollection?
Спасибо!