У меня есть объект, имеющий ссылку на другой объект, который представляет текущее состояние определенных свойств, что позволяет мне отслеживать историю внесенных изменений.Для этого я определил двунаправленное отношение, которое не является симметричным, поскольку 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, но не смог из-за некоторых проблем с наследованием.