Class EmbeddableTypeLiteral
java.lang.Object
org.hibernate.sql.ast.tree.expression.EmbeddableTypeLiteral
- All Implemented Interfaces:
BasicValuedMapping
,Bindable
,JdbcMappingContainer
,MappingModelExpressible
,SqlExpressible
,ValueMapping
,DomainResultProducer<Object>
,SqlSelectionProducer
,Expression
,SqlAstNode
,JavaTypedExpressible
public class EmbeddableTypeLiteral
extends Object
implements Expression, DomainResultProducer<Object>, BasicValuedMapping
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.hibernate.metamodel.mapping.Bindable
Bindable.JdbcValuesBiConsumer<X,
Y>, Bindable.JdbcValuesConsumer -
Constructor Summary
ConstructorDescriptionEmbeddableTypeLiteral
(EmbeddableDomainType<?> embeddableDomainType, BasicType<?> basicType) -
Method Summary
Modifier and TypeMethodDescriptionvoid
accept
(SqlAstWalker sqlTreeWalker) 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.void
applySqlSelections
(DomainResultCreationState creationState) Used when this producer is a selection in a sub-query.createDomainResult
(String resultVariable, DomainResultCreationState creationState) Produce the domain querydisassemble
(Object value, SharedSessionContractImplementor session) Breaks down a value ofJ
into its simple pieces.<X,
Y> int forEachDisassembledJdbcValue
(Object value, int offset, X x, Y y, Bindable.JdbcValuesBiConsumer<X, Y> valuesConsumer, SharedSessionContractImplementor session) LikeBindable.forEachDisassembledJdbcValue(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)
.int
forEachJdbcType
(int offset, IndexedConsumer<JdbcMapping> action) Visit each JdbcMapping starting from the given offset<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.The type for this expressionAnything that is expressible at the SQL AST level would be of basic type.getJdbcMapping
(int index) int
The number of JDBC mappingsDescriptor for the type of this mappingMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.hibernate.metamodel.mapping.Bindable
forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachDisassembledJdbcValue, forEachJdbcType, forEachJdbcValue, forEachJdbcValue, forEachJdbcValue
Methods inherited from interface org.hibernate.sql.ast.tree.expression.Expression
createDomainResultSqlSelection, createSqlSelection, getColumnReference
Methods inherited from interface org.hibernate.metamodel.mapping.ValueMapping
treatAs
-
Constructor Details
-
EmbeddableTypeLiteral
-
-
Method Details
-
getEmbeddableClass
-
getExpressionType
Description copied from interface:Expression
The type for this expression- Specified by:
getExpressionType
in interfaceExpression
-
getJdbcMapping
Description copied from interface:SqlExpressible
Anything that is expressible at the SQL AST level would be of basic type.- Specified by:
getJdbcMapping
in interfaceBasicValuedMapping
- Specified by:
getJdbcMapping
in interfaceSqlExpressible
-
getMappedType
Description copied from interface:ValueMapping
Descriptor for the type of this mapping- Specified by:
getMappedType
in interfaceValueMapping
-
getJdbcTypeCount
public int getJdbcTypeCount()Description copied from interface:Bindable
The number of JDBC mappings- Specified by:
getJdbcTypeCount
in interfaceBasicValuedMapping
- Specified by:
getJdbcTypeCount
in interfaceBindable
- Specified by:
getJdbcTypeCount
in interfaceJdbcMappingContainer
-
getJdbcMapping
- Specified by:
getJdbcMapping
in interfaceBasicValuedMapping
- Specified by:
getJdbcMapping
in interfaceJdbcMappingContainer
- Specified by:
getJdbcMapping
in interfaceSqlExpressible
-
getSingleJdbcMapping
- Specified by:
getSingleJdbcMapping
in interfaceBasicValuedMapping
- Specified by:
getSingleJdbcMapping
in interfaceJdbcMappingContainer
-
forEachJdbcType
Description copied from interface:JdbcMappingContainer
Visit each JdbcMapping starting from the given offset- Specified by:
forEachJdbcType
in interfaceJdbcMappingContainer
-
applySqlSelections
Description copied from interface:DomainResultProducer
Used when this producer is a selection in a sub-query. The DomainResult is only needed for root query of a SELECT statement. This default impl assumes this producer is a true (Sql)Expression- Specified by:
applySqlSelections
in interfaceDomainResultProducer<Object>
-
createDomainResult
public DomainResult<Object> createDomainResult(String resultVariable, DomainResultCreationState creationState) Description copied from interface:DomainResultProducer
Produce the domain query- Specified by:
createDomainResult
in interfaceDomainResultProducer<Object>
-
accept
- Specified by:
accept
in interfaceSqlAstNode
-
getExpressibleJavaType
- Specified by:
getExpressibleJavaType
in interfaceJavaTypedExpressible
- Specified by:
getExpressibleJavaType
in interfaceValueMapping
-