Ho una classe JPA @Entity che usa @PrePersist da un po 'di tempo. Oggi volevo aggiungere alcune funzionalità in cui ho bisogno dell'ID di quell'entità. Questo ID viene generato durante la permanenza di un HIBERNATE_SEQUENCE nel database. Di solito è impostato dopo em.persist (entità).@PostPersist non chiamato ... @PrePersist è ... perché?
Per qualche ragione sconosciuta il metodo @PrePersist viene attivato ... mentre @PostPersist semplicemente mai spara:
@Entity
public class MyEntity {
@PrePersist
protected void onCreate() {
System.out.println("ExtendedEntity.onCreate()");
}
@PostPersist
protected void afterCreate() {
System.out.println("ExtendedEntity.afterCreate()");
}
}
sto usando un ambiente v4.2 JBoss con Java v7 +, Hibernate v3.3.1.GA e Seam v2.2.2.Final ...
Esistono requisiti nascosti per l'attivazione di @PostPersist?
Pensare a voce alta ... org.hibernate.event.PostInsertEventListener interferisce con JPA? –
Interferisce ... vedi la mia risposta. –