Copyright (c) 2011 - 2013 Oracle Corporation. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 which accompanies this distribution. The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution License is available at http://www.eclipse.org/org/documents/edl-v10.php. Contributors: Linda DeMichiel - Java Persistence 2.1
/******************************************************************************* * Copyright (c) 2011 - 2013 Oracle Corporation. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Linda DeMichiel - Java Persistence 2.1 * ******************************************************************************/
package javax.persistence; import java.lang.annotation.Target; import java.lang.annotation.Retention; import static java.lang.annotation.RetentionPolicy.RUNTIME;
A NamedAttributeNode is a member element of a NamedEntityGraph.
See Also:
Since:Java Persistence 2.1
/** * A <code>NamedAttributeNode</code> is a member element of a * <code>NamedEntityGraph</code>. * * @see NamedEntityGraph * @see NamedSubgraph * * @since Java Persistence 2.1 */
@Target({}) @Retention(RUNTIME) public @interface NamedAttributeNode {
(Required) The name of the attribute that must be included in the graph.
/** * (Required) The name of the attribute that must be included in the graph. */
String value();
(Optional) If the attribute references a managed type that has its own AttributeNodes, this element is used to refer to that NamedSubgraph definition. If the target type has inheritance, multiple subgraphs can be specified. These additional subgraphs are intended to add subclass-specific attributes. Superclass subgraph entries will be merged into subclass subgraphs.

The value of this element is the name of the subgraph as specified by the name element of the corresponding NamedSubgraph element. If multiple subgraphs are specified due to inheritance, they are referenced by this name.

/** * (Optional) If the attribute references a managed type that has * its own AttributeNodes, this element is used to refer to that * NamedSubgraph definition. * If the target type has inheritance, multiple subgraphs can * be specified. These additional subgraphs are intended to add * subclass-specific attributes. Superclass subgraph entries will * be merged into subclass subgraphs. * * <p> The value of this element is the name of the subgraph as * specified by the <code>name</code> element of the corresponding * <code>NamedSubgraph</code> element. If multiple subgraphs are * specified due to inheritance, they are referenced by this name. */
String subgraph() default "";
(Optional) If the attribute references a Map type, this element can be used to specify a subgraph for the Key in the case of an Entity key type. A keySubgraph can not be specified without the Map attribute also being specified. If the target type has inheritance, multiple subgraphs can be specified. These additional subgraphs are intended to add subclass-specific attributes. Superclass subgraph entries will be merged into subclass subgraphs.

The value of this element is the name of the key subgraph as specified by the name element of the corresponding NamedSubgraph element. If multiple key subgraphs are specified due to inheritance, they are referenced by this name.

/** * (Optional) If the attribute references a Map type, this element * can be used to specify a subgraph for the Key in the case of an * Entity key type. A keySubgraph can not be specified without the * Map attribute also being specified. If the target type has * inheritance, multiple subgraphs can be specified. These * additional subgraphs are intended to add subclass-specific * attributes. Superclass subgraph entries will be merged into * subclass subgraphs. * * <p> The value of this element is the name of the key subgraph as * specified by the <code>name</code> element of the corresponding * <code>NamedSubgraph</code> element. If multiple key subgraphs * are specified due to inheritance, they are referenced by this * name. */
String keySubgraph() default ""; }