Top Description Fields Constructors Methods
org.hibernate.cfg

public Class Ejb3JoinColumn

extends Ejb3Column
Class Inheritance
Annotations
@SuppressWarnings:unchecked
Imports
java.util.HashSet, .Iterator, .Map, .Set, javax.persistence.JoinColumn, .PrimaryKeyJoinColumn, org.hibernate.AnnotationException, .AssertionFailure, .MappingException, org.hibernate.util.StringHelper, org.hibernate.annotations.JoinColumnOrFormula, .JoinColumnsOrFormulas, .JoinFormula, org.hibernate.annotations.common.reflection.XClass, org.hibernate.mapping.Column, .Join, .PersistentClass, .SimpleValue, .Table, .Value

Wrap state of an EJB3 @JoinColumn annotation and build the Hibernate column mapping element
Author
Emmanuel Bernard

Field Summary

Modifier and TypeField and Description
private boolean
private String
private String
private String
private String
private String
public static final int
public static final int
public static final int
private String
referencedColumn

property name repated to this column

Inherited from org.hibernate.cfg.Ejb3Column:
DEFAULT_COLUMN_LENGTHjoinspropertyHoldersqlType

Constructor Summary

AccessConstructor and Description
private
private
Ejb3JoinColumn(String sqlType, String name, boolean nullable, boolean unique, boolean insertable, boolean updatable, String referencedColumn, String secondaryTable, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, String mappedBy, boolean isImplicit, Mappings mappings)

Method Summary

Modifier and TypeMethod and Description
protected void
public void
addDefaultJoinColumnName(PersistentClass referencedEntity, String logicalReferencedColumn)

private String
buildDefaultColumnName(PersistentClass referencedEntity, String logicalReferencedColumn)

private static Ejb3JoinColumn
buildJoinColumn(JoinColumn ann, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, String suffixForDefaultColumnName, Mappings mappings)

build join column for SecondaryTables

public static Ejb3JoinColumn
buildJoinColumn(PrimaryKeyJoinColumn pkJoinAnn, JoinColumn joinAnn, Value identifier, Map<String, Join> joins, PropertyHolder propertyHolder, Mappings mappings)

Build JoinColumn for a JOINED hierarchy

public static Ejb3JoinColumn[]
buildJoinColumns(JoinColumn[] anns, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, Mappings mappings)

public static Ejb3JoinColumn[]
buildJoinColumnsOrFormulas(JoinColumnsOrFormulas anns, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, Mappings mappings)

public static Ejb3JoinColumn[]
buildJoinColumnsWithDefaultColumnSuffix(JoinColumn[] anns, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, String suffixForDefaultColumnName, Mappings mappings)

public static Ejb3JoinColumn
buildJoinFormula(JoinFormula ann, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, Mappings mappings)

build join formula

public static Ejb3JoinColumn[]
buildJoinTableJoinColumns(JoinColumn[] annJoins, Map<String, Join> secondaryTables, PropertyHolder propertyHolder, String propertyName, String mappedBy, Mappings mappings)

public static void
public static int
checkReferencedColumnsType(Ejb3JoinColumn[] columns, PersistentClass referencedEntity, Mappings mappings)

public void
public String
public String
public String
public void
linkValueUsingAColumnCopy(Column column, SimpleValue value)

used for mappedBy cases

public void
linkValueUsingDefaultColumnNaming(Column referencedColumn, PersistentClass referencedEntity, SimpleValue value)

public void
overrideFromReferencedColumnIfNecessary(Column
the referenced column.
column
)

Called to apply column definitions from the referenced FK column to this column.

public void
redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)

Overrides org.hibernate.cfg.Ejb3Column.redefineColumnName.

public void
setJoinAnnotation(JoinColumn annJoin, String defaultName)

public void
setJPA2ElementCollection(boolean JPA2ElementCollection)

public void
setManyToManyOwnerSideEntityName(String manyToManyOwnerSideEntityName)

public void
setMappedBy(String mappedBy)

public void
setMappedBy(String entityName, String logicalTableName, String mappedByProperty)

public void
setPersistentClass(PersistentClass persistentClass, Map<String, Join> joins, Map<XClass, InheritanceState> inheritanceStatePerClass)

Override persistent class on oneToMany Cases for late settings Must only be used on second level pass binding

public void
setReferencedColumn(String referencedColumn)

public String
toString()

Overrides org.hibernate.cfg.Ejb3Column.toString.

Returns a string representation of the object.
Inherited from org.hibernate.cfg.Ejb3Column:
addIndexaddIndexaddUniqueKeybindbuildColumnFromAnnotationbuildColumnFromAnnotationcheckPropertyConsistencyforceNotNullgetFormulaStringgetJoingetLengthgetLogicalColumnNamegetMappingColumngetMappingsgetNamegetPrecisiongetPropertyHoldergetPropertyNamegetScalegetSecondaryTableNamegetSqlTypegetTableinitMappingColumnisFormulaisImplicitisInsertableisNameDeferredisNullableisSecondaryisUniqueisUpdatablelinkWithValuesetFormulasetImplicitsetInsertablesetJoinssetLengthsetLogicalColumnNamesetMappingColumnsetMappingssetNullablesetPrecisionsetPropertyHoldersetPropertyNamesetScalesetSecondaryTableNamesetSqlTypesetTablesetUniquesetUpdatable

Field Detail

