/*
* 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;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
Expresses a dependency on an EntityManagerFactory
and its associated persistence unit. Since: Java Persistence 1.0
/**
* Expresses a dependency on an {@link EntityManagerFactory} and its
* associated persistence unit.
*
* @since Java Persistence 1.0
*/
@Target({TYPE, METHOD, FIELD})
@Retention(RUNTIME)
@Repeatable(PersistenceUnits.class)
public @interface PersistenceUnit {
(Optional) The name by which the entity manager factory is to be accessed
in the environment referencing context; not needed when
dependency injection is used.
Returns: name
/**
* (Optional) The name by which the entity manager factory is to be accessed
* in the environment referencing context; not needed when
* dependency injection is used.
*
* @return name
*/
String name() default "";
(Optional) The name of the persistence unit as defined in the
persistence.xml
file. If specified, the
persistence unit for the entity manager factory that is
accessible in JNDI must have the same name.
Returns: unit name
/**
* (Optional) The name of the persistence unit as defined in the
* <code>persistence.xml</code> file. If specified, the
* persistence unit for the entity manager factory that is
* accessible in JNDI must have the same name.
*
* @return unit name
*/
String unitName() default "";
}