/*
 * Copyright (c) 2008, 2009, 2011 Oracle, Inc. 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.
 */
package javax.persistence;

Defines strategies for fetching data from the database. The EAGER strategy is a requirement on the persistence provider runtime that data must be eagerly fetched. The LAZY strategy is a hint to the persistence provider runtime that data should be fetched lazily when it is first accessed. The implementation is permitted to eagerly fetch data for which the LAZY strategy hint has been specified.

  Example:
  @Basic(fetch=LAZY)
  protected String getName() { return name; }
See Also:
Since:Java Persistence 1.0
/** * Defines strategies for fetching data from the database. * The <code>EAGER</code> strategy is a requirement on the persistence * provider runtime that data must be eagerly fetched. The * <code>LAZY</code> strategy is a hint to the persistence provider * runtime that data should be fetched lazily when it is * first accessed. The implementation is permitted to eagerly * fetch data for which the <code>LAZY</code> strategy hint has been * specified. * <p> * <pre> * Example: * &#064;Basic(fetch=LAZY) * protected String getName() { return name; } * </pre> * * @see Basic * @see ElementCollection * @see ManyToMany * @see OneToMany * @see ManyToOne * @see OneToOne * @since Java Persistence 1.0 */
public enum FetchType {
Defines that data can be lazily fetched.
/** * Defines that data can be lazily fetched. */
LAZY,
Defines that data must be eagerly fetched.
/** * Defines that data must be eagerly fetched. */
EAGER }