
javax.persistence.TableGenerator Maven / Gradle / Ivy
The newest version!
/*
* Copyright 2010 Bull S.A.S.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package javax.persistence;
import static java.lang.annotation.ElementType.FIELD;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* The TableGenerator annotation defines a primary key generator that may be
* referenced by name when a generator element is specified for the
* GeneratedValue annotation. A table generator may be specified on the entity
* class or on the primary key field or property. The scope of the generator
* name is global to the persistence unit (across all generator types).
* @see JPA 2.0 specification
* @author Florent Benoit
* @since JPA 1.0 version.
*/
@Target({ TYPE, METHOD, FIELD })
@Retention(RUNTIME)
public @interface TableGenerator {
/**
* (Required) A unique generator name that can be referenced by one or more
* classes to be the generator for id values.
*/
String name();
/**
* (Optional) Name of table that stores the generated id values.
*/
String table() default "";
/**
* (Optional) The catalog of the table.
*/
String catalog() default "";
/**
* (Optional) The schema of the table.
*/
String schema() default "";
/**
* (Optional) Name of the primary key column in the table.
*/
String pkColumnName() default "";
/**
* (Optional) Name of the column that stores the last value generated.
*/
String valueColumnName() default "";
/**
* (Optional) The primary key value in the generator table that
* distinguishes this set of generated values from others that may be stored
* in the table.
*/
String pkColumnValue() default "";
/**
* (Optional) The value used to initialize the column that stores the last
* value generated.
*/
int initialValue() default 0;
/**
* (Optional) The amount to increment by when allocating id numbers from the
* generator.
*/
int allocationSize() default 50;
/**
* (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 primary key constraints .
*/
UniqueConstraint[] uniqueConstraints() default {};
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy