2017-04-13 105 views
0

我想觀察一個實體何時被保存或刪除,以便我可以執行與該實體有關的其他活動。我以爲我在過去沒有在實體類本身上使用@EntityListeners註釋,因爲我的實體監聽器將在服務層中實現,而不是在模型/數據層中實現。Spring - JPA - 觀察事件

我能想到的唯一方法就是在persistence.xml裏面指定我的偵聽器。

有沒有其他的方法?

+0

有什麼用? https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2#transaction-bound-events –

+1

您可以嘗試基於Spring AOP構建自己的圖層或你也可以查看[這篇文章])(http://www.baeldung.com/database-auditing-jpa)實施審計的幾種方法。 – andreim

+0

@AlanHay這實際上是我遇到過的同一篇文章 - 我認爲我已經在我的maven deps中有過spring starter,但找不到CreationEvent。我會再試一次,否則,這將是理想的。 – Walter

回答

0

很久以前,我在很遠很遠的一個星系中做過這個,答案在我的問題中。

的解決方案(即我想要的,但不喜歡,因爲使用的XML)是:

  1. 使用註釋寫一個通用的實體監聽器,並獲得bean管理的綱領性實例(CDI),或相當於在春天,那麼火,我可以通過處理事件CDI或彈簧

  2. ,我想是聽衆的工作,將persistence.xml文件,如果我手動指定實體監聽器有

  3. 想做任何事情特別的,我只是觀察我感興趣的事件,並獲得我想要的信息。