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

public Class PropertyBinder

extends Object
Class Inheritance
Imports
java.lang.annotation.Annotation, java.util.HashMap, .Iterator, .List, .Map, jakarta.persistence.Basic, .Column, .ElementCollection, .EmbeddedId, .Id, .JoinColumn, .JoinColumns, .Lob, .ManyToMany, .ManyToOne, .MapsId, .OneToMany, .OneToOne, .Version, org.hibernate.AnnotationException, .AssertionFailure, .MappingException, org.hibernate.annotations.Any, .AttributeBinderType, .CompositeType, .IdGeneratorType, .Immutable, .Index, .LazyGroup, .ManyToAny, .NaturalId, .OptimisticLock, .Parent, .ValueGenerationType, org.hibernate.annotations.common.reflection.XAnnotatedElement, .XClass, .XProperty, org.hibernate.binder.AttributeBinder, org.hibernate.boot.model.IdentifierGeneratorDefinition, org.hibernate.boot.spi.AccessType, .MetadataBuildingContext, .PropertyData, .SecondPass, org.hibernate.engine.OptimisticLockStyle, org.hibernate.internal.CoreMessageLogger, org.hibernate.mapping.Collection, .Component, .GeneratorCreator, .Join, .KeyValue, .MappedSuperclass, .PersistentClass, .Property, .RootClass, .SimpleValue, .ToOne, .Value, org.hibernate.metamodel.spi.EmbeddableInstantiator, org.hibernate.usertype.CompositeUserType, org.jboss.logging.Logger

A stateful binder responsible for creating Property objects.
Author
Emmanuel Bernard

Field Summary

Modifier and TypeField and Description
private AccessType
private BasicValueBinder
private MetadataBuildingContext
private String
private AnnotatedColumns
private XClass
private boolean
private boolean
private EntityBinder
private PropertyHolder
private Map<XClass, InheritanceState>
private boolean
private boolean
private boolean
private String
private static final CoreMessageLogger
private String
private XProperty
private String
private XClass
private String
private boolean
private boolean
private Value

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
pack-priv static int

Returns:

the number of id properties found while iterating the elements of annotatedClass using the determined access strategy
addElementsOfClass
(List<PropertyData>
List of PropertyData instances
elements
,
PropertyContainer
Metadata about a class and its properties
propertyContainer
,
MetadataBuildingContext context)

private static void
addIndexes(boolean inSecondPass, XProperty property, AnnotatedColumns columns, AnnotatedJoinColumns joinColumns)

private static void
addNaturalIds(boolean inSecondPass, XProperty property, AnnotatedColumns columns, AnnotatedJoinColumns joinColumns)

private static int
addProperty(PropertyContainer propertyContainer, XProperty property, List<PropertyData> inFlightPropertyDataList, MetadataBuildingContext context)

private static boolean
private Property
bind(Property property)

private static AnnotatedColumns
bindBasic(PropertyHolder propertyHolder, Nullability nullability, PropertyData inferredData, Map<String, IdentifierGeneratorDefinition> classGenerators, EntityBinder entityBinder, boolean isIdentifierMapper, boolean isComponentEmbedded, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, XProperty property, ColumnsBuilder columnsBuilder, AnnotatedColumns columns, XClass returnedClass, PropertyBinder propertyBinder)

private static AnnotatedColumns
bindProperty(PropertyHolder propertyHolder, Nullability nullability, PropertyData inferredData, Map<String, IdentifierGeneratorDefinition> classGenerators, EntityBinder entityBinder, boolean isIdentifierMapper, boolean isComponentEmbedded, boolean inSecondPass, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, XProperty property, XClass returnedClass, ColumnsBuilder columnsBuilder, PropertyBinder propertyBinder)

private static void
bindVersionProperty(PropertyHolder propertyHolder, PropertyData inferredData, boolean isIdentifierMapper, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, AnnotatedColumns columns, PropertyBinder propertyBinder)

private static void
buildProperty(PropertyHolder propertyHolder, Nullability nullability, PropertyData inferredData, Map<String, IdentifierGeneratorDefinition> classGenerators, EntityBinder entityBinder, boolean isIdentifierMapper, boolean isComponentEmbedded, boolean inSecondPass, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass, XProperty property, XClass returnedClass)

private void
private static void
checkIdProperty(XProperty property, PropertyData propertyData)

private static void
checkVersionProperty(PropertyHolder propertyHolder, boolean isIdentifierMapper)

private static void
createBasicBinder(PropertyHolder propertyHolder, PropertyData inferredData, Nullability nullability, MetadataBuildingContext context, XProperty property, AnnotatedColumns columns, PropertyBinder propertyBinder, boolean isOverridden)

private static void
public BasicValueBinder
private Component
public Value
private GeneratorCreator
getValueGenerationFromAnnotations(XProperty property)

Returns the value generation strategy for the given property, if any.

private static void
private static void
handleIdProperty(PropertyContainer propertyContainer, MetadataBuildingContext context, XClass declaringClass, XClass entity, XAnnotatedElement element)

private void
handleLob(Property property)

private void
private void
private void
private static void
private void
pack-priv static boolean
private void
private static boolean
isAny(XProperty property)

private static boolean
private static boolean
isExplicitlyOptional(XProperty property)

Should this property be considered optional, without considering whether it is primitive?

private static boolean
public boolean
isId()

private static boolean
isJoinColumnPresent(String columnName, XProperty property)

private static boolean
isLazy(XProperty property)

private static boolean
private static boolean
public static boolean
isOptional(XProperty property, PropertyHolder propertyHolder)

Should this property be considered optional, taking into account whether it is primitive?

private boolean
private static boolean
isVersion(XProperty property)

public Property
public Property
private Property
public Property
public static void
processElementAnnotations(PropertyHolder propertyHolder, Nullability nullability, PropertyData inferredData, Map<String, IdentifierGeneratorDefinition> classGenerators, EntityBinder entityBinder, boolean isIdentifierMapper, boolean isComponentEmbedded, boolean inSecondPass, MetadataBuildingContext context, Map<XClass, InheritanceState> inheritanceStatePerClass)

Process annotation of a particular property or field.

private static void
processId(PropertyHolder propertyHolder, PropertyData inferredData, SimpleValue idValue, Map<String, IdentifierGeneratorDefinition> classGenerators, boolean isIdentifierMapper, MetadataBuildingContext context)

private static void
removeIdGenerators(List<Annotation> generatorAnnotations, List<Annotation> idGeneratorAnnotations)

private static Class<? extends CompositeUserType<?>>
private Class<? extends EmbeddableInstantiator>
resolveCustomInstantiator(XProperty property, XClass embeddableClass)

public void
public void
public void
setCascade(String cascadeStrategy)

public void
private void
public void
setDeclaringClass(XClass declaringClass)

public void
setEmbedded(boolean embedded)

public void
public void
public void
setId(boolean id)

public void
public void
setInsertable(boolean insertable)

public void
setLazy(boolean lazy)

public void
setLazyGroup(String lazyGroup)

public void
public void
public void
setReferencedEntityName(String referencedEntityName)

public void
setReturnedClass(XClass returnedClass)

public void
setReturnedClassName(String returnedClassName)

public void
setToMany(boolean toMany)

public void
setUpdatable(boolean updatable)

public void
setValue(Value value)

private static boolean
shouldForceNotNull(Nullability nullability, PropertyBinder binder, boolean optional)

private void
private void
private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait