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

public Class AnnotatedColumn

extends Object
Class Inheritance
Known Direct Subclasses
org.hibernate.boot.model.internal.AnnotatedDiscriminatorColumn, org.hibernate.boot.model.internal.AnnotatedJoinColumn, org.hibernate.boot.model.internal.IndexColumn
Imports
java.util.ArrayList, .List, .Map, org.hibernate.AnnotationException, org.hibernate.annotations.Array, .Check, .Checks, .ColumnDefault, .ColumnTransformer, .ColumnTransformers, .GeneratedColumn, .Index, org.hibernate.annotations.common.reflection.XProperty, org.hibernate.boot.model.naming.Identifier, .ImplicitBasicColumnNameSource, .ImplicitNamingStrategy, .ObjectNameNormalizer, org.hibernate.boot.model.relational.Database, org.hibernate.boot.model.source.spi.AttributePath, org.hibernate.boot.spi.InFlightMetadataCollector, .MetadataBuildingContext, .PropertyData, org.hibernate.internal.CoreMessageLogger, org.hibernate.internal.util.StringHelper, org.hibernate.mapping.AggregateColumn, .CheckConstraint, .Column, .Component, .Formula, .Join, .SimpleValue, .Table, org.jboss.logging.Logger

A mapping to a column, logically representing a jakarta.persistence.Column annotation, but not every instance corresponds to an explicit annotation in the Java code.

This class holds a representation that is intermediate between the annotation of the Java source code, and the mapping model object Column. It's used only by the AnnotationBinder while parsing annotations, and does not survive into later stages of the startup process.

Author
Emmanuel Bernard

Field Summary

Modifier and TypeField and Description
private Integer
private final List<CheckConstraint>
private String
private String
private Formula
private String
private String
private boolean
private boolean
private Long
private static final CoreMessageLogger
private String
private Column
private boolean
private AnnotatedColumns
private Integer
private String
private Integer
public String
private boolean
private boolean
private String

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
addCheckConstraint(String name, String constraint)

protected void
public void
addIndex(Index index, boolean inSecondPass)

Deprecated as a consequence of Index being deprecated.
pack-priv void
addIndex(String indexName, boolean inSecondPass)

pack-priv void
addUniqueKey(String uniqueKeyName, boolean inSecondPass)

private void
applyCheckConstraint(PropertyData inferredData, int length)

pack-priv void
applyColumnDefault(PropertyData inferredData, int length)

pack-priv void
applyGeneratedAs(PropertyData inferredData, int length)

public void
bind()

private static AnnotatedColumn
buildColumn(PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, AnnotatedColumns parent, int numberOfColumns, Database database, Column column, String sqlType, String tableName)

public static AnnotatedColumns
buildColumnFromAnnotation(Column column, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)

public static AnnotatedColumns
buildColumnFromNoAnnotation(Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)

public static AnnotatedColumns
buildColumnOrFormulaFromAnnotation(Column column, Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)

public static AnnotatedColumns
buildColumnsFromAnnotations(Column[] columns, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)

public static AnnotatedColumns
buildColumnsFromAnnotations(Column[] columns, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, MetadataBuildingContext context)

public static AnnotatedColumns
buildColumnsOrFormulaFromAnnotation(Column[] columns, Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, MetadataBuildingContext context)

private static AnnotatedColumns
buildExplicitColumns(PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, MetadataBuildingContext context, Column[] actualCols)

public static AnnotatedColumns
buildFormulaFromAnnotation(Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)

private static AnnotatedColumns
buildImplicitColumn(PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, PropertyHolder propertyHolder, Nullability nullability, MetadataBuildingContext context)

private void
public void
public Integer
pack-priv MetadataBuildingContext
private static String
getColumnName(Database database, Column column)

public String
public String
public String
public Long
public String
public Column
public String
public AnnotatedColumns
public Integer
public Integer
public String
private static String
private static String
getTableName(Column column, Database database)

private void
private String
inferColumnName(String propertyName)

protected void
initMappingColumn(String columnName, String propertyName, Long length, Integer precision, Integer scale, Integer arrayLength, boolean nullable, String sqlType, boolean unique, boolean applyNamingStrategy)

public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public void
public void
private static String
logicalColumnName(PropertyData inferredData, String suffixForDefaultColumnName, Database database, Column column)

