Updated examples under the jpa subdirectory:

1) Add lambda expressions to test eclipselink modifications in support of
   JDK 8 lambdas
2) Updated EclipseLink attribute converters to JPA 2.1 attribute converters
   in the Employee example
3) Updated pom files to use JDK 8, EclipseLink 2.6.0, and various updated maven
   plugin versions.

Signed-off-by: John Clingan <jtclingan@yahoo.com>
Signed-off-by: John Clingan <john.clingan@oracle.com>
diff --git a/jpa/employee.dynamic/.classpath b/jpa/employee.dynamic/.classpath
index d76c977..6125775 100644
--- a/jpa/employee.dynamic/.classpath
+++ b/jpa/employee.dynamic/.classpath
@@ -14,12 +14,12 @@
 		</attributes>
 	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
+	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
diff --git a/jpa/employee.dynamic/.project b/jpa/employee.dynamic/.project
index 73017bf..8cdb39d 100644
--- a/jpa/employee.dynamic/.project
+++ b/jpa/employee.dynamic/.project
@@ -16,12 +16,12 @@
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
+			<name>org.eclipse.wst.validation.validationbuilder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
 		<buildCommand>
-			<name>org.eclipse.wst.validation.validationbuilder</name>
+			<name>org.eclipse.m2e.core.maven2Builder</name>
 			<arguments>
 			</arguments>
 		</buildCommand>
diff --git a/jpa/employee.dynamic/.settings/org.eclipse.jdt.core.prefs b/jpa/employee.dynamic/.settings/org.eclipse.jdt.core.prefs
index 107056a..13b3428 100644
--- a/jpa/employee.dynamic/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/employee.dynamic/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,13 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/employee.dynamic/pom.xml b/jpa/employee.dynamic/pom.xml
index 219f7d0..95d64e8 100644
--- a/jpa/employee.dynamic/pom.xml
+++ b/jpa/employee.dynamic/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.jpa</groupId>
 		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
 
 	<artifactId>employee.dynamic</artifactId>
@@ -18,7 +18,13 @@
 		<dependency>
 			<groupId>${eclipselink.groupid}</groupId>
 			<artifactId>${eclipselink.artifactid}</artifactId>
-			<version>${eclipselink.version}</version>
+                        <!-- *******************************************
+			 Build 2.6.0-RC1 introduced an issue that forces
+                         this example to remain on build 2.6.0-M3. The
+                         issue will be addressed in a 2.6.x+ release.
+                        ************************************************
+                        version>${eclipselink.version}</version-->
+			<version>2.6.0-M3</version>
 			<exclusions>
 				<exclusion>
 					<artifactId>commonj.sdo</artifactId>
@@ -31,7 +37,7 @@
 		<dependency>
 			<groupId>${eclipselink.groupid}</groupId>
 			<artifactId>javax.persistence</artifactId>
-			<version>2.0.5</version>
+			<version>2.1.0</version>
 			<exclusions>
 				<exclusion>
 					<artifactId>commonj.sdo</artifactId>
@@ -44,7 +50,7 @@
 		<dependency>
 			<groupId>org.apache.derby</groupId>
 			<artifactId>derby</artifactId>
-			<version>10.9.1.0</version>
+			<version>10.11.1.1</version>
 			<scope>test</scope>
 		</dependency>
 
@@ -58,12 +64,17 @@
 		<dependency>
 			<groupId>javax.validation</groupId>
 			<artifactId>validation-api</artifactId>
-			<version>1.0.0.GA</version>
+			<version>1.1.0.Final</version>
 		</dependency>
 		<dependency>
 			<groupId>org.hibernate</groupId>
 			<artifactId>hibernate-validator</artifactId>
-			<version>4.0.2.GA</version>
+			<version>5.1.3.Final</version>
+		</dependency>
+		<dependency>
+		   <groupId>javax.el</groupId>
+		   <artifactId>javax.el-api</artifactId>
+		   <version>2.2.4</version>
 		</dependency>
 		<dependency>
 			<groupId>org.slf4j</groupId>
@@ -86,8 +97,8 @@
 				<artifactId>maven-compiler-plugin</artifactId>
 				<version>2.5.1</version>
 				<configuration>
-					<source>1.7</source>
-					<target>1.7</target>
+					<source>1.8</source>
+					<target>1.8</target>
 				</configuration>
 			</plugin>
 
diff --git a/jpa/employee.dynamic/src/main/resources/META-INF/employee-orm.xml b/jpa/employee.dynamic/src/main/resources/META-INF/employee-orm.xml
index 920e862..6af220f 100644
--- a/jpa/employee.dynamic/src/main/resources/META-INF/employee-orm.xml
+++ b/jpa/employee.dynamic/src/main/resources/META-INF/employee-orm.xml
@@ -5,11 +5,9 @@
 
 	<package>example.jpa.dynamic.model.employee</package>
 
-	<object-type-converter name="gender-converter"
-		object-type="String" data-type="String">
-		<conversion-value object-value="Male" data-value="M" />
-		<conversion-value object-value="Female" data-value="F" />
-	</object-type-converter>
+	<!--object-type-converter name="gender-converter" object-type="String" data-type="String">
+		<conversion-value object-value="Male" data-value="M" /> <conversion-value
+		object-value="Female" data-value="F" /> </object-type-converter -->
 
 	<named-query name="Employee.findAll">
 		<query>SELECT e FROM Employee e ORDER BY e.lastName, e.firstName
@@ -18,7 +16,8 @@
 	</named-query>
 
 	<named-query name="Employee.findMin">
-		<query>SELECT e FROM Employee e WHERE e.id IN (SELECT MIN(ee.id) FROM Employee ee)
+		<query>SELECT e FROM Employee e WHERE e.id IN (SELECT MIN(ee.id) FROM
+			Employee ee)
 		</query>
 	</named-query>
 
@@ -85,8 +84,11 @@
 			</basic>
 			<basic name="gender" attribute-type="String">
 				<column name="GENDER" />
-				<convert>gender-converter</convert>
 			</basic>
