Class CollectionBinder

java.lang.Object
org.hibernate.boot.model.internal.CollectionBinder
Direct Known Subclasses:
BagBinder, ListBinder, MapBinder, SetBinder

public abstract class CollectionBinder extends Object
Base class for stateful binders responsible for producing mapping model objects of type Collection.
  • Field Details

    • collection

      protected Collection collection
    • propertyName

      protected String propertyName
    • propertyHolder

      protected PropertyHolder propertyHolder
    • declaringClass

      protected org.hibernate.models.spi.ClassDetails declaringClass
    • property

      protected org.hibernate.models.spi.MemberDetails property
    • indexColumn

      protected IndexColumn indexColumn
    • onDeleteAction

      protected OnDeleteAction onDeleteAction
    • hasMapKeyProperty

      protected boolean hasMapKeyProperty
    • mapKeyPropertyName

      protected String mapKeyPropertyName
    • inverseJoinColumns

      protected AnnotatedJoinColumns inverseJoinColumns
    • foreignJoinColumns

      protected AnnotatedJoinColumns foreignJoinColumns
    • isEmbedded

      protected boolean isEmbedded
    • notFoundAction

      protected NotFoundAction notFoundAction
    • mapKeyColumns

      protected AnnotatedColumns mapKeyColumns
    • mapKeyManyToManyColumns

      protected AnnotatedJoinColumns mapKeyManyToManyColumns
    • localGenerators

      protected Map<String,IdentifierGeneratorDefinition> localGenerators
    • inheritanceStatePerClass

      protected Map<org.hibernate.models.spi.ClassDetails,InheritanceState> inheritanceStatePerClass
  • Constructor Details

  • Method Details

    • bindCollection

      public static void bindCollection(PropertyHolder propertyHolder, Nullability nullability, PropertyData inferredData, EntityBinder entityBinder, boolean isIdentifierMapper, MetadataBuildingContext context, Map<org.hibernate.models.spi.ClassDetails,InheritanceState> inheritanceStatePerClass, org.hibernate.models.spi.MemberDetails property, AnnotatedJoinColumns joinColumns)
      The first pass at binding a collection.
    • getBuildingContext

      protected MetadataBuildingContext getBuildingContext()
    • setIsHibernateExtensionMapping

      protected void setIsHibernateExtensionMapping(boolean hibernateExtensionMapping)
    • isHibernateExtensionMapping

      protected boolean isHibernateExtensionMapping()
    • createCollection

      protected abstract Collection createCollection(PersistentClass persistentClass)
    • bindStarToManySecondPass

      protected boolean bindStarToManySecondPass(Map<String,PersistentClass> persistentClasses)
      Returns:
      true if it's a foreign key, false if it's an association table
    • bindOneToManySecondPass

      protected void bindOneToManySecondPass(Map<String,PersistentClass> persistentClasses)
      Bind a OneToMany association.
    • mappingDefinedAttributeOverrideOnElement

      protected boolean mappingDefinedAttributeOverrideOnElement(org.hibernate.models.spi.MemberDetails property)
    • bindManyToManyInverseForeignKey

      public void bindManyToManyInverseForeignKey(PersistentClass targetEntity, AnnotatedJoinColumns joinColumns, SimpleValue value, boolean unique)
      Bind the inverse foreign key of a ManyToMany, that is, the columns specified by @JoinTable(inverseJoinColumns=...), which are the columns that reference the target entity of the many-to-many association. If we are in a mappedBy case, read the columns from the associated collection element in the target entity.