Interface Value

All Superinterfaces:
Serializable
All Known Subinterfaces:
KeyValue
All Known Implementing Classes:
Any, Any.KeyValue, Any.MetaValue, Array, Bag, BasicValue, Collection, Component, DependantBasicValue, DependantValue, IdentifierBag, IdentifierCollection, IndexedCollection, List, ManyToOne, Map, OneToMany, OneToOne, PrimitiveArray, Set, SimpleValue, ToOne

public interface Value extends Serializable
A mapping model object which represents something that's persisted "by value", instead of "by reference", that is, anything with no primary key.

A Value is essentially a Hibernate Type, together with zero or more columns. In the mapping model, a Value always comes wrapped in something with higher-level semantics, for example, a property, a collection, or a class.

  • Method Details

    • getColumnSpan

      int getColumnSpan()
      The number of columns and formulas in the mapping.
    • getSelectables

      List<Selectable> getSelectables()
      The mapping to columns and formulas.
    • getColumns

      List<Column> getColumns()
      If the mapping involves only columns, return them.
      Throws:
      AssertionFailure - if the mapping involves formulas
    • getVirtualSelectables

      default List<Selectable> getVirtualSelectables()
      Same as getSelectables() except it returns the PK for the non-owning side of a one-to-one association.
    • getConstraintColumns

      default List<Column> getConstraintColumns()
      Same as getColumns() except it returns the PK for the non-owning side of a one-to-one association.
      Throws:
      AssertionFailure - if the mapping involves formulas
    • getType

      Type getType() throws MappingException
      Throws:
      MappingException
    • getSelectableType

      @Incubating default JdbcMapping getSelectableType(MappingContext mappingContext, int index) throws MappingException
      Throws:
      MappingException
    • getFetchMode

      FetchMode getFetchMode()
    • getTable

      Table getTable()
    • hasFormula

      boolean hasFormula()
    • isAlternateUniqueKey

      boolean isAlternateUniqueKey()
    • isNullable

      boolean isNullable()
    • createForeignKey

      void createForeignKey()
    • createUniqueKey

      void createUniqueKey(MetadataBuildingContext context)
    • isSimpleValue

      boolean isSimpleValue()
    • isValid

      boolean isValid(MappingContext mappingContext) throws MappingException
      Throws:
      MappingException
    • setTypeUsingReflection

      void setTypeUsingReflection(String className, String propertyName) throws MappingException
      Throws:
      MappingException
    • accept

      Object accept(ValueVisitor visitor)
    • isSame

      boolean isSame(Value other)
    • getColumnInsertability

      boolean[] getColumnInsertability()
    • hasAnyInsertableColumns

      boolean hasAnyInsertableColumns()
    • getColumnUpdateability

      boolean[] getColumnUpdateability()
    • hasAnyUpdatableColumns

      boolean hasAnyUpdatableColumns()
    • getBuildingContext

      @Incubating default MetadataBuildingContext getBuildingContext()
    • getServiceRegistry

      ServiceRegistry getServiceRegistry()
    • copy

      Value copy()
    • isColumnInsertable

      boolean isColumnInsertable(int index)
    • isColumnUpdateable

      boolean isColumnUpdateable(int index)
    • getExtraCreateTableInfo

      @Incubating default String getExtraCreateTableInfo()
    • checkColumnDuplication

      @Internal default void checkColumnDuplication(Set<String> distinctColumns, String owner)
      Checks if this value contains any duplicate column. A column is considered duplicate when its name is already contained in the distinctColumn set.

      If a duplicate column is found, a MappingException is thrown.

      Parameters:
      distinctColumns - set containing the names of the columns to check
      owner - the owner of this value, used just for error reporting