Top Description Fields Constructors Methods
org.hibernate.cfg.annotations

public abstract Class CollectionBinder

extends Object
Class Inheritance
Known Direct Subclasses
org.hibernate.cfg.annotations.ListBinder, org.hibernate.cfg.annotations.MapBinder, org.hibernate.cfg.annotations.SetBinder, org.hibernate.cfg.annotations.BagBinder
Annotations
@SuppressWarnings:unchecked, serial
Imports
java.util.ArrayList, .Comparator, .HashMap, .Iterator, .List, .Map, .StringTokenizer, javax.persistence.AttributeOverride, .AttributeOverrides, .ElementCollection, .Embeddable, .FetchType, .JoinColumn, .JoinColumns, .JoinTable, .ManyToMany, .MapKey, .MapKeyColumn, .OneToMany, org.slf4j.Logger, .LoggerFactory, org.hibernate.AnnotationException, .FetchMode, .MappingException, org.hibernate.annotations.BatchSize, .Cache, .CollectionId, .CollectionOfElements, .Fetch, .Filter, .FilterJoinTable, .FilterJoinTables, .Filters, .ForeignKey, .Immutable, .LazyCollection, .LazyCollectionOption, .Loader, .ManyToAny, .OptimisticLock, .OrderBy, .Persister, .SQLDelete, .SQLDeleteAll, .SQLInsert, .SQLUpdate, .Sort, .SortType, .Where, .WhereJoinTable, org.hibernate.annotations.common.AssertionFailure, org.hibernate.annotations.common.reflection.XClass, .XProperty, org.hibernate.cfg.AccessType, .AnnotatedClassType, .AnnotationBinder, .BinderHelper, .CollectionSecondPass, .Ejb3Column, .Ejb3JoinColumn, .IndexColumn, .InheritanceState, .Mappings, .PropertyData, .PropertyHolder, .PropertyHolderBuilder, .PropertyInferredData, .PropertyPreloadedData, .SecondPass, org.hibernate.engine.ExecuteUpdateResultCheckStyle, org.hibernate.mapping.Any, .Backref, .Collection, .Column, .Component, .DependantValue, .IdGenerator, .Join, .KeyValue, .ManyToOne, .PersistentClass, .Property, .Selectable, .SimpleValue, .SingleTableSubclass, .Table, org.hibernate.persister.PersisterClassProvider, org.hibernate.persister.collection.CollectionPersister, org.hibernate.util.StringHelper

Base class for binding different types of collections to Hibernate configuration objects.
Authors
inger, Emmanuel Bernard

Field Summary

Modifier and TypeField and Description
private AccessType
pack-priv int
pack-priv String
pack-priv String
protected boolean
private String
protected Collection
private XClass
private Class<T>
private XClass
private boolean
private Ejb3Column[]
private Ejb3JoinColumn[]
private boolean
private boolean
protected String
private boolean
protected IndexColumn
protected Map<XClass, InheritanceState>
private boolean
private Ejb3JoinColumn[]
private boolean
private boolean
private boolean
private Ejb3JoinColumn[]
protected HashMap<String, IdGenerator>
private Logger
private Ejb3Column[]
private Ejb3JoinColumn[]
protected String
private String
private Mappings
private boolean
private String
private XProperty
pack-priv PropertyHolder
protected String
private TableBinder
private XClass
private boolean

Constructor Summary

AccessConstructor and Description
protected
protected
CollectionBinder(boolean sorted)

Method Summary

Modifier and TypeMethod and Description
public void
bind()

private static void
bindCollectionSecondPass(Collection collValue, PersistentClass collectionEntity, Ejb3JoinColumn[] joinColumns, boolean cascadeDeleteEnabled, XProperty property, Mappings mappings)

private void
bindFilters(boolean hasAssociationTable)

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

