blob: 0a9bf2e7e1d4363c7ee37f2b67bb181b97975bff [file] [log] [blame]
/*******************************************************************************
* 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;
/**
* Specifies a parameter of a named stored procedure query. All
* parameters of a named stored procedure query must be specified.
*
* @see NamedStoredProcedureQuery
* @see ParameterMode
*
* @since Java Persistence 2.1
*/
@Target({})
@Retention(RUNTIME)
public @interface StoredProcedureParameter {
/**
* The name of the parameter as defined by the stored procedure in the database.
* If a name is not specified, it is assumed that the stored procedure uses
* positional parameters.
*/
String name() default "";
/**
* Specifies whether the parameter is an IN, INOUT, OUT, or REF_CURSOR parameter.
* REF_CURSOR parameters are used by some databases to return result sets from
* a stored procedure.
*/
ParameterMode mode() default ParameterMode.IN;
/** JDBC type of the paramter. */
Class type();
}