org.hibernate.cfg
Class Ejb3JoinColumn

java.lang.Object
  extended by org.hibernate.cfg.Ejb3Column
      extended by org.hibernate.cfg.Ejb3JoinColumn

public class Ejb3JoinColumn
extends Ejb3Column

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

Author:
Emmanuel Bernard

Field Summary
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
protected  void addColumnBinding(org.hibernate.mapping.SimpleValue value)
           
static Ejb3JoinColumn buildJoinColumn(javax.persistence.PrimaryKeyJoinColumn pkJoinAnn, javax.persistence.JoinColumn joinAnn, org.hibernate.mapping.Value identifier, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, ExtendedMappings mappings)
          Build JoinColumn for a JOINED hierarchy
static Ejb3JoinColumn[] buildJoinColumns(javax.persistence.JoinColumn[] anns, String mappedBy, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, String propertyName, ExtendedMappings mappings)
           
static Ejb3JoinColumn[] buildJoinTableJoinColumns(javax.persistence.JoinColumn[] annJoins, Map<String,org.hibernate.mapping.Join> secondaryTables, PropertyHolder propertyHolder, String propertyName, String mappedBy, ExtendedMappings mappings)
           
static void checkIfJoinColumn(Object columns, PropertyHolder holder, PropertyData property)
           
static int checkReferencedColumnsType(Ejb3JoinColumn[] columns, org.hibernate.mapping.PersistentClass referencedEntity, ExtendedMappings mappings)
           
 String getManyToManyOwnerSideEntityName()
           
 String getMappedBy()
           
 String getReferencedColumn()
           
 void linkValueUsingAColumnCopy(org.hibernate.mapping.Column column, org.hibernate.mapping.SimpleValue value)
          used for mappedBy cases
 void linkValueUsingDefaultColumnNaming(org.hibernate.mapping.Column referencedColumn, org.hibernate.mapping.PersistentClass referencedEntity, org.hibernate.mapping.SimpleValue value)
           
 void overrideFromReferencedColumnIfNecessary(org.hibernate.mapping.Column column)
          Called to apply column definitions from the referenced FK column to this column.
 void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)
           
 void setJoinAnnotation(javax.persistence.JoinColumn annJoin, String defaultName)
           
 void setManyToManyOwnerSideEntityName(String manyToManyOwnerSideEntityName)
           
 void setMappedBy(String mappedBy)
           
 void setMappedBy(String entityName, String logicalTableName, String mappedByProperty)
           
 void setPersistentClass(org.hibernate.mapping.PersistentClass persistentClass, Map<String,org.hibernate.mapping.Join> joins)
          Override persistent class on oneToMany Cases for late settings Must only be used on second level pass binding
 void setReferencedColumn(String referencedColumn)
           
 
Methods inherited from class org.hibernate.cfg.Ejb3Column
addIndex, bind, buildColumnFromAnnotation, checkPropertyConsistency, forceNotNull, getFormulaString, getJoin, getLength, getLogicalColumnName, getMappingColumn, getMappings, getName, getPrecision, getPropertyHolder, getPropertyName, getScale, getSecondaryTableName, getSqlType, getTable, initMappingColumn, isImplicit, isInsertable, isNameDeferred, isNullable, isSecondary, isUnique, isUpdatable, linkWithValue, setFormula, setImplicit, setInsertable, setJoins, setLength, setLogicalColumnName, setMappingColumn, setMappings, setNullable, setPrecision, setPropertyHolder, setPropertyName, setScale, setSecondaryTableName, setSqlType, setTable, setUnique, setUpdatable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

getManyToManyOwnerSideEntityName

public String getManyToManyOwnerSideEntityName()

setManyToManyOwnerSideEntityName

public void setManyToManyOwnerSideEntityName(String manyToManyOwnerSideEntityName)

setReferencedColumn

public void setReferencedColumn(String referencedColumn)

getMappedBy

public String getMappedBy()

setMappedBy

public void setMappedBy(String mappedBy)

getReferencedColumn

public String getReferencedColumn()

buildJoinColumns

public static Ejb3JoinColumn[] buildJoinColumns(javax.persistence.JoinColumn[] anns,
                                                String mappedBy,
                                                Map<String,org.hibernate.mapping.Join> joins,
                                                PropertyHolder propertyHolder,
                                                String propertyName,
                                                ExtendedMappings mappings)

setJoinAnnotation

public void setJoinAnnotation(javax.persistence.JoinColumn annJoin,
                              String defaultName)

buildJoinColumn

public static Ejb3JoinColumn buildJoinColumn(javax.persistence.PrimaryKeyJoinColumn pkJoinAnn,
                                             javax.persistence.JoinColumn joinAnn,
                                             org.hibernate.mapping.Value identifier,
                                             Map<String,org.hibernate.mapping.Join> joins,
                                             PropertyHolder propertyHolder,
                                             ExtendedMappings mappings)
Build JoinColumn for a JOINED hierarchy


setPersistentClass

public void setPersistentClass(org.hibernate.mapping.PersistentClass persistentClass,
                               Map<String,org.hibernate.mapping.Join> joins)
Override persistent class on oneToMany Cases for late settings Must only be used on second level pass binding


checkIfJoinColumn

public static void checkIfJoinColumn(Object columns,
                                     PropertyHolder holder,
                                     PropertyData property)

linkValueUsingDefaultColumnNaming

public void linkValueUsingDefaultColumnNaming(org.hibernate.mapping.Column referencedColumn,
                                              org.hibernate.mapping.PersistentClass referencedEntity,
                                              org.hibernate.mapping.SimpleValue value)

linkValueUsingAColumnCopy

public void linkValueUsingAColumnCopy(org.hibernate.mapping.Column column,
                                      org.hibernate.mapping.SimpleValue value)
used for mappedBy cases


addColumnBinding

protected void addColumnBinding(org.hibernate.mapping.SimpleValue value)
Overrides:
addColumnBinding in class Ejb3Column

checkReferencedColumnsType

public static int checkReferencedColumnsType(Ejb3JoinColumn[] columns,
                                             org.hibernate.mapping.PersistentClass referencedEntity,
                                             ExtendedMappings mappings)

overrideFromReferencedColumnIfNecessary

public void overrideFromReferencedColumnIfNecessary(org.hibernate.mapping.Column column)
Called to apply column definitions from the referenced FK column to this column.

Parameters:
column - the referenced column.

redefineColumnName

public void redefineColumnName(String columnName,
                               String propertyName,
                               boolean applyNamingStrategy)
Overrides:
redefineColumnName in class Ejb3Column

buildJoinTableJoinColumns

public static Ejb3JoinColumn[] buildJoinTableJoinColumns(javax.persistence.JoinColumn[] annJoins,
                                                         Map<String,org.hibernate.mapping.Join> secondaryTables,
                                                         PropertyHolder propertyHolder,
                                                         String propertyName,
                                                         String mappedBy,
                                                         ExtendedMappings mappings)

setMappedBy

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