291285 - Check in of Linda and Doug patch - plus the code changes required to check it in.  Did not add the new API to the EL jar.
diff --git a/META-INF/MANIFEST.MF b/META-INF/MANIFEST.MF
index 290669c..7b9af24 100644
--- a/META-INF/MANIFEST.MF
+++ b/META-INF/MANIFEST.MF
@@ -1,12 +1,12 @@
 Manifest-Version: 1.0

 Bundle-ManifestVersion: 2

-Bundle-Name: Java Persistence 2.0 - EARLY ACCESS

+Bundle-Name: Java Persistence 2.0

 Bundle-SymbolicName: javax.persistence

-Bundle-Version: 1.99.6

-Export-Package: javax.persistence;version="1.99.4",

- javax.persistence.criteria;version="1.99.4",

- javax.persistence.metamodel;version="1.99.4",

- javax.persistence.spi;version="1.99.4"

+Bundle-Version: 1.99.7

+Export-Package: javax.persistence;version="1.99.7",

+ javax.persistence.criteria;version="1.99.7",

+ javax.persistence.metamodel;version="1.99.7",

+ javax.persistence.spi;version="1.99.7"

 Bundle-Activator: org.eclipse.persistence.javax.persistence.osgi.Activator

 Bundle-ClassPath: .

 Import-Package: org.osgi.framework;resolution:=optional,

diff --git a/build.xml b/build.xml
index f5835ba..f54d855 100644
--- a/build.xml
+++ b/build.xml
@@ -40,7 +40,7 @@
     <!-- Properties usually defined in build.properties, set here to avoid easy redefinition. -->
     <!-- Persistence Version properties -->
     <property name="jpaproto.spec.version" value="2.0 PFD"/>
-    <property name="jpaproto.version"      value="1.99.6"/>
+    <property name="jpaproto.version"      value="1.99.7"/>
     <property name="jpaproto.bundle.name"  value="Java Persistence 2.0 - EARLY ACCESS"/>
     <!-- Compiler flag properties -->
     <property name="javac.debug"           value="true"/>
diff --git a/readme.txt b/readme.txt
index b975489..e2dff95 100644
--- a/readme.txt
+++ b/readme.txt
@@ -10,14 +10,5 @@
   Contributors:

       Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

       Specification available from http://jcp.org/en/jsr/detail?id=317

-      dclarke - EclipseLink specific implementations and OSGi support

+      Oracle Committers - EclipseLink specific implementations and OSGi support

  

-  Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

-  This is an implementation of an early-draft specification developed under the 

-  Java Community Process (JCP).  The code is untested and presumed not to be a  

-  compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

-  We encourage you to migrate to an implementation of the Java(TM) Persistence 

-  API, Version 2.0 Specification that has been tested and verified to be compatible 

-  as soon as such an implementation is available, and we encourage you to retain 

-  this notice in any implementation of Java(TM) Persistence API, Version 2.0 

-  Specification that you distribute.

diff --git a/src/javax/persistence/Access.java b/src/javax/persistence/Access.java
index a03b193..3f1a672 100644
--- a/src/javax/persistence/Access.java
+++ b/src/javax/persistence/Access.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -33,7 +24,7 @@
 import java.lang.annotation.Target;

 

 /**

- * Is used to specify an access type to be applied to an entity class,

+ * Used to specify an access type to be applied to an entity class,

  * mapped superclass, or embeddable class, or to a specific attribute

  * of such a class.

  * 

diff --git a/src/javax/persistence/AccessType.java b/src/javax/persistence/AccessType.java
index 6a19456..84a99c9 100644
--- a/src/javax/persistence/AccessType.java
+++ b/src/javax/persistence/AccessType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/AssociationOverride.java b/src/javax/persistence/AssociationOverride.java
index 1bffe92..652d7e7 100644
--- a/src/javax/persistence/AssociationOverride.java
+++ b/src/javax/persistence/AssociationOverride.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -32,7 +23,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to override a mapping for an entity relationship.
+ * Used to override a mapping for an entity relationship.
  *
  * <p> May be applied to an entity that extends a mapped superclass to
  * override a relationship mapping defined by the mapped
@@ -86,7 +77,7 @@
  *    &#064;Entity 
  *        &#064;AssociationOverride(name="address", 
  *                             joinColumns=&#064;JoinColumn(name="ADDR_ID"))
- *        // address field mapping overridden to ADDR_ID fk
+ *        // address field mapping overridden to ADDR_ID foreign key
  *    public class PartTimeEmployee extends Employee {
  *        ...
  *    }
@@ -101,9 +92,9 @@
  *        &#064;AssociationOverride(
  *          name="phoneNumbers",
  *          joinTable=&#064;JoinTable(
- *          name="EMPPHONES",
- *          joinColumns=&#064;JoinColumn(name="EMP"),
- *          inverseJoinColumns=&#064;JoinColumn(name="PHONE")
+ *             name="EMPPHONES",
+ *             joinColumns=&#064;JoinColumn(name="EMP"),
+ *             inverseJoinColumns=&#064;JoinColumn(name="PHONE")
  *          )
  *        )
  *        &#064;Embedded ContactInfo contactInfo;
diff --git a/src/javax/persistence/AssociationOverrides.java b/src/javax/persistence/AssociationOverrides.java
index 632ddd4..00420cf 100644
--- a/src/javax/persistence/AssociationOverrides.java
+++ b/src/javax/persistence/AssociationOverrides.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -32,7 +23,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to override mappings of multiple relationship properties or fields.
+ * Used to override mappings of multiple relationship properties or fields.
  *
  * <pre>
  *    
diff --git a/src/javax/persistence/AttributeOverride.java b/src/javax/persistence/AttributeOverride.java
index 736bbf0..3e48537 100644
--- a/src/javax/persistence/AttributeOverride.java
+++ b/src/javax/persistence/AttributeOverride.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -32,7 +23,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to override the mapping of a <code>Basic</code> (whether
+ * Used to override the mapping of a <code>Basic</code> (whether
  * explicit or default) property or field or <code>Id</code> property or
  * field.
  *
@@ -91,7 +82,7 @@
  *        &#064;Embedded protected Zipcode zipcode;
  *    }
  *
- *    &#064;Embeddable public class ZipCode {
+ *    &#064;Embeddable public class Zipcode {
  *        protected String zip;
  *        protected String plusFour;
  *    }
diff --git a/src/javax/persistence/AttributeOverrides.java b/src/javax/persistence/AttributeOverrides.java
index 7acf85b..abbfbb5 100644
--- a/src/javax/persistence/AttributeOverrides.java
+++ b/src/javax/persistence/AttributeOverrides.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -32,7 +23,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to override mappings of multiple properties or fields.
+ * Used to override mappings of multiple properties or fields.
  *
  * <pre>
  *
diff --git a/src/javax/persistence/Basic.java b/src/javax/persistence/Basic.java
index 2c499d6..cb3dfca 100644
--- a/src/javax/persistence/Basic.java
+++ b/src/javax/persistence/Basic.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/Cache.java b/src/javax/persistence/Cache.java
index f24cbd5..7022b0f 100644
--- a/src/javax/persistence/Cache.java
+++ b/src/javax/persistence/Cache.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/CacheRetrieveMode.java b/src/javax/persistence/CacheRetrieveMode.java
index 4ed446c..268e006 100644
--- a/src/javax/persistence/CacheRetrieveMode.java
+++ b/src/javax/persistence/CacheRetrieveMode.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/CacheStoreMode.java b/src/javax/persistence/CacheStoreMode.java
index 30112eb..f33f292 100644
--- a/src/javax/persistence/CacheStoreMode.java
+++ b/src/javax/persistence/CacheStoreMode.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/Cacheable.java b/src/javax/persistence/Cacheable.java
index e94720b..9b04f64 100644
--- a/src/javax/persistence/Cacheable.java
+++ b/src/javax/persistence/Cacheable.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -31,8 +22,11 @@
 

 /**

  * Specifies whether an entity should be cached if caching is enabled

- * when the value of the <code>persistence.xml</code> caching element is

- * <code>ENABLE_SELECTIVE</code> or <code>DISABLE_SELECTIVE</code>.

+ * when the value of the <code>persistence.xml</code> caching element

+ * is <code>ENABLE_SELECTIVE</code> or <code>DISABLE_SELECTIVE</code>.

+ * The value of the <code>Cacheable</code> annotation is inherited by

+ * subclasses; it can be overridden by specifying

+ * <code>Cacheable</code> on a subclass.

  * 

  * <p> <code>Cacheable(false)</code> means that the entity and its state must 

  * not be cached by the provider.

diff --git a/src/javax/persistence/CascadeType.java b/src/javax/persistence/CascadeType.java
index 3be180a..615cbfe 100644
--- a/src/javax/persistence/CascadeType.java
+++ b/src/javax/persistence/CascadeType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -28,7 +19,7 @@
  * Defines the set of cascadable operations that are propagated 
  * to the associated entity.
  * The value <code>cascade=ALL</code> is equivalent to 
- * <code>cascade={PERSIST, MERGE, REMOVE, REFRESH}</code>.
+ * <code>cascade={PERSIST, MERGE, REMOVE, REFRESH, DETACH}</code>.
  *
  * @since Java Persistence 1.0
  */
@@ -54,6 +45,6 @@
      *
      * @since Java Persistence 2.0
      * 
-    */   
+     */   
     DETACH
 }
diff --git a/src/javax/persistence/CollectionTable.java b/src/javax/persistence/CollectionTable.java
index 2c9c91e..a218ef3 100644
--- a/src/javax/persistence/CollectionTable.java
+++ b/src/javax/persistence/CollectionTable.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -51,7 +42,7 @@
  *

  * <li> To override these defaults for an embeddable class, the

  * <code>AttributeOverride</code> and/or

- * <code>AttributeOverrides</code> annotations must be used in

+ * <code>AttributeOverrides</code> annotations can be used in

  * addition to the <code>ElementCollection</code> annotation. If the

  * embeddable class contains references to other entities, the default

  * values for the columns corresponding to those references may be

diff --git a/src/javax/persistence/Column.java b/src/javax/persistence/Column.java
index d1d1023..37162c4 100644
--- a/src/javax/persistence/Column.java
+++ b/src/javax/persistence/Column.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/ColumnResult.java b/src/javax/persistence/ColumnResult.java
index dc5a396..10e25c9 100644
--- a/src/javax/persistence/ColumnResult.java
+++ b/src/javax/persistence/ColumnResult.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/DiscriminatorColumn.java b/src/javax/persistence/DiscriminatorColumn.java
index 2fbc5c9..ba2fd7d 100644
--- a/src/javax/persistence/DiscriminatorColumn.java
+++ b/src/javax/persistence/DiscriminatorColumn.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -31,7 +22,7 @@
 import static javax.persistence.DiscriminatorType.STRING;
 
 /**
- * Is used to define the discriminator column for the 
+ * Specifies the discriminator column for the 
  * <code>SINGLE_TABLE</code> and 
  * <code>JOINED</code> {@link Inheritance} mapping strategies.
  * 
diff --git a/src/javax/persistence/DiscriminatorType.java b/src/javax/persistence/DiscriminatorType.java
index e4b338e..269ca81 100644
--- a/src/javax/persistence/DiscriminatorType.java
+++ b/src/javax/persistence/DiscriminatorType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/DiscriminatorValue.java b/src/javax/persistence/DiscriminatorValue.java
index d23a8b6..fa0daa2 100644
--- a/src/javax/persistence/DiscriminatorValue.java
+++ b/src/javax/persistence/DiscriminatorValue.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -30,7 +21,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to specify the value of the discriminator column for 
+ * Specifies the value of the discriminator column for 
  * entities of the given type. 
  *
  * <p> The <code>DiscriminatorValue</code> 
@@ -57,7 +48,7 @@
  *    &#064;Entity
  *    &#064;Table(name="CUST")
  *    &#064;Inheritance(strategy=SINGLE_TABLE)
- *    &#064;DiscriminatorColumn(name="DISC", discriminatorType=STRING,length=20)
+ *    &#064;DiscriminatorColumn(name="DISC", discriminatorType=STRING, length=20)
  *    &#064;DiscriminatorValue("CUSTOMER")
  *    public class Customer { ... }
  *
diff --git a/src/javax/persistence/ElementCollection.java b/src/javax/persistence/ElementCollection.java
index 648d566..5450193 100644
--- a/src/javax/persistence/ElementCollection.java
+++ b/src/javax/persistence/ElementCollection.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/Embeddable.java b/src/javax/persistence/Embeddable.java
index cd2390d..5e6674a 100644
--- a/src/javax/persistence/Embeddable.java
+++ b/src/javax/persistence/Embeddable.java
@@ -9,23 +9,15 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
 import java.lang.annotation.Target;
 import java.lang.annotation.Retention;
+import java.lang.annotation.Documented;
 import static java.lang.annotation.ElementType.TYPE;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
@@ -81,6 +73,7 @@
  *
  * @since Java Persistence 1.0
  */