protected void
bindManyToManySecondPass(Collection collValue, Map<K, V> 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 void
bindOneToManySecondPass(Collection collection, Map<K, V> persistentClasses, Ejb3JoinColumn[] fkJoinColumns, XClass collectionType, boolean cascadeDeleteEnabled, boolean ignoreNotFound, String hqlOrderBy, Mappings mappings, Map<XClass, InheritanceState> inheritanceStatePerClass)

protected boolean
bindStarToManySecondPass(Map<K, V> 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

private static SimpleValue
buildCollectionKey(Collection collValue, Ejb3JoinColumn[] joinColumns, boolean cascadeDeleteEnabled, XProperty property, Mappings mappings)

private static String
buildOrderByClauseFromHql(String hqlOrderBy, PersistentClass associatedClass, String role)

private static String
buildOrderByClauseFromHql(String hqlOrderBy, Component component, String role)

private static void
protected abstract Collection
private void
public Collection
public static CollectionBinder
getCollectionBinder(String entityName, XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping)

collection binder factory

private XClass
private String
private String
private String
protected Mappings
public SecondPass
getSecondPass(final Ejb3JoinColumn[] fkJoinColumns, final Ejb3JoinColumn[] keyColumns, final Ejb3JoinColumn[] inverseColumns, final Ejb3Column[] elementColumns, final Ejb3Column[] mapKeyColumns, final Ejb3JoinColumn[] mapKeyManyToManyColumns, final boolean isEmbedded, final XProperty property, final XClass collType, final boolean ignoreNotFound, final boolean unique, final TableBinder assocTableBinder, final Mappings mappings)

protected boolean
public boolean
private static boolean
private String
public void
public void
public void
setCache(Cache cacheAnn)

public void
setCascadeDeleteEnabled(boolean onDeleteCascade)

public void
setCascadeStrategy(String cascadeStrategy)

public void
setCollectionType(XClass collectionType)

public void
setDeclaringClass(XClass declaringClass)

public void
setEjb3OrderBy(OrderBy orderByAnn)

public void
setElementColumns(Ejb3Column[] elementColumns)

public void
setEmbedded(boolean annotationPresent)

public void
setExplicitAssociationTable(boolean explicitAssocTable)

public void
setFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns)

public void
setIgnoreNotFound(boolean ignoreNotFound)

public void
public void
public void
setInsertable(boolean insertable)

public void
setInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns)

public void
setIsHibernateExtensionMapping(boolean hibernateExtensionMapping)

public void
public void
public void
public void
setMapKeyColumns(Ejb3Column[] mapKeyColumns)

public void
public void
setMappedBy(String mappedBy)

public void
public void
setOneToMany(boolean oneToMany)

public void
public void
public void
setPropertyName(String propertyName)

public void
setSort(Sort sortAnn)

public void
setSqlOrderBy(OrderBy orderByAnn)

public void
public void
setTargetEntity(XClass targetEntity)

public void
setUpdatable(boolean updatable)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

