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

pack-priv Class IndexBinder

extends Object
Class Inheritance
Imports
jakarta.persistence.UniqueConstraint, org.hibernate.AnnotationException, org.hibernate.boot.model.naming.Identifier, .ImplicitIndexNameSource, .ImplicitNamingStrategy, .ImplicitUniqueKeyNameSource, .PhysicalNamingStrategy, org.hibernate.boot.model.relational.Database, org.hibernate.boot.spi.MetadataBuildingContext, org.hibernate.dialect.Dialect, org.hibernate.mapping.Column, .Formula, .Index, .Selectable, .Table, .UniqueKey, java.util.ArrayList, .List, .Locale, .StringTokenizer

Responsible for interpreting jakarta.persistence.Index and UniqueConstraint annotations.
Author
Gavin King

Nested and Inner Type Summary

Modifier and TypeClass and Description
private class

Field Summary

Modifier and TypeField and Description
private final MetadataBuildingContext

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv void
bindIndexes(Table table, Index[] indexes)

pack-priv void
private Column
column(Table table, String columnName)

private Column[]
columns(Table table, String name, final String[] columnNames)

private Column
createColumn(String logicalName)

private void
createIndexOrUniqueKey(Table table, String originalKeyName, boolean nameExplicit, String[] columnNames, String[] orderings, boolean unique, Selectable[] columns)

private Database
private Dialect
private ImplicitNamingStrategy
private PhysicalNamingStrategy
private void
initializeColumns(String[] columns, String[] ordering, List<String> list)

private Selectable
selectable(Table table, String columnNameOrFormula)

private Selectable[]
selectables(Table table, String name, final String[] columnNames)

private List<Identifier>
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

contextback to summary
private final MetadataBuildingContext context

Constructor Detail

IndexBinderback to summary
pack-priv IndexBinder(MetadataBuildingContext context)

Method Detail

bindIndexesback to summary
pack-priv void bindIndexes(Table table, Index[] indexes)
bindUniqueConstraintsback to summary
pack-priv void bindUniqueConstraints(Table table, UniqueConstraint[] constraints)
columnback to summary
private Column column(Table table, String columnName)
columnsback to summary
private Column[] columns(Table table, String name, final String[] columnNames)
createColumnback to summary
private Column createColumn(String logicalName)
createIndexOrUniqueKeyback to summary
private void createIndexOrUniqueKey(Table table, String originalKeyName, boolean nameExplicit, String[] columnNames, String[] orderings, boolean unique, Selectable[] columns)
getDatabaseback to summary
private Database getDatabase()
getDialectback to summary
private Dialect getDialect()
getImplicitNamingStrategyback to summary
private ImplicitNamingStrategy getImplicitNamingStrategy()
getPhysicalNamingStrategyback to summary
private PhysicalNamingStrategy getPhysicalNamingStrategy()
initializeColumnsback to summary
private void initializeColumns(String[] columns, String[] ordering, List<String> list)
selectableback to summary
private Selectable selectable(Table table, String columnNameOrFormula)
selectablesback to summary
private Selectable[] selectables(Table table, String name, final String[] columnNames)
toIdentifiersback to summary
private List<Identifier> toIdentifiers(String[] names)
org.hibernate.boot.model.internal back to summary

private Class IndexBinder.IndexOrUniqueKeyNameSource

extends Object
implements ImplicitIndexNameSource, ImplicitUniqueKeyNameSource
Class Inheritance
  • java.lang.Object
  • org.hibernate.boot.model.internal.IndexBinder.IndexOrUniqueKeyNameSource
All Implemented Interfaces
org.hibernate.boot.model.naming.ImplicitUniqueKeyNameSource, org.hibernate.boot.model.naming.ImplicitConstraintNameSource, org.hibernate.boot.model.naming.ImplicitNameSource, org.hibernate.boot.model.naming.ImplicitIndexNameSource

Field Summary

Modifier and TypeField and Description
private final MetadataBuildingContext
private List<Identifier>
private final String[]
private final String
private final Table

Constructor Summary

AccessConstructor and Description
public
IndexOrUniqueKeyNameSource(MetadataBuildingContext buildingContext, Table table, String[] columnNames, String originalKeyName)

Method Summary

Modifier and TypeMethod and Description
public MetadataBuildingContext
public List<Identifier>
public Identifier
public Identifier
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

buildingContextback to summary
private final MetadataBuildingContext buildingContext
columnNameIdentifiersback to summary
private List<Identifier> columnNameIdentifiers
columnNamesback to summary
private final String[] columnNames
originalKeyNameback to summary
private final String originalKeyName
tableback to summary
private final Table table

Constructor Detail

IndexOrUniqueKeyNameSourceback to summary
public IndexOrUniqueKeyNameSource(MetadataBuildingContext buildingContext, Table table, String[] columnNames, String originalKeyName)

Method Detail

getBuildingContextback to summary
public MetadataBuildingContext getBuildingContext()

Implements org.hibernate.boot.model.naming.ImplicitNameSource.getBuildingContext.

Doc from org.hibernate.boot.model.naming.ImplicitNameSource.getBuildingContext.

Access to the current building context.

Returns:MetadataBuildingContext

The building context

Annotations
@Override
getColumnNamesback to summary
public List<Identifier> getColumnNames()

Implements org.hibernate.boot.model.naming.ImplicitConstraintNameSource.getColumnNames.

Annotations
@Override
getTableNameback to summary
public Identifier getTableName()

Implements org.hibernate.boot.model.naming.ImplicitConstraintNameSource.getTableName.

Annotations
@Override
getUserProvidedIdentifierback to summary
public Identifier getUserProvidedIdentifier()

Implements org.hibernate.boot.model.naming.ImplicitConstraintNameSource.getUserProvidedIdentifier.

Annotations
@Override