+@Documented
 @Target({TYPE}) 
 @Retention(RUNTIME)
 public @interface Embeddable {
diff --git a/src/javax/persistence/Embedded.java b/src/javax/persistence/Embedded.java
index 5fd2812..eebe368 100644
--- a/src/javax/persistence/Embedded.java
+++ b/src/javax/persistence/Embedded.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -31,7 +22,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Defines a persistent field or property of an entity whose 
+ * Specifies a persistent field or property of an entity whose 
  * value is an instance of an embeddable class. The embeddable 
  * class must be annotated as {@link Embeddable}.
  *
diff --git a/src/javax/persistence/EmbeddedId.java b/src/javax/persistence/EmbeddedId.java
index 9800030..88939a6 100644
--- a/src/javax/persistence/EmbeddedId.java
+++ b/src/javax/persistence/EmbeddedId.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -31,27 +22,52 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is applied to a persistent field or property of an entity 
+ * Applied to a persistent field or property of an entity 
  * class or mapped superclass to denote a composite primary 
  * key that is an embeddable class. The embeddable class 
  * must be annotated as {@link Embeddable}. 
  *
- * <p> Relationship mappings defined within an embedded id class are not supported.
- * 
- * <p> The {@link AttributeOverride} annotation may be used to override
- * the column mappings declared within the embeddable class.
- *
  * <p> There must be only one <code>EmbeddedId</code> annotation and
  * no <code>Id</code> annotation when the <code>EmbeddedId</code> annotation is used.
  *
- * The {@link MapsId} annotation may be used in conjunction
+ * <p> The {@link AttributeOverride} annotation may be used to override
+ * the column mappings declared within the embeddable class.
+ * 
+ * <p> The {@link MapsId} annotation may be used in conjunction
  * with the <code>EmbeddedId</code> annotation to specify a derived
  * primary key.
+ *
+ * <p> If the entity has a derived primary key, the
+ * <code>AttributeOverride</code> annotation may only be used to
+ * override those attributes of the embedded id that do not correspond
+ * to the relationship to the parent entity.
+ *
+ * <p> Relationship mappings defined within an embedded id class are not supported.
+ *
  * <pre>
- *    Example:
+ *    Example 1:
  *
  *    &#064;EmbeddedId
  *    protected EmployeePK empPK;
+ *
+ *
+ *    Example 2:
+ *
+ *    &#064;Embeddable
+ *    public class DependentId {
+ *       String name;
+ *       EmployeeId empPK;   // corresponds to primary key type of Employee
+ *    }
+ *
+ *    &#064;Entity
+ *    public class Dependent {
+ *       // default column name for "name" attribute is overridden
+ *       &#064;AttributeOverride(name="name", &#064;Column(name="dep_name"))
+ *       &#064;EmbeddedId DependentId id;
+ *       ...
+ *       &#064;MapsId("empPK")
+ *       &#064;ManyToOne Employee emp;
+ *    }
  * </pre>
  *
  * @see Embeddable
diff --git a/src/javax/persistence/Entity.java b/src/javax/persistence/Entity.java
index e35a271..83c0692 100644
--- a/src/javax/persistence/Entity.java
+++ b/src/javax/persistence/Entity.java
@@ -9,23 +9,15 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
 import java.lang.annotation.Target;
 import java.lang.annotation.Retention;
+import java.lang.annotation.Documented;
 import static java.lang.annotation.ElementType.TYPE;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
@@ -35,6 +27,7 @@
  * 
  * @since Java Persistence 1.0
  */
+@Documented
 @Target(TYPE)
 @Retention(RUNTIME)
 public @interface Entity {
diff --git a/src/javax/persistence/EntityExistsException.java b/src/javax/persistence/EntityExistsException.java
index 568b7db..0ac3b31 100644
--- a/src/javax/persistence/EntityExistsException.java
+++ b/src/javax/persistence/EntityExistsException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -32,7 +23,8 @@
  * If the entity already exists, the <code>EntityExistsException</code> may be thrown when
  * the persist operation is invoked, or the <code>EntityExistsException</code> or another
  * <code>PersistenceException</code> may be thrown at flush or commit time.
- * 
+ * <p> The current transaction, if one is active, will be marked for rollback.
+ *
  * @see javax.persistence.EntityManager#persist(Object)
  * 
  * @since Java Persistence 1.0
diff --git a/src/javax/persistence/EntityListeners.java b/src/javax/persistence/EntityListeners.java
index 62ca195..19bcd33 100644
--- a/src/javax/persistence/EntityListeners.java
+++ b/src/javax/persistence/EntityListeners.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/EntityManager.java b/src/javax/persistence/EntityManager.java
index dd3cb02..4f4d481 100644
--- a/src/javax/persistence/EntityManager.java
+++ b/src/javax/persistence/EntityManager.java
@@ -9,25 +9,16 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
 import java.util.Set;
 import java.util.Map;
 import javax.persistence.metamodel.Metamodel;
-import javax.persistence.criteria.QueryBuilder;
+import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 
 /**
@@ -37,9 +28,8 @@
  * a persistence context. A persistence context is a set of entity 
  * instances in which for any persistent entity identity there is 
  * a unique entity instance. Within the persistence context, the 
- * entity instances and their lifecycle are managed. This interface 
- * defines the methods that are used to interact with the 
- * persistence context. The <code>EntityManager</code> API is used 
+ * entity instances and their lifecycle are managed. 
+ * The <code>EntityManager</code> API is used 
  * to create and remove persistent entity instances, to find entities 
  * by their primary key, and to query over entities.
  *
@@ -71,7 +61,7 @@
      * @throws TransactionRequiredException if invoked on a
      *         container-managed entity manager of type 
      *         <code>PersistenceContextType.TRANSACTION</code> and there is 
-     *         no transaction.
+     *         no transaction
      */
     public void persist(Object entity);
     
@@ -85,29 +75,29 @@
      * @throws TransactionRequiredException if invoked on a
      *         container-managed entity manager of type 
      *         <code>PersistenceContextType.TRANSACTION</code> and there is 
-     *         no transaction.
+     *         no transaction
      */    
     public <T> T merge(T entity);
     
     /**
      * Remove the entity instance.
-     * @param entity
+     * @param entity  entity instance
      * @throws IllegalArgumentException if the instance is not an
      *         entity or is a detached entity
      * @throws TransactionRequiredException if invoked on a
      *         container-managed entity manager of type 
      *         <code>PersistenceContextType.TRANSACTION</code> and there is 
-     *         no transaction.
+     *         no transaction
      */    
     public void remove(Object entity);
     
     /**
      * Find by primary key.
      * Search for an entity of the specified class and primary key.
-     * If the entity instance is contained in the persistence context
+     * If the entity instance is contained in the persistence context,
      * it is returned from there.
-     * @param entityClass
-     * @param primaryKey
+     * @param entityClass  entity class
+     * @param primaryKey  primary key
      * @return the found entity instance or null if the entity does
      *         not exist
      * @throws IllegalArgumentException if the first argument does
@@ -121,12 +111,13 @@
      * Find by primary key, using the specified properties. 
      * Search for an entity of the specified class and primary key. 
      * If the entity instance is contained in the persistence 
-     * context it is returned from there. 
+     * context, it is returned from there. 
      * If a vendor-specific property or hint is not recognized, 
      * it is silently ignored. 
-     * @param entityClass 
-     * @param primaryKey 
+     * @param entityClass  entity class
+     * @param primaryKey   primary key
      * @param properties  standard and vendor-specific properties 
+     *        and hints
      * @return the found entity instance or null if the entity does
      *         not exist 
      * @throws IllegalArgumentException if the first argument does 
@@ -142,7 +133,7 @@
      * Find by primary key and lock.
      * Search for an entity of the specified class and primary key
      * and lock it with respect to the specified lock type.
-     * If the entity instance is contained in the persistence context
+     * If the entity instance is contained in the persistence context,
      * it is returned from there, and the effect of this method is
      * the same as if the lock method had been called on the entity.
      * <p> If the entity is found within the persistence context and the
@@ -158,9 +149,9 @@
      * <li> the <code>LockTimeoutException</code> will be thrown if the database
      *    locking failure causes only statement-level rollback
      * </ul>
-     * @param entityClass
-     * @param primaryKey
-     * @param lockMode
+     * @param entityClass  entity class
+     * @param primaryKey  primary key
+     * @param lockMode  lock mode
      * @return the found entity instance or null if the entity does
      *         not exist
      * @throws IllegalArgumentException if the first argument does
@@ -187,7 +178,7 @@
      * Find by primary key and lock, using the specified properties. 
      * Search for an entity of the specified class and primary key
      * and lock it with respect to the specified lock type.
-     * If the entity instance is contained in the persistence context
+     * If the entity instance is contained in the persistence context,
      * it is returned from there.  
      * <p> If the entity is found
      * within the persistence context and the lock mode type
@@ -209,9 +200,9 @@
      * hint. Depending on the database in use and the locking
      * mechanisms used by the provider, the hint may or may not
      * be observed.
-     * @param entityClass
-     * @param primaryKey
-     * @param lockMode
+     * @param entityClass  entity class
+     * @param primaryKey  primary key
+     * @param lockMode  lock mode
      * @param properties  standard and vendor-specific properties
      *        and hints
      * @return the found entity instance or null if the entity does
@@ -247,8 +238,8 @@
      * The application should not expect that the instance state will
      * be available upon detachment, unless it was accessed by the
      * application while the entity manager was open.
-     * @param entityClass
-     * @param primaryKey
+     * @param entityClass  entity class
+     * @param primaryKey  primary key
      * @return the found entity instance
      * @throws IllegalArgumentException if the first argument does
      *         not denote an entity type or the second argument is
@@ -272,7 +263,7 @@
     /**
      * Set the flush mode that applies to all objects contained
      * in the persistence context. 
-     * @param flushMode
+     * @param flushMode  flush mode
      */
     public void setFlushMode(FlushModeType flushMode);
 
@@ -299,8 +290,8 @@
      * <li> the <code>LockTimeoutException</code> will be thrown if the database
      *    locking failure causes only statement-level rollback
      * </ul>
-     * @param entity
-     * @param lockMode
+     * @param entity  entity instance
+     * @param lockMode  lock mode
      * @throws IllegalArgumentException if the instance is not an
      *         entity or is a detached entity
      * @throws TransactionRequiredException if there is no 
@@ -342,8 +333,8 @@
      * hint. Depending on the database in use and the locking
      * mechanisms used by the provider, the hint may or may not
      * be observed.
-     * @param entity
-     * @param lockMode
+     * @param entity  entity instance
+     * @param lockMode  lock mode
      * @param properties  standard and vendor-specific properties
      *        and hints
      * @throws IllegalArgumentException if the instance is not an
@@ -369,13 +360,13 @@
     /**
      * Refresh the state of the instance from the database, 
      * overwriting changes made to the entity, if any. 
-     * @param entity
+     * @param entity  entity instance
      * @throws IllegalArgumentException if the instance is not
      *         an entity or the entity is not managed
      * @throws TransactionRequiredException if invoked on a
      *         container-managed entity manager of type 
      *         <code>PersistenceContextType.TRANSACTION</code> and there is 
-     *         no transaction.
+     *         no transaction
      * @throws EntityNotFoundException if the entity no longer
      *         exists in the database
      */    
@@ -385,16 +376,17 @@
      * Refresh the state of the instance from the database, using 
      * the specified properties, and overwriting changes made to
      * the entity, if any. 
-     * If a vendor-specific property or hint is not recognized, 
+     * <p> If a vendor-specific property or hint is not recognized, 
      * it is silently ignored. 
-     * @param entity 
+     * @param entity  entity instance
      * @param properties  standard and vendor-specific properties 
+     *        and hints
      * @throws IllegalArgumentException if the instance is not 
      *         an entity or the entity is not managed 
      * @throws TransactionRequiredException if invoked on a 
      *         container-managed entity manager of type
      *         <code>PersistenceContextType.TRANSACTION</code> and there is
-     *         no transaction. 
+     *         no transaction 
      * @throws EntityNotFoundException if the entity no longer 
      *         exists in the database 
      * @since Java Persistence 2.0
@@ -415,15 +407,15 @@
      *    database locking failure causes only statement-level 
      *    rollback.
      * </ul>
-     * @param entity
-     * @param lockMode
+     * @param entity  entity instance
+     * @param lockMode  lock mode
      * @throws IllegalArgumentException if the instance is not
      *         an entity or the entity is not managed
      * @throws TransactionRequiredException if there is no 
      *         transaction and if invoked on a container-managed
      *         <code>EntityManager</code> instance with
      *         <code>PersistenceContextType.TRANSACTION</code> or with a lock mode 
-     *         other than <code>NONE</code>.
+     *         other than <code>NONE</code>
      * @throws EntityNotFoundException if the entity no longer exists
      *         in the database
      * @throws PessimisticLockException if pessimistic locking fails
@@ -455,8 +447,8 @@
      * hint. Depending on the database in use and the locking
      * mechanisms used by the provider, the hint may or may not
      * be observed.
-     * @param entity
-     * @param lockMode
+     * @param entity  entity instance
+     * @param lockMode  lock mode
      * @param properties  standard and vendor-specific properties
      *        and hints
      * @throws IllegalArgumentException if the instance is not
@@ -465,7 +457,7 @@
      *         transaction and if invoked on a container-managed
      *         <code>EntityManager</code> instance with
      *         <code>PersistenceContextType.TRANSACTION</code> or with a lock mode 
-     *         other than <code>NONE</code>.
+     *         other than <code>NONE</code>
      * @throws EntityNotFoundException if the entity no longer exists
      *         in the database
      * @throws PessimisticLockException if pessimistic locking fails
@@ -494,7 +486,7 @@
      * will not be synchronized to the database.  Entities which 
      * previously referenced the detached entity will continue to
      * reference it.
-     * @param entity 
+     * @param entity  entity instance
      * @throws IllegalArgumentException if the instance is not an 
      *         entity 
      * @since Java Persistence 2.0
@@ -504,7 +496,7 @@
     /**
      * Check if the instance is a managed entity instance belonging
      * to the current persistence context.
-     * @param entity
+     * @param entity  entity instance
      * @return boolean indicating if entity is in persistence context
      * @throws IllegalArgumentException if not an entity
      */    
@@ -512,7 +504,7 @@
 
     /**
      * Get the current lock mode for the entity instance.
-     * @param entity
+     * @param entity  entity instance
      * @return lock mode
      * @throws TransactionRequiredException if there is no 
      *         transaction
@@ -523,11 +515,11 @@
     public LockModeType getLockMode(Object entity);
 
     /** 
-     * Set an entity manager property. 
-     * If a vendor-specific property is not recognized, it is
+     * Set an entity manager property or hint. 
+     * If a vendor-specific property or hint is not recognized, it is
      * silently ignored. 
-     * @param propertyName 
-     * @param value 
+     * @param propertyName name of property or hint
+     * @param value  value for property or hint
      * @throws IllegalArgumentException if the second argument is 
      *         not valid for the implementation 
      * @since Java Persistence 2.0
@@ -535,25 +527,25 @@
     public void setProperty(String propertyName, Object value);
 
     /**
-     * Get the properties and associated values that are in effect 
+     * Get the properties and hints and associated values that are in effect 
      * for the entity manager. Changing the contents of the map does 
      * not change the configuration in effect.
-     * @return map of properties in effect for entity manager
+     * @return map of properties and hints in effect for entity manager
      * @since Java Persistence 2.0
      */
     public Map<String, Object> getProperties();
 
     /**
-     * Get the names of the properties that are supported for use 
+     * Get the names of the properties and hints that are supported for use 
      * with the entity manager.
      * These correspond to properties and hints that may be passed 
      * to the methods of the <code>EntityManager</code> interface that take a 
      * properties argument or used with the <code>PersistenceContext</code> 
      * annotation. These properties include all standard entity
-     * manager hints and properties as well as vendor-specific ones
-     * supported by the provider. These properties may or may not 
+     * manager properties and hints as well as vendor-specific ones
+     * supported by the provider. These properties and hints may or may not 
      * currently be in effect.
-     * @return property names
+     * @return names of properties and hints
      * @since Java Persistence 2.0
      */
     public Set<String> getSupportedProperties();
@@ -590,7 +582,7 @@
      * @return the new query instance
      * @throws IllegalArgumentException if the query string is found
      *         to be invalid or if the query result is found to
-     *         not be assignable to the specified type.
+     *         not be assignable to the specified type
      * @since Java Persistence 2.0
      */
     public <T> TypedQuery<T> createQuery(String qlString, Class<T> resultClass);
@@ -618,7 +610,7 @@
      * @throws IllegalArgumentException if a query has not been
      *         defined with the given name or if the query string is
      *         found to be invalid or if the query result is found to
-     *         not be assignable to the specified type.
+     *         not be assignable to the specified type
      * @since Java Persistence 2.0
      */
     public <T> TypedQuery<T> createNamedQuery(String name, Class<T> resultClass);
@@ -656,7 +648,7 @@
      * of the active transaction to associate it with the current
      * JTA transaction.
      * @throws TransactionRequiredException if there is
-     *         no transaction.
+     *         no transaction
      */
     public void joinTransaction();
 
@@ -670,7 +662,7 @@
      * class or an interface that it implements.
      * @return an instance of the specified class
      * @throws PersistenceException if the provider does not 
-     *         support the call. 
+     *         support the call 
      * @since Java Persistence 2.0
      */
     public <T> T unwrap(Class<T> cls); 
@@ -678,7 +670,7 @@
     /**
      * Return the underlying provider object for the <code>EntityManager</code>,
      * if available. The result of this method is implementation
-     * specific. The unwrap method is to be preferred for new 
+     * specific. The <code>unwrap</code> method is to be preferred for new 
      * applications.
      * @return underlying provider object for EntityManager
      */
@@ -696,13 +688,13 @@
      * associated with an active transaction, the persistence
      * context remains managed until the transaction completes. 
      * @throws IllegalStateException if the entity manager
-     *         is container-managed.
+     *         is container-managed
      */
     public void close();
 
     /**
      * Determine whether the entity manager is open. 
-     * @return true until the entity manager has been closed.
+     * @return true until the entity manager has been closed
      */
     public boolean isOpen();
 
@@ -712,7 +704,7 @@
      * begin and commit multiple transactions.
      * @return EntityTransaction instance
      * @throws IllegalStateException if invoked on a JTA
-     *         entity manager.
+     *         entity manager
      */
     public EntityTransaction getTransaction();
 
@@ -720,27 +712,27 @@
      * Return the entity manager factory for the entity manager.
      * @return EntityManagerFactory instance
      * @throws IllegalStateException if the entity manager has 
-     *         been closed.
+     *         been closed
      * @since Java Persistence 2.0
      */
     public EntityManagerFactory getEntityManagerFactory();
 
     /**
-     * Return an instance of <code>QueryBuilder</code> for the creation of
+     * Return an instance of <code>CriteriaBuilder</code> for the creation of
      * <code>CriteriaQuery</code> objects.
-     * @return QueryBuilder instance
+     * @return CriteriaBuilder instance
      * @throws IllegalStateException if the entity manager has
-     *         been closed.
+     *         been closed
      * @since Java Persistence 2.0
      */
-    public QueryBuilder getQueryBuilder();
+    public CriteriaBuilder getCriteriaBuilder();
 
     /**
      * Return an instance of <code>Metamodel</code> interface for access to the
      * metamodel of the persistence unit.
      * @return Metamodel instance
      * @throws IllegalStateException if the entity manager has
-     *         been closed.
+     *         been closed
      * @since Java Persistence 2.0
      */
     public Metamodel getMetamodel();
diff --git a/src/javax/persistence/EntityManagerFactory.java b/src/javax/persistence/EntityManagerFactory.java
index 6cd87d4..0f94044 100644
--- a/src/javax/persistence/EntityManagerFactory.java
+++ b/src/javax/persistence/EntityManagerFactory.java
@@ -9,25 +9,16 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

 import java.util.Set;

 import java.util.Map;

 import javax.persistence.metamodel.Metamodel;

-import javax.persistence.criteria.QueryBuilder;

+import javax.persistence.criteria.CriteriaBuilder;

 

 /**

  * Interface used to interact with the entity manager factory

@@ -50,7 +41,7 @@
      * The <code>isOpen</code> method will return true on the returned instance.

      * @return entity manager instance

      * @throws IllegalStateException if the entity manager factory

-     * has been closed.

+     * has been closed

      */

     public EntityManager createEntityManager();

     

@@ -63,27 +54,27 @@
      * @param map properties for entity manager

      * @return entity manager instance

      * @throws IllegalStateException if the entity manager factory

-     * has been closed.

+     * has been closed

      */

     public EntityManager createEntityManager(Map map);

 

     /**

-     * Return an instance of <code>QueryBuilder</code> for the creation of

+     * Return an instance of <code>CriteriaBuilder</code> for the creation of

      * <code>CriteriaQuery</code> objects.

-     * @return QueryBuilder instance

+     * @return CriteriaBuilder instance

      * @throws IllegalStateException if the entity manager factory 

-     * has been closed.

+     * has been closed

      *

      * @since Java Persistence 2.0

      */

-    public QueryBuilder getQueryBuilder();

+    public CriteriaBuilder getCriteriaBuilder();

     

     /**

      * Return an instance of <code>Metamodel</code> interface for access to the

      * metamodel of the persistence unit.

      * @return Metamodel instance

      * @throws IllegalStateException if the entity manager factory

-     * has been closed.

+     * has been closed

      *

      * @since Java Persistence 2.0

      */

@@ -99,12 +90,12 @@
     /**

      * Close the factory, releasing any resources that it holds.

      * After a factory instance has been closed, all methods invoked

-     * on it will throw an <code>IllegalStateException</code>, except

+     * on it will throw the <code>IllegalStateException</code>, except

      * for <code>isOpen</code>, which will return false. Once an

      * <code>EntityManagerFactory</code> has been closed, all its

      * entity managers are considered to be in the closed state.

      * @throws IllegalStateException if the entity manager factory

-     * has been closed.

+     * has been closed

      */

     public void close();

 

@@ -113,20 +104,24 @@
      * for the entity manager factory. Changing the contents of the

      * map does not change the configuration in effect.

      * @return properties

+     * @throws IllegalStateException if the entity manager factory 

+     * has been closed

      *

      * @since Java Persistence 2.0

      */

     public Map<String, Object> getProperties();

 

     /**

-     * Get the names of the properties that are supported for use 

+     * Get the names of the properties and hints that are supported for use 

      * with the entity manager factory.  These correspond to 

-     * properties that may be passed to the methods of the 

+     * properties and hints that may be passed to the methods of the 

      * <code>EntityManagerFactory</code> interface that take a properties 

-     * argument. These include all standard properties as well as 

-     * vendor-specific properties supported by the provider. These 

-     * properties may or may not currently be in effect.

+     * argument. These include all standard properties and hints as well as 

+     * vendor-specific ones supported by the provider. These 

+     * properties and hints may or may not currently be in effect.

      * @return properties and hints

+     * @throws IllegalStateException if the entity manager factory 

+     * has been closed

      *

      * @since Java Persistence 2.0

      */

@@ -137,7 +132,7 @@
      * factory (the "second level cache").

      * @return instance of the <code>Cache</code> interface

      * @throws IllegalStateException if the entity manager factory

-     * has been closed.

+     * has been closed

      *

      * @since Java Persistence 2.0

      */

@@ -148,7 +143,7 @@
      * for the persistence unit.

      * @return <code>PersistenceUnitUtil</code> interface

      * @throws IllegalStateException if the entity manager factory

-     * has been closed.

+     * has been closed

      *

      * @since Java Persistence 2.0

      */

diff --git a/src/javax/persistence/EntityNotFoundException.java b/src/javax/persistence/EntityNotFoundException.java
index 14c9e47..c23cd38 100644
--- a/src/javax/persistence/EntityNotFoundException.java
+++ b/src/javax/persistence/EntityNotFoundException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/EntityResult.java b/src/javax/persistence/EntityResult.java
index 0951b44..823a08f 100644
--- a/src/javax/persistence/EntityResult.java
+++ b/src/javax/persistence/EntityResult.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/EntityTransaction.java b/src/javax/persistence/EntityTransaction.java
index c1aa28d..1082e0e 100644
--- a/src/javax/persistence/EntityTransaction.java
+++ b/src/javax/persistence/EntityTransaction.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -37,23 +28,23 @@
 

      /**

       * Start a resource transaction. 

-      * @throws IllegalStateException if <code>isActive()</code> is true.

+      * @throws IllegalStateException if <code>isActive()</code> is true

       */

      public void begin();

 

      /**

       * Commit the current resource transaction, writing any 

       * unflushed changes to the database.  

-      * @throws IllegalStateException if <code>isActive()</code> is false.

-      * @throws RollbackException if the commit fails.

+      * @throws IllegalStateException if <code>isActive()</code> is false

+      * @throws RollbackException if the commit fails

       */

      public void commit();

 

      /**

       * Roll back the current resource transaction. 

-      * @throws IllegalStateException if <code>isActive()</code> is false.

+      * @throws IllegalStateException if <code>isActive()</code> is false

       * @throws PersistenceException if an unexpected error 

-      *         condition is encountered.

+      *         condition is encountered

       */

      public void rollback();

 

@@ -61,7 +52,7 @@
       * Mark the current resource transaction so that the only 

       * possible outcome of the transaction is for the transaction 

       * to be rolled back. 

-      * @throws IllegalStateException if isActive() is false.

+      * @throws IllegalStateException if <code>isActive()</code> is false

       */

      public void setRollbackOnly();

 

@@ -70,7 +61,7 @@
       * marked for rollback.

       * @return boolean indicating whether the transaction has been

       *         marked for rollback

-      * @throws IllegalStateException if <code>isActive()</code> is false.

+      * @throws IllegalStateException if <code>isActive()</code> is false

       */

      public boolean getRollbackOnly();

 

@@ -79,7 +70,7 @@
       * @return boolean indicating whether transaction is

       *         in progress

       * @throws PersistenceException if an unexpected error 

-      *         condition is encountered.

+      *         condition is encountered

       */

      public boolean isActive();

 }

diff --git a/src/javax/persistence/EnumType.java b/src/javax/persistence/EnumType.java
index dafcd1e..1bce751 100644
--- a/src/javax/persistence/EnumType.java
+++ b/src/javax/persistence/EnumType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/Enumerated.java b/src/javax/persistence/Enumerated.java
index 6bbb529..1350245 100644
--- a/src/javax/persistence/Enumerated.java
+++ b/src/javax/persistence/Enumerated.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/ExcludeDefaultListeners.java b/src/javax/persistence/ExcludeDefaultListeners.java
index 3221bee..35fca1c 100644
--- a/src/javax/persistence/ExcludeDefaultListeners.java
+++ b/src/javax/persistence/ExcludeDefaultListeners.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/ExcludeSuperclassListeners.java b/src/javax/persistence/ExcludeSuperclassListeners.java
index 5de1596..e0d87d8 100644
--- a/src/javax/persistence/ExcludeSuperclassListeners.java
+++ b/src/javax/persistence/ExcludeSuperclassListeners.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/FetchType.java b/src/javax/persistence/FetchType.java
index cd8e674..15140db 100644
--- a/src/javax/persistence/FetchType.java
+++ b/src/javax/persistence/FetchType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/FieldResult.java b/src/javax/persistence/FieldResult.java
index 4e07847..c50ef41 100644
--- a/src/javax/persistence/FieldResult.java
+++ b/src/javax/persistence/FieldResult.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/FlushModeType.java b/src/javax/persistence/FlushModeType.java
index e939ce0..c1bbc90 100644
--- a/src/javax/persistence/FlushModeType.java
+++ b/src/javax/persistence/FlushModeType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/GeneratedValue.java b/src/javax/persistence/GeneratedValue.java
index 103a91a..9432652 100644
--- a/src/javax/persistence/GeneratedValue.java
+++ b/src/javax/persistence/GeneratedValue.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -41,11 +32,11 @@
  * The use of the <code>GeneratedValue</code> annotation is only
  * required to be supported for simple primary keys.  Use of the
  * <code>GeneratedValue</code> annotation is not supported for derived
- * primary keys
+ * primary keys.
  *
  * <pre>
  *
- * Example 1:
+ *     Example 1:
  *
  *     &#064;Id
  *     &#064;GeneratedValue(strategy=SEQUENCE, generator="CUST_SEQ")
diff --git a/src/javax/persistence/GenerationType.java b/src/javax/persistence/GenerationType.java
index e37a8a3..27e3649 100644
--- a/src/javax/persistence/GenerationType.java
+++ b/src/javax/persistence/GenerationType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/Id.java b/src/javax/persistence/Id.java
index 087f216..35ba4bc 100644
--- a/src/javax/persistence/Id.java
+++ b/src/javax/persistence/Id.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/IdClass.java b/src/javax/persistence/IdClass.java
index 940843f..b79d7c2 100644
--- a/src/javax/persistence/IdClass.java
+++ b/src/javax/persistence/IdClass.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/Inheritance.java b/src/javax/persistence/Inheritance.java
index 19e2a7a..cb20dab 100644
--- a/src/javax/persistence/Inheritance.java
+++ b/src/javax/persistence/Inheritance.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/InheritanceType.java b/src/javax/persistence/InheritanceType.java
index 60e070b..4ec2b61 100644
--- a/src/javax/persistence/InheritanceType.java
+++ b/src/javax/persistence/InheritanceType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/JoinColumn.java b/src/javax/persistence/JoinColumn.java
index 0e0c7e1..6cc8792 100644
--- a/src/javax/persistence/JoinColumn.java
+++ b/src/javax/persistence/JoinColumn.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -31,10 +22,10 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to specify a mapped column for joining an entity
- * association or element collection.  If the <code>JoinColumn</code>
- * annotation itself is defaulted, a single join column is assumed and
- * the default values apply.
+ * Specifies a column for joining an entity association or element
+ * collection.  If the <code>JoinColumn</code> annotation itself is
+ * defaulted, a single join column is assumed and the default values
+ * apply.
  *
  * <pre>
  *   Example:
@@ -172,7 +163,7 @@
      * <li> If the join is for a ManyToMany mapping or
      * for a OneToOne or bidirectional ManyToOne/OneToMany mapping
      * using a join table, the name of the join table. 
-     * If the join is for an element collection, the name of the collection table.
+     * <li> If the join is for an element collection, the name of the collection table.
      * </ul>
      */
     String table() default "";
diff --git a/src/javax/persistence/JoinColumns.java b/src/javax/persistence/JoinColumns.java
index a0cc5c0..104c050 100644
--- a/src/javax/persistence/JoinColumns.java
+++ b/src/javax/persistence/JoinColumns.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/JoinTable.java b/src/javax/persistence/JoinTable.java
index 4221532..4f73450 100644
--- a/src/javax/persistence/JoinTable.java
+++ b/src/javax/persistence/JoinTable.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -31,7 +22,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used in the mapping of associations. It is specified on the
+ * Used in the mapping of associations. It is specified on the
  * owning side of an association.  
  *
  * <p> A join table is typically used in the mapping of many-to-many
diff --git a/src/javax/persistence/Lob.java b/src/javax/persistence/Lob.java
index f0f43b4..427e81b 100644
--- a/src/javax/persistence/Lob.java
+++ b/src/javax/persistence/Lob.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/LockModeType.java b/src/javax/persistence/LockModeType.java
index b4be843..b32bb85 100644
--- a/src/javax/persistence/LockModeType.java
+++ b/src/javax/persistence/LockModeType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -28,7 +19,8 @@
  * Lock modes can be specified by means of passing a <code>LockModeType</code>
  * argument to one of the {@link javax.persistence.EntityManager} methods that take locks
  * (<code>lock</code>, <code>find</code>, or <code>refresh</code>) or
- * to the {@link Query#setLockMode Query.setLockMode()} method.
+ * to the {@link Query#setLockMode Query.setLockMode()} or
+ * {@link TypedQuery#setLockMode TypedQuery.setLockMode()} method.
  * 
  * <p> Lock modes can be used to specify either optimistic or pessimistic locks.
  *
@@ -36,7 +28,8 @@
  * LockModeType#OPTIMISTIC LockModeType.OPTIMISTIC} and {@link
  * LockModeType#OPTIMISTIC_FORCE_INCREMENT
  * LockModeType.OPTIMISTIC_FORCE_INCREMENT}.  The lock mode type
- * values {@link LockModeType#READ} and {@link LockModeType#WRITE} are
+ * values {@link LockModeType#READ LockModeType.READ} and 
+ * {@link LockModeType#WRITE LockModeType.WRITE} are
  * synonyms of <code>OPTIMISTIC</code> and
  * <code>OPTIMISTIC_FORCE_INCREMENT</code> respectively.  The latter
  * are to be preferred for new applications.
diff --git a/src/javax/persistence/LockTimeoutException.java b/src/javax/persistence/LockTimeoutException.java
index 5202d93..0e2895f 100644
--- a/src/javax/persistence/LockTimeoutException.java
+++ b/src/javax/persistence/LockTimeoutException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -104,4 +95,3 @@
 }

 

 

-

diff --git a/src/javax/persistence/ManyToMany.java b/src/javax/persistence/ManyToMany.java
index 3854450..5aec1ac 100644
--- a/src/javax/persistence/ManyToMany.java
+++ b/src/javax/persistence/ManyToMany.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/ManyToOne.java b/src/javax/persistence/ManyToOne.java
index e5b876d..cd52b0c 100644
--- a/src/javax/persistence/ManyToOne.java
+++ b/src/javax/persistence/ManyToOne.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/MapKey.java b/src/javax/persistence/MapKey.java
index 029daf1..6bf7b56 100644
--- a/src/javax/persistence/MapKey.java
+++ b/src/javax/persistence/MapKey.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -31,7 +22,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to specify the map key for associations of type 
+ * Specifies the map key for associations of type 
  * {@link java.util.Map java.util.Map} when the map key is itself the primary
  * key or a persistent field or property of the entity that is
  * the value of the map.
@@ -51,7 +42,7 @@
  *    public class Department {
  *        ...
  *        &#064;OneToMany(mappedBy="department")
- *        &#064;MapKey(name="empId")
+ *        &#064;MapKey  // map key is primary key
  *        public Map&#060;Integer, Employee&#062; getEmployees() {... }
  *        ...
  *    }
@@ -59,7 +50,7 @@
  *    &#064;Entity
  *    public class Employee {
  *        ...
- *        &#064;Id Integer getEmpid() { ... }
+ *        &#064;Id Integer getEmpId() { ... }
  *        &#064;ManyToOne
  *        &#064;JoinColumn(name="dept_id")
  *        public Department getDepartment() { ... }
@@ -72,26 +63,20 @@
  *        public class Department {
  *        ...
  *        &#064;OneToMany(mappedBy="department")
- *        &#064;MapKey(name="empPK")
- *        public Map&#060;EmployeePK, Employee&#062; getEmployees() {... }
+ *        &#064;MapKey(name="name")
+ *        public Map&#060;String, Employee&#062; getEmployees() {... }
  *        ...
  *    }
  *
  *    &#064;Entity
  *        public class Employee {
- *        &#064;EmbeddedId public EmployeePK getEmpPK() { ... }
+ *        &#064;Id public Integer getEmpId() { ... }
  *        ...
  *        &#064;ManyToOne
  *        &#064;JoinColumn(name="dept_id")
  *        public Department getDepartment() { ... }
  *        ...
  *    }
- *
- *    &#064;Embeddable
- *    public class EmployeePK {
- *        String name;
- *        Date bday;
- *    }
  * </pre>
  *
  * @since Java Persistence 1.0
diff --git a/src/javax/persistence/MapKeyClass.java b/src/javax/persistence/MapKeyClass.java
index 3961774..a47a519 100644
--- a/src/javax/persistence/MapKeyClass.java
+++ b/src/javax/persistence/MapKeyClass.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -31,12 +22,11 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;

 

 /**

- * Is used to specify the type

- * of the map key for associations of type <code>java.util.Map</code>.

- * The map key can be a basic type, an embeddable

- * class, or an entity. If the map is specified using Java generics,

- * the <code>MapKeyClass</code> annotation and associated type need

- * not be specified; otherwise they must be specified.

+ * Specifies the type of the map key for associations of type

+ * <code>java.util.Map</code>.  The map key can be a basic type, an

+ * embeddable class, or an entity. If the map is specified using Java

+ * generics, the <code>MapKeyClass</code> annotation and associated

+ * type need not be specified; otherwise they must be specified.

  * 

  * <p> The <code>MapKeyClass</code> annotation is used in conjunction

  * with <code>ElementCollection</code> or one of the collection-valued

diff --git a/src/javax/persistence/MapKeyColumn.java b/src/javax/persistence/MapKeyColumn.java
index 7616da5..1e55369 100644
--- a/src/javax/persistence/MapKeyColumn.java
+++ b/src/javax/persistence/MapKeyColumn.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -31,7 +22,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;

 

 /**

- * Is used to specify the mapping for the key column of a map whose

+ * Specifies the mapping for the key column of a map whose

  * map key is a basic type. If the <code>name</code> element is not specified, it

  * defaults to the concatenation of the following: the name of the

  * referencing relationship field or property; "_"; "KEY".

@@ -127,7 +118,9 @@
 

 	/**

 	 * (Optional) The precision for a decimal (exact numeric) column. (Applies

-	 * only if a decimal column is used.)

+	 * only if a decimal column is used.)  

+         *

+         *<p> Default: 0. (The value must be set by the developer.)

 	 */

 	int precision() default 0; // decimal precision

 

diff --git a/src/javax/persistence/MapKeyEnumerated.java b/src/javax/persistence/MapKeyEnumerated.java
index 6d38706..b481da7 100644
--- a/src/javax/persistence/MapKeyEnumerated.java
+++ b/src/javax/persistence/MapKeyEnumerated.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -51,11 +42,11 @@
  *

  *   &#064;Entity public class Employee {

  *       &#064;ManyToMany

- *       public Projects<ProjectStatus, Project> getProjects() {...}

+ *       public Projects&#060;ProjectStatus, Project&#062; getProjects() {...}

  *       

  *       &#064;OneToMany

  *       &#064;MapKeyEnumerated(STRING)

- *       public Map<SalaryRate, Employee> getEmployees() {...}

+ *       public Map&#060;SalaryRate, Employee&#062; getEmployees() {...}

  *       ...

  *   }

  * </pre>

diff --git a/src/javax/persistence/MapKeyJoinColumn.java b/src/javax/persistence/MapKeyJoinColumn.java
index a1daccf..760ba53 100644
--- a/src/javax/persistence/MapKeyJoinColumn.java
+++ b/src/javax/persistence/MapKeyJoinColumn.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/MapKeyJoinColumns.java b/src/javax/persistence/MapKeyJoinColumns.java
index a5ca8ee..73b97b4 100644
--- a/src/javax/persistence/MapKeyJoinColumns.java
+++ b/src/javax/persistence/MapKeyJoinColumns.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -31,7 +22,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;

 

 /**

- * Is used to support composite map keys referencing entities.  

+ * Supports composite map keys that reference entities.  

  * <p> The <code>MapKeyJoinColumns</code> annotation groups

  * <code>MapKeyJoinColumn</code> annotations.  When the

  * <code>MapKeyJoinColumns</code> annotation is used, both the

diff --git a/src/javax/persistence/MapKeyTemporal.java b/src/javax/persistence/MapKeyTemporal.java
index db7b932..0b940a3 100644
--- a/src/javax/persistence/MapKeyTemporal.java
+++ b/src/javax/persistence/MapKeyTemporal.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -61,4 +52,3 @@
     TemporalType value();

 }

 

-

diff --git a/src/javax/persistence/MappedSuperclass.java b/src/javax/persistence/MappedSuperclass.java
index 039ebd2..452c6b4 100644
--- a/src/javax/persistence/MappedSuperclass.java
+++ b/src/javax/persistence/MappedSuperclass.java
@@ -9,23 +9,15 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
 import java.lang.annotation.Target;
 import java.lang.annotation.Retention;
+import java.lang.annotation.Documented;
 import static java.lang.annotation.ElementType.TYPE;
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
@@ -67,7 +59,6 @@
  *        // Inherited empId field mapped to FTEMPLOYEE.EMPID
  *        // Inherited version field mapped to FTEMPLOYEE.VERSION
  *        // Inherited address field mapped to FTEMPLOYEE.ADDR fk
- *        
  *    
  *        // Defaults to FTEMPLOYEE.SALARY
  *        protected Integer salary;
@@ -96,13 +87,13 @@
  *        public Float getHourlyWage() { ... }
  *        public void setHourlyWage(Float wage) { ... }
  *    }
- *
  * </pre>
  *
  * @see AttributeOverride 
  * @see AssociationOverride
  * @since Java Persistence 1.0
  */
+@Documented
 @Target({TYPE})
 @Retention(RUNTIME)
 public @interface MappedSuperclass {
diff --git a/src/javax/persistence/MapsId.java b/src/javax/persistence/MapsId.java
index 30ca6e4..571a119 100644
--- a/src/javax/persistence/MapsId.java
+++ b/src/javax/persistence/MapsId.java
@@ -11,16 +11,6 @@
  * Contributors:

  *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

- *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -32,11 +22,11 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;

 

 /**

- * Is used to designate a <code>ManyToOne</code> or

- * <code>OneToOne</code> relationship attribute that corresponds to an

- * {@link EmbeddedId} primary key, an attribute within an

- * <code>EmbeddedId</code> primary key, or a simple primary key of the

- * parent entity. The <code>value</code> element specifies the

+ * Designates a <code>ManyToOne</code> or

+ * <code>OneToOne</code> relationship attribute that provides the

+ * mapping for an {@link EmbeddedId} primary key, an attribute within

+ * an <code>EmbeddedId</code> primary key, or a simple primary key of

+ * the parent entity. The <code>value</code> element specifies the

  * attribute within a composite key to which the relationship

  * attribute corresponds. If the entity's primary key is of the same

  * Java type as the primary key of the entity referenced by the

@@ -59,14 +49,14 @@
  *    &#064;Embeddable

  *    public class DependentId {

  *       String name;

- *       long empid;   // corresponds to PK type of Employee

+ *       long empid;   // corresponds to primary key type of Employee

  *    }

  *

  *    &#064;Entity

  *    public class Dependent {

  *       &#064;EmbeddedId DependentId id;

  *        ...

- *       &#064;MapsId("empid")  //  maps to empid attribute of embedded id

+ *       &#064;MapsId("empid")  //  maps the empid attribute of embedded id

  *       &#064;ManyToOne Employee emp;

  *    }

  * </pre>

@@ -80,7 +70,7 @@
     /**

      * (Optional) The name of the attribute within the composite key

      * to which the relationship attribute corresponds.  If not

-     * supplied, the relationship is mapped by the entityÂ’s primary

+     * supplied, the relationship maps the entityÂ’s primary

      * key.

      */

    String value() default ""; }

diff --git a/src/javax/persistence/NamedNativeQueries.java b/src/javax/persistence/NamedNativeQueries.java
index 9d8a1d7..f94f670 100644
--- a/src/javax/persistence/NamedNativeQueries.java
+++ b/src/javax/persistence/NamedNativeQueries.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence; 
 
@@ -30,7 +21,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to specify multiple native SQL named queries.  Query names
+ * Used to specify multiple native SQL named queries.  Query names
  * are scoped to the persistence unit.  The <code>NamedNativeQueries</code> 
  * annotation can be applied to an entity or mapped superclass.
  *
diff --git a/src/javax/persistence/NamedNativeQuery.java b/src/javax/persistence/NamedNativeQuery.java
index 76af84e..3c9572d 100644
--- a/src/javax/persistence/NamedNativeQuery.java
+++ b/src/javax/persistence/NamedNativeQuery.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/NamedQueries.java b/src/javax/persistence/NamedQueries.java
index 736fb35..af92b43 100644
--- a/src/javax/persistence/NamedQueries.java
+++ b/src/javax/persistence/NamedQueries.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence; 
 
diff --git a/src/javax/persistence/NamedQuery.java b/src/javax/persistence/NamedQuery.java
index 581fd7a..cda4245 100644
--- a/src/javax/persistence/NamedQuery.java
+++ b/src/javax/persistence/NamedQuery.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -77,7 +68,7 @@
      * (Optional) The lock mode type to use in query execution.  If a <code>lockMode</code>
      * other than <code>LockModeType.NONE</code> is specified, the query must be executed in
      * a transaction.
-     * @since Java Persistence API 2.0
+     * @since Java Persistence 2.0
      */
     LockModeType lockMode() default NONE;
     
diff --git a/src/javax/persistence/NoResultException.java b/src/javax/persistence/NoResultException.java
index 0c738df..92cf61f 100644
--- a/src/javax/persistence/NoResultException.java
+++ b/src/javax/persistence/NoResultException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/NonUniqueResultException.java b/src/javax/persistence/NonUniqueResultException.java
index 6771114..ed0c29f 100644
--- a/src/javax/persistence/NonUniqueResultException.java
+++ b/src/javax/persistence/NonUniqueResultException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -57,4 +48,3 @@
 	}
 }
 
-
diff --git a/src/javax/persistence/OneToMany.java b/src/javax/persistence/OneToMany.java
index e751ee5..67937d9 100644
--- a/src/javax/persistence/OneToMany.java
+++ b/src/javax/persistence/OneToMany.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -114,6 +105,10 @@
      * (Optional) The operations that must be cascaded to 
      * the target of the association.
      * <p> Defaults to no operations being cascaded.
+     *
+     * <p> When the target collection is a {@link java.util.Map
+     * java.util.Map}, the <code>cascade</code> element applies to the
+     * map value.
      */
     CascadeType[] cascade() default {};
 
diff --git a/src/javax/persistence/OneToOne.java b/src/javax/persistence/OneToOne.java
index 4975c00..3d4d8a8 100644
--- a/src/javax/persistence/OneToOne.java
+++ b/src/javax/persistence/OneToOne.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -77,7 +68,7 @@
  *    public class Employee {
  *    	&#064;Id Integer id;
  *    
- *    	&#064;OneToOne &#064;PrimaryKeyJoinColumn
+ *    	&#064;OneToOne &#064;MapsId
  *    	EmployeeInfo info;
  *    	...
  *    }
diff --git a/src/javax/persistence/OptimisticLockException.java b/src/javax/persistence/OptimisticLockException.java
index 98cfb05..cc8c383 100644
--- a/src/javax/persistence/OptimisticLockException.java
+++ b/src/javax/persistence/OptimisticLockException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/OrderBy.java b/src/javax/persistence/OrderBy.java
index 4aa1383..0526677 100644
--- a/src/javax/persistence/OrderBy.java
+++ b/src/javax/persistence/OrderBy.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -88,7 +79,7 @@
  *    public class Student {
  *       ...
  *       &#064;ManyToMany(mappedBy="students")
- *       &#064;OrderBy // PK is assumed
+ *       &#064;OrderBy // ordering by primary key is assumed
  *       public List&#060;Course&#062; getCourses() {...};
  *       ...
  *    }
@@ -113,7 +104,7 @@
  *    }
  *
  *    &#064;Embeddable 
- *    public class ZipCode {
+ *    public class Zipcode {
  *       protected String zip;
  *       protected String plusFour;
  *    }
diff --git a/src/javax/persistence/OrderColumn.java b/src/javax/persistence/OrderColumn.java
index 9419f94..93c93fc 100644
--- a/src/javax/persistence/OrderColumn.java
+++ b/src/javax/persistence/OrderColumn.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -33,9 +24,10 @@
 /**

  * Specifies a column that is used to maintain the persistent order of

  * a list. The persistence provider is responsible for maintaining the

- * order upon retrieval and in the database and for updating the

- * ordering upon flushing to the database to reflect any insertion,

- * deletion, or reordering affecting the list.

+ * order upon retrieval and in the database.  The persistence provider

+ * is responsible for updating the ordering upon flushing to the

+ * database to reflect any insertion, deletion, or reordering

+ * affecting the list.

  *

  * <p> The <code>OrderColumn</code> annotation is specified on a

  * OneToMany or ManyToMany relationship or on an element

@@ -44,11 +36,16 @@
  * to be ordered. The order column is not visible as part of the state

  * of the entity or embeddable class.

  *

- * <p> The {@link OrderBy} annotation

- * should be used for ordering that is visible as persistent state and

- * maintained by the application. The <code>OrderBy</code> annotation is not used

- * when <code>OrderColumn</code> is specified.

+ * <p> The {@link OrderBy} annotation should be used for ordering that

+ * is visible as persistent state and maintained by the

+ * application. The <code>OrderBy</code> annotation is not used when

+ * <code>OrderColumn</code> is specified.

  * 

+ * <p> The order column must be of integral type.  The persistence

+ * provider maintains a contiguous (non-sparse) ordering of the values

+ * of the order column when updating the association or element collection.

+ * The order column value for the first element is 0.

+ *

  * <pre>

  *

  *    Example:

diff --git a/src/javax/persistence/Parameter.java b/src/javax/persistence/Parameter.java
index ce00b27..3ee672a 100644
--- a/src/javax/persistence/Parameter.java
+++ b/src/javax/persistence/Parameter.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -60,7 +51,7 @@
      * @throws IllegalStateException if invoked on a parameter

      *         obtained from a Java persistence query language 

      *         query or native query when the implementation does 

-     *         not support this use.

+     *         not support this use

      */

      Class<T> getParameterType();

 }

diff --git a/src/javax/persistence/Persistence.java b/src/javax/persistence/Persistence.java
index a1e940f..fe74c04 100644
--- a/src/javax/persistence/Persistence.java
+++ b/src/javax/persistence/Persistence.java
@@ -9,41 +9,41 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
- * *   dclarke - EclipseLink implementation of Persistence and PersistenceUtil 
+ *     Oracle committers - EclipseLink implementation of Persistence and PersistenceUtil 
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
-import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
-
-import javax.persistence.spi.LoadState;
+import java.util.HashSet;
 import javax.persistence.spi.PersistenceProvider;
 import javax.persistence.spi.PersistenceProviderResolver;
 import javax.persistence.spi.PersistenceProviderResolverHolder;
+import javax.persistence.spi.LoadState;
 
 /**
- * Bootstrap class that is used to obtain an {@link EntityManagerFactory}.
+ * Bootstrap class that is used to obtain an {@link EntityManagerFactory}
+ * in Java SE environments.  
  * 
+ * <p> The <code>Persistence</code> class is available in a Java EE
+ * container environment as well; however, support for the Java SE
+ * bootstrapping APIs is not required in container environments.
+ * 
+ * <p> The <code>Persistence</code> class is used to obtain a {@link
+ * javax.persistence.PersistenceUtil PersistenceUtil} instance in both
+ * Java EE and Java SE environments.
+ *
  * @since Java Persistence 1.0
  */
 public class Persistence {
     
     /**
-     * Create and return an EntityManagerFactory for the named persistence unit.
+     * Create and return an EntityManagerFactory for the named
+     * persistence unit.
      * 
      * @param persistenceUnitName
      *            the name of the persistence unit
@@ -88,46 +88,44 @@
 
     /**
      * Return the PersistenceUtil instance
-     * 
      * @return PersistenceUtil instance
      * @since Java Persistence 2.0
      */
     public static PersistenceUtil getPersistenceUtil() {
-        return new PersistenceUtilImpl();
+       return new PersistenceUtilImpl();
     }
 
+    
     /**
      * Implementation of PersistenceUtil interface
-     * 
      * @since Java Persistence 2.0
      */
     private static class PersistenceUtilImpl implements PersistenceUtil {
-
         public boolean isLoaded(Object entity, String attributeName) {
             PersistenceProviderResolver resolver = PersistenceProviderResolverHolder.getPersistenceProviderResolver();
+
             List<PersistenceProvider> providers = resolver.getPersistenceProviders();
 
             for (PersistenceProvider provider : providers) {
                 LoadState loadstate = provider.getProviderUtil().isLoadedWithoutReference(entity, attributeName);
-                if (loadstate == LoadState.LOADED) {
+                if(loadstate == LoadState.LOADED) {
                     return true;
                 } else if (loadstate == LoadState.NOT_LOADED) {
                     return false;
                 } // else continue
             }
 
-            // None of the providers could determine the load state try
-            // isLoadedWithReference
+            //None of the providers could determine the load state try isLoadedWithReference
             for (PersistenceProvider provider : providers) {
                 LoadState loadstate = provider.getProviderUtil().isLoadedWithReference(entity, attributeName);
-                if (loadstate == LoadState.LOADED) {
+                if(loadstate == LoadState.LOADED) {
                     return true;
                 } else if (loadstate == LoadState.NOT_LOADED) {
                     return false;
                 } // else continue
             }
 
-            // None of the providers could determine the load state.
+            //None of the providers could determine the load state.
             return true;
         }
 
@@ -138,31 +136,27 @@
 
             for (PersistenceProvider provider : providers) {
                 LoadState loadstate = provider.getProviderUtil().isLoaded(entity);
-                if (loadstate == LoadState.LOADED) {
+                if(loadstate == LoadState.LOADED) {
                     return true;
                 } else if (loadstate == LoadState.NOT_LOADED) {
                     return false;
                 } // else continue
             }
-            // None of the providers could determine the load state
+            //None of the providers could determine the load state
             return true;
         }
     }
 
     /**
-     * This final String is deprecated and should be removed and is only here
-     * for TCK backward compatibility
-     * 
+     * This final String is deprecated and should be removed and is only here for TCK backward compatibility
      * @since Java Persistence 1.0
      * @deprecated
      */
     @Deprecated
     public static final String PERSISTENCE_PROVIDER = "javax.persistence.spi.PeristenceProvider";
-
+    
     /**
-     * This instance variable is deprecated and should be removed and is only
-     * here for TCK backward compatibility
-     * 
+     * This instance variable is deprecated and should be removed and is only here for TCK backward compatibility
      * @since Java Persistence 1.0
      * @deprecated
      */
diff --git a/src/javax/persistence/PersistenceContext.java b/src/javax/persistence/PersistenceContext.java
index f6debb5..de015ce 100644
--- a/src/javax/persistence/PersistenceContext.java
+++ b/src/javax/persistence/PersistenceContext.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PersistenceContextType.java b/src/javax/persistence/PersistenceContextType.java
index 9c84cb8..9826969 100644
--- a/src/javax/persistence/PersistenceContextType.java
+++ b/src/javax/persistence/PersistenceContextType.java
@@ -9,27 +9,16 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
- 
- package javax.persistence;
+package javax.persistence;
 
 /**
  * Specifies whether a transaction-scoped or extended 
  * persistence context is to be used in {@link PersistenceContext}. 
- * If the {@link PersistenceContext#type type} element is not 
- * specified, a transaction-scoped persistence context is used.
+ * If not specified, a transaction-scoped persistence context is used.
  *
  * @since Java Persistence 1.0
  */
diff --git a/src/javax/persistence/PersistenceContexts.java b/src/javax/persistence/PersistenceContexts.java
index bb54e5f..47edbb2 100644
--- a/src/javax/persistence/PersistenceContexts.java
+++ b/src/javax/persistence/PersistenceContexts.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PersistenceException.java b/src/javax/persistence/PersistenceException.java
index 930709c..895d1a2 100644
--- a/src/javax/persistence/PersistenceException.java
+++ b/src/javax/persistence/PersistenceException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -73,4 +64,3 @@
 	}
 }
 
-
diff --git a/src/javax/persistence/PersistenceProperty.java b/src/javax/persistence/PersistenceProperty.java
index 66343f6..694be1d 100644
--- a/src/javax/persistence/PersistenceProperty.java
+++ b/src/javax/persistence/PersistenceProperty.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PersistenceUnit.java b/src/javax/persistence/PersistenceUnit.java
index 8214727..7593cc0 100644
--- a/src/javax/persistence/PersistenceUnit.java
+++ b/src/javax/persistence/PersistenceUnit.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PersistenceUnitUtil.java b/src/javax/persistence/PersistenceUnitUtil.java
index 19606ec..61109a7 100644
--- a/src/javax/persistence/PersistenceUnitUtil.java
+++ b/src/javax/persistence/PersistenceUnitUtil.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -53,23 +44,24 @@
      * load state of an entity passed as a reference.  An entity is

      * considered loaded if all attributes for which

      * <code>FetchType.EAGER</code> has been specified have been

-     * loaded.  The <code>isLoaded(Object, String)</code> method

+     * loaded.  

+     * <p> The <code>isLoaded(Object, String)</code> method

      * should be used to determine the load state of an attribute.

      * Not doing so might lead to unintended loading of state.

      * @param entity   entity instance whose load state is to be determined

-     * @return false if the entity has not been loaded, else true.

+     * @return false if the entity has not been loaded, else true

      */

     public boolean isLoaded(Object entity);

 

     /**

-     *  Returns the id of the entity.

+     *  Return the id of the entity.

      *  A generated id is not guaranteed to be available until after

      *  the database insert has occurred.

      *  Returns null if the entity does not yet have an id.

      *  @param entity  entity instance

      *  @return id of the entity

-     *  @throws IllegalArgumentException if the entity is found not 

-     *          to be an entity.

+     *  @throws IllegalArgumentException if the object is found not 

+     *          to be an entity

      */

     public Object getIdentifier(Object entity);

 } 

diff --git a/src/javax/persistence/PersistenceUnits.java b/src/javax/persistence/PersistenceUnits.java
index b66ee73..8727f99 100644
--- a/src/javax/persistence/PersistenceUnits.java
+++ b/src/javax/persistence/PersistenceUnits.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PersistenceUtil.java b/src/javax/persistence/PersistenceUtil.java
index 3a1fe2c..e695566 100644
--- a/src/javax/persistence/PersistenceUtil.java
+++ b/src/javax/persistence/PersistenceUtil.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -43,7 +34,7 @@
      * @param attributeName name of attribute whose load state is

      *        to be determined

      * @return false if entity's state has not been loaded or

-     *  if the attribute state has not been loaded, else true.

+     *  if the attribute state has not been loaded, else true

      */

     public boolean isLoaded(Object entity, String attributeName);

 

@@ -53,11 +44,11 @@
      * of an entity passed as a reference.  An entity is

      * considered loaded if all attributes for which 

      * <code>FetchType.EAGER</code> has been specified have been loaded.

-     * The <code>isLoaded(Object, String)</code> method should be used to 

+     * <p> The <code>isLoaded(Object, String)</code> method should be used to 

      * determine the load state of an attribute.

      * Not doing so might lead to unintended loading of state.

      * @param entity whose load state is to be determined

-     * @return false if the entity has not been loaded, else true.

+     * @return false if the entity has not been loaded, else true

      */

     public boolean isLoaded(Object entity);

 }

diff --git a/src/javax/persistence/PessimisticLockException.java b/src/javax/persistence/PessimisticLockException.java
index 4d55e55..6aaa5a7 100644
--- a/src/javax/persistence/PessimisticLockException.java
+++ b/src/javax/persistence/PessimisticLockException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -104,4 +95,3 @@
 

 

 

-

diff --git a/src/javax/persistence/PessimisticLockScope.java b/src/javax/persistence/PessimisticLockScope.java
index e10cc1f..08593e5 100644
--- a/src/javax/persistence/PessimisticLockScope.java
+++ b/src/javax/persistence/PessimisticLockScope.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -59,9 +50,15 @@
      * In addition to the behavior for

      * <code>PessimisticLockScope.NORMAL</code>, element collections

      * and relationships owned by the entity that are contained in

-     * join tables will be locked if the <code>javax.persistence.lock.scope</code>

-     * property is specified with a value of

-     * <code>PessimisticLockScope.EXTENDED</code>.

+     * join tables will be locked if the

+     * <code>javax.persistence.lock.scope</code> property is specified

+     * with a value of <code>PessimisticLockScope.EXTENDED</code>.

+     * The state of entities referenced by such relationships will not

+     * be locked (unless those entities are explicitly locked).

+     * Locking such a relationship or element collection generally locks only

+     * the rows in the join table or collection table for that

+     * relationship or collection.  This means that phantoms will be

+     * possible.

      */

     EXTENDED

 }