accessTypeback to summary
private AccessType accessType
batchSizeback to summary
pack-priv int batchSize
cacheConcurrencyStrategyback to summary
pack-priv String cacheConcurrencyStrategy
cacheRegionNameback to summary
pack-priv String cacheRegionName
cascadeDeleteEnabledback to summary
protected boolean cascadeDeleteEnabled
cascadeStrategyback to summary
private String cascadeStrategy
collectionback to summary
protected Collection collection
collectionTypeback to summary
private XClass collectionType
comparatorback to summary
private Class<T> comparator
declaringClassback to summary
private XClass declaringClass
declaringClassSetback to summary
private boolean declaringClassSet
elementColumnsback to summary
private Ejb3Column[] elementColumns
fkJoinColumnsback to summary
private Ejb3JoinColumn[] fkJoinColumns
hasToBeSortedback to summary
private boolean hasToBeSorted
hibernateExtensionMappingback to summary
private boolean hibernateExtensionMapping
hqlOrderByback to summary
protected String hqlOrderBy
ignoreNotFoundback to summary
private boolean ignoreNotFound
indexColumnback to summary
protected IndexColumn indexColumn
inheritanceStatePerClassback to summary
protected Map<XClass, InheritanceState> inheritanceStatePerClass
insertableback to summary
private boolean insertable
inverseJoinColumnsback to summary
private Ejb3JoinColumn[] inverseJoinColumns
isEmbeddedback to summary
private boolean isEmbedded
isExplicitAssociationTableback to summary
private boolean isExplicitAssociationTable
isSortedback to summary
private boolean isSorted
joinColumnsback to summary
private Ejb3JoinColumn[] joinColumns
localGeneratorsback to summary
protected HashMap<String, IdGenerator> localGenerators
logback to summary
private Logger log
mapKeyColumnsback to summary
private Ejb3Column[] mapKeyColumns
mapKeyManyToManyColumnsback to summary
private Ejb3JoinColumn[] mapKeyManyToManyColumns
mapKeyPropertyNameback to summary
protected String mapKeyPropertyName
mappedByback to summary
private String mappedBy
mappingsback to summary
private Mappings mappings
oneToManyback to summary
private boolean oneToMany
orderByback to summary
private String orderBy
propertyback to summary
private XProperty property
propertyHolderback to summary
pack-priv PropertyHolder propertyHolder
propertyNameback to summary
protected String propertyName
tableBinderback to summary
private TableBinder tableBinder
targetEntityback to summary
private XClass targetEntity
updatableback to summary
private boolean updatable

Constructor Detail

CollectionBinderback to summary
protected CollectionBinder()
CollectionBinderback to summary
protected CollectionBinder(boolean sorted)

Method Detail

bindback to summary
public void bind()
bindCollectionSecondPassback to summary
private static void bindCollectionSecondPass(Collection collValue, PersistentClass collectionEntity, Ejb3JoinColumn[] joinColumns, boolean cascadeDeleteEnabled, XProperty property, Mappings mappings)
bindFiltersback to summary
private void bindFilters(boolean hasAssociationTable)
bindManytoManyInverseFkback to summary
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

