Interface DomainType<J>

All Known Subinterfaces:
AdjustableBasicType<J>, AnyMappingDomainType<J>, BasicDomainType<J>, BasicPluralType<C,E>, BasicType<T>, ConvertedBasicType<J>, DiscriminatorType<O>, EmbeddableDomainType<J>, EntityDomainType<J>, IdentifiableDomainType<J>, ManagedDomainType<J>, MappedSuperclassDomainType<J>, ReturnableType<T>, SimpleDomainType<J>, SqmDomainType<T>, SqmEmbeddableDomainType<E>, SqmEntityDomainType<E>, SqmManagedDomainType<J>, SqmMappedSuperclassDomainType<T>, SqmTreatableDomainType<T>, TreatableDomainType<J>, TupleType<J>
All Known Implementing Classes:
AbstractDiscriminatorSqmPathSource, AbstractDomainType, AbstractIdentifiableType, AbstractManagedType, AbstractSingleColumnStandardBasicType, AbstractStandardBasicType, AnonymousTupleType, AnyDiscriminatorSqmPathSource, AnyMappingDomainTypeImpl, ArrayTupleType, BasicArrayType, BasicCollectionType, BasicSqmPathSource, BasicTypeImpl, BasicTypeImpl, BottomType, ConvertedBasicArrayType, ConvertedBasicCollectionType, ConvertedBasicTypeImpl, CustomMutabilityConvertedBasicTypeImpl, CustomMutabilityConvertedPrimitiveBasicTypeImpl, CustomType, DiscriminatorType, DiscriminatorTypeImpl, EmbeddableTypeImpl, EmbeddedDiscriminatorSqmPathSource, EntityDiscriminatorSqmPathSource, EntityTypeImpl, ImmutableNamedBasicTypeImpl, JavaObjectType, MappedSuperclassTypeImpl, NamedBasicTypeImpl, NullType, PrimitiveBasicTypeImpl, QueryParameterJavaObjectType, SerializableType, SqmCteTable, SqmPolymorphicRootDescriptor, StandardBasicTypeTemplate

public interface DomainType<J>
Describes any type forming part of the application domain model.

This is the base type for Hibernate's extension of the standard metamodel of the JPA type system.

Encapsulates a JavaType describing the more rudimentary aspects of the Java type. The DomainType is a higher-level construct incorporating information such as bean properties, constructors, etc.

Implementation Note:
The actual JPA type system is more akin to SimpleDomainType. This contract represents a "higher level" abstraction, allowing descriptors for collections (which JPA does not define) as well as Hibernate-specific features (like dynamic models and @Any).