+			<entity class="eclipselink.example.jpa.employee.model.Employee">
+				<convert converter="eclipselink.example.jpa.employee.model.GenderConverter"
+					attribute-name="gender" />
+			</entity>
 			<basic name="salary" attribute-type="Integer">
 				<column table="SALARY" />
 			</basic>
@@ -126,4 +128,4 @@
 		</attributes>
 	</entity>
 
-</entity-mappings>
\ No newline at end of file
+</entity-mappings>
diff --git a/jpa/employee.dynamic/src/main/resources/META-INF/persistence.xml b/jpa/employee.dynamic/src/main/resources/META-INF/persistence.xml
index c0b0e5d..4ac7127 100644
--- a/jpa/employee.dynamic/src/main/resources/META-INF/persistence.xml
+++ b/jpa/employee.dynamic/src/main/resources/META-INF/persistence.xml
@@ -1,5 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+<persistence version="2.1"
+             xmlns="http://xmlns.jcp.org/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
 	<persistence-unit name="employee-xml" transaction-type="RESOURCE_LOCAL">
 		<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
 		<mapping-file>META-INF/employee-orm.xml</mapping-file>
diff --git a/jpa/employee.dynamic/src/main/resources/META-INF/validation.xml b/jpa/employee.dynamic/src/main/resources/META-INF/validation.xml
index 415d775..4b943c8 100644
--- a/jpa/employee.dynamic/src/main/resources/META-INF/validation.xml
+++ b/jpa/employee.dynamic/src/main/resources/META-INF/validation.xml
@@ -3,8 +3,8 @@
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration">
     <default-provider>org.hibernate.validator.HibernateValidator</default-provider>
-    <message-interpolator>org.hibernate.validator.engine.ResourceBundleMessageInterpolator</message-interpolator>
-    <traversable-resolver>org.hibernate.validator.engine.resolver.DefaultTraversableResolver</traversable-resolver>
-    <constraint-validator-factory>org.hibernate.validator.engine.ConstraintValidatorFactoryImpl</constraint-validator-factory>
+    <message-interpolator>org.hibernate.validator.messageinterpolation.ResourceBundleMessageInterpolator</message-interpolator>
+    <traversable-resolver>org.hibernate.validator.internal.engine.resolver.DefaultTraversableResolver</traversable-resolver>
+    <constraint-validator-factory>org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImpl</constraint-validator-factory>
     <constraint-mapping>/META-INF/employee-constraints.xml</constraint-mapping>
-</validation-config>
\ No newline at end of file
+</validation-config>
diff --git a/jpa/employee/employee.model/.classpath b/jpa/employee/employee.model/.classpath
index 50a092e..3200c29 100644
--- a/jpa/employee/employee.model/.classpath
+++ b/jpa/employee/employee.model/.classpath
@@ -24,7 +24,7 @@
 			<attribute name="org.eclipse.jst.component.nondependency" value=""/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="owner.project.facets" value="java"/>
 		</attributes>
diff --git a/jpa/employee/employee.model/.settings/org.eclipse.jdt.core.prefs b/jpa/employee/employee.model/.settings/org.eclipse.jdt.core.prefs
index 443e085..6e80039 100644
--- a/jpa/employee/employee.model/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/employee/employee.model/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/employee/employee.model/.settings/org.eclipse.wst.common.project.facet.core.xml b/jpa/employee/employee.model/.settings/org.eclipse.wst.common.project.facet.core.xml
index 0bcc5bd..646ae4e 100644
--- a/jpa/employee/employee.model/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/jpa/employee/employee.model/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -2,5 +2,5 @@
 <faceted-project>
   <installed facet="jpt.jpa" version="2.0"/>
   <installed facet="jst.utility" version="1.0"/>
-  <installed facet="java" version="1.7"/>
+  <installed facet="java" version="1.8"/>
 </faceted-project>
diff --git a/jpa/employee/employee.model/pom.xml b/jpa/employee/employee.model/pom.xml
index 70a4806..258f742 100644
--- a/jpa/employee/employee.model/pom.xml
+++ b/jpa/employee/employee.model/pom.xml
@@ -1,195 +1,195 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
 
-	<parent>
-		<relativePath>..</relativePath>
-		<groupId>eclipselink.example.jpa</groupId>
-		<artifactId>employee.parent</artifactId>
-		<version>2.4.2</version>
-	</parent>
+    <parent>
+        <relativePath>..</relativePath>
+        <groupId>eclipselink.example.jpa</groupId>
+        <artifactId>employee.parent</artifactId>
+        <version>2.6.0</version>
+    </parent>
 
-	<artifactId>employee.model</artifactId>
-	<packaging>jar</packaging>
-	<name>Employee Model</name>
+    <artifactId>employee.model</artifactId>
+    <packaging>jar</packaging>
+    <name>Employee Model</name>
 
-	<dependencies>
-		<dependency>
-			<groupId>${eclipselink.groupid}</groupId>
-			<artifactId>${eclipselink.artifactid}</artifactId>
-			<version>${eclipselink.version}</version>
-			<exclusions>
-				<exclusion>
-					<artifactId>commonj.sdo</artifactId>
-					<groupId>commonj.sdo</groupId>
-				</exclusion>
-			</exclusions>
-			<scope>provided</scope>
-		</dependency>
+    <dependencies>
+        <dependency>
+            <groupId>${eclipselink.groupid}</groupId>
+            <artifactId>${eclipselink.artifactid}</artifactId>
+            <version>${eclipselink.version}</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>commonj.sdo</artifactId>
+                    <groupId>commonj.sdo</groupId>
+                </exclusion>
+            </exclusions>
+            <scope>provided</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>4.11</version>
-			<scope>test</scope>
-		</dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.11</version>
+            <scope>test</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.apache.derby</groupId>
-			<artifactId>derby</artifactId>
-			<version>10.9.1.0</version>
-			<scope>test</scope>
-		</dependency>
+        <dependency>
+            <groupId>org.apache.derby</groupId>
+            <artifactId>derby</artifactId>
+            <version>10.11.1.1</version>
+            <scope>test</scope>
+        </dependency>
 
