Package org.hibernate.cfg.annotations
Class CollectionBinder
- java.lang.Object
-
- org.hibernate.cfg.annotations.CollectionBinder
-
- Direct Known Subclasses:
BagBinder,ListBinder,MapBinder,SetBinder
public abstract class CollectionBinder extends Object
Base class for binding different types of collections to Hibernate configuration objects.
-
-
Field Summary
Fields Modifier and Type Field Description protected booleancascadeDeleteEnabledprotected Collectioncollectionprotected IndexColumnindexColumnprotected Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState>inheritanceStatePerClassprotected HashMap<String,IdentifierGeneratorDefinition>localGeneratorsprotected StringmapKeyPropertyNameprotected StringpropertyName
-
Constructor Summary
Constructors Modifier Constructor Description protectedCollectionBinder(boolean isSortedCollection)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static StringadjustUserSuppliedValueCollectionOrderingFragment(String orderByFragment)voidbind()static voidbindManytoManyInverseFk(PersistentClass referencedEntity, Ejb3JoinColumn[] columns, SimpleValue value, boolean unique, MetadataBuildingContext buildingContext)bind the inverse FK of a ManyToMany If we are in a mappedBy case, read the columns from the associated collection element Otherwise delegates to the usual algorithmprotected voidbindOneToManySecondPass(Collection collection, Map<String,PersistentClass> persistentClasses, Ejb3JoinColumn[] fkJoinColumns, org.hibernate.annotations.common.reflection.XClass collectionType, boolean cascadeDeleteEnabled, NotFoundAction notFoundAction, MetadataBuildingContext buildingContext, Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)protected booleanbindStarToManySecondPass(Map<String,PersistentClass> persistentClasses, org.hibernate.annotations.common.reflection.XClass collType, Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XProperty property, boolean unique, TableBinder associationTableBinder, NotFoundAction notFoundAction, MetadataBuildingContext buildingContext)return true if it's a Fk, false if it's an association tableprotected abstract CollectioncreateCollection(PersistentClass persistentClass)protected MetadataBuildingContextgetBuildingContext()CollectiongetCollection()static CollectionBindergetCollectionBinder(String entityName, org.hibernate.annotations.common.reflection.XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping, MetadataBuildingContext buildingContext)collection binder factoryNotFoundActiongetNotFoundAction()SecondPassgetSecondPass(Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, Ejb3Column[] mapKeyColumns, Ejb3JoinColumn[] mapKeyManyToManyColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XProperty property, org.hibernate.annotations.common.reflection.XClass collType, NotFoundAction notFoundAction, boolean unique, TableBinder assocTableBinder, MetadataBuildingContext buildingContext)protected booleanisHibernateExtensionMapping()booleanisMap()voidsetAccessType(AccessType accessType)voidsetBatchSize(BatchSize batchSize)voidsetBuildingContext(MetadataBuildingContext buildingContext)voidsetCache(Cache cacheAnn)voidsetCascadeDeleteEnabled(boolean onDeleteCascade)voidsetCascadeStrategy(String cascadeStrategy)voidsetCollectionType(org.hibernate.annotations.common.reflection.XClass collectionType)voidsetComparatorSort(SortComparator comparatorSort)voidsetDeclaringClass(org.hibernate.annotations.common.reflection.XClass declaringClass)voidsetElementColumns(Ejb3Column[] elementColumns)voidsetEmbedded(boolean annotationPresent)voidsetExplicitAssociationTable(boolean explicitAssocTable)voidsetFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns)voidsetIgnoreNotFound(boolean ignoreNotFound)voidsetIndexColumn(IndexColumn indexColumn)voidsetInheritanceStatePerClass(Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)voidsetInsertable(boolean insertable)voidsetInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns)protected voidsetIsHibernateExtensionMapping(boolean hibernateExtensionMapping)voidsetJoinColumns(Ejb3JoinColumn[] joinColumns)voidsetJpaOrderBy(OrderBy jpaOrderBy)voidsetLocalGenerators(HashMap<String,IdentifierGeneratorDefinition> localGenerators)voidsetMapKey(MapKey key)voidsetMapKeyColumns(Ejb3Column[] mapKeyColumns)voidsetMapKeyManyToManyColumns(Ejb3JoinColumn[] mapJoinColumns)voidsetMappedBy(String mappedBy)voidsetNaturalSort(SortNatural naturalSort)voidsetNotFoundAction(NotFoundAction notFoundAction)voidsetOneToMany(boolean oneToMany)voidsetProperty(org.hibernate.annotations.common.reflection.XProperty property)voidsetPropertyHolder(PropertyHolder propertyHolder)voidsetPropertyName(String propertyName)voidsetSort(Sort deprecatedSort)voidsetSqlOrderBy(OrderBy sqlOrderBy)voidsetTableBinder(TableBinder tableBinder)voidsetTargetEntity(org.hibernate.annotations.common.reflection.XClass targetEntity)voidsetUpdatable(boolean updatable)
-
-
-
Field Detail
-
collection
protected Collection collection
-
propertyName
protected String propertyName
-
indexColumn
protected IndexColumn indexColumn
-
cascadeDeleteEnabled
protected boolean cascadeDeleteEnabled
-
mapKeyPropertyName
protected String mapKeyPropertyName
-
localGenerators
protected HashMap<String,IdentifierGeneratorDefinition> localGenerators
-
inheritanceStatePerClass
protected Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass
-
-
Method Detail
-
getBuildingContext
protected MetadataBuildingContext getBuildingContext()
-
setBuildingContext
public void setBuildingContext(MetadataBuildingContext buildingContext)
-
isMap
public boolean isMap()
-
setIsHibernateExtensionMapping
protected void setIsHibernateExtensionMapping(boolean hibernateExtensionMapping)
-
isHibernateExtensionMapping
protected boolean isHibernateExtensionMapping()
-
setUpdatable
public void setUpdatable(boolean updatable)
-
setInheritanceStatePerClass
public void setInheritanceStatePerClass(Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)
-
setInsertable
public void setInsertable(boolean insertable)
-
setCascadeStrategy
public void setCascadeStrategy(String cascadeStrategy)
-
setAccessType
public void setAccessType(AccessType accessType)
-
setInverseJoinColumns
public void setInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns)
-
setJoinColumns
public void setJoinColumns(Ejb3JoinColumn[] joinColumns)
-
setPropertyHolder
public void setPropertyHolder(PropertyHolder propertyHolder)
-
setBatchSize
public void setBatchSize(BatchSize batchSize)
-
setJpaOrderBy
public void setJpaOrderBy(OrderBy jpaOrderBy)
-
setSqlOrderBy
public void setSqlOrderBy(OrderBy sqlOrderBy)
-
setSort
public void setSort(Sort deprecatedSort)
-
setNaturalSort
public void setNaturalSort(SortNatural naturalSort)
-
setComparatorSort
public void setComparatorSort(SortComparator comparatorSort)
-
getCollectionBinder
public static CollectionBinder getCollectionBinder(String entityName, org.hibernate.annotations.common.reflection.XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping, MetadataBuildingContext buildingContext)
collection binder factory
-
setMappedBy
public void setMappedBy(String mappedBy)
-
setTableBinder
public void setTableBinder(TableBinder tableBinder)
-
setCollectionType
public void setCollectionType(org.hibernate.annotations.common.reflection.XClass collectionType)
-
setTargetEntity
public void setTargetEntity(org.hibernate.annotations.common.reflection.XClass targetEntity)
-
createCollection
protected abstract Collection createCollection(PersistentClass persistentClass)
-
getCollection
public Collection getCollection()
-
setPropertyName
public void setPropertyName(String propertyName)
-
setDeclaringClass
public void setDeclaringClass(org.hibernate.annotations.common.reflection.XClass declaringClass)
-
bind
public void bind()
-
getSecondPass
public SecondPass getSecondPass(Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, Ejb3Column[] mapKeyColumns, Ejb3JoinColumn[] mapKeyManyToManyColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XProperty property, org.hibernate.annotations.common.reflection.XClass collType, NotFoundAction notFoundAction, boolean unique, TableBinder assocTableBinder, MetadataBuildingContext buildingContext)
-
bindStarToManySecondPass
protected boolean bindStarToManySecondPass(Map<String,PersistentClass> persistentClasses, org.hibernate.annotations.common.reflection.XClass collType, Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, boolean isEmbedded, org.hibernate.annotations.common.reflection.XProperty property, boolean unique, TableBinder associationTableBinder, NotFoundAction notFoundAction, MetadataBuildingContext buildingContext)
return true if it's a Fk, false if it's an association table
-
bindOneToManySecondPass
protected void bindOneToManySecondPass(Collection collection, Map<String,PersistentClass> persistentClasses, Ejb3JoinColumn[] fkJoinColumns, org.hibernate.annotations.common.reflection.XClass collectionType, boolean cascadeDeleteEnabled, NotFoundAction notFoundAction, MetadataBuildingContext buildingContext, Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)
-
setCache
public void setCache(Cache cacheAnn)
-
setOneToMany
public void setOneToMany(boolean oneToMany)
-
setIndexColumn
public void setIndexColumn(IndexColumn indexColumn)
-
setMapKey
public void setMapKey(MapKey key)
-
adjustUserSuppliedValueCollectionOrderingFragment
public static String adjustUserSuppliedValueCollectionOrderingFragment(String orderByFragment)
-
setCascadeDeleteEnabled
public void setCascadeDeleteEnabled(boolean onDeleteCascade)
-
bindManytoManyInverseFk
public static void bindManytoManyInverseFk(PersistentClass referencedEntity, Ejb3JoinColumn[] columns, SimpleValue value, boolean unique, MetadataBuildingContext buildingContext)
bind the inverse FK of a ManyToMany If we are in a mappedBy case, read the columns from the associated collection element Otherwise delegates to the usual algorithm
-
setFkJoinColumns
public void setFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns)
-
setExplicitAssociationTable
public void setExplicitAssociationTable(boolean explicitAssocTable)
-
setElementColumns
public void setElementColumns(Ejb3Column[] elementColumns)
-
setEmbedded
public void setEmbedded(boolean annotationPresent)
-
setProperty
public void setProperty(org.hibernate.annotations.common.reflection.XProperty property)
-
getNotFoundAction
public NotFoundAction getNotFoundAction()
-
setNotFoundAction
public void setNotFoundAction(NotFoundAction notFoundAction)
-
setIgnoreNotFound
public void setIgnoreNotFound(boolean ignoreNotFound)
-
setMapKeyColumns
public void setMapKeyColumns(Ejb3Column[] mapKeyColumns)
-
setMapKeyManyToManyColumns
public void setMapKeyManyToManyColumns(Ejb3JoinColumn[] mapJoinColumns)
-
setLocalGenerators
public void setLocalGenerators(HashMap<String,IdentifierGeneratorDefinition> localGenerators)
-
-