小编pra*_*pai的帖子

用于命名查询删除操作的休眠实体侦听器

对于我们的应用程序,我们需要使用 hibernate 实现触发器。我们可以找到的一个最佳解决方案是使用 Annotation 的 Entity listerner,因为我们需要监听特定的实体更改。

除了带有命名查询的删除之外,一切都运行良好,它不提供任何事件。

代码实现 **实体**——这里我们添加了监听器

@Entity
@EventListeners(EmployeeEventListener.class)
public class Employee {

  @Id
  private String uid;
  @Basic
  private Calendar lastUpdated;
Run Code Online (Sandbox Code Playgroud)

实体监听器-

侦听器在执行预期操作时占用修改后的实体

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());
  }
Run Code Online (Sandbox Code Playgroud)

@PrePersist并且@PostUpdate运作良好,当我用节省或者saveOrUpdate在实体管理器。但是在执行删除命名查询时,我没有收到@PreRemove@PostRemove

我也想得到一个删除事件。

hibernate entitymanager entitylisteners

4
推荐指数
1
解决办法
2105
查看次数

标签 统计

entitylisteners ×1

entitymanager ×1

hibernate ×1