Top Description Fields Constructors Methods
org.hibernate.boot.model.internal

public final Class AnnotationBinder

extends Object
Class Inheritance
Imports
java.lang.reflect.ParameterizedType, java.util.HashMap, .List, .Locale, .Map, org.hibernate.AnnotationException, .MappingException, org.hibernate.annotations.CollectionTypeRegistration, .CollectionTypeRegistrations, .CompositeTypeRegistration, .CompositeTypeRegistrations, .ConverterRegistration, .ConverterRegistrations, .EmbeddableInstantiatorRegistration, .EmbeddableInstantiatorRegistrations, .FetchMode, .FetchProfile, .FetchProfile.FetchOverride, .FetchProfiles, .FilterDef, .FilterDefs, .GenericGenerator, .GenericGenerators, .Imported, .JavaTypeRegistration, .JavaTypeRegistrations, .JdbcTypeRegistration, .JdbcTypeRegistrations, .ParamDef, .TypeRegistration, .TypeRegistrations, org.hibernate.annotations.common.reflection.ReflectionManager, .XAnnotatedElement, .XClass, .XPackage, org.hibernate.boot.model.IdentifierGeneratorDefinition, org.hibernate.boot.model.convert.spi.ConverterDescriptor, .RegisteredConversion, org.hibernate.boot.registry.StandardServiceRegistry, org.hibernate.boot.registry.classloading.spi.ClassLoaderService, org.hibernate.boot.spi.BootstrapContext, .InFlightMetadataCollector, .MetadataBuildingContext, org.hibernate.dialect.Dialect, org.hibernate.engine.spi.FilterDefinition, org.hibernate.internal.CoreMessageLogger, org.hibernate.internal.util.GenericsHelper, .StringHelper, org.hibernate.metamodel.mapping.JdbcMapping, org.hibernate.resource.beans.internal.FallbackBeanInstanceProducer, org.hibernate.resource.beans.spi.ManagedBean, .ManagedBeanRegistry, org.hibernate.type.BasicType, .CustomType, org.hibernate.type.descriptor.converter.internal.JpaAttributeConverterImpl, org.hibernate.type.descriptor.java.BasicJavaType, .JavaType, org.hibernate.type.descriptor.java.spi.JavaTypeRegistry, org.hibernate.type.descriptor.jdbc.JdbcType, .JdbcTypeIndicators, org.hibernate.type.internal.ConvertedBasicTypeImpl, org.hibernate.type.spi.TypeConfiguration, org.hibernate.usertype.UserType, jakarta.persistence.AttributeConverter, .Entity, .FetchType, .Inheritance, .InheritanceType, .MappedSuperclass, .NamedNativeQueries, .NamedNativeQuery, .NamedQueries, .NamedQuery, .NamedStoredProcedureQueries, .NamedStoredProcedureQuery, .SequenceGenerator, .SequenceGenerators, .SqlResultSetMapping, .SqlResultSetMappings, .Table, .TableGenerator, .TableGenerators

Reads annotations from Java classes and produces the Hibernate configuration-time metamodel, that is, the objects defined in the package org.hibernate.mapping.

Implementation Note

This class is stateless, unlike most of the other "binders".

Authors
Emmanuel Bernard, Hardy Ferentschik

Field Summary

Modifier and TypeField and Description
private static final CoreMessageLogger

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static void
bindClass(XClass
entity to bind as XClass instance
annotatedClass
,
Map<XClass, InheritanceState>
Metadata about the inheritance relationships for all mapped classes
inheritanceStatePerClass
,
MetadataBuildingContext context)

Bind an annotated class.

private static void
private static void
public static void
private static void
private static void
private static void
public static void
public static void
private static void
public static void
private static void
private static void
private static void
private static void
private static void
public static void
public static void
private static void
private static void
public static Map<XClass, InheritanceState>

Returns:

A map of InheritanceStates keyed against their XClass.
buildInheritanceStates
(List<XClass>
Order list of all annotated entities and their mapped superclasses
orderedClasses
,
MetadataBuildingContext buildingContext)

For the mapped entities build some temporary data-structure containing information about the inheritance status of a class.

private static void
private static JavaType<?>
getJavaType(Class<JavaType<?>> javaTypeClass, MetadataBuildingContext context, TypeConfiguration typeConfiguration)

private static void
private static void
private static void
private static void
private static void
handleImport(XClass annotatedClass, MetadataBuildingContext context)

private static void
private static void
private static void
private static void
private static JdbcMapping
private static BasicType<Object>
private static JdbcMapping
private static JdbcMapping
private static JdbcMapping
private static boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

LOGback to summary
private static final CoreMessageLogger LOG

Constructor Detail

AnnotationBinderback to summary
private AnnotationBinder()

Method Detail

bindClassback to summary
public static void bindClass(XClass annotatedClass, Map<XClass, InheritanceState> inheritanceStatePerClass, MetadataBuildingContext context) throws MappingException

Bind an annotated class. A subclass must be bound after its superclass.

Parameters
annotatedClass:XClass

entity to bind as XClass instance

inheritanceStatePerClass:Map<XClass, InheritanceState>

Metadata about the inheritance relationships for all mapped classes

