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
 
Constructor Summary
Ejb3JoinColumn()
           
Ejb3JoinColumn(String sqlType, String name, boolean nullable, boolean unique, boolean insertable, boolean updatable, String referencedColumn, String secondaryTable, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, String propertyName, String mappedBy, boolean isImplicit, ExtendedMappings mappings)
           
 
Method Summary
protected  void addColumnBinding(org.hibernate.mapping.SimpleValue value)
           
static Ejb3JoinColumn buildImplicitJoinColumn(String mappedBy, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, String propertyName, ExtendedMappings mappings)
           
static Ejb3JoinColumn buildJoinColumn(javax.persistence.JoinColumn ann, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, String propertyName, ExtendedMappings mappings)
           
static Ejb3JoinColumn buildJoinColumn(javax.persistence.JoinColumn ann, org.hibernate.mapping.Value identifier, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, ExtendedMappings mappings)
          Build an Ejb3JoinColumn from a potential annotation and the identifier it refers to
static Ejb3JoinColumn buildJoinColumn(javax.persistence.PrimaryKeyJoinColumn ann, org.hibernate.mapping.Value identifier, Map<String,org.hibernate.mapping.Join> joins, PropertyHolder propertyHolder, ExtendedMappings mappings)
           
static void checkIfJoinColumn(Object columns, PropertyHolder holder, PropertyInferredData 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.Table referencedTable, org.hibernate.mapping.SimpleValue value)
           
 void overrideSqlTypeIfNecessary(org.hibernate.mapping.Column column)
           
 void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)
           
 void setDefaultColumnName()
           
 void setJoinAnnotation(javax.persistence.JoinColumn annJoin, String defaultName)
           
 void setManyToManyOwnerSideEntityName(String manyToManyOwnerSideEntityName)
           
 void setMappedBy(String mappedBy)
           
 void setMappedByPropertyName(String mappedByPropertyName)
           
 void setMappedByTableName(String mappedByTableName)
           
 void setPersistentClass(org.hibernate.mapping.PersistentClass persistentClass, Map<String,org.hibernate.mapping.Join> joins)
          Override persistent class on oneToMany Cases for late settings
 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
Constructor Detail

Ejb3JoinColumn

public Ejb3JoinColumn()

Ejb3JoinColumn

public Ejb3JoinColumn(String sqlType,
                      String name,
                      boolean nullable,
                      boolean unique,
                      boolean insertable,
                      boolean updatable,
                      String referencedColumn,
                      String secondaryTable,
                      Map<String,org.hibernate.mapping.Join> joins,
                      PropertyHolder propertyHolder,
                      String propertyName,
                      String mappedBy,
                      boolean isImplicit,
                      ExtendedMappings mappings)
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()

buildJoinColumn

public static Ejb3JoinColumn buildJoinColumn(javax.persistence.JoinColumn ann,
                                             Map<String,org.hibernate.mapping.Join> joins,
                                             PropertyHolder propertyHolder,
                                             String propertyName,
                                             ExtendedMappings mappings)

setJoinAnnotation

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

buildImplicitJoinColumn

public static Ejb3JoinColumn buildImplicitJoinColumn(String mappedBy,
                                                     Map<String,org.hibernate.mapping.Join> joins,
                                                     PropertyHolder propertyHolder,
                                                     String propertyName,
                                                     ExtendedMappings mappings)

buildJoinColumn

public static Ejb3JoinColumn buildJoinColumn(javax.persistence.JoinColumn ann,
                                             org.hibernate.mapping.Value identifier,
                                             Map<String,org.hibernate.mapping.Join> joins,
                                             PropertyHolder propertyHolder,
                                             ExtendedMappings mappings)
Build an Ejb3JoinColumn from a potential annotation and the identifier it refers to

Parameters:
ann - JoinColumn annotation
identifier - value explaining the identifier
propertyHolder -
mappings - mappings
Returns:
Ejb3JoinColumn

buildJoinColumn

public static Ejb3JoinColumn buildJoinColumn(javax.persistence.PrimaryKeyJoinColumn ann,
                                             org.hibernate.mapping.Value identifier,
                                             Map<String,org.hibernate.mapping.Join> joins,
                                             PropertyHolder propertyHolder,
                                             ExtendedMappings mappings)

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


checkIfJoinColumn

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

linkValueUsingDefaultColumnNaming

public void linkValueUsingDefaultColumnNaming(org.hibernate.mapping.Column referencedColumn,
                                              org.hibernate.mapping.Table referencedTable,
                                              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)

overrideSqlTypeIfNecessary

public void overrideSqlTypeIfNecessary(org.hibernate.mapping.Column column)

redefineColumnName

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

setDefaultColumnName

public void setDefaultColumnName()

setMappedByPropertyName

public void setMappedByPropertyName(String mappedByPropertyName)

setMappedByTableName

public void setMappedByTableName(String mappedByTableName)