private static Column[]
overrideColumns(Column[] columns, PropertyHolder propertyHolder, PropertyData inferredData)

private String
processColumnName(String columnName, boolean applyNamingStrategy)

private void
public void
redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)

public void
setArrayLength(Integer arrayLength)

public void
setDefaultValue(String defaultValue)

public void
setExplicitTableName(String explicitTableName)

public void
setFormula(String formula)

private void
public void
setImplicit(boolean implicit)

public void
setInsertable(boolean insertable)

public void
setLength(Long length)

public void
setLogicalColumnName(String logicalColumnName)

protected void
setMappingColumn(Column mappingColumn)

public void
setNullable(boolean nullable)

public void
public void
setPrecision(Integer precision)

public void
public void
setSqlType(String sqlType)

public void
setUnique(boolean unique)

public void
setUpdatable(boolean updatable)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

arrayLengthback to summary
private Integer arrayLength
checkConstraintsback to summary
private final List<CheckConstraint> checkConstraints
defaultValueback to summary
private String defaultValue
explicitTableNameback to summary
private String explicitTableName
formulaback to summary
private Formula formula
formulaStringback to summary
private String formulaString
generatedAsback to summary
private String generatedAs
insertableback to summary
private boolean insertable
isImplicitback to summary
private boolean isImplicit
lengthback to summary
private Long length
LOGback to summary
private static final CoreMessageLogger LOG
logicalColumnNameback to summary
private String logicalColumnName
mappingColumnback to summary
private Column mappingColumn
nullableback to summary
private boolean nullable
parentback to summary
private AnnotatedColumns parent
precisionback to summary
private Integer precision
readExpressionback to summary
private String readExpression
scaleback to summary
private Integer scale
sqlTypeback to summary
public String sqlType
uniqueback to summary
private boolean unique
updatableback to summary
private boolean updatable
writeExpressionback to summary
private String writeExpression

Constructor Detail

AnnotatedColumnback to summary
public AnnotatedColumn()

Method Detail

addCheckConstraintback to summary
public void addCheckConstraint(String name, String constraint)
addColumnBindingback to summary
protected void addColumnBinding(SimpleValue value)
addIndexback to summary
public void addIndex(Index index, boolean inSecondPass)

Deprecated

as a consequence of Index being deprecated. See corresponding docs for further information.

