Interface Metamodel


  • public interface Metamodel
    Provides access to the metamodel of persistent entities in the persistence unit.
    Since:
    2.0
    • Method Detail

      • entity

        <X> EntityType<X> entity​(Class<X> cls)
        Return the metamodel entity type representing the entity.
        Parameters:
        cls - the type of the represented entity
        Returns:
        the metamodel entity type
        Throws:
        IllegalArgumentException - if not an entity
      • managedType

        <X> ManagedType<X> managedType​(Class<X> cls)
        Return the metamodel managed type representing the entity, mapped superclass, or embeddable class.
        Parameters:
        cls - the type of the represented managed class
        Returns:
        the metamodel managed type
        Throws:
        IllegalArgumentException - if not a managed class
      • embeddable

        <X> EmbeddableType<X> embeddable​(Class<X> cls)
        Return the metamodel embeddable type representing the embeddable class.
        Parameters:
        cls - the type of the represented embeddable class
        Returns:
        the metamodel embeddable type
        Throws:
        IllegalArgumentException - if not an embeddable class
      • getManagedTypes

        Set<ManagedType<?>> getManagedTypes()
        Return the metamodel managed types.
        Returns:
        the metamodel managed types
      • getEntities

        Set<EntityType<?>> getEntities()
        Return the metamodel entity types.
        Returns:
        the metamodel entity types
      • getEmbeddables

        Set<EmbeddableType<?>> getEmbeddables()
        Return the metamodel embeddable types. Returns empty set if there are no embeddable types.
        Returns:
        the metamodel embeddable types