88 lines
2.6 KiB
Java
88 lines
2.6 KiB
Java
/** *****************************************************************************
|
|
* 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.ElementType.TYPE;
|
|
import static java.lang.annotation.RetentionPolicy.RUNTIME;
|
|
|
|
/**
|
|
* Specifies the primary table for the annotated entity. Additional
|
|
* tables may be specified using SecondaryTable or SecondaryTables annotation.
|
|
*
|
|
* <p>
|
|
* If no <code>Table</code> annotation is specified for an entity
|
|
* class, the default values apply.
|
|
*
|
|
* <pre>
|
|
* Example:
|
|
*
|
|
* @Entity
|
|
* @Table(name="CUST", schema="RECORDS")
|
|
* public class Customer { ... }
|
|
* </pre>
|
|
*
|
|
* @since Java Persistence 1.0
|
|
*/
|
|
@Target(TYPE)
|
|
@Retention(RUNTIME)
|
|
public @interface Table {
|
|
|
|
/**
|
|
* (Optional) The name of the table.
|
|
* <p>
|
|
* Defaults to the entity name.
|
|
*
|
|
* @return String
|
|
*/
|
|
String name() default "";
|
|
|
|
/** (Optional) The catalog of the table.
|
|
* <p>
|
|
* Defaults to the default catalog.
|
|
*
|
|
* @return String
|
|
*/
|
|
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.
|
|
* @return UniqueConstraint[]
|
|
*/
|
|
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.
|
|
*
|
|
* @return indexes
|
|
* @since Java Persistence 2.1
|
|
*/
|
|
Index[] indexes() default {};
|
|
|
|
String comment() default "";
|
|
|
|
}
|