Package org.hibernate.cfg
Class Ejb3JoinColumn
- java.lang.Object
-
- org.hibernate.cfg.Ejb3Column
-
- org.hibernate.cfg.Ejb3JoinColumn
-
public class Ejb3JoinColumn extends Ejb3Column
Wrap state of an EJB3 @JoinColumn annotation and build the Hibernate column mapping element
-
-
Field Summary
Fields Modifier and Type Field Description static int
NO_REFERENCE
static int
NON_PK_REFERENCE
static int
PK_REFERENCE
-
Fields inherited from class org.hibernate.cfg.Ejb3Column
DEFAULT_COLUMN_LENGTH, joins, propertyHolder, sqlType
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addColumnBinding(SimpleValue value)
void
addDefaultJoinColumnName(PersistentClass referencedEntity, java.lang.String logicalReferencedColumn)
static Ejb3JoinColumn
buildJoinColumn(PrimaryKeyJoinColumn pkJoinAnn, JoinColumn joinAnn, Value identifier, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, MetadataBuildingContext context)
Build JoinColumn for a JOINED hierarchystatic Ejb3JoinColumn[]
buildJoinColumns(JoinColumn[] anns, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, MetadataBuildingContext buildingContext)
static Ejb3JoinColumn[]
buildJoinColumnsOrFormulas(JoinColumnOrFormula[] anns, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, MetadataBuildingContext buildingContext)
static Ejb3JoinColumn[]
buildJoinColumnsWithDefaultColumnSuffix(JoinColumn[] anns, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, java.lang.String suffixForDefaultColumnName, MetadataBuildingContext buildingContext)
static Ejb3JoinColumn
buildJoinFormula(JoinFormula ann, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, MetadataBuildingContext buildingContext)
build join formulastatic Ejb3JoinColumn[]
buildJoinTableJoinColumns(JoinColumn[] annJoins, java.util.Map<java.lang.String,Join> secondaryTables, PropertyHolder propertyHolder, java.lang.String propertyName, java.lang.String mappedBy, MetadataBuildingContext buildingContext)
static void
checkIfJoinColumn(java.lang.Object columns, PropertyHolder holder, PropertyData property)
static int
checkReferencedColumnsType(Ejb3JoinColumn[] columns, PersistentClass referencedEntity, MetadataBuildingContext context)
void
copyReferencedStructureAndCreateDefaultJoinColumns(PersistentClass referencedEntity, java.util.Iterator columnIterator, SimpleValue value)
java.lang.String
getManyToManyOwnerSideEntityName()
java.lang.String
getMappedBy()
java.lang.String
getReferencedColumn()
void
linkValueUsingAColumnCopy(Column column, SimpleValue value)
used for mappedBy casesvoid
linkValueUsingDefaultColumnNaming(Column referencedColumn, PersistentClass referencedEntity, SimpleValue value)
void
overrideFromReferencedColumnIfNecessary(Column column)
Called to apply column definitions from the referenced FK column to this column.void
redefineColumnName(java.lang.String columnName, java.lang.String propertyName, boolean applyNamingStrategy)
void
setJoinAnnotation(JoinColumn annJoin, java.lang.String defaultName)
void
setJPA2ElementCollection(boolean JPA2ElementCollection)
void
setManyToManyOwnerSideEntityName(java.lang.String manyToManyOwnerSideEntityName)
void
setMappedBy(java.lang.String mappedBy)
void
setMappedBy(java.lang.String entityName, java.lang.String jpaEntityName, java.lang.String logicalTableName, java.lang.String mappedByProperty)
void
setPersistentClass(PersistentClass persistentClass, java.util.Map<java.lang.String,Join> joins, java.util.Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)
Override persistent class on oneToMany Cases for late settings Must only be used on second level pass bindingvoid
setReferencedColumn(java.lang.String referencedColumn)
java.lang.String
toString()
-
Methods inherited from class org.hibernate.cfg.Ejb3Column
addIndex, bind, buildColumnFromAnnotation, buildColumnFromAnnotation, checkPropertyConsistency, forceNotNull, getBuildingContext, getDefaultValue, getExplicitTableName, getFormulaString, getJoin, getLength, getLogicalColumnName, getMappingColumn, getName, getPrecision, getPropertyHolder, getPropertyName, getScale, getSqlType, getTable, initMappingColumn, isFormula, isImplicit, isInsertable, isNameDeferred, isNullable, isSecondary, isUnique, isUpdatable, linkWithValue, setBuildingContext, setDefaultValue, setExplicitTableName, setFormula, setImplicit, setInsertable, setJoins, setLength, setLogicalColumnName, setMappingColumn, setNullable, setPrecision, setPropertyHolder, setPropertyName, setScale, setSqlType, setTable, setUnique, setUpdatable
-
-
-
-
Field Detail
-
NO_REFERENCE
public static final int NO_REFERENCE
- See Also:
- Constant Field Values
-
PK_REFERENCE
public static final int PK_REFERENCE
- See Also:
- Constant Field Values
-
NON_PK_REFERENCE
public static final int NON_PK_REFERENCE
- See Also:
- Constant Field Values
-
-
Method Detail
-
setJPA2ElementCollection
public void setJPA2ElementCollection(boolean JPA2ElementCollection)
-
getManyToManyOwnerSideEntityName
public java.lang.String getManyToManyOwnerSideEntityName()
-
setManyToManyOwnerSideEntityName
public void setManyToManyOwnerSideEntityName(java.lang.String manyToManyOwnerSideEntityName)
-
setReferencedColumn
public void setReferencedColumn(java.lang.String referencedColumn)
-
getMappedBy
public java.lang.String getMappedBy()
-
setMappedBy
public void setMappedBy(java.lang.String mappedBy)
-
getReferencedColumn
public java.lang.String getReferencedColumn()
-
buildJoinColumnsOrFormulas
public static Ejb3JoinColumn[] buildJoinColumnsOrFormulas(JoinColumnOrFormula[] anns, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, MetadataBuildingContext buildingContext)
-
buildJoinFormula
public static Ejb3JoinColumn buildJoinFormula(JoinFormula ann, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, MetadataBuildingContext buildingContext)
build join formula
-
buildJoinColumns
public static Ejb3JoinColumn[] buildJoinColumns(JoinColumn[] anns, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, MetadataBuildingContext buildingContext)
-
buildJoinColumnsWithDefaultColumnSuffix
public static Ejb3JoinColumn[] buildJoinColumnsWithDefaultColumnSuffix(JoinColumn[] anns, java.lang.String mappedBy, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, java.lang.String propertyName, java.lang.String suffixForDefaultColumnName, MetadataBuildingContext buildingContext)
-
setJoinAnnotation
public void setJoinAnnotation(JoinColumn annJoin, java.lang.String defaultName)
-
buildJoinColumn
public static Ejb3JoinColumn buildJoinColumn(PrimaryKeyJoinColumn pkJoinAnn, JoinColumn joinAnn, Value identifier, java.util.Map<java.lang.String,Join> joins, PropertyHolder propertyHolder, MetadataBuildingContext context)
Build JoinColumn for a JOINED hierarchy
-
setPersistentClass
public void setPersistentClass(PersistentClass persistentClass, java.util.Map<java.lang.String,Join> joins, java.util.Map<org.hibernate.annotations.common.reflection.XClass,InheritanceState> inheritanceStatePerClass)
Override persistent class on oneToMany Cases for late settings Must only be used on second level pass binding
-
checkIfJoinColumn
public static void checkIfJoinColumn(java.lang.Object columns, PropertyHolder holder, PropertyData property)
-
copyReferencedStructureAndCreateDefaultJoinColumns
public void copyReferencedStructureAndCreateDefaultJoinColumns(PersistentClass referencedEntity, java.util.Iterator columnIterator, SimpleValue value)
-
linkValueUsingDefaultColumnNaming
public void linkValueUsingDefaultColumnNaming(Column referencedColumn, PersistentClass referencedEntity, SimpleValue value)
-
addDefaultJoinColumnName
public void addDefaultJoinColumnName(PersistentClass referencedEntity, java.lang.String logicalReferencedColumn)
-
linkValueUsingAColumnCopy
public void linkValueUsingAColumnCopy(Column column, SimpleValue value)
used for mappedBy cases
-
addColumnBinding
protected void addColumnBinding(SimpleValue value)
- Overrides:
addColumnBinding
in classEjb3Column
-
checkReferencedColumnsType
public static int checkReferencedColumnsType(Ejb3JoinColumn[] columns, PersistentClass referencedEntity, MetadataBuildingContext context)
-
overrideFromReferencedColumnIfNecessary
public void overrideFromReferencedColumnIfNecessary(Column column)
Called to apply column definitions from the referenced FK column to this column.- Parameters:
column
- the referenced column.
-
redefineColumnName
public void redefineColumnName(java.lang.String columnName, java.lang.String propertyName, boolean applyNamingStrategy)
- Overrides:
redefineColumnName
in classEjb3Column
-
buildJoinTableJoinColumns
public static Ejb3JoinColumn[] buildJoinTableJoinColumns(JoinColumn[] annJoins, java.util.Map<java.lang.String,Join> secondaryTables, PropertyHolder propertyHolder, java.lang.String propertyName, java.lang.String mappedBy, MetadataBuildingContext buildingContext)
-
setMappedBy
public void setMappedBy(java.lang.String entityName, java.lang.String jpaEntityName, java.lang.String logicalTableName, java.lang.String mappedByProperty)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classEjb3Column
-
-