When i was going through the Entity listeners, the declaration looks like
Instead i expect the otherway round, it should be like
I feel the second approach is extendable, say for example, if i want to write a new listener for the existing entities, it would be easy to do it in the second approach. All i have to do is that write a new listener class and associate all the entities that the new listener is willing to handle.
Can someone explain why it is done in the other way?
Probably no good reason, just the way things ended up.
The events started as just annotating Entity methods, then the listeners were added, it was easiest just to add them as another annotation on the Entity, instead of having to introduce another type of annotated class.
I like your idea of annotating a EntityListener, perhaps suggest it to the spec group for a future release.