Top Description Fields Constructors Methods
org.hibernate.boot.model.internal

public Class AnnotatedJoinColumn

extends AnnotatedColumn
Class Inheritance
Imports
org.hibernate.AnnotationException, .AssertionFailure, org.hibernate.annotations.JoinFormula, org.hibernate.boot.model.naming.Identifier, .ObjectNameNormalizer, org.hibernate.boot.model.relational.Database, org.hibernate.boot.spi.InFlightMetadataCollector, .MetadataBuildingContext, .PropertyData, org.hibernate.mapping.Column, .PersistentClass, .SimpleValue, .Value, jakarta.persistence.JoinColumn, .PrimaryKeyJoinColumn

An element of a join condition, logically representing a jakarta.persistence.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.

Author
Emmanuel Bernard

Field Summary

Modifier and TypeField and Description
private String
Inherited from org.hibernate.boot.model.internal.AnnotatedColumn:
sqlType

Constructor Summary

AccessConstructor and Description
private

Method Summary

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

public void
applyJoinAnnotation(JoinColumn joinColumn, String defaultName)

private static AnnotatedJoinColumn
buildExplicitInheritanceJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn, JoinColumn joinColumn, AnnotatedJoinColumns parent, MetadataBuildingContext context, String defaultColumnName)

pack-priv static AnnotatedJoinColumn
private static AnnotatedJoinColumn
pack-priv static AnnotatedJoinColumn
public static AnnotatedJoinColumn
pack-priv static AnnotatedJoinColumn
buildJoinColumn(JoinColumn joinColumn, String mappedBy, AnnotatedJoinColumns parent, PropertyHolder propertyHolder, PropertyData inferredData)

pack-priv static AnnotatedJoinColumn
buildJoinColumn(JoinColumn joinColumn, String mappedBy, AnnotatedJoinColumns parent, PropertyHolder propertyHolder, PropertyData inferredData, String defaultColumnSuffix)

public static AnnotatedJoinColumn
public static void
public void
private String
defaultColumnName(int columnIndex, PersistentClass referencedEntity, String logicalReferencedColumn)

private static AnnotatedJoinColumn
explicitJoinColumn(JoinColumn joinColumn, AnnotatedJoinColumns parent, PropertyData inferredData, String defaultColumnSuffix)

public AnnotatedJoinColumns
public String
private static AnnotatedJoinColumn
implicitJoinColumn(AnnotatedJoinColumns parent, PropertyData inferredData, String defaultColumnSuffix)

public boolean

Returns:

true if the @JoinColumn annotation did not specify the referencedColumnName.
isReferenceImplicit
()

public void
linkValueUsingAColumnCopy(Column column, SimpleValue value)

used for mappedBy cases

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

public void
linkValueUsingDefaultColumnNaming(int columnIndex, 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.boot.model.internal.AnnotatedColumn.redefineColumnName.

public void
public void
public void
setReferencedColumn(String referencedColumn)

public String
toString()

Overrides org.hibernate.boot.model.internal.AnnotatedColumn.toString.

Returns a string representation of the object.
Inherited from org.hibernate.boot.model.internal.AnnotatedColumn:
addCheckConstraintaddIndexaddIndexaddUniqueKeyapplyColumnDefaultapplyGeneratedAsbindbuildColumnFromAnnotationbuildColumnFromNoAnnotationbuildColumnOrFormulaFromAnnotationbuildColumnsFromAnnotationsbuildColumnsFromAnnotationsbuildColumnsOrFormulaFromAnnotationbuildFormulaFromAnnotationforceNotNullgetArrayLengthgetBuildingContextgetDefaultValuegetExplicitTableNamegetGeneratedAsgetLengthgetLogicalColumnNamegetMappingColumngetNamegetPrecisiongetScalegetSqlTypeinitMappingColumnisFormulaisImplicitisInsertableisNameDeferredisNullableisUniqueisUpdatablelinkWithAggregateValuelinkWithValuesetArrayLengthsetDefaultValuesetExplicitTableNamesetFormulasetImplicitsetInsertablesetLengthsetLogicalColumnNamesetMappingColumnsetNullablesetPrecisionsetScalesetSqlTypesetUniquesetUpdatable

Field Detail

referencedColumnback to summary
private String referencedColumn

Constructor Detail

AnnotatedJoinColumnback to summary
private AnnotatedJoinColumn()

Method Detail

addColumnBindingback to summary
protected void addColumnBinding(SimpleValue value)

Overrides org.hibernate.boot.model.internal.AnnotatedColumn.addColumnBinding.

Annotations
@Override
addDefaultJoinColumnNameback to summary
public void addDefaultJoinColumnName(PersistentClass referencedEntity, String logicalReferencedColumn)
applyJoinAnnotationback to summary
public void applyJoinAnnotation(JoinColumn joinColumn, String defaultName)
buildExplicitInheritanceJoinColumnback to summary
private static AnnotatedJoinColumn buildExplicitInheritanceJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn, JoinColumn joinColumn, AnnotatedJoinColumns parent, MetadataBuildingContext context, String defaultColumnName)
buildExplicitJoinTableJoinColumnback to summary
pack-priv static AnnotatedJoinColumn buildExplicitJoinTableJoinColumn(AnnotatedJoinColumns parent, PropertyHolder propertyHolder, PropertyData inferredData, JoinColumn joinColumn)
buildImplicitInheritanceJoinColumnback to summary
private static AnnotatedJoinColumn buildImplicitInheritanceJoinColumn(AnnotatedJoinColumns parent, MetadataBuildingContext context, String defaultColumnName)
buildImplicitJoinTableJoinColumnback to summary
pack-priv static AnnotatedJoinColumn buildImplicitJoinTableJoinColumn(AnnotatedJoinColumns parent, PropertyHolder propertyHolder, PropertyData inferredData)
buildInheritanceJoinColumnback to summary
public static AnnotatedJoinColumn buildInheritanceJoinColumn(PrimaryKeyJoinColumn primaryKeyJoinColumn, JoinColumn joinColumn, Value identifier, AnnotatedJoinColumns parent, MetadataBuildingContext context)