JPA2ElementCollectionback to summary
private boolean JPA2ElementCollection
manyToManyOwnerSideEntityNameback to summary
private String manyToManyOwnerSideEntityName
mappedByback to summary
private String mappedBy
mappedByEntityNameback to summary
private String mappedByEntityName
mappedByPropertyNameback to summary
private String mappedByPropertyName
mappedByTableNameback to summary
private String mappedByTableName
NO_REFERENCEback to summary
public static final int NO_REFERENCE
NON_PK_REFERENCEback to summary
public static final int NON_PK_REFERENCE
PK_REFERENCEback to summary
public static final int PK_REFERENCE
referencedColumnback to summary
private String referencedColumn

property name repated to this column

Constructor Detail

Ejb3JoinColumnback to summary
private Ejb3JoinColumn()
Ejb3JoinColumnback to summary
private Ejb3JoinColumn(String sqlType, String name, boolean nullable, boolean unique, boolean insertable, boolean updatable, String referencedColumn, String secondaryTable, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, String mappedBy, boolean isImplicit, Mappings mappings)

Method Detail

addColumnBindingback to summary
protected void addColumnBinding(SimpleValue value)

Overrides org.hibernate.cfg.Ejb3Column.addColumnBinding.

addDefaultJoinColumnNameback to summary
public void addDefaultJoinColumnName(PersistentClass referencedEntity, String logicalReferencedColumn)
buildDefaultColumnNameback to summary
private String buildDefaultColumnName(PersistentClass referencedEntity, String logicalReferencedColumn)
buildJoinColumnback to summary
private static Ejb3JoinColumn buildJoinColumn(JoinColumn ann, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, String suffixForDefaultColumnName, Mappings mappings)

build join column for SecondaryTables

buildJoinColumnback to summary
public static Ejb3JoinColumn buildJoinColumn(PrimaryKeyJoinColumn pkJoinAnn, JoinColumn joinAnn, Value identifier, Map<String, Join> joins, PropertyHolder propertyHolder, Mappings mappings)

Build JoinColumn for a JOINED hierarchy

buildJoinColumnsback to summary
public static Ejb3JoinColumn[] buildJoinColumns(JoinColumn[] anns, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, Mappings mappings)
buildJoinColumnsOrFormulasback to summary
public static Ejb3JoinColumn[] buildJoinColumnsOrFormulas(JoinColumnsOrFormulas anns, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, Mappings mappings)
buildJoinColumnsWithDefaultColumnSuffixback to summary
public static Ejb3JoinColumn[] buildJoinColumnsWithDefaultColumnSuffix(JoinColumn[] anns, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, String suffixForDefaultColumnName, Mappings mappings)
buildJoinFormulaback to summary
public static Ejb3JoinColumn buildJoinFormula(JoinFormula ann, String mappedBy, Map<String, Join> joins, PropertyHolder propertyHolder, String propertyName, Mappings mappings)

build join formula

buildJoinTableJoinColumnsback to summary
public static Ejb3JoinColumn[] buildJoinTableJoinColumns(JoinColumn[] annJoins, Map<String, Join> secondaryTables, PropertyHolder propertyHolder, String propertyName, String mappedBy, Mappings mappings)
checkIfJoinColumnback to summary
public static void checkIfJoinColumn(Object columns, PropertyHolder holder, PropertyData property)
checkReferencedColumnsTypeback to summary
public static int checkReferencedColumnsType(Ejb3JoinColumn[] columns, PersistentClass referencedEntity, Mappings mappings)
copyReferencedStructureAndCreateDefaultJoinColumnsback to summary
public void copyReferencedStructureAndCreateDefaultJoinColumns(PersistentClass referencedEntity, Iterator<E> columnIterator, SimpleValue value)
getManyToManyOwnerSideEntityNameback to summary
public String getManyToManyOwnerSideEntityName()
getMappedByback to summary
public String getMappedBy()
getReferencedColumnback to summary
public String getReferencedColumn()
linkValueUsingAColumnCopyback to summary
public void linkValueUsingAColumnCopy(Column column, SimpleValue value)

used for mappedBy cases

linkValueUsingDefaultColumnNamingback to summary
public void linkValueUsingDefaultColumnNaming(Column referencedColumn, PersistentClass referencedEntity, SimpleValue value)
overrideFromReferencedColumnIfNecessaryback to summary
public void overrideFromReferencedColumnIfNecessary(Column column)

Called to apply column definitions from the referenced FK column to this column.

Parameters
column:Column

the referenced column.

redefineColumnNameback to summary
public void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)

Overrides org.hibernate.cfg.Ejb3Column.redefineColumnName.

Annotations
@Override
setJoinAnnotationback to summary
public void setJoinAnnotation(JoinColumn annJoin, String defaultName)
setJPA2ElementCollectionback to summary
public void setJPA2ElementCollection(boolean JPA2ElementCollection)
setManyToManyOwnerSideEntityNameback to summary
public void setManyToManyOwnerSideEntityName(String manyToManyOwnerSideEntityName)
setMappedByback to summary
public void setMappedBy(String mappedBy)
setMappedByback to summary
public void setMappedBy(String entityName, String logicalTableName, String mappedByProperty)
setPersistentClassback to summary
public void setPersistentClass(PersistentClass persistentClass, Map<String, Join> joins, Map<XClass, InheritanceState> inheritanceStatePerClass)

Override persistent class on oneToMany Cases for late settings Must only be used on second level pass binding

setReferencedColumnback to summary
public void setReferencedColumn(String referencedColumn)
toStringback to summary
public String toString()

Overrides org.hibernate.cfg.Ejb3Column.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override