私はかなり長い間 @PrePersist を使用する JPA @Entity クラスを持っています。今日は、そのエンティティの ID が必要な機能を追加したいと思いました。この ID は、データベースの HIBERNATE_SEQUENCE によって永続化中に生成されます。通常、 em.persist(entity) の後に設定されます。
なんらかの理由で@PrePersistメソッドがトリガーされます... @PostPersistは決して起動しません:
@Entity
public class MyEntity {
@PrePersist
protected void onCreate() {
System.out.println("ExtendedEntity.onCreate()");
}
@PostPersist
protected void afterCreate() {
System.out.println("ExtendedEntity.afterCreate()");
}
}
Java v7+、Hibernate v3.3.1.GA、および Seam v2.2.2.Final を備えた JBoss v4.2 環境を使用しています...
@PostPersist が起動するための隠れた要件はありますか?