From 2ebbdbf634272622b327c3f8f56b99120c38af79 Mon Sep 17 00:00:00 2001 From: wentch <22250530@qq.com> Date: Tue, 15 Dec 2015 14:07:40 +0800 Subject: [PATCH] --- src/javax/persistence/GeneratedValue.java | 15 ++++++ src/javax/persistence/GenerationType.java | 56 +++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 src/javax/persistence/GenerationType.java diff --git a/src/javax/persistence/GeneratedValue.java b/src/javax/persistence/GeneratedValue.java index b24cdbd69..8ec4ce611 100644 --- a/src/javax/persistence/GeneratedValue.java +++ b/src/javax/persistence/GeneratedValue.java @@ -60,5 +60,20 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME; @Retention(RUNTIME) public @interface GeneratedValue { + /** + * (Optional) The primary key generation strategy + * that the persistence provider must use to + * generate the annotated entity primary key. + */ + @Deprecated + GenerationType strategy() default GenerationType.AUTO; + /** + * (Optional) The name of the primary key generator + * to use as specified in the {@link SequenceGenerator} + * or {@link TableGenerator} annotation. + *

Defaults to the id generator supplied by persistence provider. + */ + @Deprecated + String generator() default ""; } diff --git a/src/javax/persistence/GenerationType.java b/src/javax/persistence/GenerationType.java new file mode 100644 index 000000000..9d1980e83 --- /dev/null +++ b/src/javax/persistence/GenerationType.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * 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; + +/** + * Defines the types of primary key generation strategies. + * + * @see GeneratedValue + * + * @since Java Persistence 1.0 + */ +public enum GenerationType { + + /** + * Indicates that the persistence provider must assign + * primary keys for the entity using an underlying + * database table to ensure uniqueness. + */ + TABLE, + + /** + * Indicates that the persistence provider must assign + * primary keys for the entity using a database sequence. + */ + SEQUENCE, + + /** + * Indicates that the persistence provider must assign + * primary keys for the entity using a database identity column. + */ + IDENTITY, + + /** + * Indicates that the persistence provider should pick an + * appropriate strategy for the particular database. The + * AUTO generation strategy may expect a database + * resource to exist, or it may attempt to create one. A vendor + * may provide documentation on how to create such resources + * in the event that it does not support schema generation + * or cannot create the schema resource at runtime. + */ + AUTO +}