diff --git a/src/javax/persistence/PostLoad.java b/src/javax/persistence/PostLoad.java
index 7f37ac8..3323a96 100644
--- a/src/javax/persistence/PostLoad.java
+++ b/src/javax/persistence/PostLoad.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PostPersist.java b/src/javax/persistence/PostPersist.java
index c6a7ab6..07e15d7 100644
--- a/src/javax/persistence/PostPersist.java
+++ b/src/javax/persistence/PostPersist.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PostRemove.java b/src/javax/persistence/PostRemove.java
index 285d9f1..7790558 100644
--- a/src/javax/persistence/PostRemove.java
+++ b/src/javax/persistence/PostRemove.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PostUpdate.java b/src/javax/persistence/PostUpdate.java
index 8465679..4c6f02b 100644
--- a/src/javax/persistence/PostUpdate.java
+++ b/src/javax/persistence/PostUpdate.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PrePersist.java b/src/javax/persistence/PrePersist.java
index 418078c..6b12226 100644
--- a/src/javax/persistence/PrePersist.java
+++ b/src/javax/persistence/PrePersist.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PreRemove.java b/src/javax/persistence/PreRemove.java
index 9f99a26..b6e1a0c 100644
--- a/src/javax/persistence/PreRemove.java
+++ b/src/javax/persistence/PreRemove.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PreUpdate.java b/src/javax/persistence/PreUpdate.java
index 23b0cb7..10cd431 100644
--- a/src/javax/persistence/PreUpdate.java
+++ b/src/javax/persistence/PreUpdate.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/PrimaryKeyJoinColumn.java b/src/javax/persistence/PrimaryKeyJoinColumn.java
index 7e5eb0e..e154370 100644
--- a/src/javax/persistence/PrimaryKeyJoinColumn.java
+++ b/src/javax/persistence/PrimaryKeyJoinColumn.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -78,13 +69,13 @@
 public @interface PrimaryKeyJoinColumn {
 
     /** 
-     * The name of the primary key column of the current table.
+     * (Optional) The name of the primary key column of the current table.
      * <p> Defaults to the same name as the primary key column 
      * of the primary table of the superclass (<code>JOINED</code> mapping strategy); the same 
      * name as the primary key column of the primary table 
      * (<code>SecondaryTable</code> mapping); or the same name as the 
      * primary key column for the table for the referencing entity 
-     * (<code>OneToOne</code> mapping)
+     * (<code>OneToOne</code> mapping).
      */
     String name() default "";
 
@@ -96,7 +87,7 @@
      * primary key column of the primary table
      * (<code>SecondaryTable</code> mapping); or the same name as the
      * primary key column for the table for the referencing entity
-     * (<code>OneToOne</code> mapping)
+     * (<code>OneToOne</code> mapping).
      */
     String referencedColumnName() default "";
 
diff --git a/src/javax/persistence/PrimaryKeyJoinColumns.java b/src/javax/persistence/PrimaryKeyJoinColumns.java
index ddddfc7..b080751 100644
--- a/src/javax/persistence/PrimaryKeyJoinColumns.java
+++ b/src/javax/persistence/PrimaryKeyJoinColumns.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -36,7 +27,7 @@
  * It is used to map composite foreign keys.
  *
  * <pre>
- *    Example 1: ValuedCustomer subclass
+ *    Example: ValuedCustomer subclass
  *
  *    &#064;Entity
  *    &#064;Table(name="VCUST")
diff --git a/src/javax/persistence/Query.java b/src/javax/persistence/Query.java
index 0f8bce0..83f66ed 100644
--- a/src/javax/persistence/Query.java
+++ b/src/javax/persistence/Query.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -47,13 +38,17 @@
      * @throws IllegalStateException if called for a Java
      *         Persistence query language UPDATE or DELETE statement
      * @throws QueryTimeoutException if the query execution exceeds
-     *         the query timeout value set
+     *         the query timeout value set and only the statement is
+     *         rolled back
      * @throws TransactionRequiredException if a lock mode has
      *         been set and there is no transaction
      * @throws PessimisticLockException if pessimistic locking
      *         fails and the transaction is rolled back
      * @throws LockTimeoutException if pessimistic locking
      *         fails and only the statement is rolled back
+     * @throws PersistenceException if the query execution exceeds 
+     *         the query timeout value set and the transaction 
+     *         is rolled back 
      */
     List getResultList();
 
@@ -65,13 +60,17 @@
      * @throws IllegalStateException if called for a Java
      *         Persistence query language UPDATE or DELETE statement
      * @throws QueryTimeoutException if the query execution exceeds
-     *         the query timeout value set
+     *         the query timeout value set and only the statement is
+     *         rolled back
      * @throws TransactionRequiredException if a lock mode has
      *         been set and there is no transaction
      * @throws PessimisticLockException if pessimistic locking
      *         fails and the transaction is rolled back
      * @throws LockTimeoutException if pessimistic locking
      *         fails and only the statement is rolled back
+     * @throws PersistenceException if the query execution exceeds 
+     *         the query timeout value set and the transaction 
+     *         is rolled back 
      */
     Object getSingleResult();
 
@@ -84,13 +83,17 @@
      * @throws TransactionRequiredException if there is 
      *         no transaction
      * @throws QueryTimeoutException if the statement execution 
-     *         exceeds the query timeout value set
+     *         exceeds the query timeout value set and only 
+     *         the statement is rolled back
+     * @throws PersistenceException if the query execution exceeds 
+     *         the query timeout value set and the transaction 
+     *         is rolled back 
      */
     int executeUpdate();
 
     /**
      * Set the maximum number of results to retrieve.
-     * @param maxResult
+     * @param maxResult  maximum number of results to retrieve
      * @return the same query instance
      * @throws IllegalArgumentException if the argument is negative
      */
@@ -124,13 +127,16 @@
     int getFirstResult();
 
     /**
-     * Set a query hint. If a vendor-specific hint is not 
-     * recognized, it is silently ignored.  Portable applications 
-     * should not rely on the standard timeout hint. Depending on 
-     * the database in use and the locking mechanisms used by the 
-     * provider, the hint may or may not be observed.
-     * @param hintName
-     * @param value
+     * Set a query property or hint. The hints elements may be used 
+     * to specify query properties and hints. Properties defined by
+     * this specification must be observed by the provider. 
+     * Vendor-specific hints that are not recognized by a provider
+     * must be silently ignored. Portable applications should not
+     * rely on the standard timeout hint. Depending on the database
+     * in use and the locking mechanisms used by the provider,
+     * this hint may or may not be observed.
+     * @param hintName  name of the property or hint
+     * @param value  value for the property or hint
      * @return the same query instance
      * @throws IllegalArgumentException if the second argument is not
      *         valid for the implementation
@@ -138,22 +144,23 @@
     Query setHint(String hintName, Object value);
 
     /**
-     * Get the hints and associated values that are in effect for 
-     * the query instance.
-     * @return query hints
+     * Get the properties and hints and associated values that are 
+     * in effect for the query instance.
+     * @return query properties and hints
      * @since Java Persistence 2.0
      */
     Map<String, Object> getHints();
 
     /**
-     * Get the names of the hints that are supported for query 
-     * objects. These hints correspond to hints that may be passed 
-     * to the methods of the <code>Query</code> interface that take hints as 
-     * arguments or used with the <code>NamedQuery</code> and <code>NamedNativeQuery</code>
-     * annotations. These include all standard query hints as well as
-     * vendor-specific hints supported by the provider. These hints
-     * may or may not currently be in effect.
-     * @return hints
+     * Get the names of the properties and hints that are supported for query 
+     * objects. These correspond to properties and hints that may be passed 
+     * to the methods of the <code>Query</code> interface that take 
+     * properties or hints as arguments or used with the 
+     * <code>NamedQuery</code> and <code>NamedNativeQuery</code>
+     * annotations. These include all standard query properties and
+     * hints as well as vendor-specific ones supported by the provider. These
+     * properties and hints may or may not currently be in effect.
+     * @return supported properties and hints
      * @since Java Persistence 2.0
      */
     Set<String> getSupportedHints();
@@ -173,8 +180,8 @@
     /**
      * Bind an instance of <code>java.util.Calendar</code> to a <code>Parameter</code> object.
      * @param param parameter object
-     * @param value
-     * @param temporalType
+     * @param value  parameter value
+     * @param temporalType  temporal type
      * @return the same query instance
      * @throws IllegalArgumentException if the parameter does not
      *         correspond to a parameter of the query
@@ -186,8 +193,8 @@
     /**
      * Bind an instance of <code>java.util.Date</code> to a <code>Parameter</code> object.
      * @param param parameter object
-     * @param value
-     * @param temporalType
+     * @param value  parameter value
+     * @param temporalType  temporal type
      * @return the same query instance
      * @throws IllegalArgumentException if the parameter does not
      *         correspond to a parameter of the query
@@ -198,8 +205,8 @@
 
     /**
      * Bind an argument to a named parameter.
-     * @param name  the parameter name
-     * @param value
+     * @param name  parameter name
+     * @param value  parameter value
      * @return the same query instance
      * @throws IllegalArgumentException if the parameter name does 
      *         not correspond to a parameter of the query or if
@@ -209,9 +216,9 @@
 
     /**
      * Bind an instance of <code>java.util.Calendar</code> to a named parameter.
-     * @param name  the parameter name
-     * @param value
-     * @param temporalType
+     * @param name  parameter name
+     * @param value  parameter value
+     * @param temporalType  temporal type
      * @return the same query instance
      * @throws IllegalArgumentException if the parameter name does 
      *         not correspond to a parameter of the query or if
@@ -222,9 +229,9 @@
 
     /**
      * Bind an instance of <code>java.util.Date</code> to a named parameter.
-     * @param name  the parameter name
-     * @param value
-     * @param temporalType
+     * @param name  parameter name
+     * @param value  parameter value
+     * @param temporalType  temporal type
      * @return the same query instance
      * @throws IllegalArgumentException if the parameter name does 
      *         not correspond to a parameter of the query or if
@@ -235,8 +242,8 @@
 
     /**
      * Bind an argument to a positional parameter.
-     * @param position
-     * @param value
+     * @param position  position
+     * @param value  parameter value
      * @return the same query instance
      * @throws IllegalArgumentException if position does not
      *         correspond to a positional parameter of the
@@ -247,9 +254,9 @@
     /**
      * Bind an instance of <code>java.util.Calendar</code> to a positional
      * parameter.
-     * @param position
-     * @param value
-     * @param temporalType
+     * @param position  position
+     * @param value  parameter value
+     * @param temporalType  temporal type
      * @return the same query instance
      * @throws IllegalArgumentException if position does not
      *         correspond to a positional parameter of the query or
@@ -260,9 +267,9 @@
 
     /**
      * Bind an instance of <code>java.util.Date</code> to a positional parameter.
-     * @param position
-     * @param value
-     * @param temporalType
+     * @param position  position
+     * @param value  parameter value
+     * @param temporalType  temporal type
      * @return the same query instance
      * @throws IllegalArgumentException if position does not
      *         correspond to a positional parameter of the query or
@@ -290,7 +297,7 @@
      * parameter of the given name.
      * This method is not required to be supported for native
      * queries.
-     * @param name 
+     * @param name  parameter name
      * @return parameter object
      * @throws IllegalArgumentException if the parameter of the
      *         specified name does not exist
@@ -306,8 +313,8 @@
      * parameter of the given name and type.
      * This method is required to be supported for criteria queries
      * only.
-     * @param name 
-     * @param type
+     * @param name  parameter name
+     * @param type  type
      * @return parameter object
      * @throws IllegalArgumentException if the parameter of the
      *         specified name does not exist or is not assignable
@@ -324,7 +331,7 @@
      * positional parameter with the given position.
      * This method is not required to be supported for native
      * queries.
-     * @param position
+     * @param position  position
      * @return parameter object
      * @throws IllegalArgumentException if the parameter with the
      *         specified position does not exist
@@ -339,8 +346,8 @@
      * Get the parameter object corresponding to the declared
      * positional parameter with the given position and type.
      * This method is not required to be supported by the provider.
-     * @param position 
-     * @param type
+     * @param position  position
+     * @param type  type
      * @return parameter object
      * @throws IllegalArgumentException if the parameter with the
      *         specified position does not exist or is not assignable
@@ -375,7 +382,7 @@
 
     /**
      * Return the value bound to the named parameter.
-     * @param name
+     * @param name  parameter name
      * @return parameter value
      * @throws IllegalStateException if the parameter has not been
      *         been bound
@@ -387,7 +394,7 @@
 
     /**
      * Return the value bound to the positional parameter.
-     * @param position
+     * @param position  position
      * @return parameter value
      * @throws IllegalStateException if the parameter has not been
      *         been bound
@@ -401,7 +408,7 @@
      * Set the flush mode type to be used for the query execution.
      * The flush mode type applies to the query regardless of the
      * flush mode type in use for the entity manager.
-     * @param flushMode
+     * @param flushMode  flush mode
      * @return the same query instance
      */
     Query setFlushMode(FlushModeType flushMode);
@@ -417,7 +424,7 @@
 
     /**
      * Set the lock mode type to be used for the query execution.
-     * @param lockMode
+     * @param lockMode  lock mode
      * @return the same query instance
      * @throws IllegalStateException if the query is found not to be 
      *         a Java Persistence query language SELECT query
@@ -447,7 +454,7 @@
      *             implements.
      * @return an instance of the specified class
      * @throws PersistenceException if the provider does not support
-     *         the call.
+     *         the call
      * @since Java Persistence 2.0
      */
     <T> T unwrap(Class<T> cls);
diff --git a/src/javax/persistence/QueryHint.java b/src/javax/persistence/QueryHint.java
index 1461b83..7708918 100644
--- a/src/javax/persistence/QueryHint.java
+++ b/src/javax/persistence/QueryHint.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -29,7 +20,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Used to supply a query hint to the {@link NamedQuery} or {@link
+ * Used to supply a query property or hint to the {@link NamedQuery} or {@link
  * NamedNativeQuery} annotation.
  *
  * <p> Vendor-specific hints that are not recognized by a provider are ignored.
diff --git a/src/javax/persistence/QueryTimeoutException.java b/src/javax/persistence/QueryTimeoutException.java
index a610141..a1f8e5d 100644
--- a/src/javax/persistence/QueryTimeoutException.java
+++ b/src/javax/persistence/QueryTimeoutException.java
@@ -9,23 +9,15 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

 /**

- * Thrown by the persistence provider when a query times out.

+ * Thrown by the persistence provider when a query times out

+ * and only the statement is rolled back.

  * The current transaction, if one is active, will be not

  * be marked for rollback.

  *

@@ -102,3 +94,5 @@
         return this.query;

     }

 }

+

+

diff --git a/src/javax/persistence/RollbackException.java b/src/javax/persistence/RollbackException.java
index a15f841..bcbae1d 100644
--- a/src/javax/persistence/RollbackException.java
+++ b/src/javax/persistence/RollbackException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 /**
@@ -71,4 +62,3 @@
 }
 
 
-
diff --git a/src/javax/persistence/SecondaryTable.java b/src/javax/persistence/SecondaryTable.java
index a540633..3a2adfc 100644
--- a/src/javax/persistence/SecondaryTable.java
+++ b/src/javax/persistence/SecondaryTable.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/SecondaryTables.java b/src/javax/persistence/SecondaryTables.java
index c195bcb..453240a 100644
--- a/src/javax/persistence/SecondaryTables.java
+++ b/src/javax/persistence/SecondaryTables.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -30,7 +21,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to specify multiple secondary tables for an entity.
+ * Specifies multiple secondary tables for an entity.
  *
  * <pre>
  *    Example 1: Multiple secondary tables assuming primary key columns are named the same in all tables.
@@ -43,6 +34,7 @@
  *    })
  *    public class Employee { ... }
  *    
+ *
  *    Example 2: Multiple secondary tables with differently named primary key columns. 
  *
  *    &#064;Entity
diff --git a/src/javax/persistence/SequenceGenerator.java b/src/javax/persistence/SequenceGenerator.java
index 5a75d58..62f381c 100644
--- a/src/javax/persistence/SequenceGenerator.java
+++ b/src/javax/persistence/SequenceGenerator.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/SharedCacheMode.java b/src/javax/persistence/SharedCacheMode.java
index 177efb9..79ff377 100644
--- a/src/javax/persistence/SharedCacheMode.java
+++ b/src/javax/persistence/SharedCacheMode.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/SqlResultSetMapping.java b/src/javax/persistence/SqlResultSetMapping.java
index 63abc95..1dbf87b 100644
--- a/src/javax/persistence/SqlResultSetMapping.java
+++ b/src/javax/persistence/SqlResultSetMapping.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -30,7 +21,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /** 
- * Is used to specify the mapping of the result of a native SQL query.
+ * Specifies the mapping of the result of a native SQL query.
  *
  * <pre>
  *    Example:
diff --git a/src/javax/persistence/SqlResultSetMappings.java b/src/javax/persistence/SqlResultSetMappings.java
index 2f97bf2..2d5c56b 100644
--- a/src/javax/persistence/SqlResultSetMappings.java
+++ b/src/javax/persistence/SqlResultSetMappings.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -30,7 +21,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to define one or more {@link SqlResultSetMapping}.
+ * Is used to define one or more {@link SqlResultSetMapping} annotations.
  *
  * @since Java Persistence 1.0
  */
diff --git a/src/javax/persistence/Table.java b/src/javax/persistence/Table.java
index 9309eaf..45e8963 100644
--- a/src/javax/persistence/Table.java
+++ b/src/javax/persistence/Table.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/TableGenerator.java b/src/javax/persistence/TableGenerator.java
index a6d7b31..a3d8b9e 100644
--- a/src/javax/persistence/TableGenerator.java
+++ b/src/javax/persistence/TableGenerator.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -53,7 +44,7 @@
  *            allocationSize=1)
  *        &#064;Id
  *        &#064;GeneratedValue(strategy=TABLE, generator="empGen")
- *        public int id;
+ *        int id;
  *        ...
  *    }
  *    