bindManyToManySecondPassback to summary
protected void bindManyToManySecondPass(Collection collValue, Map<K, V> 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
bindOneToManySecondPassback to summary
protected void bindOneToManySecondPass(Collection collection, Map<K, V> persistentClasses, Ejb3JoinColumn[] fkJoinColumns, XClass collectionType, boolean cascadeDeleteEnabled, boolean ignoreNotFound, String hqlOrderBy, Mappings mappings, Map<XClass, InheritanceState> inheritanceStatePerClass)
bindStarToManySecondPassback to summary
protected boolean bindStarToManySecondPass(Map<K, V> 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

buildCollectionKeyback to summary
private static SimpleValue buildCollectionKey(Collection collValue, Ejb3JoinColumn[] joinColumns, boolean cascadeDeleteEnabled, XProperty property, Mappings mappings)
buildOrderByClauseFromHqlback to summary
private static String buildOrderByClauseFromHql(String hqlOrderBy, PersistentClass associatedClass, String role)
buildOrderByClauseFromHqlback to summary
private static String buildOrderByClauseFromHql(String hqlOrderBy, Component component, String role)
checkFilterConditionsback to summary
private static void checkFilterConditions(Collection collValue)
createCollectionback to summary
protected abstract Collection createCollection(PersistentClass persistentClass)
defineFetchingStrategyback to summary
private void defineFetchingStrategy()
getCollectionback to summary
public Collection getCollection()
getCollectionBinderback to summary
public static CollectionBinder getCollectionBinder(String entityName, XProperty property, boolean isIndexed, boolean isHibernateExtensionMapping)

collection binder factory

getCollectionTypeback to summary
private XClass getCollectionType()
getConditionback to summary
private String getCondition(FilterJoinTable filter)
getConditionback to summary
private String getCondition(Filter filter)
getConditionback to summary
private String getCondition(String cond, String name)
getMappingsback to summary
protected Mappings getMappings()
getSecondPassback to summary
public SecondPass getSecondPass(final Ejb3JoinColumn[] fkJoinColumns, final Ejb3JoinColumn[] keyColumns, final Ejb3JoinColumn[] inverseColumns, final Ejb3Column[] elementColumns, final Ejb3Column[] mapKeyColumns, final Ejb3JoinColumn[] mapKeyManyToManyColumns, final boolean isEmbedded, final XProperty property, final XClass collType, final boolean ignoreNotFound, final boolean unique, final TableBinder assocTableBinder, final Mappings mappings)
isHibernateExtensionMappingback to summary
protected boolean isHibernateExtensionMapping()
isMapback to summary
public boolean isMap()
isNonPropertyTokenback to summary
private static boolean isNonPropertyToken(String token)
safeCollectionRoleback to summary
private String safeCollectionRole()
setAccessTypeback to summary
public void setAccessType(AccessType accessType)
setBatchSizeback to summary
public void setBatchSize(BatchSize batchSize)
setCacheback to summary
public void setCache(Cache cacheAnn)
setCascadeDeleteEnabledback to summary
public void setCascadeDeleteEnabled(boolean onDeleteCascade)
setCascadeStrategyback to summary
public void setCascadeStrategy(String cascadeStrategy)
setCollectionTypeback to summary
public void setCollectionType(XClass collectionType)
setDeclaringClassback to summary
public void setDeclaringClass(XClass declaringClass)
setEjb3OrderByback to summary
public void setEjb3OrderBy(OrderBy orderByAnn)
setElementColumnsback to summary
public void setElementColumns(Ejb3Column[] elementColumns)
setEmbeddedback to summary
public void setEmbedded(boolean annotationPresent)
setExplicitAssociationTableback to summary
public void setExplicitAssociationTable(boolean explicitAssocTable)
setFkJoinColumnsback to summary
public void setFkJoinColumns(Ejb3JoinColumn[] ejb3JoinColumns)
setIgnoreNotFoundback to summary
public void setIgnoreNotFound(boolean ignoreNotFound)
setIndexColumnback to summary
public void setIndexColumn(IndexColumn indexColumn)
setInheritanceStatePerClassback to summary
public void setInheritanceStatePerClass(Map<XClass, InheritanceState> inheritanceStatePerClass)
setInsertableback to summary
public void setInsertable(boolean insertable)
setInverseJoinColumnsback to summary
public void setInverseJoinColumns(Ejb3JoinColumn[] inverseJoinColumns)
setIsHibernateExtensionMappingback to summary
public void setIsHibernateExtensionMapping(boolean hibernateExtensionMapping)
setJoinColumnsback to summary
public void setJoinColumns(Ejb3JoinColumn[] joinColumns)
setLocalGeneratorsback to summary
public void setLocalGenerators(HashMap<String, IdGenerator> localGenerators)
setMapKeyback to summary
public void setMapKey(MapKey key)
setMapKeyColumnsback to summary
public void setMapKeyColumns(Ejb3Column[] mapKeyColumns)
setMapKeyManyToManyColumnsback to summary
public void setMapKeyManyToManyColumns(Ejb3JoinColumn[] mapJoinColumns)
setMappedByback to summary
public void setMappedBy(String mappedBy)
setMappingsback to summary
public void setMappings(Mappings mappings)
setOneToManyback to summary
public void setOneToMany(boolean oneToMany)
setPropertyback to summary
public void setProperty(XProperty property)
setPropertyHolderback to summary
public void setPropertyHolder(PropertyHolder propertyHolder)
setPropertyNameback to summary
public void setPropertyName(String propertyName)
setSortback to summary
public void setSort(Sort sortAnn)
setSqlOrderByback to summary
public void setSqlOrderBy(OrderBy orderByAnn)
setTableBinderback to summary
public void setTableBinder(TableBinder tableBinder)
setTargetEntityback to summary
public void setTargetEntity(XClass targetEntity)
setUpdatableback to summary
public void setUpdatable(boolean updatable)