Details | Last modification | View Log | RSS feed
| Rev | Author | Line No. | Line |
|---|---|---|---|
| 33 | PointedEar | 1 | //$Id: Version.java 11282 2007-03-14 22:05:59Z epbernard $ |
| 2 | //EJB3 Specification Copyright 2004-2006 Sun Microsystems, Inc. |
||
| 3 | package javax.persistence; |
||
| 4 | |||
| 5 | import java.lang.annotation.Retention; |
||
| 6 | import java.lang.annotation.Target; |
||
| 7 | |||
| 8 | import static java.lang.annotation.ElementType.*; |
||
| 9 | import static java.lang.annotation.RetentionPolicy.*; |
||
| 10 | |||
| 11 | /** |
||
| 12 | * This annotation specifies the version field or property of an entity class that serves as its |
||
| 13 | * optimistic lock value. The version is used to ensure integrity when performing the merge |
||
| 14 | * operation and for optimistic concurrency control. |
||
| 15 | * |
||
| 16 | * Only a single Version property or field should be used per class; applications that use more |
||
| 17 | * than one Version property or field will not be portable. |
||
| 18 | * |
||
| 19 | * The Version property should be mapped to the primary table for the entity class; applications |
||
| 20 | * that map the Version property to a table other than the primary table will not be portable. |
||
| 21 | * |
||
| 22 | * The following types are supported for version properties: int, Integer, short, Short, long, |
||
| 23 | * Long, Timestamp. |
||
| 24 | * |
||
| 25 | * @author Emmanuel Bernard |
||
| 26 | */ |
||
| 27 | @Target({METHOD, FIELD}) @Retention(RUNTIME) |
||
| 28 | public @interface Version {} |