Annotation Interface NamedEntityGraph


@Repeatable(NamedEntityGraphs.class) @Target(TYPE) @Retention(RUNTIME) public @interface NamedEntityGraph
Defines a named entity graph. This annotation must be applied to the root entity of the graph, and specifies the limits of the graph of associated attributes and entities fetched when an operation which retrieves an instance or instances of the root entity is executed.

A reference to a named entity graph may be obtained by calling EntityManager.getEntityGraph(String), and may be passed to EntityManager.find(EntityGraph, Object, FindOption...).

Since:
2.1
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    (Optional) A list of attributes of the entity that are included in this graph.
    boolean
    (Optional) Includes all of the attributes of the annotated entity class as attribute nodes in the NamedEntityGraph without the need to explicitly list them.
    (Optional) The name used to identify the entity graph in calls to EntityManager.getEntityGraph(String).
    (Optional) A list of subgraphs that will add additional attributes for subclasses of the annotated entity class to the entity graph.
    (Optional) A list of subgraphs that are included in the entity graph.
  • Element Details

    • name

      String name
      (Optional) The name used to identify the entity graph in calls to EntityManager.getEntityGraph(String). If no name is explicitly specified, the name defaults to the entity name of the annotated root entity. Entity graph names must be unique within the persistence unit.
      Default:
      ""
    • attributeNodes

      NamedAttributeNode[] attributeNodes
      (Optional) A list of attributes of the entity that are included in this graph.
      Default:
      {}
    • includeAllAttributes

      boolean includeAllAttributes
      (Optional) Includes all of the attributes of the annotated entity class as attribute nodes in the NamedEntityGraph without the need to explicitly list them. Included attributes can still be fully specified by an attribute node referencing a subgraph.
      Default:
      false
    • subgraphs

      NamedSubgraph[] subgraphs
      (Optional) A list of subgraphs that are included in the entity graph. These are referenced by name from NamedAttributeNode definitions.
      Default:
      {}
    • subclassSubgraphs

      NamedSubgraph[] subclassSubgraphs
      (Optional) A list of subgraphs that will add additional attributes for subclasses of the annotated entity class to the entity graph. Specified attributes from superclasses are included in subclasses.
      Default:
      {}