我希望在我的一个JPA注释类中有一个函数,每次EntityManager将它们保存到数据库(也就是事件监听器)时都会调用它。那可能吗?最好是,我想区分它是即将被保存还是刚被保存。
为了实现我想要的目标,这次我可以使用setter方法解决这个问题,但它不会完全相同。
答案 0 :(得分:7)
当然,请查看these examples。你有:
@PrePersist
; @PreUpdate
; @PreRemove
。@PostPersist
; @PostUpdate
;和@PostRemove
。(由Hanno添加) - 对于初学者使用此答案,我还找到了this other nice example tutorial。
答案 1 :(得分:1)
现在这可能是无关紧要的,因为这个帖子已经有几年了,但我认为Hanno所指的教程是在另一个(工作)链接上:
http://www.cereslogic.com/pages/2008/03/31/pizza-shop-iii-jpa-event-listeners/
此处还有另一个有用的教程:
http://www.andygibson.net/blog/article/auditing-entities-with-jpa-events/
我认为我会为将来可能会找到这个主题的人们做出贡献。
Saludos desde Bolivia