@@ -69,7 +60,7 @@
  *            pkColumnValue="ADDR_ID")
  *        &#064;Id
  *        &#064;GeneratedValue(strategy=TABLE, generator="addressGen")
- *        public int id;
+ *        int id;
  *        ...
  *    }
  * </pre>
diff --git a/src/javax/persistence/Temporal.java b/src/javax/persistence/Temporal.java
index 55ba443..153ff31 100644
--- a/src/javax/persistence/Temporal.java
+++ b/src/javax/persistence/Temporal.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -32,8 +23,8 @@
 
 /**
  * This annotation must be specified for persistent fields 
- * or properties of type {@link java.util.Date} and {@link 
- * java.util.Calendar}. It may only be specified for fields 
+ * or properties of type <code>java.util.Date</code> and 
+ * <code>java.util.Calendar</code>. It may only be specified for fields 
  * or properties of these types.
  * 
  * <p> The <code>Temporal</code> annotation may be used in 
diff --git a/src/javax/persistence/TemporalType.java b/src/javax/persistence/TemporalType.java
index daa2ed1..0c54caf 100644
--- a/src/javax/persistence/TemporalType.java
+++ b/src/javax/persistence/TemporalType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/TransactionRequiredException.java b/src/javax/persistence/TransactionRequiredException.java
index 4190822..359451c 100644
--- a/src/javax/persistence/TransactionRequiredException.java
+++ b/src/javax/persistence/TransactionRequiredException.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/Transient.java b/src/javax/persistence/Transient.java
index 224428f..2c575fe 100644
--- a/src/javax/persistence/Transient.java
+++ b/src/javax/persistence/Transient.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/Tuple.java b/src/javax/persistence/Tuple.java
index 2fc6df4..3c484d5 100644
--- a/src/javax/persistence/Tuple.java
+++ b/src/javax/persistence/Tuple.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/TupleElement.java b/src/javax/persistence/TupleElement.java
index dea8fd6..dfb4451 100644
--- a/src/javax/persistence/TupleElement.java
+++ b/src/javax/persistence/TupleElement.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

diff --git a/src/javax/persistence/TypedQuery.java b/src/javax/persistence/TypedQuery.java
index 4a98a58..b08d8fd 100644
--- a/src/javax/persistence/TypedQuery.java
+++ b/src/javax/persistence/TypedQuery.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -46,13 +37,17 @@
      * @throws IllegalStateException if called for a Java

      *         Persistence query language UPDATE or DELETE statement

      * @throws QueryTimeoutException if the query execution exceeds

-     *         the query timeout value set

+     *         the query timeout value set and only the statement is

+     *         rolled back

      * @throws TransactionRequiredException if a lock mode has

      *         been set and there is no transaction

      * @throws PessimisticLockException if pessimistic locking

      *         fails and the transaction is rolled back

      * @throws LockTimeoutException if pessimistic locking

      *         fails and only the statement is rolled back

+     * @throws PersistenceException if the query execution exceeds 

+     *         the query timeout value set and the transaction 

+     *         is rolled back 

      */

     List<X> getResultList();

 

