Mam klasy JPA @Entity, który używa @PrePersist już od jakiegoś czasu. Dzisiaj chciałem dodać funkcjonalność, w której potrzebuję identyfikatora tego obiektu. Ten identyfikator jest generowany podczas utrzymywania przez HIBERNATE_SEQUENCE w bazie danych. Zwykle jest ustawiony po em.persist (entity).@PostPersist nie nazywane ... @PrePersist to ... dlaczego?
Z jakiegoś nieznanego powodu @PrePersist metoda jest wyzwalany ... podczas @PostPersist po prostu nie odpala:
@Entity
public class MyEntity {
@PrePersist
protected void onCreate() {
System.out.println("ExtendedEntity.onCreate()");
}
@PostPersist
protected void afterCreate() {
System.out.println("ExtendedEntity.afterCreate()");
}
}
Używam środowiska V4.2 JBoss z v7 Java +, Hibernate v3.3.1.GA i Seam v2.2.2.Final ...
Czy są jakieś ukryte wymagania dotyczące @PostPersist?
Myślenie głośno ... czy org.hibernate.event.PostInsertEventListener koliduje z JPA? –
To zakłóca ... zobacz moją odpowiedź. –