Package org.hibernate.cfg.annotations
Class CollectionBinder
java.lang.Object
org.hibernate.cfg.annotations.CollectionBinder
- Direct Known Subclasses:
BagBinder,ListBinder,MapBinder,SetBinder
Base class for binding different types of collections to Hibernate configuration objects.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprotected Collectionprotected Stringprotected IndexColumnprotected Map<XClass, InheritanceState> protected HashMap<String, IdGenerator> protected Stringprotected String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbind()static voidbindManytoManyInverseFk(PersistentClass referencedEntity, Ejb3JoinColumn[] columns, SimpleValue value, boolean unique, Mappings mappings) bind the inverse FK of a ManyToMany If we are in a mappedBy case, read the columns from the associated colletion element Otherwise delegates to the usual algorithmprotected voidbindManyToManySecondPass(Collection collValue, Map persistentClasses, Ejb3JoinColumn[] joinColumns, Ejb3JoinColumn[] inverseJoinColumns, Ejb3Column[] elementColumns, boolean isEmbedded, XClass collType, boolean ignoreNotFound, boolean unique, boolean cascadeDeleteEnabled, TableBinder associationTableBinder, XProperty property, PropertyHolder parentPropertyHolder, String hqlOrderBy, Mappings mappings) protected voidbindOneToManySecondPass(Collection collection, Map persistentClasses, Ejb3JoinColumn[] fkJoinColumns, XClass collectionType, boolean cascadeDeleteEnabled, boolean ignoreNotFound, String hqlOrderBy, Mappings mappings, Map<XClass, InheritanceState> inheritanceStatePerClass) protected booleanbindStarToManySecondPass(Map persistentClasses, XClass collType, Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, boolean isEmbedded, XProperty property, boolean unique, TableBinder associationTableBinder, boolean ignoreNotFound, Mappings mappings) return true if it's a Fk, false if it's an association tableprotected abstract CollectioncreateCollection(PersistentClass persistentClass) static CollectionBindergetCollectionBinder(String entityName, XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping) collection binder factoryprotected MappingsgetSecondPass(Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, Ejb3Column[] mapKeyColumns, Ejb3JoinColumn[] mapKeyManyToManyColumns, boolean isEmbedded, XProperty property, XClass collType, boolean ignoreNotFound, boolean unique, TableBinder assocTableBinder, Mappings mappings) protected booleanbooleanisMap()voidsetAccessType(AccessType accessType) voidsetBatchSize(BatchSize batchSize) voidvoidsetCascadeDeleteEnabled(boolean onDeleteCascade) voidsetCascadeStrategy(String cascadeStrategy) voidsetCollectionType(XClass collectionType) voidsetDeclaringClass(XClass declaringClass) voidsetEjb3OrderBy(javax.persistence.OrderBy orderByAnn) voidsetElementColumns(Ejb3Column[] elementColumns) voidsetEmbedded(boolean annotationPresent) voidsetExplicitAssociationTable(boolean explicitAssocTable) voidsetFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns) voidsetIgnoreNotFound(boolean ignoreNotFound) voidsetIndexColumn(IndexColumn indexColumn) voidsetInheritanceStatePerClass(Map<XClass, InheritanceState> inheritanceStatePerClass) voidsetInsertable(boolean insertable) voidsetInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns) voidsetIsHibernateExtensionMapping(boolean hibernateExtensionMapping) voidsetJoinColumns(Ejb3JoinColumn[] joinColumns) voidsetLocalGenerators(HashMap<String, IdGenerator> localGenerators) voidvoidsetMapKeyColumns(Ejb3Column[] mapKeyColumns) voidsetMapKeyManyToManyColumns(Ejb3JoinColumn[] mapJoinColumns) voidsetMappedBy(String mappedBy) voidsetMappings(Mappings mappings) voidsetOneToMany(boolean oneToMany) voidsetProperty(XProperty property) voidsetPropertyHolder(PropertyHolder propertyHolder) voidsetPropertyName(String propertyName) voidvoidsetSqlOrderBy(OrderBy orderByAnn) voidsetTableBinder(TableBinder tableBinder) voidsetTargetEntity(XClass targetEntity) voidsetUpdatable(boolean updatable)
-
Field Details
-
collection
-
propertyName
-
indexColumn
-
hqlOrderBy
-
cascadeDeleteEnabled
protected boolean cascadeDeleteEnabled -
mapKeyPropertyName
-
localGenerators
-
inheritanceStatePerClass
-
-
Constructor Details
-
CollectionBinder
protected CollectionBinder() -
CollectionBinder
protected CollectionBinder(boolean sorted)
-
-
Method Details
-
getMappings
-
isMap
public boolean isMap() -
setIsHibernateExtensionMapping
public void setIsHibernateExtensionMapping(boolean hibernateExtensionMapping) -
isHibernateExtensionMapping
protected boolean isHibernateExtensionMapping() -
setUpdatable
public void setUpdatable(boolean updatable) -
setInheritanceStatePerClass
-
setInsertable
public void setInsertable(boolean insertable) -
setCascadeStrategy
-
setAccessType
-
setInverseJoinColumns
-
setJoinColumns
-
setPropertyHolder
-
setBatchSize
-
setEjb3OrderBy
-
setSqlOrderBy
-
setSort
-
getCollectionBinder
public static CollectionBinder getCollectionBinder(String entityName, XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping) collection binder factory -
setMappedBy
-
setTableBinder
-
setCollectionType
-
setTargetEntity
-
setMappings
-
createCollection
-
getCollection
-
setPropertyName
-
setDeclaringClass
-
bind
public void bind() -
getSecondPass
public SecondPass getSecondPass(Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, Ejb3Column[] mapKeyColumns, Ejb3JoinColumn[] mapKeyManyToManyColumns, boolean isEmbedded, XProperty property, XClass collType, boolean ignoreNotFound, boolean unique, TableBinder assocTableBinder, Mappings mappings) -
bindStarToManySecondPass
protected boolean bindStarToManySecondPass(Map persistentClasses, XClass collType, Ejb3JoinColumn[] fkJoinColumns, Ejb3JoinColumn[] keyColumns, Ejb3JoinColumn[] inverseColumns, Ejb3Column[] elementColumns, boolean isEmbedded, XProperty property, boolean unique, TableBinder associationTableBinder, boolean ignoreNotFound, Mappings mappings) return true if it's a Fk, false if it's an association table -
bindOneToManySecondPass
protected void bindOneToManySecondPass(Collection collection, Map persistentClasses, Ejb3JoinColumn[] fkJoinColumns, XClass collectionType, boolean cascadeDeleteEnabled, boolean ignoreNotFound, String hqlOrderBy, Mappings mappings, Map<XClass, InheritanceState> inheritanceStatePerClass) -
setCache
-
setOneToMany
public void setOneToMany(boolean oneToMany) -
setIndexColumn
-
setMapKey
-
bindManyToManySecondPass
protected void bindManyToManySecondPass(Collection collValue, Map persistentClasses, Ejb3JoinColumn[] joinColumns, Ejb3JoinColumn[] inverseJoinColumns, Ejb3Column[] elementColumns, boolean isEmbedded, XClass collType, boolean ignoreNotFound, boolean unique, boolean cascadeDeleteEnabled, TableBinder associationTableBinder, XProperty property, PropertyHolder parentPropertyHolder, String hqlOrderBy, Mappings mappings) throws MappingException - Throws:
MappingException
-
setCascadeDeleteEnabled
public void setCascadeDeleteEnabled(boolean onDeleteCascade) -
bindManytoManyInverseFk
public static void bindManytoManyInverseFk(PersistentClass referencedEntity, Ejb3JoinColumn[] columns, SimpleValue value, boolean unique, Mappings mappings) bind the inverse FK of a ManyToMany If we are in a mappedBy case, read the columns from the associated colletion element Otherwise delegates to the usual algorithm -
setFkJoinColumns
-
setExplicitAssociationTable
public void setExplicitAssociationTable(boolean explicitAssocTable) -
setElementColumns
-
setEmbedded
public void setEmbedded(boolean annotationPresent) -
setProperty
-
setIgnoreNotFound
public void setIgnoreNotFound(boolean ignoreNotFound) -
setMapKeyColumns
-
setMapKeyManyToManyColumns
-
setLocalGenerators
-