@@ -64,19 +59,23 @@
      * @throws IllegalStateException if called for a Java

      *         Persistence query language UPDATE or DELETE statement

      * @throws QueryTimeoutException if the query execution exceeds

-     *         the query timeout value set

+     *         the query timeout value set and only the statement is

+     *         rolled back

      * @throws TransactionRequiredException if a lock mode has

      *         been set and there is no transaction

      * @throws PessimisticLockException if pessimistic locking

      *         fails and the transaction is rolled back

      * @throws LockTimeoutException if pessimistic locking

      *         fails and only the statement is rolled back

+     * @throws PersistenceException if the query execution exceeds 

+     *         the query timeout value set and the transaction 

+     *         is rolled back 

      */

     X getSingleResult();

 

     /**

      * Set the maximum number of results to retrieve.

-     * @param maxResult

+     * @param maxResult  maximum number of results to retrieve

      * @return the same query instance

      * @throws IllegalArgumentException if the argument is negative

      */

@@ -92,15 +91,16 @@
     TypedQuery<X> setFirstResult(int startPosition);

 

     /**

-     * Set a query hint.

-     * If a vendor-specific hint is not recognized, it is silently

-     * ignored.  

-     * Portable applications should not rely on the standard timeout

-     * hint. Depending on the database in use and the locking

-     * mechanisms used by the provider, the hint may or may not

-     * be observed.

-     * @param hintName

-     * @param value

+     * Set a query property or hint. The hints elements may be used 

+     * to specify query properties and hints. Properties defined by

+     * this specification must be observed by the provider. 

+     * Vendor-specific hints that are not recognized by a provider

+     * must be silently ignored. Portable applications should not

+     * rely on the standard timeout hint. Depending on the database

+     * in use and the locking mechanisms used by the provider,

+     * this hint may or may not be observed.

+     * @param hintName  name of property or hint

+     * @param value  value for the property or hint

      * @return the same query instance

      * @throws IllegalArgumentException if the second argument is not

      *         valid for the implementation

@@ -121,8 +121,8 @@
     /**

      * Bind an instance of <code>java.util.Calendar</code> to a <code>Parameter</code> object.

      * @param param  parameter object

-     * @param value

-     * @param temporalType

+     * @param value  parameter value

+     * @param temporalType  temporal type

      * @return the same query instance

      * @throws IllegalArgumentException if the parameter does not

      *         correspond to a parameter of the query

@@ -134,8 +134,8 @@
     /**

      * Bind an instance of <code>java.util.Date</code> to a <code>Parameter</code> object.

      * @param param  parameter object

-     * @param value

-     * @param temporalType

+     * @param value  parameter value

+     * @param temporalType  temporal type

      * @return the same query instance

      * @throws IllegalArgumentException if the parameter does not

      *         correspond to a parameter of the query

@@ -145,8 +145,8 @@
 

     /**

      * Bind an argument to a named parameter.

-     * @param name  the parameter name

-     * @param value

+     * @param name  parameter name

+     * @param value  parameter value

      * @return the same query instance

      * @throws IllegalArgumentException if the parameter name does 

      *         not correspond to a parameter of the query or if

@@ -156,9 +156,9 @@
 

     /**

      * Bind an instance of <code>java.util.Calendar</code> to a named parameter.

-     * @param name  the parameter name

-     * @param value

-     * @param temporalType

+     * @param name  parameter name

+     * @param value  parameter value

+     * @param temporalType  temporal type

      * @return the same query instance

      * @throws IllegalArgumentException if the parameter name does

      *         not correspond to a parameter of the query or if 

@@ -169,9 +169,9 @@
 

     /**

      * Bind an instance of <code>java.util.Date</code> to a named parameter.

-     * @param name   the parameter name

-     * @param value

-     * @param temporalType

+     * @param name   parameter name

+     * @param value  parameter value

+     * @param temporalType  temporal type

      * @return the same query instance

      * @throws IllegalArgumentException if the parameter name does

      *         not correspond to a parameter of the query or if 

@@ -182,8 +182,8 @@
 

     /**

      * Bind an argument to a positional parameter.

-     * @param position

-     * @param value

+     * @param position  position

+     * @param value  parameter value

      * @return the same query instance

      * @throws IllegalArgumentException if position does not

      *         correspond to a positional parameter of the

@@ -194,9 +194,9 @@
     /**

      * Bind an instance of <code>java.util.Calendar</code> to a positional

      * parameter.

-     * @param position

-     * @param value

-     * @param temporalType

+     * @param position  position

+     * @param value  parameter value

+     * @param temporalType  temporal type

      * @return the same query instance

      * @throws IllegalArgumentException if position does not

      *         correspond to a positional parameter of the query

@@ -207,9 +207,9 @@
 

     /**

      * Bind an instance of <code>java.util.Date</code> to a positional parameter.

-     * @param position

-     * @param value

-     * @param temporalType

+     * @param position  position

+     * @param value  parameter value

+     * @param temporalType  temporal type

      * @return the same query instance

      * @throws IllegalArgumentException if position does not

      *         correspond to a positional parameter of the query

@@ -222,14 +222,14 @@
       * Set the flush mode type to be used for the query execution.

       * The flush mode type applies to the query regardless of the

       * flush mode type in use for the entity manager.

-      * @param flushMode

+      * @param flushMode  flush mode

       * @return the same query instance

       */

      TypedQuery<X> setFlushMode(FlushModeType flushMode);

 

      /**

       * Set the lock mode type to be used for the query execution.

-      * @param lockMode

+      * @param lockMode  lock mode

       * @return the same query instance

       * @throws IllegalStateException if the query is found not to 

       *         be a Java Persistence query language SELECT query

diff --git a/src/javax/persistence/UniqueConstraint.java b/src/javax/persistence/UniqueConstraint.java
index 029ef56..b3ec805 100644
--- a/src/javax/persistence/UniqueConstraint.java
+++ b/src/javax/persistence/UniqueConstraint.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
@@ -29,7 +20,7 @@
 import static java.lang.annotation.RetentionPolicy.RUNTIME;
 
 /**
- * Is used to specify that a unique constraint is to be included in
+ * Specifies that a unique constraint is to be included in
  * the generated DDL for a primary or secondary table.
  *
  * <pre>
diff --git a/src/javax/persistence/ValidationMode.java b/src/javax/persistence/ValidationMode.java
index 4f52233..bdef0fb 100644
--- a/src/javax/persistence/ValidationMode.java
+++ b/src/javax/persistence/ValidationMode.java
@@ -9,42 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

- ******************************************************************************/

-/*******************************************************************************

- * Copyright (c) 2008, 2009 Sun Microsystems. 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.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

- *     Specification available from http://jcp.org/en/jsr/detail?id=317

- *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence;

 

@@ -57,7 +24,7 @@
 public enum ValidationMode {

    

     /**

-     * If a bean Validation provider is present in the environment,

+     * If a Bean Validation provider is present in the environment,

      * the persistence provider must perform the automatic validation

      * of entities.  If no Bean Validation provider is present in the

      * environment, no lifecycle event validation takes place.

diff --git a/src/javax/persistence/Version.java b/src/javax/persistence/Version.java
index ca68a79..738ff90 100644
--- a/src/javax/persistence/Version.java
+++ b/src/javax/persistence/Version.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence;
 
diff --git a/src/javax/persistence/criteria/AbstractQuery.java b/src/javax/persistence/criteria/AbstractQuery.java
index a4ea02a..c3d5e7a 100644
--- a/src/javax/persistence/criteria/AbstractQuery.java
+++ b/src/javax/persistence/criteria/AbstractQuery.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/CollectionJoin.java b/src/javax/persistence/criteria/CollectionJoin.java
index d6bb8b5..84ab866 100644
--- a/src/javax/persistence/criteria/CollectionJoin.java
+++ b/src/javax/persistence/criteria/CollectionJoin.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/CompoundSelection.java b/src/javax/persistence/criteria/CompoundSelection.java
index 9c84227..3a5b626 100644
--- a/src/javax/persistence/criteria/CompoundSelection.java
+++ b/src/javax/persistence/criteria/CompoundSelection.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence.criteria;
 
diff --git a/src/javax/persistence/criteria/CriteriaQuery.java b/src/javax/persistence/criteria/CriteriaQuery.java
index b906769..e02f761 100644
--- a/src/javax/persistence/criteria/CriteriaQuery.java
+++ b/src/javax/persistence/criteria/CriteriaQuery.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -31,7 +22,7 @@
  * The <code>CriteriaQuery</code> interface defines functionality that is specific 

  * to top-level queries.

  *

- * @param <T>  the type of the result

+ * @param <T>  the type of the defined result

  *

  * @since Java Persistence 2.0

  */

@@ -44,14 +35,16 @@
      * <p> Note: Applications using the string-based API may need to

      * specify the type of the select item when it results from

      * a get or join operation and the query result type is 

-     * specified. For example:

+     * specified. 

      *

      * <pre>

-     *     CriteriaQuery&#060;String&#062; q = qb.createQuery(String.class);

+     *     For example:

+     *