addIndexback to summary
pack-priv void addIndex(String indexName, boolean inSecondPass)
addUniqueKeyback to summary
pack-priv void addUniqueKey(String uniqueKeyName, boolean inSecondPass)
applyCheckConstraintback to summary
private void applyCheckConstraint(PropertyData inferredData, int length)
applyColumnDefaultback to summary
pack-priv void applyColumnDefault(PropertyData inferredData, int length)
applyGeneratedAsback to summary
pack-priv void applyGeneratedAs(PropertyData inferredData, int length)
bindback to summary
public void bind()
buildColumnback to summary
private static AnnotatedColumn buildColumn(PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, AnnotatedColumns parent, int numberOfColumns, Database database, Column column, String sqlType, String tableName)
buildColumnFromAnnotationback to summary
public static AnnotatedColumns buildColumnFromAnnotation(Column column, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildColumnFromNoAnnotationback to summary
public static AnnotatedColumns buildColumnFromNoAnnotation(Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildColumnOrFormulaFromAnnotationback to summary
public static AnnotatedColumns buildColumnOrFormulaFromAnnotation(Column column, Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildColumnsFromAnnotationsback to summary
public static AnnotatedColumns buildColumnsFromAnnotations(Column[] columns, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildColumnsFromAnnotationsback to summary
public static AnnotatedColumns buildColumnsFromAnnotations(Column[] columns, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildColumnsOrFormulaFromAnnotationback to summary
public static AnnotatedColumns buildColumnsOrFormulaFromAnnotation(Column[] columns, Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildExplicitColumnsback to summary
private static AnnotatedColumns buildExplicitColumns(PropertyHolder propertyHolder, PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, MetadataBuildingContext context, Column[] actualCols)
buildFormulaFromAnnotationback to summary
public static AnnotatedColumns buildFormulaFromAnnotation(Formula formulaAnn, Nullability nullability, PropertyHolder propertyHolder, PropertyData inferredData, Map<String, Join> secondaryTables, MetadataBuildingContext context)
buildImplicitColumnback to summary
private static AnnotatedColumns buildImplicitColumn(PropertyData inferredData, String suffixForDefaultColumnName, Map<String, Join> secondaryTables, PropertyHolder propertyHolder, Nullability nullability, MetadataBuildingContext context)
extractDataFromPropertyDataback to summary
private void extractDataFromPropertyData(PropertyHolder propertyHolder, PropertyData inferredData)
forceNotNullback to summary
public void forceNotNull()
getArrayLengthback to summary
public Integer getArrayLength()
getBuildingContextback to summary
pack-priv MetadataBuildingContext getBuildingContext()
getColumnNameback to summary
private static String getColumnName(Database database, Column column)
getDefaultValueback to summary
public String getDefaultValue()
getExplicitTableNameback to summary
public String getExplicitTableName()
getGeneratedAsback to summary
public String getGeneratedAs()
getLengthback to summary
public Long getLength()
getLogicalColumnNameback to summary
public String getLogicalColumnName()
getMappingColumnback to summary
public Column getMappingColumn()
getNameback to summary
public String getName()
getParentback to summary
public AnnotatedColumns getParent()
getPrecisionback to summary
public Integer getPrecision()
getScaleback to summary
public Integer getScale()
getSqlTypeback to summary
public String getSqlType()
getSqlTypeback to summary
private static String getSqlType(MetadataBuildingContext context, Column column)
getTableNameback to summary
private static String getTableName(Column column, Database database)
handleArrayLengthback to summary
private void handleArrayLength(PropertyData inferredData)
inferColumnNameback to summary
private String inferColumnName(String propertyName)
initMappingColumnback to summary
protected void initMappingColumn(String columnName, String propertyName, Long length, Integer precision, Integer scale, Integer arrayLength, boolean nullable, String sqlType, boolean unique, boolean applyNamingStrategy)
isFormulaback to summary
public boolean isFormula()
isImplicitback to summary
public boolean isImplicit()
isInsertableback to summary
public boolean isInsertable()
isNameDeferredback to summary
public boolean isNameDeferred()
isNullableback to summary
public boolean isNullable()
isUniqueback to summary
public boolean isUnique()
isUpdatableback to summary
public boolean isUpdatable()
linkWithAggregateValueback to summary
public void linkWithAggregateValue(SimpleValue value, Component component)
linkWithValueback to summary
public void linkWithValue(SimpleValue value)
logicalColumnNameback to summary
private static String logicalColumnName(PropertyData inferredData, String suffixForDefaultColumnName, Database database, Column column)
overrideColumnsback to summary
private static Column[] overrideColumns(Column[] columns, PropertyHolder propertyHolder, PropertyData inferredData)
processColumnNameback to summary
private String processColumnName(String columnName, boolean applyNamingStrategy)
processColumnTransformerExpressionsback to summary
private void processColumnTransformerExpressions(ColumnTransformer annotation)
redefineColumnNameback to summary
public void redefineColumnName(String columnName, String propertyName, boolean applyNamingStrategy)
setArrayLengthback to summary
public void setArrayLength(Integer arrayLength)
setDefaultValueback to summary
public void setDefaultValue(String defaultValue)
setExplicitTableNameback to summary
public void setExplicitTableName(String explicitTableName)
setFormulaback to summary
public void setFormula(String formula)
setGeneratedAsback to summary
private void setGeneratedAs(String as)
setImplicitback to summary
public void setImplicit(boolean implicit)
setInsertableback to summary
public void setInsertable(boolean insertable)
setLengthback to summary
public void setLength(Long length)
setLogicalColumnNameback to summary
public void setLogicalColumnName(String logicalColumnName)
setMappingColumnback to summary
protected void setMappingColumn(Column mappingColumn)
setNullableback to summary
public void setNullable(boolean nullable)
setParentback to summary
public void setParent(AnnotatedColumns parent)
setPrecisionback to summary
public void setPrecision(Integer precision)
setScaleback to summary
public void setScale(Integer scale)
setSqlTypeback to summary
public void setSqlType(String sqlType)
setUniqueback to summary
public void setUnique(boolean unique)
setUpdatableback to summary
public void setUpdatable(boolean updatable)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object.

Annotations
@Override