对于我们的应用程序,我们需要使用休眠实现触发器。我们可以找到的一个最佳解决方案是使用 Annotation 的实体侦听器,因为我们需要侦听特定的实体更改。
除了使用命名查询删除之外,一切都运行良好,它没有给出任何事件。
代码实现 **实体** - 这里我们添加了监听器
@Entity
@EventListeners(EmployeeEventListener.class)
public class Employee {
@Id
private String uid;
@Basic
private Calendar lastUpdated;
实体监听器-
侦听器占用被修改的实体 asd 执行预期的操作
public class EmployeeEventListener {
@PrePersist
public void prePersist(Object object) {
Employee employee = (Employee)object;
employee.setUID(UIDGenerator.newUUI());
employee.setLastUpdated(Calendar.getInstance());
}
@PostUpdate
public void postUpdate(Object object) {
Employee employee = (Employee)object;
employee.setLastUpdated(Calendar.getInstance());
}
@PrePersist
@PostUpdate
当我在实体管理器上使用 save 或 saveorupdate 时效果很好。但是在执行删除命名查询时,我没有得到@PreRemove
和@PostRemove
我也想获得一个删除事件。