Я получаю исключение
объект ссылается на несохраненный временный экземпляр - сохраните временный экземпляр перед сбросом
добавляется следующий код:
public void addThing(String key, String someData) {
Thing thing = new Thing();
booking.setData(someData);
booking.setParent(this);
bookings.put(key, thing);
}
Родительское сопоставление:
@ElementCollection(fetch=FetchType.EAGER)
@Column(name="thing", nullable=false)
@MapKeyColumn(name="key")
@JoinColumn(name="parent_id")
protected Map<String, Thing> things = Maps.newHashMap();
Дочернее ('Thing') отображение:
@ManyToOne
private Parent parent;
Согласно инструкции Hibernate:
В ElementCollection
нет опции каскада, целевые объекты всегда сохраняются, объединяются, удаляются вместе со своим родителем.
Но - до того, как я переключился на новое отображение @ElementCollection
, чтобы решить проблему, когда я получал, по-видимому, фантомные элементы, возвращаемые для запроса, этот код работал правильно.
Я знаю, что могу сохранить элемент отдельно, а затем сделать ссылку, но я предпочитаю, чтобы это делалось автоматически, и я подумал, что так оно и должно работать. Есть идеи?