Class AnnotatedJoinColumn
java.lang.Object
org.hibernate.boot.model.internal.AnnotatedColumn
org.hibernate.boot.model.internal.AnnotatedJoinColumn
An element of a join condition, logically representing a
JoinColumn annotation, but not
every instance corresponds to an explicit annotation in the
Java code.
There's no exact analog of this class in the mapping model,
so some information is lost when it's transformed into a
Column.
-
Field Summary
Fields inherited from class org.hibernate.boot.model.internal.AnnotatedColumn
sqlType -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddColumnBinding(SimpleValue value) voidapplyJoinAnnotation(JoinColumn joinColumn, String defaultName) static AnnotatedJoinColumnbuildInheritanceJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn, JoinColumn joinColumn, Value identifier, AnnotatedJoinColumns parent, MetadataBuildingContext context) Called forInheritanceType.JOINEDentities.static AnnotatedJoinColumnbuildJoinFormula(JoinFormula joinFormula, AnnotatedJoinColumns parent) voidcopyReferencedStructureAndCreateDefaultJoinColumns(PersistentClass referencedEntity, SimpleValue referencedValue, SimpleValue value) ThereferencedColumnName.booleanvoidlinkValueUsingAColumnCopy(Column column, SimpleValue value) Used formappedBycases.voidlinkValueUsingDefaultColumnNaming(int columnIndex, Column referencedColumn, PersistentClass referencedEntity, SimpleValue value) voidlinkValueUsingDefaultColumnNaming(Column referencedColumn, PersistentClass referencedEntity, SimpleValue value) The JPA-specified rules implemented inImplicitNamingStrategyJpaCompliantImpl.determineJoinColumnName(org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource)prevent us from assigning defaulted names toJoinColumnuntil the second pass.voidCalled to apply column definitions from the referenced FK column to this column.voidsetParent(AnnotatedColumns parent) voidsetParent(AnnotatedJoinColumns parent) voidsetReferencedColumn(String referencedColumn) toString()Methods inherited from class org.hibernate.boot.model.internal.AnnotatedColumn
addCheckConstraint, addCheckConstraint, bind, buildColumnFromAnnotation, buildColumnFromNoAnnotation, buildColumnOrFormulaFromAnnotation, buildColumnsFromAnnotations, buildColumnsFromAnnotations, buildColumnsOrFormulaFromAnnotation, buildFormulaFromAnnotation, forceNotNull, getArrayLength, getDefaultValue, getExplicitTableName, getGeneratedAs, getLength, getLogicalColumnName, getMappingColumn, getName, getPrecision, getScale, getSqlType, inferColumnName, initMappingColumn, isFormula, isImplicit, isInsertable, isNameDeferred, isNullable, isUnique, isUpdatable, linkWithAggregateValue, linkWithValue, processColumnName, setArrayLength, setDefaultValue, setExplicitTableName, setFormula, setImplicit, setInsertable, setLength, setLogicalColumnName, setMappingColumn, setNullable, setPrecision, setScale, setSqlType, setTemporalPrecision, setUnique, setUpdatable
-
Method Details
-
setReferencedColumn
-
getReferencedColumn
ThereferencedColumnName. -
isReferenceImplicit
public boolean isReferenceImplicit()- Returns:
- true if the
@JoinColumnannotation did not specify thereferencedColumnName.
-
buildJoinFormula
public static AnnotatedJoinColumn buildJoinFormula(JoinFormula joinFormula, AnnotatedJoinColumns parent) -
applyJoinAnnotation
-
buildInheritanceJoinColumn
public static AnnotatedJoinColumn buildInheritanceJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn, JoinColumn joinColumn, Value identifier, AnnotatedJoinColumns parent, MetadataBuildingContext context) Called forInheritanceType.JOINEDentities. -
copyReferencedStructureAndCreateDefaultJoinColumns
public void copyReferencedStructureAndCreateDefaultJoinColumns(PersistentClass referencedEntity, SimpleValue referencedValue, SimpleValue value) -
linkValueUsingDefaultColumnNaming
public void linkValueUsingDefaultColumnNaming(Column referencedColumn, PersistentClass referencedEntity, SimpleValue value) The JPA-specified rules implemented inImplicitNamingStrategyJpaCompliantImpl.determineJoinColumnName(org.hibernate.boot.model.naming.ImplicitJoinColumnNameSource)prevent us from assigning defaulted names toJoinColumnuntil the second pass. -
linkValueUsingDefaultColumnNaming
public void linkValueUsingDefaultColumnNaming(int columnIndex, Column referencedColumn, PersistentClass referencedEntity, SimpleValue value) -
linkValueUsingAColumnCopy
Used formappedBycases. -
addColumnBinding
- Overrides:
addColumnBindingin classAnnotatedColumn
-
overrideFromReferencedColumnIfNecessary
Called to apply column definitions from the referenced FK column to this column.- Parameters:
column- the referenced column.
-
toString
- Overrides:
toStringin classAnnotatedColumn
-
getParent
- Overrides:
getParentin classAnnotatedColumn
-
setParent
- Overrides:
setParentin classAnnotatedColumn
-
setParent
-