在没有XML配置的情况下实现JPA Default Listener

时间:2016-04-06 12:21:30

标签: java spring jpa spring-boot jpa-2.1

我试图在JPA实体上实现默认侦听器。我读了几篇文章,所有文章都提到:

  

目前,只能在映射XML中指定默认侦听器   文件,因为没有等效的注释

我们是否有任何解决方法来实现默认侦听器而不使用XML文件。

  

使用:Spring Boot,Spring Data JPA - (Java配置)

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式将听众添加到实体的正文中:

@Entity
 public class MyEntity{
      //attributes & getters and setters

      @PrePersist void onPrePersist() {}
        @PostPersist void onPostPersist() {}
        @PostLoad void onPostLoad() {}
        @PreUpdate void onPreUpdate() {}
        @PostUpdate void onPostUpdate() {}
        @PreRemove void onPreRemove() {}
        @PostRemove void onPostRemove() {}
  }

OR 以这种方式使用@EntityListeners注释:

  @Entity
  @EntityListeners({MyListener1.class, MyListener2.class})
  public class MyEntity {

  }  

并且:

public class MyListener1 { @PrePersist void onPrePersist(Object o) {} @PostPersist void onPostPersist(Object o) {} @PostLoad void onPostLoad(Object o) {} @PreUpdate void onPreUpdate(Object o) {} @PostUpdate void onPostUpdate(Object o) {} @PreRemove void onPreRemove(Object o) {} @PostRemove void onPostRemove(Object o) {} }