-		<dependency>
-			<groupId>org.glassfish</groupId>
-			<artifactId>javax.ejb</artifactId>
-			<version>3.1.1</version>
-			<scope>provided</scope>
-		</dependency>
+        <dependency>
+            <groupId>javax.ejb</groupId>
+            <artifactId>javax.ejb-api</artifactId>
+            <version>3.2</version>
+            <scope>provided</scope>
+        </dependency>
 
-	</dependencies>
+    </dependencies>
 
-	<build>
-		<defaultGoal>test</defaultGoal>
+    <build>
+        <defaultGoal>test</defaultGoal>
 
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.12.4</version>
-				<configuration>
-					<systemProperties>
-						<property>
-							<name>derby.stream.error.file</name>
-							<value>target/derby.log</value>
-						</property>
-					</systemProperties>
-					<argLine>"-javaagent:${settings.localRepository}/org/eclipse/persistence/eclipselink/${eclipselink.version}/eclipselink-${eclipselink.version}.jar"</argLine>
-				</configuration>
-			</plugin>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.18</version>
+                <configuration>
+                    <systemProperties>
+                        <property>
+                            <name>derby.stream.error.file</name>
+                            <value>target/derby.log</value>
+                        </property>
+                    </systemProperties>
+                    <argLine>"-javaagent:${settings.localRepository}/org/eclipse/persistence/eclipselink/${eclipselink.version}/eclipselink-${eclipselink.version}.jar"</argLine>
+                </configuration>
+            </plugin>
 
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>build-helper-maven-plugin</artifactId>
-				<version>1.1</version>
-				<executions>
-					<execution>
-						<id>add-source</id>
-						<phase>generate-sources</phase>
-						<goals>
-							<goal>add-source</goal>
-						</goals>
-						<configuration>
-							<sources>
-								<source>src/main/jpa-model</source>
-							</sources>
-						</configuration>
-					</execution>
-				</executions>
-			</plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.9.1</version>
+                <executions>
+                    <execution>
+                        <id>add-source</id>
+                        <phase>generate-sources</phase>
+                        <goals>
+                            <goal>add-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>src/main/jpa-model</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
 
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>2.5</version>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>test-jar</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <!--This plugin's configuration is used to store Eclipse m2e settings
+                only. It has no influence on the Maven build itself. -->
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.codehaus.mojo
+                                        </groupId>
+                                        <artifactId>
+                                            build-helper-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.1,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>add-source</goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+
+    <!-- Profile to demonstrate how an additional database can be configured
+    for use in testing. Also useful in populating the target database your container's
+    data source will be using. USAGE: mvn -P mysql -->
+    <profiles>
+        <profile>
+            <id>mysql</id>
+            <activation>
+                <property>
+                    <name>mysql</name>
+                </property>
+            </activation>
+            <dependencies>
+                <dependency>
+                    <groupId>mysql</groupId>
+                    <artifactId>mysql-connector-java</artifactId>
+                    <version>5.1.34</version>
+                    <scope>test</scope>
+                </dependency>
+            </dependencies>
+
+            <build>
+                <plugins>
                     <plugin>
                         <groupId>org.apache.maven.plugins</groupId>
-                        <artifactId>maven-jar-plugin</artifactId>
-                        <version>2.4</version>
-                        <executions>
-                            <execution>
-                                <goals>
-                                    <goal>test-jar</goal>
-                                </goals>
-                            </execution>
-                        </executions>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <version>2.18</version>
+                        <configuration>
+                            <systemProperties>
+                                <property>
+                                    <name>javax.persistence.jdbc.url</name>
+                                    <value>jdbc:mysql://localhost:3306/employee</value>
+                                </property>
+                                <property>
+                                    <name>javax.persistence.jdbc.driver</name>
+                                    <value>com.mysql.jdbc.Driver</value>
+                                </property>
+                                <property>
+                                    <name>javax.persistence.jdbc.user</name>
+                                    <value>employee</value>
+                                </property>
+                                <property>
+                                    <name>javax.persistence.jdbc.password</name>
+                                    <value>employee</value>
+                                </property>
+                            </systemProperties>
+                        </configuration>
                     </plugin>
-		</plugins>
-		<pluginManagement>
-			<plugins>
-				<!--This plugin's configuration is used to store Eclipse m2e settings 
-					only. It has no influence on the Maven build itself. -->
-				<plugin>
-					<groupId>org.eclipse.m2e</groupId>
-					<artifactId>lifecycle-mapping</artifactId>
-					<version>1.0.0</version>
-					<configuration>
-						<lifecycleMappingMetadata>
-							<pluginExecutions>
-								<pluginExecution>
-									<pluginExecutionFilter>
-										<groupId>
-											org.codehaus.mojo
-										</groupId>
-										<artifactId>
-											build-helper-maven-plugin
-										</artifactId>
-										<versionRange>
-											[1.1,)
-										</versionRange>
-										<goals>
-											<goal>add-source</goal>
-										</goals>
-									</pluginExecutionFilter>
-									<action>
-										<ignore></ignore>
-									</action>
-								</pluginExecution>
-							</pluginExecutions>
-						</lifecycleMappingMetadata>
-					</configuration>
-				</plugin>
-			</plugins>
-		</pluginManagement>
-	</build>
-
-	<!-- Profile to demonstrate how an additional database can be configured 
-		for use in testing. Also useful in populating the target database your container's 
-		data source will be using. USAGE: mvn -P mysql -->
-	<profiles>
-		<profile>
-			<id>mysql</id>
-			<activation>
-				<property>
-					<name>mysql</name>
-				</property>
-			</activation>
-			<dependencies>
-				<dependency>
-					<groupId>mysql</groupId>
-					<artifactId>mysql-connector-java</artifactId>
-					<version>5.1.22</version>
-					<scope>test</scope>
-				</dependency>
-			</dependencies>
-
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.apache.maven.plugins</groupId>
-						<artifactId>maven-surefire-plugin</artifactId>
-						<version>2.12.4</version>
-						<configuration>
-							<systemProperties>
-								<property>
-									<name>javax.persistence.jdbc.url</name>
-									<value>jdbc:mysql://localhost:3306/employee</value>
-								</property>
-								<property>
-									<name>javax.persistence.jdbc.driver</name>
-									<value>com.mysql.jdbc.Driver</value>
-								</property>
-								<property>
-									<name>javax.persistence.jdbc.user</name>
-									<value>employee</value>
-								</property>
-								<property>
-									<name>javax.persistence.jdbc.password</name>
-									<value>employee</value>
-								</property>
-							</systemProperties>
-						</configuration>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-	</profiles>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 
 </project>
