Когда я обновляю свою сущность, я отслеживаю авторов с помощью @PreUpdate
und @PrePersist
и добавляю запись в историю авторов моей сущности.
Когда я первоначально запускаю свое приложение, первое в истории изменение не будет каскадным, поэтому в таблицу ссылок на авторов не будет включен новый автор. Любые последующие изменения корректно сохраняются / каскадируются. Аннотированные методы вызываются правильно. Есть идеи? Такое поведение воспроизводимо.
@Column(nullable = false)
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<Author> authors = new ArrayList<Author>();
@PreUpdate
protected void onUpdate() {
authors.add(new Author("update", ...));
}
@PrePersist
protected void onCreate() {
authors.add(new Author("create", ...));
}
Я использую Hibernate 3.5.5 и пружинный каркас для EM-инъекции.