diff --git a/spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypesBeanRegistrationAotProcessor.java b/spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypesBeanRegistrationAotProcessor.java index 0902db3cc22..5da0ac9866e 100644 --- a/spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypesBeanRegistrationAotProcessor.java +++ b/spring-orm/src/main/java/org/springframework/orm/jpa/persistenceunit/PersistenceManagedTypesBeanRegistrationAotProcessor.java @@ -219,6 +219,14 @@ class PersistenceManagedTypesBeanRegistrationAotProcessor implements BeanRegistr ReflectionUtils.doWithMethods(managedClass, method -> registerForReflection(reflection, AnnotationUtils.findAnnotation(method, idGeneratorTypeClass), "value")); } + + Class attributeBinderTypeClass = loadClass("org.hibernate.annotations.AttributeBinderType", classLoader); + if (attributeBinderTypeClass != null) { + ReflectionUtils.doWithFields(managedClass, field -> registerForReflection(reflection, + AnnotationUtils.findAnnotation(field, attributeBinderTypeClass), "binder")); + ReflectionUtils.doWithMethods(managedClass, method -> registerForReflection(reflection, + AnnotationUtils.findAnnotation(method, attributeBinderTypeClass), "binder")); + } } @Nullable