This commit is contained in:
68
src/javax/persistence/Index.java
Normal file
68
src/javax/persistence/Index.java
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* 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 static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Used in schema generation to specify creation of an index.
|
||||||
|
* <p>
|
||||||
|
* Note that it is not necessary to specify an index for a primary key,
|
||||||
|
* as the primary key index will be created automatically.
|
||||||
|
*
|
||||||
|
* <p>
|
||||||
|
* The syntax of the <code>columnList</code> element is a
|
||||||
|
* <code>column_list</code>, as follows:
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* column::= index_column [,index_column]*
|
||||||
|
* index_column::= column_name [ASC | DESC]
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* <p> If <code>ASC</code> or <code>DESC</code> is not specified,
|
||||||
|
* <code>ASC</code> (ascending order) is assumed.
|
||||||
|
*
|
||||||
|
* @see Table
|
||||||
|
* @see SecondaryTable
|
||||||
|
* @see CollectionTable
|
||||||
|
* @see JoinTable
|
||||||
|
* @see TableGenerator
|
||||||
|
*
|
||||||
|
* @since Java Persistence 2.1
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Target({})
|
||||||
|
@Retention(RUNTIME)
|
||||||
|
public @interface Index {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) The name of the index; defaults to a provider-generated name.
|
||||||
|
*/
|
||||||
|
String name() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Required) The names of the columns to be included in the index,
|
||||||
|
* in order.
|
||||||
|
*/
|
||||||
|
String columnList();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Whether the index is unique.
|
||||||
|
*/
|
||||||
|
boolean unique() default false;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -59,4 +59,27 @@ public @interface Table {
|
|||||||
*/
|
*/
|
||||||
String catalog() default "";
|
String catalog() default "";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Unique constraints that are to be placed on
|
||||||
|
* the table. These are only used if table generation is in
|
||||||
|
* effect. These constraints apply in addition to any constraints
|
||||||
|
* specified by the <code>Column</code> and <code>JoinColumn</code>
|
||||||
|
* annotations and constraints entailed by primary key mappings.
|
||||||
|
* <p>
|
||||||
|
* Defaults to no additional constraints.
|
||||||
|
*/
|
||||||
|
UniqueConstraint[] uniqueConstraints() default {};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Optional) Indexes for the table. These are only used if
|
||||||
|
* table generation is in effect. Note that it is not necessary
|
||||||
|
* to specify an index for a primary key, as the primary key
|
||||||
|
* index will be created automatically.
|
||||||
|
*
|
||||||
|
* @since Java Persistence 2.1
|
||||||
|
*/
|
||||||
|
Index[] indexes() default {};
|
||||||
|
|
||||||
|
String comment() default "";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
52
src/javax/persistence/UniqueConstraint.java
Normal file
52
src/javax/persistence/UniqueConstraint.java
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2008 - 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
|
||||||
|
* Linda DeMichiel - Java Persistence 2.0
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
package javax.persistence;
|
||||||
|
|
||||||
|
import java.lang.annotation.Target;
|
||||||
|
import java.lang.annotation.Retention;
|
||||||
|
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Specifies that a unique constraint is to be included in
|
||||||
|
* the generated DDL for a primary or secondary table.
|
||||||
|
*
|
||||||
|
* <pre>
|
||||||
|
* Example:
|
||||||
|
* @Entity
|
||||||
|
* @Table(
|
||||||
|
* name="EMPLOYEE",
|
||||||
|
* uniqueConstraints=
|
||||||
|
* @UniqueConstraint(columnNames={"EMP_ID", "EMP_NAME"})
|
||||||
|
* )
|
||||||
|
* public class Employee { ... }
|
||||||
|
* </pre>
|
||||||
|
*
|
||||||
|
* @since Java Persistence 1.0
|
||||||
|
*/
|
||||||
|
@Target({})
|
||||||
|
@Retention(RUNTIME)
|
||||||
|
public @interface UniqueConstraint {
|
||||||
|
|
||||||
|
/** (Optional) Constraint name. A provider-chosen name will be chosen
|
||||||
|
* if a name is not specified.
|
||||||
|
*
|
||||||
|
* @since Java Persistence 2.0
|
||||||
|
*/
|
||||||
|
String name() default "";
|
||||||
|
|
||||||
|
/** (Required) An array of the column names that make up the constraint. */
|
||||||
|
String[] columnNames();
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user