diff --git a/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/Employee.java b/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/Employee.java
index a10b241..03f960e 100644
--- a/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/Employee.java
+++ b/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/Employee.java
@@ -10,6 +10,7 @@
  * Contributors:
  *              dclarke - initial JPA Employee example using XML (bug 217884)
  *              mbraeuer - annotated version, transformation
+ *              jclingan - Updated to use JPA 2.1 Attribute Converters
  ******************************************************************************/
 package eclipselink.example.jpa.employee.model;
 
@@ -22,6 +23,7 @@
 import javax.persistence.CascadeType;
 import javax.persistence.CollectionTable;
 import javax.persistence.Column;
+import javax.persistence.Convert;
 import javax.persistence.ElementCollection;
 import javax.persistence.Embedded;
 import javax.persistence.Entity;
@@ -38,9 +40,6 @@
 import javax.persistence.SecondaryTable;
 import javax.persistence.Version;
 
-import org.eclipse.persistence.annotations.ConversionValue;
-import org.eclipse.persistence.annotations.Convert;
-import org.eclipse.persistence.annotations.ObjectTypeConverter;
 import org.eclipse.persistence.annotations.PrivateOwned;
 import org.eclipse.persistence.config.HintValues;
 import org.eclipse.persistence.config.QueryHints;
@@ -49,11 +48,11 @@
  * TODO
  * 
  * @author dclarke
- * @since EclipseLink 1.1
+ * @author jclingan
+ * @since EclipseLink 2.5.2
  */
 @Entity
 @SecondaryTable(name = "SALARY")
-@ObjectTypeConverter(name = "gender", objectType = Gender.class, dataType = String.class, conversionValues = { @ConversionValue(dataValue = "M", objectValue = "Male"), @ConversionValue(dataValue = "F", objectValue = "Female") })
 @NamedQueries({ 
 	@NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e ORDER BY e.id"),
 	@NamedQuery(name = "Employee.findByName", query = "SELECT e FROM Employee e WHERE e.firstName LIKE :firstName AND e.lastName LIKE :lastName"),
@@ -80,7 +79,7 @@
      */
     @Basic
     @Column(name = "GENDER")
-    @Convert("gender")
+    @Convert(converter = GenderConverter.class)
     private Gender gender = Gender.Male;
 
     @Column(name = "L_NAME")
diff --git a/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/GenderConverter.java b/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/GenderConverter.java
new file mode 100644
index 0000000..751d127
--- /dev/null
+++ b/jpa/employee/employee.model/src/main/java/eclipselink/example/jpa/employee/model/GenderConverter.java
@@ -0,0 +1,57 @@
+/*******************************************************************************
+ * Copyright (c) 1998, 2011, 2014 Oracle. 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:
+ * 	dclarke - initial JPA Employee example using XML (bug 217884)
+ *      jclingan - Updated to support JPA 2.1 Attribute Converters
+ ******************************************************************************/
+package eclipselink.example.jpa.employee.model;
+
+import javax.persistence.AttributeConverter;
+import javax.persistence.Converter;
+
+/**
+ * Simple enum used in an ObjectTypeConverter
+ *
+ * @see Employee#gender
+ * @author jclingan
+ * @since 2.5.2
+ */
+
+@Converter(autoApply = true)
+public class GenderConverter implements AttributeConverter<Gender, String> {
+
+	@Override
+	public String convertToDatabaseColumn(Gender gender) {
+		switch (gender) {
+		case Male:
+			return "M";
+
+		case Female:
+			return "F";
+
+		default:
+			throw new IllegalArgumentException("Invalid gender: " + gender);
+		}
+	}
+
+	@Override
+	public Gender convertToEntityAttribute(String gender) {
+		switch (gender) {
+		case "M":
+			return Gender.Male;
+
+		case "F":
+			return Gender.Female;
+
+		default:
+			throw new IllegalArgumentException("Invalid gender code: " + gender);
+		}
+	}
+}
diff --git a/jpa/employee/employee.model/src/main/jpa-model/eclipselink/example/jpa/employee/model/GenderConverter_.java b/jpa/employee/employee.model/src/main/jpa-model/eclipselink/example/jpa/employee/model/GenderConverter_.java
new file mode 100644
index 0000000..98462c4
--- /dev/null
+++ b/jpa/employee/employee.model/src/main/jpa-model/eclipselink/example/jpa/employee/model/GenderConverter_.java
@@ -0,0 +1,9 @@
+package eclipselink.example.jpa.employee.model;
+
+import javax.annotation.Generated;
+import javax.persistence.metamodel.StaticMetamodel;
+
+@Generated(value="Dali", date="2014-11-25T17:42:48.314-0800")
+@StaticMetamodel(GenderConverter.class)
+public class GenderConverter_ {
+}
diff --git a/jpa/employee/employee.model/src/main/resources/META-INF/persistence.xml b/jpa/employee/employee.model/src/main/resources/META-INF/persistence.xml
index 202a0f6..278f3d8 100644
--- a/jpa/employee/employee.model/src/main/resources/META-INF/persistence.xml
+++ b/jpa/employee/employee.model/src/main/resources/META-INF/persistence.xml
@@ -1,21 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
+<persistence version="2.1"
+             xmlns="http://xmlns.jcp.org/xml/ns/persistence"
+             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
+
 	<persistence-unit name="employee" transaction-type="JTA">
 		<jta-data-source>jdbc/employeeDS</jta-data-source>
 		<class>eclipselink.example.jpa.employee.model.Address</class>
 		<class>eclipselink.example.jpa.employee.model.Employee</class>
 		<class>eclipselink.example.jpa.employee.model.PhoneNumber</class>
 		<class>eclipselink.example.jpa.employee.model.EmploymentPeriod</class>
+		<class>eclipselink.example.jpa.employee.model.GenderConverter</class>
 		<properties>
-			<property name="eclipselink.logging.level" value="FINE"/>
-			<property name="eclipselink.logging.timestamp" value="false"/>
-			<property name="eclipselink.logging.thread" value="false"/>
-			<property name="eclipselink.logging.session" value="false"/>
-			<property name="eclipselink.logging.exceptions" value="false"/>
-			<property name="eclipselink.logging.connection" value="false"/>
-			<property name="eclipselink.logging.level.metadata" value="WARNING"/>
-			<property name="eclipselink.logging.parameters" value="true"/>
-			<property name="eclipselink.logging.logger" value="DefaultLogger"/>
+			<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />
+			<property name="eclipselink.logging.level" value="FINE" />
+			<property name="eclipselink.logging.timestamp" value="false" />
+			<property name="eclipselink.logging.thread" value="false" />
+			<property name="eclipselink.logging.session" value="false" />
+			<property name="eclipselink.logging.exceptions" value="false" />
+			<property name="eclipselink.logging.connection" value="false" />
+			<property name="eclipselink.logging.level.metadata" value="WARNING" />
+			<property name="eclipselink.logging.parameters" value="true" />
+			<property name="eclipselink.logging.logger" value="DefaultLogger" />
 		</properties>
 	</persistence-unit>
 </persistence>
diff --git a/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java b/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java
index dca4972..35d2315 100644
--- a/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java
+++ b/jpa/employee/employee.model/src/test/java/example/JavaSEExample.java
@@ -19,6 +19,7 @@
 import javax.persistence.TypedQuery;
 
 import eclipselink.example.jpa.employee.model.Employee;
+import eclipselink.example.jpa.employee.model.Gender;
 import eclipselink.example.jpa.employee.model.SamplePopulation;
 import eclipselink.example.jpa.employee.test.PersistenceTesting;
 
@@ -42,6 +43,15 @@
 
             em.getTransaction().begin();
             new SamplePopulation().createNewEmployees(em, 10);
+
+            // Add employee with 555 area code to satisfy a test query
+            Employee e = new Employee();
+            e.setFirstName("John");
+            e.setLastName("Doe");
+            e.setGender(Gender.Male);
+            e.addPhoneNumber("HOME", "555", "5552222");
+            em.persist(e);
+
             em.getTransaction().commit();
             em.clear();
 
@@ -68,9 +78,8 @@
         List<Employee> results = em.createQuery("SELECT e FROM Employee e", Employee.class).getResultList();
 
         System.out.println("Query All Results: " + results.size());
-        for (Employee emp : results) {
-            System.out.println("\t> " + emp);
-        }
+
+        results.forEach(e -> System.out.println("\t>" + e));
     }
 
     public void queryEmployeeLikeAreaCode55(EntityManager em) {
@@ -79,9 +88,7 @@
         TypedQuery<Employee> query = em.createQuery("SELECT e FROM Employee e JOIN e.phoneNumbers phones WHERE phones.areaCode LIKE '55%'", Employee.class);
         List<Employee> emps = query.getResultList();
 
-        for (Employee e : emps) {
-            System.out.println("> " + e);
-        }
+        emps.forEach(e -> System.out.println("> " + e));
     }
 
     public void modifyEmployee(EntityManager em, int id) {
diff --git a/jpa/employee/employee.web-js/.classpath b/jpa/employee/employee.web-js/.classpath
index 6ffea0a..53d2672 100644
--- a/jpa/employee/employee.web-js/.classpath
+++ b/jpa/employee/employee.web-js/.classpath
@@ -18,7 +18,7 @@
 			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
 		<attributes>
 			<attribute name="owner.project.facets" value="java"/>
 		</attributes>
diff --git a/jpa/employee/employee.web-js/.settings/org.eclipse.jdt.core.prefs b/jpa/employee/employee.web-js/.settings/org.eclipse.jdt.core.prefs
index 443e085..6e80039 100644
--- a/jpa/employee/employee.web-js/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/employee/employee.web-js/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.component b/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.component
index 35a337b..882c79e 100644
--- a/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.component
+++ b/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.component
@@ -3,7 +3,7 @@
         <wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
         <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
-        <dependent-module archiveName="employee.model-2.4.2.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/employee.model/employee.model">
+        <dependent-module archiveName="employee.model-2.6.0-M3.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/employee.model/employee.model">
             <dependency-type>uses</dependency-type>
         </dependent-module>
         <property name="java-output-path" value="/Employee Example - web - js/target/classes"/>
diff --git a/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.project.facet.core.xml b/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.project.facet.core.xml
index 87eed3e..c962a68 100644
--- a/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/jpa/employee/employee.web-js/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -5,5 +5,5 @@
   <installed facet="jst.jaxrs" version="1.1"/>
   <installed facet="jst.web" version="3.0"/>
   <installed facet="jst.jsf" version="2.0"/>
-  <installed facet="java" version="1.7"/>
+  <installed facet="java" version="1.8"/>
 </faceted-project>
diff --git a/jpa/employee/employee.web-js/pom.xml b/jpa/employee/employee.web-js/pom.xml
index e8add37..39454d2 100644
--- a/jpa/employee/employee.web-js/pom.xml
+++ b/jpa/employee/employee.web-js/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.jpa</groupId>
 		<artifactId>employee.parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
 
 	<artifactId>employee.web-js</artifactId>
diff --git a/jpa/employee/employee.web/.classpath b/jpa/employee/employee.web/.classpath
index 4152630..638129d 100644
--- a/jpa/employee/employee.web/.classpath
+++ b/jpa/employee/employee.web/.classpath
@@ -13,16 +13,16 @@
 			<attribute name="maven.pomderived" value="true"/>
 		</attributes>
 	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
 	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
 		<attributes>
 			<attribute name="maven.pomderived" value="true"/>
 			<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
 		</attributes>
 	</classpathentry>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
+		<attributes>
+			<attribute name="owner.project.facets" value="java"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry kind="output" path="target/classes"/>
 </classpath>
diff --git a/jpa/employee/employee.web/.settings/org.eclipse.jdt.core.prefs b/jpa/employee/employee.web/.settings/org.eclipse.jdt.core.prefs
index 107056a..672496e 100644
--- a/jpa/employee/employee.web/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/employee/employee.web/.settings/org.eclipse.jdt.core.prefs
@@ -1,12 +1,12 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.debug.lineNumber=generate
 org.eclipse.jdt.core.compiler.debug.localVariable=generate
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.6
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/employee/employee.web/.settings/org.eclipse.wst.common.component b/jpa/employee/employee.web/.settings/org.eclipse.wst.common.component
index 8c51fb6..3583a7f 100644
--- a/jpa/employee/employee.web/.settings/org.eclipse.wst.common.component
+++ b/jpa/employee/employee.web/.settings/org.eclipse.wst.common.component
@@ -4,7 +4,7 @@
         <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
         <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
-        <dependent-module archiveName="employee.model-2.4.2.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/employee.model/employee.model">
+        <dependent-module archiveName="employee.model-2.6.0-M3.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/employee.model/employee.model">
             <dependency-type>uses</dependency-type>
         </dependent-module>
         <property name="java-output-path" value="/Employee Example - web/target/classes"/>
diff --git a/jpa/employee/employee.web/.settings/org.eclipse.wst.common.project.facet.core.xml b/jpa/employee/employee.web/.settings/org.eclipse.wst.common.project.facet.core.xml
index 894549e..543e7af 100644
--- a/jpa/employee/employee.web/.settings/org.eclipse.wst.common.project.facet.core.xml
+++ b/jpa/employee/employee.web/.settings/org.eclipse.wst.common.project.facet.core.xml
@@ -3,6 +3,6 @@
   <installed facet="jst.web" version="3.0"/>
   <installed facet="wst.jsdt.web" version="1.0"/>
   <installed facet="jst.jsf" version="2.1"/>
-  <installed facet="java" version="1.6"/>
   <installed facet="jst.jaxrs" version="1.1"/>
+  <installed facet="java" version="1.8"/>
 </faceted-project>
diff --git a/jpa/employee/employee.web/.settings/org.eclipse.wst.validation.prefs b/jpa/employee/employee.web/.settings/org.eclipse.wst.validation.prefs
new file mode 100644
index 0000000..04cad8c
--- /dev/null
+++ b/jpa/employee/employee.web/.settings/org.eclipse.wst.validation.prefs
@@ -0,0 +1,2 @@
+disabled=06target
+eclipse.preferences.version=1
diff --git a/jpa/employee/employee.web/pom.xml b/jpa/employee/employee.web/pom.xml
index f925aa8..734e4da 100644
--- a/jpa/employee/employee.web/pom.xml
+++ b/jpa/employee/employee.web/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.jpa</groupId>
 		<artifactId>employee.parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
 
 	<artifactId>employee.web</artifactId>
@@ -52,7 +52,7 @@
                 <dependency>
                     <groupId>org.apache.derby</groupId>
                     <artifactId>derby</artifactId>
-                    <version>10.9.1.0</version>
+                    <version>10.11.1.1</version>
                     <scope>test</scope>
                 </dependency>
 
@@ -63,18 +63,11 @@
 			<scope>provided</scope>
 		</dependency>
 		<dependency>
-			<groupId>org.glassfish</groupId>
-			<artifactId>javax.ejb</artifactId>
-			<version>3.1.1</version>
+			<groupId>javax.ejb</groupId>
+			<artifactId>javax.ejb-api</artifactId>
+			<version>3.2</version>
 			<scope>provided</scope>
 		</dependency>
-		<dependency>
-			<groupId>org.eclipse.persistence</groupId>
-			<artifactId>javax.persistence</artifactId>
-			<version>2.0.0</version>
-			<scope>provided</scope>
-		</dependency>
-
 	</dependencies>
 
 
@@ -87,7 +80,7 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-surefire-plugin</artifactId>
-				<version>2.12.4</version>
+				<version>2.18</version>
 				<configuration>
 					<systemProperties>
 						<property>
diff --git a/jpa/employee/employee.web/src/main/java/eclipselink/example/jpa/employee/web/Admin.java b/jpa/employee/employee.web/src/main/java/eclipselink/example/jpa/employee/web/Admin.java
index 6be0b7f..bffcf7e 100644
--- a/jpa/employee/employee.web/src/main/java/eclipselink/example/jpa/employee/web/Admin.java
+++ b/jpa/employee/employee.web/src/main/java/eclipselink/example/jpa/employee/web/Admin.java
@@ -84,10 +84,10 @@
             // Truncate at 5 messages
             trace.truncate(5, "... SQL trace truncated");
 
-            for (String entry : trace.getEntries()) {
+            trace.getEntries().forEach(entry -> {
                 FacesMessage msg = new FacesMessage(entry);
                 FacesContext.getCurrentInstance().addMessage("SQL", msg);
-            }
+            });
         }
         return null;
     }
