Package org.hibernate.type
Interface CompositeType
- All Superinterfaces:
Serializable
,Type
- All Known Subinterfaces:
CompositeTypeImplementor
- All Known Implementing Classes:
AnyType
,ComponentType
,EmbeddedComponentType
,ProcessorSessionFactory.Component
,UserComponentType
Represents a composite type, a type which itself has typed attributes.
For example, a type representing an embeddable class
is a composite type, as is a type backed by a CompositeUserType
.
-
Method Summary
Modifier and TypeMethodDescriptiongetCascadeStyle
(int index) Retrieve the cascade style of the indicated component property.getFetchMode
(int index) Retrieve the fetch mode of the indicated component property.int
getPropertyIndex
(String propertyName) Convenience method for locating the property index for a given property name.String[]
Get the names of the component propertiesboolean[]
Retrieve the indicators regarding which component properties are nullable.getPropertyValue
(Object component, int index, SharedSessionContractImplementor session) Extract a particular component property value indicated by index.Object[]
getPropertyValues
(Object component) Extract the values of the component properties from the given component instance without access to the session.Object[]
getPropertyValues
(Object component, SharedSessionContractImplementor session) Extract the values of the component properties from the given component instanceType[]
Get the types of the component propertiesboolean
Convenience method to quickly checkgetPropertyNullability()
for any non-nullable sub-properties.default boolean
Convenience method to quickly check ifgetPropertyNullability()
contains a nullable sub-properties.boolean
Is this component embedded? "embedded" indicates that the component is "virtual", that its properties are "flattened" onto its ownerboolean
isMethodOf
(Method method) Is the given method a member of this component's class?default Object
replacePropertyValues
(Object component, Object[] values, SharedSessionContractImplementor session) Inject property values onto the given component instance, or return a new instance with the given property values.void
setPropertyValues
(Object component, Object[] values) Inject property values onto the given component instanceMethods inherited from interface org.hibernate.type.Type
assemble, beforeAssemble, compare, compare, deepCopy, disassemble, disassemble, getColumnSpan, getColumnSpan, getHashCode, getHashCode, getName, getReturnedClass, getReturnedClassName, getSqlTypeCodes, getSqlTypeCodes, getTypeForEqualsHashCode, isAnyType, isAssociationType, isCollectionType, isComponentType, isDirty, isDirty, isEntityType, isEqual, isEqual, isModified, isMutable, isSame, nullSafeSet, nullSafeSet, replace, replace, toColumnNullness, toColumnNullness, toLoggableString
-
Method Details
-
getSubtypes
Type[] getSubtypes()Get the types of the component properties- Returns:
- The component property types.
-
getPropertyNames
String[] getPropertyNames()Get the names of the component properties- Returns:
- The component property names
-
getPropertyNullability
boolean[] getPropertyNullability()Retrieve the indicators regarding which component properties are nullable.An optional operation
- Returns:
- nullability of component properties
-
getPropertyValues
Extract the values of the component properties from the given component instance without access to the session.An optional operation
- Parameters:
component
- The component instance- Returns:
- The property values
- Throws:
HibernateException
- Indicates a problem access the property values.
-
setPropertyValues
Inject property values onto the given component instanceAn optional operation
- Parameters:
component
- The component instancevalues
- The values to inject- Throws:
HibernateException
- Indicates an issue performing the injection
-
getCascadeStyle
Retrieve the cascade style of the indicated component property.- Parameters:
index
- The property index,- Returns:
- The cascade style.
-
getFetchMode
Retrieve the fetch mode of the indicated component property.- Parameters:
index
- The property index,- Returns:
- The fetch mode
-
isMethodOf
Is the given method a member of this component's class?- Parameters:
method
- The method to check- Returns:
- True if the method is a member; false otherwise.
-
isEmbedded
boolean isEmbedded()Is this component embedded? "embedded" indicates that the component is "virtual", that its properties are "flattened" onto its owner- Returns:
- True if this component is embedded; false otherwise.
-
hasNotNullProperty
boolean hasNotNullProperty()Convenience method to quickly checkgetPropertyNullability()
for any non-nullable sub-properties.- Returns:
true
if any of the properties are not-nullable as indicated bygetPropertyNullability()
,false
otherwise.
-
hasNullProperty
default boolean hasNullProperty()Convenience method to quickly check ifgetPropertyNullability()
contains a nullable sub-properties.- Returns:
true
if any of the properties are nullable as indicated bygetPropertyNullability()
,false
otherwise.
-
getPropertyIndex
Convenience method for locating the property index for a given property name.- Parameters:
propertyName
- The (sub-)property name to find.- Returns:
- The (sub-)property index, relative to all the array-valued method returns defined on this contract.
-