JPA管理实体的Java处理程序

时间:2015-05-04 12:01:50

标签: java hibernate jpa handler

由于我对该主题不熟悉,我的问题标题可能完全错误 - 如果需要,请纠正我。

现在到了这一点:

我最近做了一个简单的ORM项目,它包含3个实体类(Person,Account,PhoneNumber)和一些关系。

现在,我刚刚创建了一个新类ManagedEntity

public abstract class ManagedEntity {
    protected int id;
    private Date lastModifDate;
    private String lastModifUser;
}

我有:

Person扩展了ManagedEntity

帐户扩展了ManagedEntity

PhoneNumber扩展了ManagedEntity

到目前为止,我已经使用2个接口访问了我的数据库

  1. 人员服务(使用EntityManager添加,删除,修改实体)

  2. 查询界面(使用条件查询来获取我们正在寻找的实体)

  3. 我现在想要做的是添加一个处理程序,每当一个实体被持久化时,它将自己填充ManagedEntity个字段。

    有谁能告诉我如何制作一个事件处理程序?我指的是我应该放在哪里和什么代码"检测"特定类型的每个事件?

2 个答案:

答案 0 :(得分:2)

将您的代码放入@PrePersist

的方法中

示例教程here具有非常相似的用例。

答案 1 :(得分:0)

我认为您正在寻找的是与映射的超类关联的实体侦听器上的回调方法。

看看:

http://www.objectdb.com/java/jpa/persistence/event