Called for jakarta.persistence.InheritanceType#JOINED entities.

buildJoinColumnback to summary
pack-priv static AnnotatedJoinColumn buildJoinColumn(JoinColumn joinColumn, String mappedBy, AnnotatedJoinColumns parent, PropertyHolder propertyHolder, PropertyData inferredData)
buildJoinColumnback to summary
pack-priv static AnnotatedJoinColumn buildJoinColumn(JoinColumn joinColumn, String mappedBy, AnnotatedJoinColumns parent, PropertyHolder propertyHolder, PropertyData inferredData, String defaultColumnSuffix)
buildJoinFormulaback to summary
public static AnnotatedJoinColumn buildJoinFormula(JoinFormula joinFormula, AnnotatedJoinColumns parent)
checkIfJoinColumnback to summary
public static void checkIfJoinColumn(Object columns, PropertyHolder holder, PropertyData property)
copyReferencedStructureAndCreateDefaultJoinColumnsback to summary
public void copyReferencedStructureAndCreateDefaultJoinColumns(PersistentClass referencedEntity, SimpleValue referencedValue, SimpleValue value)
defaultColumnNameback to summary
private String defaultColumnName(int columnIndex, PersistentClass referencedEntity, String logicalReferencedColumn)
explicitJoinColumnback to summary
private static AnnotatedJoinColumn explicitJoinColumn(JoinColumn joinColumn, AnnotatedJoinColumns parent, PropertyData inferredData, String defaultColumnSuffix)
getParentback to summary
public AnnotatedJoinColumns getParent()

Overrides org.hibernate.boot.model.internal.AnnotatedColumn.getParent.

Annotations
@Override
getReferencedColumnback to summary
public String getReferencedColumn()

The referencedColumnName.

implicitJoinColumnback to summary
private static AnnotatedJoinColumn implicitJoinColumn(AnnotatedJoinColumns parent, PropertyData inferredData, String defaultColumnSuffix)
isReferenceImplicitback to summary
public boolean isReferenceImplicit()
Returns:boolean

true if the @JoinColumn annotation did not specify the referencedColumnName.

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)
linkValueUsingDefaultColumnNamingback to summary
public void linkValueUsingDefaultColumnNaming(int columnIndex, 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.boot.model.internal.AnnotatedColumn.redefineColumnName.

Annotations
@Override
setParentback to summary
public void setParent(AnnotatedColumns parent)

Overrides org.hibernate.boot.model.internal.AnnotatedColumn.setParent.

Annotations
@Override
setParentback to summary
public void setParent(AnnotatedJoinColumns parent)
setReferencedColumnback to summary
public void setReferencedColumn(String referencedColumn)
toStringback to summary
public String toString()

Overrides org.hibernate.boot.model.internal.AnnotatedColumn.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override