2016-04-06 2 views
1

Я пытаюсь внедрить прослушивателей по умолчанию на сущности JPA. Я прочитал несколько статей, и все статьи упоминает:Внедрение приемника по умолчанию JPA без конфигурации XML

В настоящее время слушатели по умолчанию может быть заданы только в файла отображение XML, потому что нет никакого эквивалента аннотации

У нас есть какой-либо обходной путь для этого реализовать прослушиватель по умолчанию без использования файла XML.

с помощью: Spring бутсу, Spring Data JPA - (Конфигурация Java)

ответ

0

вы можете добавить свои listenrs, чтобы на теле вашей организации таким образом:

@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() {} 
    } 

ИЛИ@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) {} }

+1

если я сделать это я должен добавить @EntityListeners на все лица, у меня есть .., который не то, что я хочу сделать .. Спасибо за ответ –

+0

@AmanTuladhar на первое решение вам не нужно добавлять '@ EntityListener' –

+0

@AmanTuladhar вы можете добавить слушателей в класс сущности напрямую –

Смежные вопросы