+     *     CriteriaQuery&#060;String&#062; q = cb.createQuery(String.class);

      *     Root&#060;Order&#062; order = q.from(Order.class);

      *     q.select(order.get("shippingAddress").&#060;String&#062;get("state"));

      * 

-     *     CriteriaQuery&#060;Product&#062; q2 = qb.createQuery(Product.class);

+     *     CriteriaQuery&#060;Product&#062; q2 = cb.createQuery(Product.class);

      *     q2.select(q2.from(Order.class)

      *                 .join("items")

      *                 .&#060;Item,Product&#062;join("product"));

@@ -77,15 +70,18 @@
      * <p> An argument to the multiselect method must not be a tuple-

      * or array-valued compound selection item. 

      *

-     * <p>The semantics of this method are as follows:

-     * <ul>

-     * <li> If the type of the criteria query is <code>CriteriaQuery&#060;Tuple&#062;</code>

-     * (i.e., a criteria query object created by either the 

-     * <code>createTupleQuery</code> method or by passing a <code>Tuple</code> class argument 

-     * to the <code>createQuery</code> method), a <code>Tuple</code> object corresponding to 

-     * the arguments of the <code>multiselect</code> method will be instantiated 

-     * and returned for each row that results from the query 

-     * execution.

+     * <p>The semantics of this method are as follows: 

+     * <ul> 

+     * <li> 

+     * If the type of the criteria query is

+     * <code>CriteriaQuery&#060;Tuple&#062;</code> (i.e., a criteria

+     * query object created by either the

+     * <code>createTupleQuery</code> method or by passing a

+     * <code>Tuple</code> class argument to the

+     * <code>createQuery</code> method), a <code>Tuple</code> object

+     * corresponding to the arguments of the <code>multiselect</code>

+     * method, in the specified order, will be instantiated and

+     * returned for each row that results from the query execution.

      *

      * <li> If the type of the criteria query is <code>CriteriaQuery&#060;X&#062;</code> for

      * some user-defined class X (i.e., a criteria query object

@@ -97,7 +93,8 @@
      * <li> If the type of the criteria query is <code>CriteriaQuery&#060;X[]&#062;</code> for

      * some class X, an instance of type X[] will be returned for 

      * each row.   The elements of the array will correspond to the 

-     * arguments of the <code>multiselect</code> method.  

+     * arguments of the <code>multiselect</code> method, in the

+     * specified order.  

      *

      * <li> If the type of the criteria query is <code>CriteriaQuery&#060;Object&#062;</code>

      * or if the criteria query was created without specifying a 

@@ -110,7 +107,8 @@
      * type, and more than one argument is passed to the <code>multiselect</code>

      * method, an instance of type <code>Object[]</code> will be instantiated 

      * and returned for each row.  The elements of the array will 

-     * correspond to the arguments to the <code> multiselect</code>  method.

+     * correspond to the arguments to the <code> multiselect</code>  method,

+     * in the specified order.

      * </ul>

      *

      * @param selections  selection items corresponding to the

@@ -140,9 +138,9 @@
      * (i.e., a criteria query object created by either the 

      * <code>createTupleQuery</code> method or by passing a <code>Tuple</code> class argument 

      * to the <code>createQuery</code> method), a <code>Tuple</code> object corresponding to 

-     * the elements of the list passed to the <code>multiselect</code> method 

-     * will be instantiated and returned for each row that results 

-     * from the query execution.

+     * the elements of the list passed to the <code>multiselect</code> method, 

+     * in the specified order, will be instantiated and returned for each 

+     * row that results from the query execution.

      *

      * <li> If the type of the criteria query is <code>CriteriaQuery&#060;X&#062;</code> for

      * some user-defined class X (i.e., a criteria query object

@@ -154,7 +152,8 @@
      * <li> If the type of the criteria query is <code>CriteriaQuery&#060;X[]&#062;</code> for

      * some class X, an instance of type X[] will be returned for 

      * each row.   The elements of the array will correspond to the 

-     * elements of the list passed to the <code>multiselect</code> method.  

+     * elements of the list passed to the <code>multiselect</code> method,

+     * in the specified order.  

      *

      * <li> If the type of the criteria query is <code>CriteriaQuery&#060;Object&#062;</code>

      * or if the criteria query was created without specifying a 

@@ -168,7 +167,7 @@
      * more than one element, an instance of type <code>Object[]</code> will be 

      * instantiated and returned for each row.  The elements of the 

      * array will correspond to the elements of the list passed to

-     * the <code>multiselect</code> method.

+     * the <code>multiselect</code> method, in the specified order.

      * </ul>

      *

      * @param selectionList  list of selection items corresponding 

diff --git a/src/javax/persistence/criteria/Expression.java b/src/javax/persistence/criteria/Expression.java
index 1137d24..8ce4d15 100644
--- a/src/javax/persistence/criteria/Expression.java
+++ b/src/javax/persistence/criteria/Expression.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -82,7 +73,7 @@
     Predicate in(Expression<Collection<?>> values);

 

     /**

-     * Perform a typecast upon the expression, returning new

+     * Perform a typecast upon the expression, returning a new

      * expression object.

      * This method does not cause type conversion:

      * the runtime type is not changed.

diff --git a/src/javax/persistence/criteria/Fetch.java b/src/javax/persistence/criteria/Fetch.java
index fec9883..81b53b5 100644
--- a/src/javax/persistence/criteria/Fetch.java
+++ b/src/javax/persistence/criteria/Fetch.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/FetchParent.java b/src/javax/persistence/criteria/FetchParent.java
index d11e8a9..e4b2194 100644
--- a/src/javax/persistence/criteria/FetchParent.java
+++ b/src/javax/persistence/criteria/FetchParent.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -93,6 +84,7 @@
      *  @throws IllegalArgumentException if attribute of the given

      *          name does not exist

      */	

+    @SuppressWarnings("hiding")

     <X, Y> Fetch<X, Y> fetch(String attributeName);

 

     /**

@@ -105,5 +97,6 @@
      *  @throws IllegalArgumentException if attribute of the given

      *          name does not exist

      */	

+    @SuppressWarnings("hiding")

     <X, Y> Fetch<X, Y> fetch(String attributeName, JoinType jt);

 }

diff --git a/src/javax/persistence/criteria/From.java b/src/javax/persistence/criteria/From.java
index a7fd5fa..8b96a1d 100644
--- a/src/javax/persistence/criteria/From.java
+++ b/src/javax/persistence/criteria/From.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -29,12 +20,13 @@
 import javax.persistence.metamodel.ListAttribute;

 import javax.persistence.metamodel.MapAttribute;

 import javax.persistence.metamodel.SetAttribute;

+import java.util.Set;

 

 /**

  * Represents a bound type, usually an entity that appears in

  * the from clause, but may also be an embeddable belonging to

  * an entity in the from clause. 

- * <p> Serves as a factory for Joins of associations, embeddables and 

+ * <p> Serves as a factory for Joins of associations, embeddables, and 

  * collections belonging to the type, and for Paths of attributes 

  * belonging to the type.

  *

@@ -43,6 +35,7 @@
  *

  * @since Java Persistence 2.0

  */

+@SuppressWarnings("hiding")

 public interface From<Z, X> extends Path<X>, FetchParent<Z, X> {

 

     /**

@@ -52,9 +45,28 @@
      *  Modifications to the set do not affect the query.

      *  @return joins made from this type

      */

-    java.util.Set<Join<X, ?>> getJoins();

+    Set<Join<X, ?>> getJoins();

 	

     /**

+     *  Whether the <code>From</code> object has been obtained as a result of

+     *  correlation (use of a <code>Subquery</code> <code>correlate</code> 

+     *  method).

+     *  @return boolean indicating whether the object has been

+     *          obtained through correlation

+     */

+    boolean isCorrelated();

+

+    /**

+     *  Returns the parent <code>From</code> object from which the correlated

+     *  <code>From</code> object has been obtained through correlation (use

+     *  of a <code>Subquery</code> <code>correlate</code> method).

+     *  @return  the parent of the correlated From object

+     *  @throws IllegalStateException if the From object has

+     *          not been obtained through correlation 

+     */

+    From<Z, X> getCorrelationParent();

+

+    /**

      *  Create an inner join to the specified single-valued 

      *  attribute.

      *  @param attribute  target of the join

diff --git a/src/javax/persistence/criteria/Join.java b/src/javax/persistence/criteria/Join.java
index 16e1e9f..c07bd8b 100644
--- a/src/javax/persistence/criteria/Join.java
+++ b/src/javax/persistence/criteria/Join.java
@@ -9,25 +9,16 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

 import javax.persistence.metamodel.Attribute;

 

 /**

- * A join to an entity or embeddable type.

+ * A join to an entity, embeddable, or basic type.

  *

  * @param <Z> the source type of the join

  * @param <X> the target type of the join

diff --git a/src/javax/persistence/criteria/JoinType.java b/src/javax/persistence/criteria/JoinType.java
index 647a8a2..ad81aa3 100644
--- a/src/javax/persistence/criteria/JoinType.java
+++ b/src/javax/persistence/criteria/JoinType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/ListJoin.java b/src/javax/persistence/criteria/ListJoin.java
index 845edcb..91329ca 100644
--- a/src/javax/persistence/criteria/ListJoin.java
+++ b/src/javax/persistence/criteria/ListJoin.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/MapJoin.java b/src/javax/persistence/criteria/MapJoin.java
index 1d551c1..f4b9174 100644
--- a/src/javax/persistence/criteria/MapJoin.java
+++ b/src/javax/persistence/criteria/MapJoin.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/Order.java b/src/javax/persistence/criteria/Order.java
index 1f29fc5..c8532c5 100644
--- a/src/javax/persistence/criteria/Order.java
+++ b/src/javax/persistence/criteria/Order.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/ParameterExpression.java b/src/javax/persistence/criteria/ParameterExpression.java
index b055f01..0fbb601 100644
--- a/src/javax/persistence/criteria/ParameterExpression.java
+++ b/src/javax/persistence/criteria/ParameterExpression.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/Path.java b/src/javax/persistence/criteria/Path.java
index b5f75c0..9a2ea96 100644
--- a/src/javax/persistence/criteria/Path.java
+++ b/src/javax/persistence/criteria/Path.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -95,19 +86,19 @@
      *  <pre>

      *     For example:

      *

-     *     CriteriaQuery&#060;Person&#062; q = qb.createQuery(Person.class);

+     *     CriteriaQuery&#060;Person&#062; q = cb.createQuery(Person.class);

      *     Root&#060;Person&#062; p = q.from(Person.class);

      *     q.select(p)

-     *      .where(qb.isMember(qb.literal("joe"),

+     *      .where(cb.isMember("joe",

      *                         p.&#060;Set&#060;String&#062;&#062;get("nicknames")));

      *

      *     rather than:

      * 

-     *     CriteriaQuery&#060;Person&#062; q = qb.createQuery(Person.class);

+     *     CriteriaQuery&#060;Person&#062; q = cb.createQuery(Person.class);

      *     Root&#060;Person&#062; p = q.from(Person.class);

      *     Path&#060;Set&#060;String&#062;&#062; nicknames = p.get("nicknames");

      *     q.select(p)

-     *      .where(qb.isMember(qb.literal("joe"), nicknames));

+     *      .where(cb.isMember("joe", nicknames));

      *  </pre>

      *

      *  @param attributeName  name of the attribute

diff --git a/src/javax/persistence/criteria/PluralJoin.java b/src/javax/persistence/criteria/PluralJoin.java
index 0a7aabc..b2101e5 100644
--- a/src/javax/persistence/criteria/PluralJoin.java
+++ b/src/javax/persistence/criteria/PluralJoin.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/Predicate.java b/src/javax/persistence/criteria/Predicate.java
index 9379167..afbde78 100644
--- a/src/javax/persistence/criteria/Predicate.java
+++ b/src/javax/persistence/criteria/Predicate.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -49,7 +40,8 @@
     

     /**

      * Whether the predicate has been created from another

-     * predicate by applying the <code>negate()</code> method.

+     * predicate by applying the <code>Predicate.not()</code> method

+     * or the <code>CriteriaBuilder.not()</code> method.

      * @return boolean indicating if the predicate is 

      *                 a negated predicate

      */

@@ -63,10 +55,11 @@
      * @return list of boolean expressions forming the predicate

      */

     List<Expression<Boolean>> getExpressions();

-	

+

     /**

      * Create a negation of the predicate.

      * @return negated predicate 

      */

-    Predicate negate();

+    Predicate not();

+

 }

diff --git a/src/javax/persistence/criteria/QueryBuilder.java b/src/javax/persistence/criteria/QueryBuilder.java
deleted file mode 100644
index 33c368c..0000000
--- a/src/javax/persistence/criteria/QueryBuilder.java
+++ /dev/null
@@ -1,1436 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2008, 2009 Sun Microsystems. 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.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

- *     Specification available from http://jcp.org/en/jsr/detail?id=317

- *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

- ******************************************************************************/

-package javax.persistence.criteria;

-

-import java.math.BigDecimal;

-import java.math.BigInteger;

-import java.util.Collection;

-import java.util.Map;

-import java.util.Set;

-import javax.persistence.Tuple;

-

-/**

- * Factory for queries, compound selections, expressions,

- * predicates, orderings.

- *

- * <p> Note that <code>Predicate</code> is used instead of <code>Expression&#060;Boolean&#062;</code> 

- * in this API in order to work around the fact that Java 

- * generics are not compatible with varags.

- *

- * @since Java Persistence 2.0

- */

-public interface QueryBuilder {

-

-    /**

-     *  Create a <code>CriteriaQuery</code> object.

-     *  @return criteria query object

-     */

-    CriteriaQuery<Object> createQuery();

-

-    /**

-     *  Create a <code>CriteriaQuery</code> object with the specified result 

-     *  type.

-     *  @param resultClass  type of the query result

-     *  @return criteria query object

-     */

-    <T> CriteriaQuery<T> createQuery(Class<T> resultClass);

-

-    /**

-     *  Create a <code>CriteriaQuery</code> object that returns a tuple of 

-     *  objects as its result.

-     *  @return criteria query object

-     */

-    CriteriaQuery<Tuple> createTupleQuery();

-

-

-    // selection construction methods:

-	

-    /**

-     * Create a selection item corresponding to a constructor.

-     * This method is used to specify a constructor that will be

-     * applied to the results of the query execution. If the

-     * constructor is for an entity class, the resulting entities

-     * will be in the new state after the query is executed.

-     * @param result  class whose instance is to be constructed

-     * @param selections  arguments to the constructor

-     * @return compound selection item

-     * @throws IllegalArgumentException if an argument is a 

-     *         tuple- or array-valued selection item

-     */

-    <Y> CompoundSelection<Y> construct(Class<Y> result, Selection<?>... selections);

-

-    /**

-     * Create a tuple-valued selection item.

-     * @param selections  selection items

-     * @return tuple-valued compound selection

-     * @throws IllegalArgumentException if an argument is a 

-     *         tuple- or array-valued selection item

-     */

-    CompoundSelection<Tuple> tuple(Selection<?>... selections);

-

-    /**

-     * Create an array-valued selection item.

-     * @param selections  selection items

-     * @return array-valued compound selection

-     * @throws IllegalArgumentException if an argument is a 

-     *         tuple- or array-valued selection item

-     */

-    CompoundSelection<Object[]> array(Selection<?>... selections);

-

-

-    //ordering:

-	

-    /**

-     * Create an ordering by the ascending value of the expression.

-     * @param x  expression used to define the ordering

-     * @return ascending ordering corresponding to the expression

-     */

-    Order asc(Expression<?> x);

-

-    /**

-     * Create an ordering by the descending value of the expression.

-     * @param x  expression used to define the ordering

-     * @return descending ordering corresponding to the expression

-     */

-    Order desc(Expression<?> x);

-

-	

-    //aggregate functions:

-	

-    /**

-     * Create an aggregate expression applying the avg operation.

-     * @param x  expression representing input value to avg operation

-     * @return avg expression

-     */

-    <N extends Number> Expression<Double> avg(Expression<N> x);

-

-    /**

-     * Create an aggregate expression applying the sum operation.

-     * @param x  expression representing input value to sum operation

-     * @return sum expression

-     */

-    <N extends Number> Expression<N> sum(Expression<N> x);

-    

-    /**

-     * Create an aggregate expression applying the numerical max 

-     * operation.

-     * @param x  expression representing input value to max operation

-     * @return max expression

-     */

-    <N extends Number> Expression<N> max(Expression<N> x);

-    

-    /**

-     * Create an aggregate expression applying the numerical min 

-     * operation.

-     * @param x  expression representing input value to min operation

-     * @return min expression

-     */

-    <N extends Number> Expression<N> min(Expression<N> x);

-

-    /**

-     * Create an aggregate expression for finding the greatest of

-     * the values (strings, dates, etc).

-     * @param x  expression representing input value to greatest

-     *           operation

-     * @return greatest expression

-     */

-    <X extends Comparable<X>> Expression<X> greatest(Expression<X> x);

-    

-    /**

-     * Create an aggregate expression for finding the least of

-     * the values (strings, dates, etc).

-     * @param x  expression representing input value to least

-     *           operation

-     * @return least expression

-     */

-    <X extends Comparable<X>> Expression<X> least(Expression<X> x);

-

-    /**

-     * Create an aggregate expression applying the count operation.

-     * @param x  expression representing input value to count 

-     *           operation

-     * @return count expression

-     */

-    Expression<Long> count(Expression<?> x);

-

-    /**

-     * Create an aggregate expression applying the count distinct 

-     * operation.

-     * @param x  expression representing input value to 

-     *        count distinct operation

-     * @return count distinct expression

-     */

-    Expression<Long> countDistinct(Expression<?> x);

-	

-

-

-    //subqueries:

-	

-    /**

-     * Create a predicate testing the existence of a subquery result.

-     * @param subquery  subquery whose result is to be tested

-     * @return exists predicate

-     */

-    Predicate exists(Subquery<?> subquery);

-	

-    /**

-     * Create an all expression over the subquery results.

-     * @param subquery

-     * @return all expression

-     */

-    <Y> Expression<Y> all(Subquery<Y> subquery);

-	

-    /**

-     * Create a some expression over the subquery results.

-     * This expression is equivalent to an <code>any</code> expression.

-     * @param subquery

-     * @return some expression

-     */

-    <Y> Expression<Y> some(Subquery<Y> subquery);

-	

-    /**

-     * Create an any expression over the subquery results. 

-     * This expression is equivalent to a <code>some</code> expression.

-     * @param subquery

-     * @return any expression

-     */

-    <Y> Expression<Y> any(Subquery<Y> subquery);

-

-

-    //boolean functions:

-	

-    /**

-     * Create a conjunction of the given boolean expressions.

-     * @param x  boolean expression

-     * @param y  boolean expression

-     * @return and predicate

-     */

-    Predicate and(Expression<Boolean> x, Expression<Boolean> y);

-    

-    /**

-     * Create a conjunction of the given restriction predicates.

-     * A conjunction of zero predicates is true.

-     * @param restrictions  zero or more restriction predicates

-     * @return and predicate

-     */

-    Predicate and(Predicate... restrictions);

-

-    /**

-     * Create a disjunction of the given boolean expressions.

-     * @param x  boolean expression

-     * @param y  boolean expression

-     * @return or predicate

-     */

-    Predicate or(Expression<Boolean> x, Expression<Boolean> y);

-

-    /**

-     * Create a disjunction of the given restriction predicates.

-     * A disjunction of zero predicates is false.

-     * @param restrictions  zero or more restriction predicates

-     * @return or predicate

-     */

-    Predicate or(Predicate... restrictions);

-

-    /**

-     * Create a negation of the given restriction. 

-     * @param restriction  restriction expression

-     * @return not predicate

-     */

-    Predicate not(Expression<Boolean> restriction);

-	

-    /**

-     * Create a conjunction (with zero conjuncts).

-     * A conjunction with zero conjuncts is true.

-     * @return and predicate

-     */

-    Predicate conjunction();

-

-    /**

-     * Create a disjunction (with zero disjuncts).

-     * A disjunction with zero disjuncts is false.

-     * @return or predicate

-     */

-    Predicate disjunction();

-

-	

-    //turn Expression<Boolean> into a Predicate

-    //useful for use with varargs methods

-

-    /**

-     * Create a predicate testing for a true value.

-     * @param x  expression to be tested

-     * @return predicate

-     */

-    Predicate isTrue(Expression<Boolean> x);

-

-    /**

-     * Create a predicate testing for a false value.

-     * @param x  expression to be tested

-     * @return predicate

-     */

-    Predicate isFalse(Expression<Boolean> x);

-

-	

-    //null tests:

-

-    /**

-     * Create a predicate to test whether the expression is null.

-     * @param x expression

-     * @return is-null predicate

-     */

-    Predicate isNull(Expression<?> x);

-

-    /**

-     * Create a predicate to test whether the expression is not null.

-     * @param x expression

-     * @return is-not-null predicate

-     */

-    Predicate isNotNull(Expression<?> x);

-

-    //equality:

-	

-    /**

-     * Create a predicate for testing the arguments for equality.

-     * @param x  expression

-     * @param y  expression

-     * @return equality predicate

-     */

-    Predicate equal(Expression<?> x, Expression<?> y);

-	

-    /**

-     * Create a predicate for testing the arguments for equality.

-     * @param x  expression

-     * @param y  object

-     * @return equality predicate

-     */

-    Predicate equal(Expression<?> x, Object y);

-

-    /**

-     * Create a predicate for testing the arguments for inequality.

-     * @param x  expression

-     * @param y  expression

-     * @return inequality predicate

-     */

-    Predicate notEqual(Expression<?> x, Expression<?> y);

-	

-    /**

-     * Create a predicate for testing the arguments for inequality.

-     * @param x  expression

-     * @param y  object

-     * @return inequality predicate

-     */

-    Predicate notEqual(Expression<?> x, Object y);

-

-	

-    //comparisons for generic (non-numeric) operands:

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than the second.

-     * @param x  expression

-     * @param y  expression

-     * @return greater-than predicate

-     */

-    <Y extends Comparable<Y>> Predicate greaterThan(Expression<? extends Y> x, Expression<? extends Y> y);

-	

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than the second.

-     * @param x  expression

-     * @param y  value

-     * @return greater-than predicate

-     */

-    <Y extends Comparable<Y>> Predicate greaterThan(Expression<? extends Y> x, Y y);

-    

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than or equal to the second.

-     * @param x  expression

-     * @param y  expression

-     * @return greater-than-or-equal predicate

-     */

-    <Y extends Comparable<Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than or equal to the second.

-     * @param x  expression

-     * @param y  value

-     * @return greater-than-or-equal predicate

-     */

-    <Y extends Comparable<Y>> Predicate greaterThanOrEqualTo(Expression<? extends Y> x, Y y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than the second.

-     * @param x  expression

-     * @param y  expression

-     * @return less-than predicate

-     */

-    <Y extends Comparable<Y>> Predicate lessThan(Expression<? extends Y> x, Expression<? extends Y> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than the second.

-     * @param x  expression

-     * @param y  value

-     * @return less-than predicate

-     */

-    <Y extends Comparable<Y>> Predicate lessThan(Expression<? extends Y> x, Y y);

-	

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than or equal to the second.

-     * @param x  expression

-     * @param y  expression

-     * @return less-than-or-equal predicate

-     */

-    <Y extends Comparable<Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Expression<? extends Y> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than or equal to the second.

-     * @param x  expression

-     * @param y  value

-     * @return less-than-or-equal predicate

-     */

-    <Y extends Comparable<Y>> Predicate lessThanOrEqualTo(Expression<? extends Y> x, Y y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * between the second and third arguments in value.

-     * @param v  expression 

-     * @param x  expression

-     * @param y  expression

-     * @return between predicate

-     */

-    <Y extends Comparable<Y>> Predicate between(Expression<? extends Y> v, Expression<? extends Y> x, Expression<? extends Y> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * between the second and third arguments in value.

-     * @param v  expression 

-     * @param x  value

-     * @param y  value

-     * @return between predicate

-     */

-    <Y extends Comparable<Y>> Predicate between(Expression<? extends Y> v, Y x, Y y);

-	

-

-    //comparisons for numeric operands:

-	

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than the second.

-     * @param x  expression

-     * @param y  expression

-     * @return greater-than predicate

-     */

-    Predicate gt(Expression<? extends Number> x, Expression<? extends Number> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than the second.

-     * @param x  expression

-     * @param y  value

-     * @return greater-than predicate

-     */

-    Predicate gt(Expression<? extends Number> x, Number y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than or equal to the second.

-     * @param x  expression

-     * @param y  expression

-     * @return greater-than-or-equal predicate

-     */

-    Predicate ge(Expression<? extends Number> x, Expression<? extends Number> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * greater than or equal to the second.

-     * @param x  expression

-     * @param y  value

-     * @return greater-than-or-equal predicate

-     */	

-    Predicate ge(Expression<? extends Number> x, Number y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than the second.

-     * @param x  expression

-     * @param y  expression

-     * @return less-than predicate

-     */

-    Predicate lt(Expression<? extends Number> x, Expression<? extends Number> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than the second.

-     * @param x  expression

-     * @param y  value

-     * @return less-than predicate

-     */

-    Predicate lt(Expression<? extends Number> x, Number y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than or equal to the second.

-     * @param x  expression

-     * @param y  expression

-     * @return less-than-or-equal predicate

-     */

-    Predicate le(Expression<? extends Number> x, Expression<? extends Number> y);

-

-    /**

-     * Create a predicate for testing whether the first argument is 

-     * less than or equal to the second.

-     * @param x  expression

-     * @param y  value

-     * @return less-than-or-equal predicate

-     */

-    Predicate le(Expression<? extends Number> x, Number y);

-	

-

-    //numerical operations:

-	

-    /**

-     * Create an expression that returns the arithmetic negation

-     * of its argument.

-     * @param x expression

-     * @return arithmetic negation

-     */

-    <N extends Number> Expression<N> neg(Expression<N> x);

-

-    /**

-     * Create an expression that returns the absolute value

-     * of its argument.

-     * @param x expression

-     * @return absolute value

-     */

-    <N extends Number> Expression<N> abs(Expression<N> x);

-	

-    /**

-     * Create an expression that returns the sum

-     * of its arguments.

-     * @param x expression

-     * @param y expression

-     * @return sum

-     */

-    <N extends Number> Expression<N> sum(Expression<? extends N> x, Expression<? extends N> y);

-	

-    /**

-     * Create an expression that returns the sum

-     * of its arguments.

-     * @param x expression

-     * @param y value

-     * @return sum

-     */

-    <N extends Number> Expression<N> sum(Expression<? extends N> x, N y);

-

-    /**

-     * Create an expression that returns the sum

-     * of its arguments.

-     * @param x value

-     * @param y expression

-     * @return sum

-     */

-    <N extends Number> Expression<N> sum(N x, Expression<? extends N> y);

-

-    /**

-     * Create an expression that returns the product

-     * of its arguments.

-     * @param x expression

-     * @param y expression

-     * @return product

-     */

-    <N extends Number> Expression<N> prod(Expression<? extends N> x, Expression<? extends N> y);

-

-    /**

-     * Create an expression that returns the product

-     * of its arguments.

-     * @param x expression

-     * @param y value

-     * @return product

-     */

-    <N extends Number> Expression<N> prod(Expression<? extends N> x, N y);

-

-    /**

-     * Create an expression that returns the product

-     * of its arguments.

-     * @param x value

-     * @param y expression

-     * @return product

-     */

-    <N extends Number> Expression<N> prod(N x, Expression<? extends N> y);

-

-    /**

-     * Create an expression that returns the difference

-     * between its arguments.

-     * @param x expression

-     * @param y expression

-     * @return difference

-     */

-    <N extends Number> Expression<N> diff(Expression<? extends N> x, Expression<? extends N> y);

-

-    /**

-     * Create an expression that returns the difference

-     * between its arguments.

-     * @param x expression

-     * @param y value

-     * @return difference

-     */

-    <N extends Number> Expression<N> diff(Expression<? extends N> x, N y);

-

-    /**

-     * Create an expression that returns the difference

-     * between its arguments.

-     * @param x value

-     * @param y expression

-     * @return difference

-     */

-    <N extends Number> Expression<N> diff(N x, Expression<? extends N> y);

-	

-    /**

-     * Create an expression that returns the quotient

-     * of its arguments.

-     * @param x expression

-     * @param y expression

-     * @return quotient

-     */

-    Expression<Number> quot(Expression<? extends Number> x, Expression<? extends Number> y);

-

-    /**

-     * Create an expression that returns the quotient

-     * of its arguments.

-     * @param x expression

-     * @param y value

-     * @return quotient

-     */

-    Expression<Number> quot(Expression<? extends Number> x, Number y);

-

-    /**

-     * Create an expression that returns the quotient

-     * of its arguments.

-     * @param x value

-     * @param y expression

-     * @return quotient

-     */

-    Expression<Number> quot(Number x, Expression<? extends Number> y);

-	

-    /**

-     * Create an expression that returns the modulus

-     * of its arguments.

-     * @param x expression

-     * @param y expression

-     * @return modulus

-     */

-    Expression<Integer> mod(Expression<Integer> x, Expression<Integer> y);

-	

-    /**

-     * Create an expression that returns the modulus

-     * of its arguments.

-     * @param x expression

-     * @param y value

-     * @return modulus

-     */

-    Expression<Integer> mod(Expression<Integer> x, Integer y);

-

-    /**

-     * Create an expression that returns the modulus

-     * of its arguments.

-     * @param x value

-     * @param y expression

-     * @return modulus

-     */

-    Expression<Integer> mod(Integer x, Expression<Integer> y);

-

-    /**

-     * Create an expression that returns the square root

-     * of its argument.

-     * @param x expression

-     * @return square root

-     */	

-    Expression<Double> sqrt(Expression<? extends Number> x);

-

-	

-    //typecasts:

-    

-    /**

-     * Typecast.  Returns same expression object.

-     * @param number  numeric expression

-     * @return Expression<Long>

-     */

-    Expression<Long> toLong(Expression<? extends Number> number);

-

-    /**

-     * Typecast.  Returns same expression object.

-     * @param number  numeric expression

-     * @return Expression<Integer>

-     */

-    Expression<Integer> toInteger(Expression<? extends Number> number);

-

-    /**

-     * Typecast. Returns same expression object.

-     * @param number  numeric expression

-     * @return Expression<Float>

-     */

-    Expression<Float> toFloat(Expression<? extends Number> number);

-

-    /**

-     * Typecast.  Returns same expression object.

-     * @param number  numeric expression

-     * @return Expression<Double>

-     */

-    Expression<Double> toDouble(Expression<? extends Number> number);

-

-    /**

-     * Typecast.  Returns same expression object.

-     * @param number  numeric expression

-     * @return Expression<BigDecimal>

-     */

-    Expression<BigDecimal> toBigDecimal(Expression<? extends Number> number);

-

-    /**

-     * Typecast.  Returns same expression object.

-     * @param number  numeric expression

-     * @return Expression<BigInteger>

-     */

-    Expression<BigInteger> toBigInteger(Expression<? extends Number> number);

-	

-    /**

-     * Typecast.  Returns same expression object.

-     * @param character expression

-     * @return Expression<String>

-     */

-    Expression<String> toString(Expression<Character> character);

-

-	

-    //literals:

-

-    /**

-     * Create an expression for a literal.

-     * @param value  value represented by the expression

-     * @return expression literal

-     * @throws IllegalArgumentException if value is null

-     */

-    <T> Expression<T> literal(T value);

-

-    /**

-     * Create an expression for a null literal with the given type.

-     * @param resultClass  type of the null literal

-     * @return null expression literal

-     */

-    <T> Expression<T> nullLiteral(Class<T> resultClass);

-

-    //parameters:

-

-    /**

-     * Create a parameter expression.

-     * @param paramClass parameter class

-     * @return parameter expression

-     */

-    <T> ParameterExpression<T> parameter(Class<T> paramClass);

-

-    /**

-     * Create a parameter expression with the given name.

-     * @param paramClass parameter class

-     * @param name  name that can be used to refer to 

-     *              the parameter

-     * @return parameter expression

-     */

-    <T> ParameterExpression<T> parameter(Class<T> paramClass, String name);

-

-

-    //collection operations:

-	

-    /**

-     *  Create a predicate that tests whether a collection is empty.

-     *  @param collection expression

-     *  @return is-empty predicate

-     */

-    <C extends Collection<?>> Predicate isEmpty(Expression<C> collection);

-

-    /**

-     *  Create a predicate that tests whether a collection is

-     *  not empty.

-     *  @param collection expression

-     *  @return is-not-empty predicate

-     */

-    <C extends Collection<?>> Predicate isNotEmpty(Expression<C> collection);

-

-    /**

-     * Create an expression that tests the size of a collection.

-     * @param collection expression

-     * @return size expression

-     */ 

-    <C extends java.util.Collection<?>> Expression<Integer> size(Expression<C> collection);

-	

-    /**

-     * Create an expression that tests the size of a collection.

-     * @param collection collection

-     * @return size expression

-     */ 

-    <C extends Collection<?>> Expression<Integer> size(C collection);

-	

-    /**

-     *  Create a predicate that tests whether an element is

-     *  a member of a collection.

-     *  @param elem element expression

-     *  @param collection expression

-     *  @return is-member predicate

-     */

-    <E, C extends Collection<E>> Predicate isMember(Expression<E> elem, Expression<C> collection);

-

-    /**

-     *  Create a predicate that tests whether an element is

-     *  a member of a collection.

-     *  @param elem element

-     *  @param collection expression

-     *  @return is-member predicate

-     */

-    <E, C extends Collection<E>> Predicate isMember(E elem, Expression<C> collection);

-

-    /**

-     *  Create a predicate that tests whether an element is

-     *  not a member of a collection.

-     *  @param elem element expression

-     *  @param collection expression

-     *  @return is-not-member predicate

-     */

-    <E, C extends Collection<E>> Predicate isNotMember(Expression<E> elem, Expression<C> collection);

-	

-    /**

-     *  Create a predicate that tests whether an element is

-     *  not a member of a collection.

-     *  @param elem element

-     *  @param collection expression

-     *  @return is-not-member predicate

-     */

-    <E, C extends Collection<E>> Predicate isNotMember(E elem, Expression<C> collection);

-

-

-    //get the values and keys collections of the Map, which may then

-    //be passed to size(), isMember(), isEmpty(), etc

-

-    /**

-     * Create an expression that returns the values of a map.

-     * @param map  map

-     * @return collection expression

-     */

-    <V, M extends Map<?, V>> Expression<Collection<V>> values(M map);

-

-    /**

-     * Create an expression that returns the keys of a map.

-     * @param map  map

-     * @return set expression

-     */

-    <K, M extends Map<K, ?>> Expression<Set<K>> keys(M map);

-

-	

-    //string functions:

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * satisfies the given pattern.

-     * @param x  string expression

-     * @param pattern  string expression

-     * @return like predicate

-     */

-    Predicate like(Expression<String> x, Expression<String> pattern);

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * satisfies the given pattern.

-     * @param x  string expression

-     * @param pattern  string 

-     * @return like predicate

-     */

-    Predicate like(Expression<String> x, String pattern);

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * satisfies the given pattern.

-     * @param x  string expression

-     * @param pattern  string expression

-     * @param escapeChar  escape character expression

-     * @return like predicate

-     */

-    Predicate like(Expression<String> x, Expression<String> pattern, Expression<Character> escapeChar);

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * satisfies the given pattern.

-     * @param x  string expression

-     * @param pattern  string expression

-     * @param escapeChar  escape character

-     * @return like predicate

-     */

-    Predicate like(Expression<String> x, Expression<String> pattern, char escapeChar);

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * satisfies the given pattern.

-     * @param x  string expression

-     * @param pattern  string 

-     * @param escapeChar  escape character expression

-     * @return like predicate

-     */

-    Predicate like(Expression<String> x, String pattern, Expression<Character> escapeChar);

-

-    /**

-     * Create a predicate for testing whether the expression

-     * satisfies the given pattern.

-     * @param x  string expression

-     * @param pattern  string 

-     * @param escapeChar  escape character

-     * @return like predicate

-     */

-    Predicate like(Expression<String> x, String pattern, char escapeChar);

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * does not satisfy the given pattern.

-     * @param x  string expression

-     * @param pattern  string expression

-     * @return not-like predicate

-     */

-    Predicate notLike(Expression<String> x, Expression<String> pattern);

-	

-    /**

-     * Create a predicate for testing whether the expression

-     * does not satisfy the given pattern.

-     * @param x  string expression

-     * @param pattern  string 

-     * @return not-like predicate

-     */

-    Predicate notLike(Expression<String> x, String pattern);

-

-    /**

-     * Create a predicate for testing whether the expression

-     * does not satisfy the given pattern.

-     * @param x  string expression

-     * @param pattern  string expression

-     * @param escapeChar  escape character expression

-     * @return not-like predicate

-     */

-    Predicate notLike(Expression<String> x, Expression<String> pattern, Expression<Character> escapeChar);

-

-    /**

-     * Create a predicate for testing whether the expression

-     * does not satisfy the given pattern.

-     * @param x  string expression

-     * @param pattern  string expression

-     * @param escapeChar  escape character

-     * @return not-like predicate

-     */

-    Predicate notLike(Expression<String> x, Expression<String> pattern, char escapeChar);

-

-    /**

-     * Create a predicate for testing whether the expression

-     * does not satisfy the given pattern.

-     * @param x  string expression

-     * @param pattern  string 

-     * @param escapeChar  escape character expression

-     * @return not-like predicate

-     */

-    Predicate notLike(Expression<String> x, String pattern, Expression<Character> escapeChar);

-	

-   /**

-     * Create a predicate for testing whether the expression

-     * does not satisfy the given pattern.

-     * @param x  string expression

-     * @param pattern  string 

-     * @param escapeChar  escape character

-     * @return not-like predicate

-     */

-    Predicate notLike(Expression<String> x, String pattern, char escapeChar);

-

-    /**

-     *  Create an expression for string concatenation.

-     *  @param x  string expression

-     *  @param y  string expression

-     *  @return expression corresponding to concatenation

-     */

-    Expression<String> concat(Expression<String> x, Expression<String> y);

-	

-    /**

-     *  Create an expression for string concatenation.

-     *  @param x  string expression

-     *  @param y  string 

-     *  @return expression corresponding to concatenation

-     */

-    Expression<String> concat(Expression<String> x, String y);

-

-    /**

-     *  Create an expression for string concatenation.

-     *  @param x  string 

-     *  @param y  string expression

-     *  @return expression corresponding to concatenation

-     */

-    Expression<String> concat(String x, Expression<String> y);

-	

-    /**

-     *  Create an expression for substring extraction.

-     *  Extracts a substring starting at the specified position

-     *  through to end of the string.

-     *  First position is 1.

-     *  @param x  string expression

-     *  @param from  start position expression 

-     *  @return expression corresponding to substring extraction

-     */

-    Expression<String> substring(Expression<String> x, Expression<Integer> from);

-	

-    /**

-     *  Create an expression for substring extraction.

-     *  Extracts a substring starting at the specified position

-     *  through to end of the string.

-     *  First position is 1.

-     *  @param x  string expression

-     *  @param from  start position 

-     *  @return expression corresponding to substring extraction

-     */

-    Expression<String> substring(Expression<String> x, int from);

-

-    /**

-     *  Create an expression for substring extraction.

-     *  Extracts a substring of given length starting at the

-     *  specified position.

-     *  First position is 1.

-     *  @param x  string expression

-     *  @param from  start position expression 

-     *  @param len  length expression

-     *  @return expression corresponding to substring extraction

-     */

-    Expression<String> substring(Expression<String> x, Expression<Integer> from, Expression<Integer> len);

-	

-    /**

-     *  Create an expression for substring extraction.

-     *  Extracts a substring of given length starting at the

-     *  specified position.

-     *  First position is 1.

-     *  @param x  string expression

-     *  @param from  start position 

-     *  @param len  length

-     *  @return expression corresponding to substring extraction

-     */

-    Expression<String> substring(Expression<String> x, int from, int len);

-	

-    /**

-     *  Used to specify how strings are trimmed.

-     */

-    public static enum Trimspec { 

-

-        /**

-         * Trim from leading end.

-         */

-        LEADING,

- 

-        /**

-         * Trim from trailing end.

-         */

-        TRAILING, 

-

-        /**

-         * Trim from both ends.

-         */

-        BOTH 

-    }

-	

-    /**

-     * Create expression to trim blanks from both ends of

-     * a string.

-     * @param x  expression for string to trim

-     * @return trim expression

-     */

-    Expression<String> trim(Expression<String> x);

-	

-    /**

-     * Create expression to trim blanks from a string.

-     * @param ts  trim specification

-     * @param x  expression for string to trim

-     * @return trim expression

-     */

-    Expression<String> trim(Trimspec ts, Expression<String> x);

-

-    /**

-     * Create expression to trim character from both ends of

-     * a string.

-     * @param t  expression for character to be trimmed

-     * @param x  expression for string to trim

-     * @return trim expression

-     */

-    Expression<String> trim(Expression<Character> t, Expression<String> x);

-

-    /**

-     * Create expression to trim character from a string.

-     * @param ts  trim specification

-     * @param t  expression for character to be trimmed

-     * @param x  expression for string to trim

-     * @return trim expression

-     */

-    Expression<String> trim(Trimspec ts, Expression<Character> t, Expression<String> x);

-	

-    /**

-     * Create expression to trim character from both ends of

-     * a string.

-     * @param t  character to be trimmed

-     * @param x  expression for string to trim

-     * @return trim expression

-     */

-    Expression<String> trim(char t, Expression<String> x);

-	

-    /**

-     * Create expression to trim character from a string.

-     * @param ts  trim specification

-     * @param t  character to be trimmed

-     * @param x  expression for string to trim

-     * @return trim expression

-     */

-    Expression<String> trim(Trimspec ts, char t, Expression<String> x);

-	

-    /**

-     * Create expression for converting a string to lowercase.

-     * @param x  string expression

-     * @return expression to convert to lowercase

-     */

-    Expression<String> lower(Expression<String> x);

-	

-    /**

-     * Create expression for converting a string to uppercase.

-     * @param x  string expression

-     * @return expression to convert to uppercase

-     */

-    Expression<String> upper(Expression<String> x);

-	

-    /**

-     * Create expression to return length of a string.

-     * @param x  string expression

-     * @return length expression

-     */

-    Expression<Integer> length(Expression<String> x);

-	

-	

-    /**

-     * Create expression to locate the position of one string

-     * within another, returning position of first character

-     * if found.

-     * The first position in a string is denoted by 1.  If the

-     * string to be located is not found, 0 is returned.

-     * @param x  expression for string to be searched

-     * @param pattern  expression for string to be located

-     * @return expression corresponding to position

-     */

-    Expression<Integer> locate(Expression<String> x, Expression<String> pattern);

-	

-    /**

-     * Create expression to locate the position of one string

-     * within another, returning position of first character

-     * if found.

-     * The first position in a string is denoted by 1.  If the

-     * string to be located is not found, 0 is returned.

-     * @param x  expression for string to be searched

-     * @param pattern  string to be located

-     * @return expression corresponding to position

-     */

-    Expression<Integer> locate(Expression<String> x, String pattern);

-

-    /**

-     * Create expression to locate the position of one string

-     * within another, returning position of first character

-     * if found.

-     * The first position in a string is denoted by 1.  If the

-     * string to be located is not found, 0 is returned.

-     * @param x  expression for string to be searched

-     * @param pattern  expression for string to be located

-     * @param from  expression for position at which to start search

-     * @return expression corresponding to position

-     */

-    Expression<Integer> locate(Expression<String> x, Expression<String> pattern, Expression<Integer> from);

-

-    /**

-     * Create expression to locate the position of one string

-     * within another, returning position of first character

-     * if found.

-     * The first position in a string is denoted by 1.  If the

-     * string to be located is not found, 0 is returned.

-     * @param x  expression for string to be searched

-     * @param pattern  string to be located

-     * @param from  position at which to start search

-     * @return expression corresponding to position

-     */	

-    Expression<Integer> locate(Expression<String> x, String pattern, int from);

-	

-

-    // Date/time/timestamp functions:

-

-    /**

-     *  Create expression to return current date.

-     *  @return expression for current date

-     */

-    Expression<java.sql.Date> currentDate();

-

-    /**

-     *  Create expression to return current timestamp.

-     *  @return expression for current timestamp

-     */	

-    Expression<java.sql.Timestamp> currentTimestamp();

-

-    /**

-     *  Create expression to return current time.

-     *  @return expression for current time

-     */	

-    Expression<java.sql.Time> currentTime();

-	

-

-    //in builders:

-	

-    /**

-     *  Interface used to build in predicates.

-     */

-    public static interface In<T> extends Predicate {

-

-         /**

-          * Returns the expression to be tested against the

-          * list of values.

-          * @return expression

-          */

-         Expression<T> getExpression();

-	

-         /**

-          *  Add to list of values to be tested against.

-          *  @param value value

-          *  @return in predicate

-          */

-         In<T> value(T value);

-

-         /**

-          *  Add to list of values to be tested against.

-          *  @param value expression

-          *  @return in predicate

-          */

-         In<T> value(Expression<? extends T> value);

-     }

-	

-    /**

-     *  Create predicate to test whether given expression

-     *  is contained in a list of values.

-     *  @param  expression to be tested against list of values

-     *  @return  in predicate

-     */

-    <T> In<T> in(Expression<? extends T> expression);

-	

-

-    // coalesce, nullif:

-

-    /**

-     * Create an expression that returns null if all its arguments

-     * evaluate to null, and the value of the first non-null argument

-     * otherwise.

-     * @param x expression

-     * @param y expression

-     * @return coalesce expression

-     */

-    <Y> Expression<Y> coalesce(Expression<? extends Y> x, Expression<? extends Y> y);

-

-    /**

-     * Create an expression that returns null if all its arguments

-     * evaluate to null, and the value of the first non-null argument

-     * otherwise.

-     * @param x expression

-     * @param y value

-     * @return coalesce expression

-     */

-    <Y> Expression<Y> coalesce(Expression<? extends Y> x, Y y);

-    

-    /**

-     * Create an expression that tests whether its argument are

-     * equal, returning null if they are and the value of the

-     * first expression if they are not.

-     * @param x expression

-     * @param y expression

-     * @return nullif expression

-     */

-    <Y> Expression<Y> nullif(Expression<Y> x, Expression<?> y);

-

-    /**

-     * Create an expression that tests whether its argument are

-     * equal, returning null if they are and the value of the

-     * first expression if they are not.

-     * @param x expression

-     * @param y value

-     * @return nullif expression 

-     */

-    <Y> Expression<Y> nullif(Expression<Y> x, Y y);

-

-

-    // coalesce builder:

-

-    /**

-     *  Interface used to build coalesce expressions.  

-     *   

-     * A coalesce expression is equivalent to a case expression

-     * that returns null if all its arguments evaluate to null,

-     * and the value of its first non-null argument otherwise.

-     */

-    public static interface Coalesce<T> extends Expression<T> {

-

-         /**

-          * Add an argument to the coalesce expression.

-          * @param value  value

-          * @return coalesce expression

-          */

-         Coalesce<T> value(T value);

-

-         /**

-          * Add an argument to the coalesce expression.

-          * @param value expression

-          * @return coalesce expression

-          */

-         Coalesce<T> value(Expression<? extends T> value);

-	}

-	

-    /**

-     * Create a coalesce expression.

-     * @return coalesce expression

-     */

-    <T> Coalesce<T> coalesce();

-

-

-    //case builders:

-

-    /**

-     *  Interface used to build simple case expressions.

-     *  Case conditions are evaluated in the order in which

-     *  they are specified.

-     */

-    public static interface SimpleCase<C,R> extends Expression<R> {

-

-		/**

-		 * Returns the expression to be tested against the

-		 * conditions.

-		 * @return expression

-		 */

-		Expression<C> getExpression();

-

-		/**

-		 * Add a when/then clause to the case expression.

-		 * @param condition  "when" condition

-		 * @param result  "then" result value

-		 * @return simple case expression

-		 */

-		SimpleCase<C, R> when(C condition, R result);

-

-		/**

-		 * Add a when/then clause to the case expression.

-		 * @param condition  "when" condition

-		 * @param result  "then" result expression

-		 * @return simple case expression

-		 */

-		SimpleCase<C, R> when(C condition, Expression<? extends R> result);

-

-		/**

-		 * Add an "else" clause to the case expression.

-		 * @param result  "else" result

-		 * @return expression

-		 */

-		Expression<R> otherwise(R result);

-

-		/**

-		 * Add an "else" clause to the case expression.

-		 * @param result  "else" result expression

-		 * @return expression

-		 */

-		Expression<R> otherwise(Expression<? extends R> result);

-	}

-	

-    /**

-     *  Create a simple case expression.

-     *  @param expression  to be tested against the case conditions

-     *  @return simple case expression

-     */

-    <C, R> SimpleCase<C,R> selectCase(Expression<? extends C> expression);

-

-

-    /**

-     *  Interface used to build general case expressions.

-     *  Case conditions are evaluated in the order in which

-     *  they are specified.

-     */

-    public static interface Case<R> extends Expression<R> {

-

-		/**

-		 * Add a when/then clause to the case expression.

-		 * @param condition  "when" condition

-		 * @param result  "then" result value

-		 * @return general case expression

-		 */

-		Case<R> when(Expression<Boolean> condition, R result);

-

-		/**

-		 * Add a when/then clause to the case expression.

-		 * @param condition  "when" condition

-		 * @param result  "then" result expression

-		 * @return general case expression

-		 */

-		Case<R> when(Expression<Boolean> condition, Expression<? extends R> result);

-

-		/**

-		 * Add an "else" clause to the case expression.

-		 * @param result  "else" result

-		 * @return expression

-		 */

-		Expression<R> otherwise(R result);

-

-		/**

-		 * Add an "else" clause to the case expression.

-		 * @param result  "else" result expression

-		 * @return expression

-		 */

-		Expression<R> otherwise(Expression<? extends R> result);

-	}

-	

-    /**

-     *  Create a general case expression.

-     *  @return general case expression

-     */

-    <R> Case<R> selectCase();

-

-    /**

-     * Create an expression for the execution of a database

-     * function.

-     * @param name  function name

-     * @param type  expected result type

-     * @param args  function arguments

-     * @return expression

-     */

-   <T> Expression<T> function(String name, Class<T> type,

-Expression<?>... args);

-

-}

-

-

-

-

diff --git a/src/javax/persistence/criteria/Root.java b/src/javax/persistence/criteria/Root.java
index 9778b1c..72fda83 100644
--- a/src/javax/persistence/criteria/Root.java
+++ b/src/javax/persistence/criteria/Root.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/Selection.java b/src/javax/persistence/criteria/Selection.java
index 0d32a02..b4054cd 100644
--- a/src/javax/persistence/criteria/Selection.java
+++ b/src/javax/persistence/criteria/Selection.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

@@ -29,7 +20,7 @@
 

 /**

  * The <code>Selection</code> interface defines an item that is to be

- * returned in the query result.

+ * returned in a query result.

  *

  * @param <X> the type of the selection item

  *

diff --git a/src/javax/persistence/criteria/SetJoin.java b/src/javax/persistence/criteria/SetJoin.java
index 0115683..76d6b67 100644
--- a/src/javax/persistence/criteria/SetJoin.java
+++ b/src/javax/persistence/criteria/SetJoin.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

diff --git a/src/javax/persistence/criteria/Subquery.java b/src/javax/persistence/criteria/Subquery.java
index 9fd128f..193348d 100644
--- a/src/javax/persistence/criteria/Subquery.java
+++ b/src/javax/persistence/criteria/Subquery.java
@@ -9,22 +9,14 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.criteria;

 

 import java.util.List;

+import java.util.Set;

 

 /**

  * The <code>Subquery</code> interface defines functionality that is 

@@ -32,7 +24,7 @@
  *

  * A subquery has an expression as its selection item.

  *

- * @param <T> the type of the returned selection item.

+ * @param <T> the type of the selection item.

  *

  * @since Java Persistence 2.0

  */

@@ -204,7 +196,7 @@
      *  Modifications to the set do not affect the query.

      *  @return the correlated joins of the subquery

      */

-    java.util.Set<Join<?, ?>> getCorrelatedJoins();

+    Set<Join<?, ?>> getCorrelatedJoins();

 

 }

 

diff --git a/src/javax/persistence/metamodel/Attribute.java b/src/javax/persistence/metamodel/Attribute.java
index 3768582..7b4e255 100644
--- a/src/javax/persistence/metamodel/Attribute.java
+++ b/src/javax/persistence/metamodel/Attribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

@@ -39,7 +30,7 @@
 	     /** Many-to-one association */

 	     MANY_TO_ONE, 

 

-     	     /** Many-to-one association */

+     	     /** One-to-one association */

 	     ONE_TO_ONE, 

 	     

 	     /** Basic attribute */

diff --git a/src/javax/persistence/metamodel/BasicType.java b/src/javax/persistence/metamodel/BasicType.java
index 6cda993..ab661a3 100644
--- a/src/javax/persistence/metamodel/BasicType.java
+++ b/src/javax/persistence/metamodel/BasicType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/Bindable.java b/src/javax/persistence/metamodel/Bindable.java
index 75735cd..38da65f 100644
--- a/src/javax/persistence/metamodel/Bindable.java
+++ b/src/javax/persistence/metamodel/Bindable.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/CollectionAttribute.java b/src/javax/persistence/metamodel/CollectionAttribute.java
index e2b61cc..439fe39 100644
--- a/src/javax/persistence/metamodel/CollectionAttribute.java
+++ b/src/javax/persistence/metamodel/CollectionAttribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/EmbeddableType.java b/src/javax/persistence/metamodel/EmbeddableType.java
index 1ef3f98..68429c5 100644
--- a/src/javax/persistence/metamodel/EmbeddableType.java
+++ b/src/javax/persistence/metamodel/EmbeddableType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/EntityType.java b/src/javax/persistence/metamodel/EntityType.java
index 14ae5b6..5046ae8 100644
--- a/src/javax/persistence/metamodel/EntityType.java
+++ b/src/javax/persistence/metamodel/EntityType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/IdentifiableType.java b/src/javax/persistence/metamodel/IdentifiableType.java
index 89e4adc..0b67006 100644
--- a/src/javax/persistence/metamodel/IdentifiableType.java
+++ b/src/javax/persistence/metamodel/IdentifiableType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/ListAttribute.java b/src/javax/persistence/metamodel/ListAttribute.java
index 475e088..787455a 100644
--- a/src/javax/persistence/metamodel/ListAttribute.java
+++ b/src/javax/persistence/metamodel/ListAttribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/ManagedType.java b/src/javax/persistence/metamodel/ManagedType.java
index ef86667..403b58f 100644
--- a/src/javax/persistence/metamodel/ManagedType.java
+++ b/src/javax/persistence/metamodel/ManagedType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/MapAttribute.java b/src/javax/persistence/metamodel/MapAttribute.java
index 83186b7..8f26b5d 100644
--- a/src/javax/persistence/metamodel/MapAttribute.java
+++ b/src/javax/persistence/metamodel/MapAttribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/MappedSuperclassType.java b/src/javax/persistence/metamodel/MappedSuperclassType.java
index c5684e5..22cacf2 100644
--- a/src/javax/persistence/metamodel/MappedSuperclassType.java
+++ b/src/javax/persistence/metamodel/MappedSuperclassType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/Metamodel.java b/src/javax/persistence/metamodel/Metamodel.java
index 9ea711d..ad0f485 100644
--- a/src/javax/persistence/metamodel/Metamodel.java
+++ b/src/javax/persistence/metamodel/Metamodel.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/PluralAttribute.java b/src/javax/persistence/metamodel/PluralAttribute.java
index ca0ea23..1417437 100644
--- a/src/javax/persistence/metamodel/PluralAttribute.java
+++ b/src/javax/persistence/metamodel/PluralAttribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/SetAttribute.java b/src/javax/persistence/metamodel/SetAttribute.java
index eabf6e4..380aa85 100644
--- a/src/javax/persistence/metamodel/SetAttribute.java
+++ b/src/javax/persistence/metamodel/SetAttribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/SingularAttribute.java b/src/javax/persistence/metamodel/SingularAttribute.java
index 1717ecc..a7024db 100644
--- a/src/javax/persistence/metamodel/SingularAttribute.java
+++ b/src/javax/persistence/metamodel/SingularAttribute.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

@@ -37,7 +28,9 @@
 		extends Attribute<X, T>, Bindable<T> {

 	

     /**

-     *  Is the attribute an id attribute.

+     *  Is the attribute an id attribute.  This method will return

+     *  true if the attribute is an attribute that corresponds to

+     *  a simple id, an embedded id, or an attribute of an id class.

      *  @return boolean indicating whether the attribute is an id

      */

     boolean isId();

diff --git a/src/javax/persistence/metamodel/StaticMetamodel.java b/src/javax/persistence/metamodel/StaticMetamodel.java
index 483e371..9f2df49 100644
--- a/src/javax/persistence/metamodel/StaticMetamodel.java
+++ b/src/javax/persistence/metamodel/StaticMetamodel.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/metamodel/Type.java b/src/javax/persistence/metamodel/Type.java
index 87b1014..918d492 100644
--- a/src/javax/persistence/metamodel/Type.java
+++ b/src/javax/persistence/metamodel/Type.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.metamodel;

 

diff --git a/src/javax/persistence/orm_2_0.xsd b/src/javax/persistence/orm_2_0.xsd
index 35e81cf..f6dc8f8 100644
--- a/src/javax/persistence/orm_2_0.xsd
+++ b/src/javax/persistence/orm_2_0.xsd
@@ -9,7 +9,7 @@
 

   <xsd:annotation>

     <xsd:documentation>

-      @(#)orm_2_0.xsd 2.0  August 31 2009

+      @(#)orm_2_0.xsd 2.0  October 1 2009

     </xsd:documentation>

   </xsd:annotation>

 

@@ -26,19 +26,9 @@
   http://www.eclipse.org/org/documents/edl-v10.php.

   

   Contributors:

-      Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+      Linda DeMichiel - Java Persistence 2.0, Version 2.0 (October 1, 2009)

       Specification available from http://jcp.org/en/jsr/detail?id=317

- 

-  Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

-  This is an implementation of an early-draft specification developed under the 

-  Java Community Process (JCP).  The code is untested and presumed not to be a  

-  compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

-  We encourage you to migrate to an implementation of the Java(TM) Persistence 

-  API, Version 2.0 Specification that has been tested and verified to be compatible 

-  as soon as such an implementation is available, and we encourage you to retain 

-  this notice in any implementation of Java(TM) Persistence API, Version 2.0 

-  Specification that you distribute.

- 

+  

     </xsd:documentation>

   </xsd:annotation>

 

@@ -86,7 +76,7 @@
       <xsd:annotation>

         <xsd:documentation>

 

-        The entity-mappings element is the root element of an mapping

+        The entity-mappings element is the root element of a mapping

         file. It contains the following four types of elements:

 

         1. The persistence-unit-metadata element contains metadata

@@ -185,12 +175,12 @@
         unless they are overridden by local annotation or XML 

         element settings. 

         

-        schema - Used as the schema for all tables, secondary tables,

-            collection tables, sequence generators, and table generators

-            that apply to the persistence unit

-        catalog - Used as the catalog for all tables, secondary tables, 

-            collection tables, sequence generators, and table generators

-            that apply to the persistence unit

+        schema - Used as the schema for all tables, secondary tables, join

+            tables, collection tables, sequence generators, and table 

+            generators that apply to the persistence unit

+        catalog - Used as the catalog for all tables, secondary tables, join

+            tables, collection tables, sequence generators, and table 

+            generators that apply to the persistence unit

         delimited-identifiers - Used to treat database identifiers as

             delimited identifiers.

         access - Used as the access type for all managed classes in

@@ -1075,6 +1065,7 @@
   </xsd:complexType>

 

 <!-- **************************************************** -->

+

   <xsd:complexType name="lob">

     <xsd:annotation>

       <xsd:documentation>

@@ -1105,6 +1096,7 @@
       <xsd:enumeration value="PESSIMISTIC_WRITE"/>

       <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>

       <xsd:enumeration value="NONE"/>

+

     </xsd:restriction>

   </xsd:simpleType>

 

@@ -1200,7 +1192,7 @@
     <xsd:attribute name="fetch" type="orm:fetch-type"/>

     <xsd:attribute name="optional" type="xsd:boolean"/>

     <xsd:attribute name="access" type="orm:access-type"/>

-    <xsd:attribute name="mapped-by-id" type="xsd:string"/>

+    <xsd:attribute name="maps-id" type="xsd:string"/>

     <xsd:attribute name="id" type="xsd:boolean"/>

   </xsd:complexType>

 

@@ -1501,7 +1493,7 @@
     <xsd:attribute name="access" type="orm:access-type"/>

     <xsd:attribute name="mapped-by" type="xsd:string"/>

     <xsd:attribute name="orphan-removal" type="xsd:boolean"/>

-    <xsd:attribute name="mapped-by-id" type="xsd:string"/>

+    <xsd:attribute name="maps-id" type="xsd:string"/>

     <xsd:attribute name="id" type="xsd:boolean"/>

 </xsd:complexType>

 

diff --git a/src/javax/persistence/persistence_2_0.xsd b/src/javax/persistence/persistence_2_0.xsd
index 01bbbda..d946203 100644
--- a/src/javax/persistence/persistence_2_0.xsd
+++ b/src/javax/persistence/persistence_2_0.xsd
@@ -9,7 +9,7 @@
 

   <xsd:annotation>

     <xsd:documentation>

-      @(#)persistence_2_0.xsd  1.0  August 31 2009

+      @(#)persistence_2_0.xsd  1.0  October 1 2009

     </xsd:documentation>

   </xsd:annotation>

 

@@ -26,24 +26,13 @@
   http://www.eclipse.org/org/documents/edl-v10.php.

   

   Contributors:

-      Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+      Linda DeMichiel - Java Persistence 2.0, Version 2.0 (October 1, 2009)

       Specification available from http://jcp.org/en/jsr/detail?id=317

  

-  Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

-  This is an implementation of an early-draft specification developed under the 

-  Java Community Process (JCP).  The code is untested and presumed not to be a  

-  compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

-  We encourage you to migrate to an implementation of the Java(TM) Persistence 

-  API, Version 2.0 Specification that has been tested and verified to be compatible 

-  as soon as such an implementation is available, and we encourage you to retain 

-  this notice in any implementation of Java(TM) Persistence API, Version 2.0 

-  Specification that you distribute.

-

-

     </xsd:documentation>

   </xsd:annotation>

 

-  <xsd:annotation>

+   <xsd:annotation>

      <xsd:documentation><![CDATA[

 

      This is the XML Schema for the persistence configuration file.

@@ -198,9 +187,9 @@
                   <xsd:documentation>

 

                     When set to true then only listed classes and jars will 

-                    be scanned for persistent classes, otherwise the enclosing 

-                    jar or directory will also be scanned. Not applicable to 

-                    Java SE persistence units.

+                    be scanned for persistent classes, otherwise the 

+                    enclosing jar or directory will also be scanned. 

+                    Not applicable to Java SE persistence units.

 

                   </xsd:documentation>

                 </xsd:annotation>

diff --git a/src/javax/persistence/spi/ClassTransformer.java b/src/javax/persistence/spi/ClassTransformer.java
index 7cf0c20..323b1e6 100644
--- a/src/javax/persistence/spi/ClassTransformer.java
+++ b/src/javax/persistence/spi/ClassTransformer.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

diff --git a/src/javax/persistence/spi/LoadState.java b/src/javax/persistence/spi/LoadState.java
index 72906a0..6bab245 100644
--- a/src/javax/persistence/spi/LoadState.java
+++ b/src/javax/persistence/spi/LoadState.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

diff --git a/src/javax/persistence/spi/PersistenceProvider.java b/src/javax/persistence/spi/PersistenceProvider.java
index b13f653..a27085f 100644
--- a/src/javax/persistence/spi/PersistenceProvider.java
+++ b/src/javax/persistence/spi/PersistenceProvider.java
@@ -1,4 +1,3 @@
-

 /*******************************************************************************

  * Copyright (c) 2008, 2009 Sun Microsystems. All rights reserved. 

  * 

@@ -10,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

diff --git a/src/javax/persistence/spi/PersistenceProviderResolver.java b/src/javax/persistence/spi/PersistenceProviderResolver.java
index 91a05bd..78982ed 100644
--- a/src/javax/persistence/spi/PersistenceProviderResolver.java
+++ b/src/javax/persistence/spi/PersistenceProviderResolver.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

@@ -52,6 +43,7 @@
 

     /**

      * Clear cache of providers.

+     *

      */

     void clearCachedProviders();

 } 

diff --git a/src/javax/persistence/spi/PersistenceProviderResolverHolder.java b/src/javax/persistence/spi/PersistenceProviderResolverHolder.java
index 1d8d9da..312af95 100644
--- a/src/javax/persistence/spi/PersistenceProviderResolverHolder.java
+++ b/src/javax/persistence/spi/PersistenceProviderResolverHolder.java
@@ -1,5 +1,5 @@
 /*******************************************************************************

- * Copyright (c) 2008, 2009 Sun Microsystems, Oracle Corporation. All rights reserved. 

+ * Copyright (c) 2008, 2009 Sun Microsystems. 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 

@@ -9,19 +9,10 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *     dclarke - EclipseLink implementation and default resolver

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

@@ -67,8 +58,7 @@
     /**

      * Defines the persistence provider resolver used.

      * 

-     * @param resolver

-     *            persistence provider resolver to be used.

+     * @param resolver persistence provider resolver to be used.

      */

     public static void setPersistenceProviderResolver(PersistenceProviderResolver resolver) {

         if (resolver == null) {

@@ -83,7 +73,7 @@
      * 

      * Uses the META-INF/services approach as described in the Java Persistence

      * specification. A getResources() call is made on the current context

-     * class-loader to find the service provider files on the class-path. Any

+     * classloader to find the service provider files on the classpath. Any

      * service files found are then read to obtain the classes that implement

      * the persistence provider interface.

      */

diff --git a/src/javax/persistence/spi/PersistenceUnitInfo.java b/src/javax/persistence/spi/PersistenceUnitInfo.java
index 7cc71aa..88a01ad 100644
--- a/src/javax/persistence/spi/PersistenceUnitInfo.java
+++ b/src/javax/persistence/spi/PersistenceUnitInfo.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

@@ -42,7 +33,7 @@
     /**

      * Returns the name of the persistence unit. Corresponds to the

      * <code>name</code> attribute in the <code>persistence.xml<code> file.

-     * @return  the name of the persistence unit. 

+     * @return  the name of the persistence unit 

      */

     public String getPersistenceUnitName();

 

@@ -51,7 +42,7 @@
      * implementation class. Corresponds to the <code>provider</code> element in

      * the <code>persistence.xml</code> file.

      * @return  the fully qualified name of the persistence provider 

-     * implementation class.

+     * implementation class

      */

     public String getPersistenceProviderClassName();

 

@@ -60,7 +51,7 @@
      * the <code>EntityManagerFactory</code>. The transaction type corresponds to

      * the <code>transaction-type</code> attribute in the <code>persistence.xml</code> file.

      * @return  transaction type of the entity managers created

-     * by the EntityManagerFactory.

+     * by the EntityManagerFactory

      */

     public PersistenceUnitTransactionType getTransactionType();

 

@@ -70,7 +61,7 @@
      * <code>jta-data-source</code> element in the <code>persistence.xml</code> file or is

      * provided at deployment or by the container.

      * @return the JTA-enabled data source to be used by the 

-     * persistence provider.

+     * persistence provider

      */

     public DataSource getJtaDataSource();

 

@@ -82,7 +73,7 @@
      * provided at deployment or by the container.

      * @return the non-JTA-enabled data source to be used by the 

      * persistence provider for accessing data outside a JTA 

-     * transaction.

+     * transaction

      */

     public DataSource getNonJtaDataSource();

 

@@ -96,7 +87,7 @@
      * <code>persistence.xml</code> file.

      * @return the list of mapping file names that the persistence

      * provider must load to determine the mappings for the entity

-     * classes. 

+     * classes 

      */

     public List<String> getMappingFileNames();

 

@@ -110,7 +101,7 @@
      * that contains an exploded jar file, or some other URL from

      * which an InputStream in jar format can be obtained.

      * @return a list of URL objects referring to jar files or

-     * directories. 

+     * directories 

      */

     public List<URL> getJarFileUrls();

 

@@ -123,7 +114,7 @@
      * or referring to a directory that contains an exploded jar

      * file, or some other URL from which an InputStream in jar

      * format can be obtained.

-     * @return a URL referring to a jar file or directory.

+     * @return a URL referring to a jar file or directory

      */

     public URL getPersistenceUnitRootUrl();

 

@@ -134,7 +125,7 @@
      * <code>persistence.xml</code> file.

      * @return the list of the names of the classes that the 

      * persistence provider must add to its set of managed 

-     * classes. 

+     * classes 

      */

     public List<String> getManagedClassNames();

 

@@ -145,7 +136,7 @@
      * <code>exclude-unlisted-classes</code> element in the <code>persistence.xml</code> file.

      * @return whether classes in the root of the persistence

      * unit that have not been explicitly listed are to be

-     * included in the set of managed classes.

+     * included in the set of managed classes

      */

     public boolean excludeUnlistedClasses();

 

@@ -167,7 +158,7 @@
      * corresponds to the <code>validation-mode</code> element in the

      * <code>persistence.xml</code> file.

      * @return the validation mode to be used by the 

-     * persistence provider for the persistence unit.

+     * persistence provider for the persistence unit

      * 

      * @since Java Persistence 2.0

      */

@@ -176,7 +167,7 @@
     /**

      * Returns a properties object. Each property corresponds to a

      * <code>property</code> element in the <code>persistence.xml</code> file.

-     * @return Properties object. 

+     * @return Properties object 

      */

     public Properties getProperties();

     

@@ -192,7 +183,7 @@
      * Returns ClassLoader that the provider may use to load any

      * classes, resources, or open URLs.

      * @return ClassLoader that the provider may use to load any 

-     * classes, resources, or open URLs. 

+     * classes, resources, or open URLs 

      */

     public ClassLoader getClassLoader();

 

diff --git a/src/javax/persistence/spi/PersistenceUnitTransactionType.java b/src/javax/persistence/spi/PersistenceUnitTransactionType.java
index 6937b00..dc2c12a 100644
--- a/src/javax/persistence/spi/PersistenceUnitTransactionType.java
+++ b/src/javax/persistence/spi/PersistenceUnitTransactionType.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.
  * 
  * Contributors:
- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)
+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)
  *     Specification available from http://jcp.org/en/jsr/detail?id=317
  *
- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS
- * This is an implementation of an early-draft specification developed under the 
- * Java Community Process (JCP).  The code is untested and presumed not to be a  
- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   
- * We encourage you to migrate to an implementation of the Java(TM) Persistence 
- * API, Version 2.0 Specification that has been tested and verified to be compatible 
- * as soon as such an implementation is available, and we encourage you to retain 
- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 
- * Specification that you distribute.
  ******************************************************************************/
 package javax.persistence.spi;
 
diff --git a/src/javax/persistence/spi/ProviderUtil.java b/src/javax/persistence/spi/ProviderUtil.java
index 2844a5c..b653edd 100644
--- a/src/javax/persistence/spi/ProviderUtil.java
+++ b/src/javax/persistence/spi/ProviderUtil.java
@@ -9,18 +9,9 @@
  * http://www.eclipse.org/org/documents/edl-v10.php.

  * 

  * Contributors:

- *     Linda DeMichiel -Java Persistence 2.0 - Proposed Final Draft, Version 2.0 (August 31, 2009)

+ *     Linda DeMichiel - Java Persistence 2.0 - Version 2.0 (October 1, 2009)

  *     Specification available from http://jcp.org/en/jsr/detail?id=317

  *

- * Java(TM) Persistence API, Version 2.0 - EARLY ACCESS

- * This is an implementation of an early-draft specification developed under the 

- * Java Community Process (JCP).  The code is untested and presumed not to be a  

- * compatible implementation of JSR 317: Java(TM) Persistence API, Version 2.0.   

- * We encourage you to migrate to an implementation of the Java(TM) Persistence 

- * API, Version 2.0 Specification that has been tested and verified to be compatible 

- * as soon as such an implementation is available, and we encourage you to retain 

- * this notice in any implementation of Java(TM) Persistence API, Version 2.0 

- * Specification that you distribute.

  ******************************************************************************/

 package javax.persistence.spi;

 

@@ -38,18 +29,18 @@
      * If the provider determines that the entity has been provided

      * by itself and that the state of the specified attribute has

      * been loaded, this method returns <code>LoadState.LOADED</code>.

-     * If the provider determines that the entity has been provided

+     * <p> If the provider determines that the entity has been provided

      * by itself and that either entity attributes with <code>FetchType.EAGER</code> 

      * have not been loaded or that the state of the specified

      * attribute has not been loaded, this methods returns

      * <code>LoadState.NOT_LOADED</code>.

-     * If a provider cannot determine the load state, this method

+     * <p> If a provider cannot determine the load state, this method

      * returns <code>LoadState.UNKNOWN</code>.

-     * The provider's implementation of this method must not obtain

+     * <p> The provider's implementation of this method must not obtain

      * a reference to an attribute value, as this could trigger the

      * loading of entity state if the entity has been provided by a

      * different provider.

-     * @param entity

+     * @param entity  entity instance

      * @param attributeName  name of attribute whose load status is

      *        to be determined

      * @return load status of the attribute

@@ -60,20 +51,20 @@
      * If the provider determines that the entity has been provided

      * by itself and that the state of the specified attribute has

      * been loaded, this method returns <code>LoadState.LOADED</code>.

-     * If a provider determines that the entity has been provided

+     * <p> If a provider determines that the entity has been provided

      * by itself and that either the entity attributes with <code>FetchType.EAGER</code>

      * have not been loaded or that the state of the specified

      * attribute has not been loaded, this method returns

      * return <code>LoadState.NOT_LOADED</code>.

-     * If the provider cannot determine the load state, this method

+     * <p> If the provider cannot determine the load state, this method

      * returns <code>LoadState.UNKNOWN</code>.

-     * The provider's implementation of this method is permitted to

+     * <p> The provider's implementation of this method is permitted to

      * obtain a reference to the attribute value.  (This access is

      * safe because providers which might trigger the loading of the

      * attribute state will have already been determined by

      * <code>isLoadedWithoutReference</code>. )

      *

-     * @param entity

+     * @param entity  entity instance

      * @param attributeName  name of attribute whose load status is

      *        to be determined

      * @return load status of the attribute

@@ -85,12 +76,12 @@
      * by itself and that the state of all attributes for which

      * <code>FetchType.EAGER</code> has been specified have been loaded, this 

      * method returns <code>LoadState.LOADED</code>.

-     * If the provider determines that the entity has been provided

+     * <p> If the provider determines that the entity has been provided

      * by itself and that not all attributes with <code>FetchType.EAGER</code> 

      * have been loaded, this method returns <code>LoadState.NOT_LOADED</code>.

-     * If the provider cannot determine if the entity has been

+     * <p> If the provider cannot determine if the entity has been

      * provided by itself, this method returns <code>LoadState.UNKNOWN</code>.

-     * The provider's implementation of this method must not obtain

+     * <p> The provider's implementation of this method must not obtain

      * a reference to any attribute value, as this could trigger the

      * loading of entity state if the entity has been provided by a

      * different provider.