## Uses of Interface
javax.persistence.metamodel.Attribute

Packages that use Attribute
javax.persistence: Java Persistence is the API for the management for persistence and object/relational mapping.
javax.persistence.criteria: Java Persistence Criteria API
javax.persistence.metamodel: Java Persistence Metamodel API

### Uses of Attribute in javax.persistence

Methods in javax.persistence with parameters of type Attribute
`void` Subgraph.`addAttributeNodes(Attribute<T,?>... attribute)` Add one or more attribute nodes to the entity graph.
`void` EntityGraph.`addAttributeNodes(Attribute<T,?>... attribute)` Add one or more attribute nodes to the entity graph.
`<X> Subgraph<X>` Subgraph.`addKeySubgraph(Attribute<T,X> attribute)` Add a node to the graph that corresponds to a map key that is a managed type.
`<X> Subgraph<X>` EntityGraph.`addKeySubgraph(Attribute<T,X> attribute)` Add a node to the graph that corresponds to a map key that is a managed type.
`<X> Subgraph<? extends X>` Subgraph.`addKeySubgraph(Attribute<T,X> attribute, Class<? extends X> type)` Add a node to the graph that corresponds to a map key that is a managed type with inheritance.
`<X> Subgraph<? extends X>` EntityGraph.`addKeySubgraph(Attribute<T,X> attribute, Class<? extends X> type)` Add a node to the graph that corresponds to a map key that is a managed type with inheritance.
`<X> Subgraph<X>` Subgraph.`addSubgraph(Attribute<T,X> attribute)` Add a node to the graph that corresponds to a managed type.
`<X> Subgraph<X>` EntityGraph.`addSubgraph(Attribute<T,X> attribute)` Add a node to the graph that corresponds to a managed type.
`<X> Subgraph<? extends X>` Subgraph.`addSubgraph(Attribute<T,X> attribute, Class<? extends X> type)` Add a node to the graph that corresponds to a managed type with inheritance.
`<X> Subgraph<? extends X>` EntityGraph.`addSubgraph(Attribute<T,X> attribute, Class<? extends X> type)` Add a node to the graph that corresponds to a managed type with inheritance.

### Uses of Attribute in javax.persistence.criteria

Methods in javax.persistence.criteria that return Attribute
`Attribute<? super Z,?>` Join.`getAttribute()` Return the metamodel attribute corresponding to the join.
`Attribute<? super Z,?>` Fetch.`getAttribute()` Return the metamodel attribute corresponding to the fetch join.

### Uses of Attribute in javax.persistence.metamodel

Subinterfaces of Attribute in javax.persistence.metamodel
`interface` `CollectionAttribute<X,E>` Instances of the type `CollectionAttribute` represent persistent `java.util.Collection`-valued attributes.
`interface` `ListAttribute<X,E>` Instances of the type `ListAttribute` represent persistent `javax.util.List`-valued attributes.
`interface` `MapAttribute<X,K,V>` Instances of the type `MapAttribute` represent persistent `java.util.Map`-valued attributes.
`interface` `PluralAttribute<X,C,E>` Instances of the type `PluralAttribute` represent persistent collection-valued attributes.
`interface` `SetAttribute<X,E>` Instances of the type `SetAttribute` represent persistent `java.util.Set`-valued attributes.
`interface` `SingularAttribute<X,T>` Instances of the type `SingularAttribute` represents persistent single-valued properties or fields.

Methods in javax.persistence.metamodel that return Attribute
`Attribute<? super X,?>` ManagedType.`getAttribute(String name)` Return the attribute of the managed type that corresponds to the specified name.
`Attribute<X,?>` ManagedType.`getDeclaredAttribute(String name)` Return the attribute declared by the managed type that corresponds to the specified name.

Methods in javax.persistence.metamodel that return types with arguments of type Attribute
`Set<Attribute<? super X,?>>` ManagedType.`getAttributes()` Return the attributes of the managed type.
`Set<Attribute<X,?>>` ManagedType.`getDeclaredAttributes()` Return the attributes declared by the managed type.