Interface IdentifiableType<X>

Type Parameters:
X - The represented entity or mapped superclass type.
All Superinterfaces:
ManagedType<X>, Type<X>
All Known Subinterfaces:
EntityType<X>, MappedSuperclassType<X>

public interface IdentifiableType<X> extends ManagedType<X>
An instance of the type IdentifiableType represents an entity or mapped superclass type.
Since:
2.0
  • Method Details

    • getId

      <Y> SingularAttribute<? super X,Y> getId(Class<Y> type)
      Return the attribute that corresponds to the id attribute of the entity or mapped superclass.
      Parameters:
      type - the type of the represented id attribute
      Returns:
      id attribute
      Throws:
      IllegalArgumentException - if id attribute of the given type is not present in the identifiable type or if the identifiable type has an id class
    • getDeclaredId

      <Y> SingularAttribute<X,Y> getDeclaredId(Class<Y> type)
      Return the attribute that corresponds to the id attribute declared by the entity or mapped superclass.
      Parameters:
      type - the type of the represented declared id attribute
      Returns:
      declared id attribute
      Throws:
      IllegalArgumentException - if id attribute of the given type is not declared in the identifiable type or if the identifiable type has an id class
    • getVersion

      <Y> SingularAttribute<? super X,Y> getVersion(Class<Y> type)
      Return the attribute that corresponds to the version attribute of the entity or mapped superclass.
      Parameters:
      type - the type of the represented version attribute
      Returns:
      version attribute
      Throws:
      IllegalArgumentException - if version attribute of the given type is not present in the identifiable type
    • getDeclaredVersion

      <Y> SingularAttribute<X,Y> getDeclaredVersion(Class<Y> type)
      Return the attribute that corresponds to the version attribute declared by the entity or mapped superclass.
      Parameters:
      type - the type of the represented declared version attribute
      Returns:
      declared version attribute
      Throws:
      IllegalArgumentException - if version attribute of the type is not declared in the identifiable type
    • getSupertype

      IdentifiableType<? super X> getSupertype()
      Return the identifiable type that corresponds to the most specific mapped superclass or entity extended by the entity or mapped superclass.
      Returns:
      supertype of identifiable type or null if no such supertype
    • hasSingleIdAttribute

      boolean hasSingleIdAttribute()
      Whether the identifiable type has a single id attribute. Returns true for a simple id or embedded id; returns false for an idclass.
      Returns:
      boolean indicating whether the identifiable type has a single id attribute
    • hasVersionAttribute

      boolean hasVersionAttribute()
      Whether the identifiable type has a version attribute.
      Returns:
      boolean indicating whether the identifiable type has a version attribute
    • getIdClassAttributes

      Set<SingularAttribute<? super X,?>> getIdClassAttributes()
      Return the attributes corresponding to the id class of the identifiable type.
      Returns:
      id attributes
      Throws:
      IllegalArgumentException - if the identifiable type does not have an id class
    • getIdType

      Type<?> getIdType()
      Return the type that represents the type of the id.
      Returns:
      type of id