Exceptions
MappingException:
in case there is a configuration error
bindCompositeUserTypeRegistrationsback to summary
private static void bindCompositeUserTypeRegistrations(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindConverterRegistrationsback to summary
private static void bindConverterRegistrations(XAnnotatedElement container, MetadataBuildingContext context)
bindDefaultsback to summary
public static void bindDefaults(MetadataBuildingContext context)
bindEmbeddableInstantiatorRegistrationsback to summary
private static void bindEmbeddableInstantiatorRegistrations(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindFetchProfileback to summary
private static void bindFetchProfile(FetchProfile fetchProfile, MetadataBuildingContext context)
bindFetchProfilesback to summary
private static void bindFetchProfiles(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindFetchProfilesForClassback to summary
public static void bindFetchProfilesForClass(XClass annotatedClass, MetadataBuildingContext context)
bindFetchProfilesForPackageback to summary
public static void bindFetchProfilesForPackage(ClassLoaderService cls, String packageName, MetadataBuildingContext context)
bindFilterDefback to summary
private static void bindFilterDef(FilterDef filterDef, MetadataBuildingContext context)
bindFilterDefsback to summary
public static void bindFilterDefs(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindGenericGeneratorback to summary
private static void bindGenericGenerator(GenericGenerator def, MetadataBuildingContext context)
bindGenericGeneratorsback to summary
private static void bindGenericGenerators(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindNamedJpaQueriesback to summary
private static void bindNamedJpaQueries(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindNamedStoredProcedureQueriesback to summary
private static void bindNamedStoredProcedureQueries(NamedStoredProcedureQueries annotation, MetadataBuildingContext context, boolean isDefault)
bindNamedStoredProcedureQueryback to summary
private static void bindNamedStoredProcedureQuery(NamedStoredProcedureQuery annotation, MetadataBuildingContext context, boolean isDefault)
bindPackageback to summary
public static void bindPackage(ClassLoaderService cls, String packageName, MetadataBuildingContext context)
bindQueriesback to summary
public static void bindQueries(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindTypeDescriptorRegistrationsback to summary
private static void bindTypeDescriptorRegistrations(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
bindUserTypeRegistrationsback to summary
private static void bindUserTypeRegistrations(XAnnotatedElement annotatedElement, MetadataBuildingContext context)
buildInheritanceStatesback to summary
public static Map<XClass, InheritanceState> buildInheritanceStates(List<XClass> orderedClasses, MetadataBuildingContext buildingContext)

For the mapped entities build some temporary data-structure containing information about the inheritance status of a class.

Parameters
orderedClasses:List<XClass>

Order list of all annotated entities and their mapped superclasses

Returns:Map<XClass, InheritanceState>

A map of InheritanceStates keyed against their XClass.

detectMappedSuperclassProblemsback to summary
private static void detectMappedSuperclassProblems(XClass annotatedClass)
getJavaTypeback to summary
private static JavaType<?> getJavaType(Class<JavaType<?>> javaTypeClass, MetadataBuildingContext context, TypeConfiguration typeConfiguration)
handleCompositeUserTypeRegistrationback to summary
private static void handleCompositeUserTypeRegistration(MetadataBuildingContext context, CompositeTypeRegistration compositeTypeRegistration)
handleConverterRegistrationback to summary
private static void handleConverterRegistration(ConverterRegistration registration, MetadataBuildingContext context)
handleEmbeddableInstantiatorRegistrationback to summary
private static void handleEmbeddableInstantiatorRegistration(MetadataBuildingContext context, EmbeddableInstantiatorRegistration annotation)
handleIdGeneratorsback to summary
private static void handleIdGenerators(XPackage annotatedPackage, MetadataBuildingContext context)
handleImportback to summary
private static void handleImport(XClass annotatedClass, MetadataBuildingContext context)
handleJavaTypeRegistrationback to summary
private static void handleJavaTypeRegistration(MetadataBuildingContext context, ManagedBeanRegistry managedBeanRegistry, JavaTypeRegistration annotation)
handleJdbcTypeRegistrationback to summary
private static void handleJdbcTypeRegistration(MetadataBuildingContext context, ManagedBeanRegistry managedBeanRegistry, JdbcTypeRegistration annotation)
handleUserTypeRegistrationback to summary
private static void handleUserTypeRegistration(MetadataBuildingContext context, TypeRegistration compositeTypeRegistration)
logMixedInheritanceback to summary
private static void logMixedInheritance(XClass clazz, InheritanceState superclassState, InheritanceState state)
resolveAttributeConverterback to summary
private static JdbcMapping resolveAttributeConverter(Class<AttributeConverter<?, ?>> type, MetadataBuildingContext context)
resolveBasicTypeback to summary
private static BasicType<Object> resolveBasicType(Class<?> type, MetadataBuildingContext context)
resolveFilterParamTypeback to summary
private static JdbcMapping resolveFilterParamType(Class<?> type, MetadataBuildingContext context)
Annotations
@SuppressWarnings:unchecked
resolveJavaTypeback to summary
private static JdbcMapping resolveJavaType(Class<JavaType<?>> type, MetadataBuildingContext context)
resolveUserTypeback to summary
private static JdbcMapping resolveUserType(Class<UserType<?>> userTypeClass, MetadataBuildingContext context)
reuseOrCreateFetchProfileback to summary
private static boolean reuseOrCreateFetchProfile(MetadataBuildingContext context, String name)