blob: d4ce81743f862501eedd5e1a4a263cff408bf663 [file] [log] [blame]
/*
* Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0,
* or the Eclipse Distribution License v. 1.0 which is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
*/
// 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();
}