hibernate/hibernate-orm · error · AnnotationException
Lifecycle callback method not found - %s (%s)
Error message
Lifecycle callback method not found - %s (%s)
What it means
Error "Lifecycle callback method not found - %s (%s)" thrown in hibernate/hibernate-orm.
Source
Thrown at hibernate-core/src/main/java/org/hibernate/boot/models/xml/internal/XmlAnnotationHelper.java:1509
applyLifecycleCallback( lifecycleCallbackContainer.getPreUpdate(), callbackType, JpaAnnotations.PRE_UPDATE, classDetails, xmlDocumentContext );
applyLifecycleCallback( lifecycleCallbackContainer.getPostUpdate(), callbackType, JpaAnnotations.POST_UPDATE, classDetails, xmlDocumentContext );
applyLifecycleCallback( lifecycleCallbackContainer.getPostLoad(), callbackType, JpaAnnotations.POST_LOAD, classDetails, xmlDocumentContext );
}
private static <A extends Annotation> void applyLifecycleCallback(
JaxbLifecycleCallback lifecycleCallback,
JpaEventListenerStyle callbackType,
AnnotationDescriptor<A> annotationDescriptor,
MutableClassDetails classDetails,
XmlDocumentContext xmlDocumentContext) {
if ( lifecycleCallback != null ) {
final MutableMemberDetails methodDetails = getCallbackMethodDetails(
lifecycleCallback.getMethodName(),
callbackType,
classDetails
);
if ( methodDetails == null ) {
throw new AnnotationException( String.format(
"Lifecycle callback method not found - %s (%s)",
lifecycleCallback.getMethodName(),
classDetails.getName()
) );
}
methodDetails.applyAnnotationUsage( annotationDescriptor, xmlDocumentContext.getModelBuildingContext() );
}
}
private static MutableMemberDetails getCallbackMethodDetails(
String name,
JpaEventListenerStyle callbackType,
ClassDetails classDetails) {
for ( MethodDetails method : classDetails.getMethods() ) {
if ( method.getName().equals( name )
&& LifecycleEventHandler.matchesSignature( callbackType, method ) ) {
return (MutableMemberDetails) method;View on GitHub (pinned to fad1729dce)
Solutions
- Ensure the named callback method exists on the listener class with the required signature (void return, correct single parameter, accessible).
Example fix
Ensure the named callback method exists on the listener class with the required signature (void return, correct single parameter, accessible).
When it happens
Trigger: A JPA entity-listener or lifecycle callback violates the callback contract.
Common situations: Listener classes with missing lifecycle annotations, wrong method signatures, or multiple methods for the same event type.
AI-assisted analysis of hibernate/hibernate-orm@fad1729dce (2026-08-22).
Data as JSON: /api/errors/3b24b80f06b9e652.
Report an issue: GitHub.