Компонент enity сгенерировал идентификатор последовательности (первичный ключ оракула). Нам нужно как-то перехватить эту последовательность на persist и установить ее в другое поле. Например:
class Entity {
@Id long id;
@Column long parentId;
}
Идея состоит в том, чтобы сделать parentId таким же, как и идентификатор, сгенерированный oracle, если он пуст. Например:
@PrePersist
void prePersist() {
if (parentId = 0) parentId = id; // but id is not yet generated
}
В настоящее время мы используем триггер БД для достижения этой цели, но можно ли это сделать в JPA (желательно без специальных классов гибернации)?