| That's not the way specs work. As an implementor of a spec you are not required to implement everything that is not disallowed by the spec. Even the fact that we are using double negatives ought to be a tip-off I mean to take that to the logical extreme, the JPA spec does not say I cannot delete all of your data from the database on a flush; so can I do that too? The spec does not disallow it.. Based on what I think you want (since you know, you never provided any kind of illustration of what you mean exactly) you want to have inheritance within your entity-listener impls. An entity-listener is distinctly different from an "entity callback"; the former defines lifecycle callbacks on a dedicated listener class, whereas the latter defines those lifecycle callbacks on the entity itself. So as a counterpoint, JPA does in fact explicitly (and in great detail) document how "entity callbacks" are to be resolved up the entity's hierarchy. That's how a spec works. And you can't call it a bug. A bug, by definition, is something that does not work as advertised. Nowhere in the Hibernate documentation, nor even in the JPA spec itself, is this documented to work as you think it should work. You don't like the behavior, but that does not make it a bug. And I even agree it would be nice to support that. Still not a bug  |