Package org.hibernate.metamodel.mapping
Interface Bindable
-
- All Superinterfaces:
JdbcMappingContainer
- All Known Subinterfaces:
AdjustableBasicType<J>,AggregatedIdentifierMapping,Association,AttributeMapping,BasicEntityIdentifierMapping,BasicPluralType<C,E>,BasicType<T>,BasicValuedMapping,BasicValuedModelPart,CollectionIdentifierDescriptor,CollectionPart,CompositeIdentifierMapping,ConvertedBasicType<J>,DatabaseSnapshotContributor,DeprecatedEntityStuff,DiscriminatedAssociationModelPart,DiscriminatorMapping,DiscriminatorType<O>,EmbeddableMappingType,EmbeddableValuedFetchable,EmbeddableValuedModelPart,EntityAssociationMapping,EntityCollectionPart,EntityDiscriminatorMapping,EntityIdentifierMapping,EntityMappingType,EntityPersister,EntityRowIdMapping,EntityValuedFetchable,EntityValuedModelPart,EntityVersionMapping,Fetchable,FetchableContainer,ForeignKeyDescriptor,InFlightEntityMappingType,Loadable,Loadable,Lockable,ManagedMappingType,MappingModelExpressible<T>,ModelPart,ModelPartContainer,NaturalIdMapping,NonAggregatedIdentifierMapping,NonAggregatedIdentifierMapping.IdentifierValueMapper,OuterJoinLoadable,OwnedValuedModelPart,PluralAttributeMapping,PostInsertIdentityPersister,Queryable,RootTableGroupProducer,SingleAttributeIdentifierMapping,SingularAttributeMapping,SQLLoadable,TableGroupJoinProducer,TableGroupProducer,UniqueKeyLoadable,ValuedModelPart,ValueMapping,VirtualModelPart
- All Known Implementing Classes:
AbstractAttributeMapping,AbstractCompositeIdentifierMapping,AbstractDiscriminatorMapping,AbstractEmbeddableMapping,AbstractEntityCollectionPart,AbstractEntityPersister,AbstractJdbcParameter,AbstractNaturalIdMapping,AbstractSingleColumnStandardBasicType,AbstractSingularAttributeMapping,AbstractStandardBasicType,AbstractStateArrayContributorMapping,AnonymousTupleBasicEntityIdentifierMapping,AnonymousTupleBasicValuedModelPart,AnonymousTupleEmbeddableValuedModelPart,AnonymousTupleEmbeddedEntityIdentifierMapping,AnonymousTupleEntityValuedModelPart,AnonymousTupleNonAggregatedEntityIdentifierMapping,AnonymousTupleTableGroupProducer,AnyDiscriminatorPart,AnyKeyPart,ArrayTupleType,BasicArrayType,BasicAttributeMapping,BasicCollectionType,BasicEntityIdentifierMappingImpl,BasicTypeImpl,BasicValuedCollectionPart,CaseStatementDiscriminatorMappingImpl,CollectionIdentifierDescriptorImpl,ColumnValueParameter,CompoundNaturalIdMapping,ConvertedBasicArrayType,ConvertedBasicCollectionType,ConvertedBasicTypeImpl,CteTupleTableGroupProducer,CustomMutabilityConvertedBasicTypeImpl,CustomType,DiscriminatedAssociationAttributeMapping,DiscriminatedCollectionPart,DiscriminatorType,DiscriminatorTypeImpl,EmbeddableMappingTypeImpl,EmbeddedAttributeMapping,EmbeddedCollectionPart,EmbeddedForeignKeyDescriptor,EmbeddedIdentifierMappingImpl,EntityRowIdMappingImpl,EntityTypeLiteral,EntityVersionMappingImpl,ExplicitColumnDiscriminatorMappingImpl,IdClassEmbeddable,ImmutableNamedBasicTypeImpl,InverseNonAggregatedIdentifierMapping,JavaObjectType,JdbcLiteral,JdbcParameterImpl,JoinedSubclassEntityPersister,ManyToManyCollectionPart,NamedBasicTypeImpl,NonAggregatedIdentifierMappingImpl,NullType,OneToManyCollectionPart,PluralAttributeMappingImpl,SerializableToBlobType,SerializableType,SimpleForeignKeyDescriptor,SimpleNaturalIdMapping,SingleTableEntityPersister,SqlTypedMappingJdbcParameter,StandardBasicTypeTemplate,ToOneAttributeMapping,TupleMappingModelExpressible,UnionSubclassEntityPersister,VersionTypeSeedParameterSpecification,VirtualEmbeddedAttributeMapping,VirtualIdEmbeddable
@Incubating public interface Bindable extends JdbcMappingContainer
Contract for things at the domain mapping level that can be bound into a JDBCPreparedStatement.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceBindable.JdbcValuesBiConsumer<X,Y>Functional interface for consuming the JDBC values, along with two values of typeXandY.static interfaceBindable.JdbcValuesConsumerFunctional interface for consuming the JDBC values.
-
Method Summary
-
Methods inherited from interface org.hibernate.metamodel.mapping.JdbcMappingContainer
forEachJdbcType, getJdbcMapping, getSingleJdbcMapping
-
-
-
-
Method Detail
-
getJdbcTypeCount
default int getJdbcTypeCount()
The number of JDBC mappings- Specified by:
getJdbcTypeCountin interfaceJdbcMappingContainer
-
getJdbcMappings
@Deprecated(forRemoval=true) default List<JdbcMapping> getJdbcMappings()
Deprecated, for removal: This API element is subject to removal in a future version.Prefer usingJdbcMappingContainer.getJdbcMapping(int)orforEachJdbcType(IndexedConsumer)and its variations.The list of JDBC mappings- Specified by:
getJdbcMappingsin interfaceJdbcMappingContainer
-
forEachJdbcType
default int forEachJdbcType(IndexedConsumer<JdbcMapping> action)
Visit each of JdbcMapping- Specified by:
forEachJdbcTypein interfaceJdbcMappingContainer- API Note:
- Same as
JdbcMappingContainer.forEachJdbcType(int, IndexedConsumer)starting from `0`
-
disassemble
Object disassemble(Object value, SharedSessionContractImplementor session)
-
addToCacheKey
void addToCacheKey(MutableCacheKeyBuilder cacheKey, Object value, SharedSessionContractImplementor session)
Add to the MutableCacheKey the values obtained disassembling the value and the hasCode generated from the disassembled value.- Parameters:
cacheKey- the MutableCacheKey used to add the disassembled value and the hashCodevalue- the value to disassemblesession- the SharedSessionContractImplementor
-
forEachDisassembledJdbcValue
default <X,Y> int forEachDisassembledJdbcValue(Object value, X x, Y y, Bindable.JdbcValuesBiConsumer<X,Y> valuesConsumer, SharedSessionContractImplementor session)
-
forEachDisassembledJdbcValue
<X,Y> int forEachDisassembledJdbcValue(Object value, int offset, X x, Y y, Bindable.JdbcValuesBiConsumer<X,Y> valuesConsumer, SharedSessionContractImplementor session)
LikeforEachDisassembledJdbcValue(Object, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), but additionally receives an offset by which the selectionIndex is incremented when callingBindable.JdbcValuesBiConsumer.consume(int, Object, Object, Object, JdbcMapping).
-
forEachDisassembledJdbcValue
default int forEachDisassembledJdbcValue(Object value, Bindable.JdbcValuesConsumer valuesConsumer, SharedSessionContractImplementor session)
A short hand form offorEachDisassembledJdbcValue(Object, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), that passes null for the two valuesXandY.
-
forEachDisassembledJdbcValue
default int forEachDisassembledJdbcValue(Object value, int offset, Bindable.JdbcValuesConsumer valuesConsumer, SharedSessionContractImplementor session)
A short hand form offorEachDisassembledJdbcValue(Object, int, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), that passes null for the two valuesXandY.
-
forEachJdbcValue
default <X,Y> int forEachJdbcValue(Object value, X x, Y y, Bindable.JdbcValuesBiConsumer<X,Y> valuesConsumer, SharedSessionContractImplementor session)
Visit each constituent JDBC value extracted from the entity instance itself. Short-hand form of callingdisassemble(java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor)and piping its result toforEachDisassembledJdbcValue(Object, JdbcValuesConsumer, SharedSessionContractImplementor)
-
forEachJdbcValue
default <X,Y> int forEachJdbcValue(Object value, int offset, X x, Y y, Bindable.JdbcValuesBiConsumer<X,Y> valuesConsumer, SharedSessionContractImplementor session)
Visit each constituent JDBC value extracted from the entity instance itself. Short-hand form of callingdisassemble(java.lang.Object, org.hibernate.engine.spi.SharedSessionContractImplementor)and piping its result toforEachDisassembledJdbcValue(Object, int, JdbcValuesConsumer, SharedSessionContractImplementor)
-
forEachJdbcValue
default int forEachJdbcValue(Object value, Bindable.JdbcValuesConsumer valuesConsumer, SharedSessionContractImplementor session)
A short hand form offorEachJdbcValue(Object, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), that passes null for the two valuesXandY.
-
forEachJdbcValue
default int forEachJdbcValue(Object value, int offset, Bindable.JdbcValuesConsumer valuesConsumer, SharedSessionContractImplementor session)
A short hand form offorEachJdbcValue(Object, int, Object, Object, JdbcValuesBiConsumer, SharedSessionContractImplementor), that passes null for the two valuesXandY.
-
-