【发布时间】:2013-02-14 18:08:06
【问题描述】:
我有一个 JPA @Entity 类,它使用 @PrePersist 已经有一段时间了。今天我想在需要该实体 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()");
}
}
我正在使用 JBoss v4.2 环境和 Java v7+、Hibernate v3.3.1.GA 和 Seam v2.2.2.Final...
@PostPersist 要触发有什么隐藏的要求吗?
【问题讨论】:
-
大声思考... org.hibernate.event.PostInsertEventListener 会干扰 JPA 吗?
-
它确实会干扰...看我的回答。