diff --git a/derby.log b/derby.log
new file mode 100644
index 0000000..732359a
--- /dev/null
+++ b/derby.log
@@ -0,0 +1,10 @@
+----------------------------------------------------------------
+Thu Nov 15 13:30:22 EET 2018:
+Booting Derby version The Apache Software Foundation - Apache Derby - 10.8.2.2 - (1181258): instance a816c00e-0167-1722-e50d-000006f22160
+on database directory /mnt/c/Users/Pascal Fares/Documents/NetBeansProjects/testJPAeclipselink/simpleDb with class loader sun.misc.Launcher$AppClassLoader@7f31245a
+Loaded from file:/mnt/c/Users/Pascal%20Fares/Documents/NetBeansProjects/testJPAeclipselink/target/alternateLocation/derby-10.8.2.2.jar
+java.vendor=Oracle Corporation
+java.runtime.version=1.8.0_181-8u181-b13-1ubuntu0.18.04.1-b13
+user.dir=/mnt/c/Users/Pascal Fares/Documents/NetBeansProjects/testJPAeclipselink
+derby.system.home=null
+Database Class Loader started - derby.database.classpath=''
diff --git a/ij.properties b/ij.properties
new file mode 100644
index 0000000..e091e16
--- /dev/null
+++ b/ij.properties
@@ -0,0 +1,3 @@
+ij.protocol=jdbc:derby:
+ij.database=simpleDb
+ij.maximumDisplayWidth=20
\ No newline at end of file
diff --git a/localrun.sh b/localrun.sh
new file mode 100644
index 0000000..2d2d709
--- /dev/null
+++ b/localrun.sh
@@ -0,0 +1,3 @@
+mvn package
+cd target
+java -cp 'lib/*:testJPAeclipselink-1.0-SNAPSHOT.jar' lb.edu.isae.testjpaeclipselink.jpa.JpaTest
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..ab39cdf
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,72 @@
+
+
+ 4.0.0
+ lb.edu.isae
+ testJPAeclipselink
+ 1.0-SNAPSHOT
+
+
+ EclipseLink Repo
+ http://download.eclipse.org/rt/eclipselink/maven.repo
+ EclipseLink Repo
+
+
+
+
+
+
+ mysql
+ mysql-connector-java
+ 8.0.13
+
+
+
+ org.eclipse.persistence
+ eclipselink
+ 2.2.1
+
+
+ org.eclipse.persistence
+ javax.persistence
+ 2.0.3
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-dependency-plugin
+ 3.1.1
+
+
+ copy-dependencies
+ package
+
+ copy-dependencies
+
+
+ ${project.build.directory}/lib
+ false
+ false
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.1.0
+
+
+
+ true
+ lib/
+ theMainClass
+
+
+
+
+
+
+
diff --git a/run.sh b/run.sh
new file mode 100644
index 0000000..ecedf20
--- /dev/null
+++ b/run.sh
@@ -0,0 +1 @@
+mvn compile exec:java -Dexec.mainClass=lb.edu.isae.testjpaeclipselink.jpa.JpaTest
diff --git a/show-derby.sh b/show-derby.sh
new file mode 100644
index 0000000..564a099
--- /dev/null
+++ b/show-derby.sh
@@ -0,0 +1,2 @@
+mvn dependency:copy-dependencies
+java -cp 'target/dependency/*' org.apache.derby.tools.ij -p ij.properties
diff --git a/src/main/java/lb/edu/isae/testjpaeclipselink/domain/Department.java b/src/main/java/lb/edu/isae/testjpaeclipselink/domain/Department.java
new file mode 100644
index 0000000..e08eff9
--- /dev/null
+++ b/src/main/java/lb/edu/isae/testjpaeclipselink/domain/Department.java
@@ -0,0 +1,51 @@
+package lb.edu.isae.testjpaeclipselink.domain;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+@Entity
+public class Department {
+
+ @Id
+ @GeneratedValue
+ private Long id;
+
+
+ private String name;
+
+ @OneToMany(mappedBy="department",cascade=CascadeType.PERSIST)
+ private List employees = new ArrayList();
+
+
+
+ public Department() {
+ super();
+ }
+ public Department(String name) {
+ this.name = name;
+ }
+ public Long getId() {
+ return id;
+ }
+ public void setId(Long id) {
+ this.id = id;
+ }
+ public String getName() {
+ return name;
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+ public List getEmployees() {
+ return employees;
+ }
+ public void setEmployees(List employees) {
+ this.employees = employees;
+ }
+}
diff --git a/src/main/java/lb/edu/isae/testjpaeclipselink/domain/Employee.java b/src/main/java/lb/edu/isae/testjpaeclipselink/domain/Employee.java
new file mode 100644
index 0000000..128f7bf
--- /dev/null
+++ b/src/main/java/lb/edu/isae/testjpaeclipselink/domain/Employee.java
@@ -0,0 +1,61 @@
+package lb.edu.isae.testjpaeclipselink.domain;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+@Entity
+public class Employee {
+ @Id
+ @GeneratedValue
+ private Long id;
+
+ private String name;
+
+ @ManyToOne
+ private Department department;
+
+ public Employee() {}
+
+ public Employee(String name, Department department) {
+ this.name = name;
+ this.department = department;
+ }
+
+
+ public Employee(String name) {
+ this.name = name;
+ }
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public Department getDepartment() {
+ return department;
+ }
+
+ public void setDepartment(Department department) {
+ this.department = department;
+ }
+
+ @Override
+ public String toString() {
+ return "Employee [id=" + id + ", name=" + name + ", department="
+ + department.getName() + "]";
+ }
+
+}
diff --git a/src/main/java/lb/edu/isae/testjpaeclipselink/jpa/JpaTest.java b/src/main/java/lb/edu/isae/testjpaeclipselink/jpa/JpaTest.java
new file mode 100644
index 0000000..23656fa
--- /dev/null
+++ b/src/main/java/lb/edu/isae/testjpaeclipselink/jpa/JpaTest.java
@@ -0,0 +1,65 @@
+package lb.edu.isae.testjpaeclipselink.jpa;
+
+import java.util.List;
+
+import javax.persistence.EntityManager;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.EntityTransaction;
+import javax.persistence.Persistence;
+
+import lb.edu.isae.testjpaeclipselink.domain.Employee;
+import lb.edu.isae.testjpaeclipselink.domain.Department;
+
+public class JpaTest {
+
+ private final EntityManager manager;
+
+ public JpaTest(EntityManager manager) {
+ this.manager = manager;
+ }
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ EntityManagerFactory factory = Persistence.createEntityManagerFactory("persistenceUnit");
+ EntityManager manager = factory.createEntityManager();
+ JpaTest test = new JpaTest(manager);
+
+ EntityTransaction tx = manager.getTransaction();
+ tx.begin();
+
+ test.createEmployees();
+
+ tx.commit();
+
+ test.listEmployees();
+
+ System.out.println(".. done");
+ }
+
+
+
+
+ private void createEmployees() {
+ int numOfEmployees = manager.createQuery("Select a From Employee a", Employee.class).getResultList().size();
+ if (numOfEmployees == 0) {
+ Department department = new Department("java cycle C");
+ manager.persist(department);
+
+ manager.persist(new Employee("Pascal E Fares",department));
+ manager.persist(new Employee("Etudiant Cnam",department));
+
+ }
+ }
+
+
+ private void listEmployees() {
+ List resultList = manager.createQuery("Select a From Employee a", Employee.class).getResultList();
+ System.out.println("num of employess:" + resultList.size());
+ for (Employee next : resultList) {
+ System.out.println("next employee: " + next);
+ }
+ }
+
+
+}
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
new file mode 100644
index 0000000..f44e02e
--- /dev/null
+++ b/src/main/resources/META-INF/persistence.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+