Отображение двунаправленной асимметричной связи в спящем режиме: OneToOne-ManyToOne - PullRequest
1 голос
/ 01 июня 2011

У меня есть объект, имеющий ссылку на другой объект, который представляет текущее состояние определенных свойств, что позволяет мне отслеживать историю внесенных изменений.Для этого я определил двунаправленное отношение, которое не является симметричным, поскольку OneToOne отвечает за постоянство, и обе сущности сохраняют ссылку на другую, чтобы я мог с одной стороны получить последнюю версию, а с другой - получитьвсе версии для сущности.Это мое отображение:

В объекте A:

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "version_id", nullable = true, updatable = true)
private AVersion currentVersion;

и в объекте AVersion:

@ManyToOne
@JoinColumn(name = "A_id", insertable=false, updatable=false)
private A a;

Теперь это позволяет мне сохранить это в одномшаг через A, но столбец «A_id» пуст для каждой строки в таблице AVersion, поэтому я не смогу извлечь все исторические данные для определенного объекта A, просматривающего таблицу AVersion.Есть идеи, почему этот столбец не заполняется?

Большое спасибо!

PS Я пытался использовать Envers, но не смог из-за некоторых проблем с наследованием.

...