• Post Reply Bookmark Topic Watch Topic
  • New Topic

Invocation order of Lifecycle Callback Methods

 
Moses Marfo
Greenhorn
Posts: 27
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Below is an example from MZ notes showing the order of invocation of entity lifecycle callback methods.
Can somebody please explain why the method "postPersistAnimal" is invoked last instead of first. I thought it would be called
first since class Pet extends Animal.

thanks



CASE 1: If a @PostPersist event occurs on an instance of Cat, the following methods are called
in order:
1 postPersistPetListenerMethod
2 postPersistCatListenerMethod
3 postPersistCatListener2Method
4 postPersistAnimal
 
Roland Benedek
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Because there are two types of ordering for interceptors, first there is the declaration:
1. Default interceptors(those declared in the orm.xml)
2. Class interceptors
3. Method interceptors

Per declaration type the order is:
1. Super class
2. Own class

Hope this helps
 
Gravity is a harsh mistress. But this tiny ad is pretty easy to deal with:
the new thread boost feature: great for the advertiser and smooth for the coderanch user
https://coderanch.com/t/674455/Thread-Boost-feature
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!