diff --git a/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java b/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java
index 92d50c2..be8ffa1 100644
--- a/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java
+++ b/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageEmployeesTest.java
@@ -69,9 +69,8 @@
         for (int index = 0; index < 5; index++) {
             List<Employee> emps = paging.get(index + 1);
             Assert.assertEquals(5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
+
         }
 
         Assert.assertFalse(paging.hasNext());
@@ -105,9 +104,7 @@
         for (int index = 0; index < 5; index++) {
             List<Employee> emps = paging.next();
             Assert.assertEquals(5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
@@ -142,9 +139,7 @@
         for (int index = 0; index < paging.getNumPages(); index++) {
             List<Employee> emps = paging.get(index + 1);
             Assert.assertEquals(index < 2 ? 10 : 5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
@@ -179,9 +174,7 @@
         for (int index = 0; index < paging.getNumPages(); index++) {
             List<Employee> emps = paging.next();
             Assert.assertEquals(index < 2 ? 10 : 5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
diff --git a/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java b/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java
index 4f05bb3..023b3fb 100644
--- a/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java
+++ b/jpa/employee/employee.web/src/test/java/eclipselink/example/jpa/employee/test/services/PageIdsInEmployeesTest.java
@@ -68,9 +68,8 @@
         for (int index = 0; index < 5; index++) {
             List<Employee> emps = paging.get(index + 1);
             Assert.assertEquals(5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            System.out.println("Page 5 by Index:");
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
@@ -101,9 +100,7 @@
         for (int index = 0; index < 5; index++) {
             List<Employee> emps = paging.next();
             Assert.assertEquals(5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
@@ -136,9 +133,7 @@
         for (int index = 0; index < paging.getNumPages(); index++) {
             List<Employee> emps = paging.get(index + 1);
             Assert.assertEquals(index < 2 ? 10 : 5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
@@ -170,9 +165,7 @@
         for (int index = 0; index < paging.getNumPages(); index++) {
             List<Employee> emps = paging.next();
             Assert.assertEquals(index < 2 ? 10 : 5, emps.size());
-            for (Employee e : emps) {
-                System.out.println("> " + e);
-            }
+            emps.forEach(e -> System.out.println("> " + e));
         }
 
         Assert.assertFalse(paging.hasNext());
diff --git a/jpa/employee/pom.xml b/jpa/employee/pom.xml
index 0985198..13274f5 100644
--- a/jpa/employee/pom.xml
+++ b/jpa/employee/pom.xml
@@ -1,54 +1,40 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-    
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
     <parent>
-		<relativePath>..</relativePath>
-		<groupId>eclipselink.example.jpa</groupId>
-		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
-	</parent>
-    
-	<artifactId>employee.parent</artifactId>
-	<packaging>pom</packaging>
+        <relativePath>..</relativePath>
+        <groupId>eclipselink.example.jpa</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.6.0</version>
+    </parent>
 
-	<name>Employee Example</name>
-	<url>http://wiki.eclipse.org/EclipseLink/Examples/Employee</url>
+    <artifactId>employee.parent</artifactId>
+    <packaging>pom</packaging>
 
+    <name>Employee Example</name>
+    <url>http://wiki.eclipse.org/EclipseLink/Examples/Employee</url>
+    <properties>
+        <eclipselink.version>2.6.0</eclipselink.version>
+    </properties>
 
-	<modules>
+    <modules>
         <module>employee.model</module>
         <module>employee.web-js</module>
         <module>employee.web</module>
-	</modules>
+    </modules>
 
-	<build>
-		<defaultGoal>install</defaultGoal>
-        
-        <plugins>
-            <plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>2.3.2</version>
-				<configuration>
-					<source>1.7</source>
-					<target>1.7</target>
-				</configuration>
-			</plugin>
-        </plugins>
-	</build>
-    
     <profiles>
         <profile>
             <id>weblogic</id>
-            
+
             <build>
                 <plugins>
                     <plugin>
                         <groupId>com.oracle.weblogic</groupId>
                         <artifactId>weblogic-maven-plugin</artifactId>
-                        <version>12.1.2</version>
+                        <version>12.1.3</version>
                         <configuration>
                             <adminurl>t3://localhost:7001</adminurl>
                             <user>weblogic</user>
@@ -60,14 +46,14 @@
                             <source>${project.build.directory}/${project.build.finalName}.${project.packaging}</source>
                             <name>${project.build.finalName}</name>
                         </configuration>
-                         <executions> 
-                         <execution> 
-                         <phase>install</phase> 
-                         <goals> 
-                         <goal>deploy</goal> 
-                         </goals> 
-                         </execution> 
-                         </executions> 
+                        <executions>
+                            <execution>
+                                <phase>install</phase>
+                                <goals>
+                                    <goal>deploy</goal>
+                                </goals>
+                            </execution>
+                        </executions>
                     </plugin>
                 </plugins>
             </build>
diff --git a/jpa/polyglot/polyglot.client/.settings/org.eclipse.jdt.core.prefs b/jpa/polyglot/polyglot.client/.settings/org.eclipse.jdt.core.prefs
index ec4300d..714351a 100644
--- a/jpa/polyglot/polyglot.client/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/polyglot/polyglot.client/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
 eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/polyglot/polyglot.client/pom.xml b/jpa/polyglot/polyglot.client/pom.xml
index 28d3f3e..823347c 100644
--- a/jpa/polyglot/polyglot.client/pom.xml
+++ b/jpa/polyglot/polyglot.client/pom.xml
@@ -5,7 +5,7 @@
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.polyglot</groupId>
 		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
 
 	<artifactId>polyglot.client</artifactId>
@@ -24,7 +24,7 @@
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-dependency-plugin</artifactId>
-				<version>2.1</version>
+				<version>2.9</version>
 				<executions>
 					<execution>
 						<id>copy-dependencies</id>
@@ -81,4 +81,4 @@
 			</plugins>
 		</pluginManagement>
 	</build>
-</project>
\ No newline at end of file
+</project>
diff --git a/jpa/polyglot/polyglot.composite/.settings/org.eclipse.jdt.core.prefs b/jpa/polyglot/polyglot.composite/.settings/org.eclipse.jdt.core.prefs
index 443e085..6e80039 100644
--- a/jpa/polyglot/polyglot.composite/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/polyglot/polyglot.composite/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/polyglot/polyglot.composite/pom.xml b/jpa/polyglot/polyglot.composite/pom.xml
index fd08913..5a3ad17 100644
--- a/jpa/polyglot/polyglot.composite/pom.xml
+++ b/jpa/polyglot/polyglot.composite/pom.xml
@@ -6,7 +6,7 @@
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.polyglot</groupId>
 		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
 
 	<artifactId>polyglot.composite</artifactId>
@@ -24,4 +24,4 @@
 			<version>${project.version}</version>
 		</dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/jpa/polyglot/polyglot.nosql/.settings/org.eclipse.jdt.core.prefs b/jpa/polyglot/polyglot.nosql/.settings/org.eclipse.jdt.core.prefs
index 77dd058..c80fe67 100644
--- a/jpa/polyglot/polyglot.nosql/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/polyglot/polyglot.nosql/.settings/org.eclipse.jdt.core.prefs
@@ -5,8 +5,8 @@
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
@@ -88,4 +88,4 @@
 org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
 org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
 org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/polyglot/polyglot.nosql/pom.xml b/jpa/polyglot/polyglot.nosql/pom.xml
index cee90ba..a16205a 100644
--- a/jpa/polyglot/polyglot.nosql/pom.xml
+++ b/jpa/polyglot/polyglot.nosql/pom.xml
@@ -5,7 +5,7 @@
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.polyglot</groupId>
 		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
 
     <artifactId>polyglot.nosql</artifactId>
@@ -36,4 +36,4 @@
 			<version>1.5</version>
 		</dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/jpa/polyglot/polyglot.relational/.settings/org.eclipse.jdt.core.prefs b/jpa/polyglot/polyglot.relational/.settings/org.eclipse.jdt.core.prefs
index 443e085..6e80039 100644
--- a/jpa/polyglot/polyglot.relational/.settings/org.eclipse.jdt.core.prefs
+++ b/jpa/polyglot/polyglot.relational/.settings/org.eclipse.jdt.core.prefs
@@ -1,8 +1,8 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
-org.eclipse.jdt.core.compiler.compliance=1.7
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.source=1.7
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/jpa/polyglot/polyglot.relational/pom.xml b/jpa/polyglot/polyglot.relational/pom.xml
index 661cce7..c15bf84 100644
--- a/jpa/polyglot/polyglot.relational/pom.xml
+++ b/jpa/polyglot/polyglot.relational/pom.xml
@@ -1,12 +1,11 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 	<modelVersion>4.0.0</modelVersion>
-	
     <parent>
 		<relativePath>..</relativePath>
 		<groupId>eclipselink.example.polyglot</groupId>
 		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
+		<version>2.6.0</version>
 	</parent>
     
     <artifactId>polyglot.relational</artifactId>
@@ -16,7 +15,7 @@
 		<dependency>
 			<groupId>${eclipselink.groupid}</groupId>
 			<artifactId>javax.persistence</artifactId>
-			<version>2.0.5</version>
+			<version>2.1.0</version>
 		</dependency>
 		<dependency>
 			<groupId>${eclipselink.groupid}</groupId>
@@ -25,7 +24,7 @@
         <dependency>
             <groupId>org.apache.derby</groupId>
             <artifactId>derby</artifactId>
-            <version>10.9.1.0</version>
+            <version>10.11.1.1</version>
         </dependency>
 	</dependencies>
-</project>
\ No newline at end of file
+</project>
diff --git a/jpa/polyglot/pom.xml b/jpa/polyglot/pom.xml
index 1ac8aaa..6259c1a 100644
--- a/jpa/polyglot/pom.xml
+++ b/jpa/polyglot/pom.xml
@@ -7,20 +7,20 @@
             <relativePath>..</relativePath>
             <groupId>eclipselink.example.jpa</groupId>
             <artifactId>parent</artifactId>
-            <version>2.4.2</version>
+            <version>2.6.0</version>
         </parent>
 
     <groupId>eclipselink.example.polyglot</groupId>
 	<artifactId>parent</artifactId>
 	<packaging>pom</packaging>
-    <version>2.4.2</version>
+    <version>2.6.0</version>
 
 	<name>Polyglot Example</name>
 
     <properties>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <eclipselink.groupid>org.eclipse.persistence</eclipselink.groupid>
-        <eclipselink.version>2.4.2</eclipselink.version>
+        <eclipselink.version>2.6.0</eclipselink.version>
     </properties>
 
         <dependencyManagement>
@@ -48,7 +48,7 @@
 	<build>
 		<defaultGoal>install</defaultGoal>
         
-        <plugins>
+        <!--plugins>
             <plugin>
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-compiler-plugin</artifactId>
@@ -58,15 +58,15 @@
 					<target>1.7</target>
 				</configuration>
 			</plugin>
-        </plugins>
+        </plugins-->
 	</build>
     
-    <repositories>
+    <!--repositories>
         <repository>
             <id>oss.sonatype.org</id>
             <name>OSS Sonatype Staging</name>
             <url>https://oss.sonatype.org/content/groups/staging</url>
         </repository>
-    </repositories>
+    </repositories-->
     
 </project>
diff --git a/jpa/pom.xml b/jpa/pom.xml
index c9e198c..049de96 100644
--- a/jpa/pom.xml
+++ b/jpa/pom.xml
@@ -1,46 +1,46 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-	<modelVersion>4.0.0</modelVersion>
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
 
     <parent>
-		<relativePath>..</relativePath>
-		<groupId>eclipselink.example</groupId>
-		<artifactId>parent</artifactId>
-		<version>2.4.2</version>
-	</parent>
+        <relativePath>..</relativePath>
+        <groupId>eclipselink.example</groupId>
+        <artifactId>parent</artifactId>
+        <version>2.4.2</version>
+    </parent>
     
     <groupId>eclipselink.example.jpa</groupId>
-	<artifactId>parent</artifactId>
-	<packaging>pom</packaging>
+    <artifactId>parent</artifactId>
+    <version>2.6.0</version>
+    <packaging>pom</packaging>
 
-	<name>JPA Examples</name>
-	<url>http://wiki.eclipse.org/EclipseLink/Examples/JPA</url>
+    <name>JPA Examples</name>
+    <url>http://wiki.eclipse.org/EclipseLink/Examples/JPA</url>
 
-	<properties>
-		<jpa.version>2.0.5</jpa.version>
-	</properties>
+    <properties>
+        <jpa.version>2.1.0</jpa.version>
+    </properties>
 	
-	<modules>
+    <modules>
         <module>employee</module>
         <module>employee.dynamic</module>
         <module>polyglot</module>
-	</modules>
+    </modules>
 
-	<build>
-		<defaultGoal>install</defaultGoal>
+    <build>
+        <defaultGoal>install</defaultGoal>
         
         <plugins>
             <plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>2.3.2</version>
-				<configuration>
-					<source>1.7</source>
-					<target>1.7</target>
-				</configuration>
-			</plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.8</source>
+                    <target>1.8</target>
+                </configuration>
+            </plugin>
         </plugins>
-	</build>
-    
+    </build>
 </project>