diff --git a/pom.xml b/pom.xml
index 8bcb8c954a11bb6a25f82f98f6f2c7d1cd09dadd..07dc1cd28d4399b5b05ff567921ae9e74e022c82 100644
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
org.hibernate
hibernate-entitymanager
- 4.1.8.Final
+ 5.2.3.Final
@@ -38,7 +38,7 @@
org.hibernate
hibernate-validator
- 5.0.1.Final
+ 5.2.3.Final
javax.el
diff --git a/src/main/resources/META-INF/persistence.xml b/src/main/resources/META-INF/persistence.xml
index febc7c632c8a007312fd293c1b9e2d0842c5708a..f00d5a139a193411b2cb1bd2d22a2619cd950ea1 100644
--- a/src/main/resources/META-INF/persistence.xml
+++ b/src/main/resources/META-INF/persistence.xml
@@ -3,10 +3,6 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
- dgpena.siexample.persistence.Department
- dgpena.siexample.persistence.Employee
- dgpena.siexample.persistence.Project
- dgpena.siexample.persistence.ProjectAssignment
diff --git a/src/test/java/dgpena/siexample/persistence/DepartmentsTest.java b/src/test/java/dgpena/siexample/persistence/DepartmentsTest.java
index d9d411a7e868898fba4284369c8b4d1df5e90566..fc2a628f68c9091c8ab0b8514aebe34a25ccfd24 100644
--- a/src/test/java/dgpena/siexample/persistence/DepartmentsTest.java
+++ b/src/test/java/dgpena/siexample/persistence/DepartmentsTest.java
@@ -15,19 +15,12 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class DepartmentsTest extends SQLBasedTest {
- private static EntityManagerFactory emf;
-
- @BeforeClass
- public static void setUpEntityManagerFactory() {
- emf = Persistence.createEntityManagerFactory("si-database");
- }
-
-
@Test
public void testAddNewDepartment() throws Exception {
diff --git a/src/test/java/dgpena/siexample/persistence/EmployeesTest.java b/src/test/java/dgpena/siexample/persistence/EmployeesTest.java
index 3256abd6656d617cabaf4c7db931001bf60a1383..a1a5d317f91ff224552727912f313f1e6d7d8193 100644
--- a/src/test/java/dgpena/siexample/persistence/EmployeesTest.java
+++ b/src/test/java/dgpena/siexample/persistence/EmployeesTest.java
@@ -10,18 +10,12 @@ import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
+import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
public class EmployeesTest extends SQLBasedTest {
-private static EntityManagerFactory emf;
-
- @BeforeClass
- public static void setUpEntityManagerFactory() {
- emf = Persistence.createEntityManagerFactory("si-database");
- }
-
@Test
public void testAddNewEmployee() throws SQLException {
// insert a department previously with JDBC
diff --git a/src/test/java/dgpena/siexample/persistence/SQLBasedTest.java b/src/test/java/dgpena/siexample/persistence/SQLBasedTest.java
index a23b4000fc16df81caad14843d39b0aac0bd99c0..537a55b9b96319398b027091adfb6235094fcda0 100644
--- a/src/test/java/dgpena/siexample/persistence/SQLBasedTest.java
+++ b/src/test/java/dgpena/siexample/persistence/SQLBasedTest.java
@@ -6,13 +6,20 @@ import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import javax.persistence.EntityManagerFactory;
+import javax.persistence.Persistence;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+
public class SQLBasedTest {
private static final String DB_URL = "jdbc:mysql://localhost:3306/si";
private static final String DB_USER = "siuser";
private static final String DB_PASS = "sipass";
protected static Connection jdbcConnection = createConnection();
-
+
+
private static Connection createConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
@@ -29,4 +36,20 @@ public class SQLBasedTest {
return rs.getInt(1);
}
+
+ // EntityManagerFactory management
+ protected static EntityManagerFactory emf;
+
+ @BeforeClass
+ public static void setUpEntityManagerFactory() {
+ emf = Persistence.createEntityManagerFactory("si-database");
+ }
+
+ @AfterClass
+ public static void closeEntityManagerFactory() throws SQLException {
+ if (emf != null && emf.isOpen()) {
+ emf.close();
+ }
+ }
+
}
diff --git a/src/test/resources/META-INF/persistence.xml b/src/test/resources/META-INF/persistence.xml
index 5f876e7882113e94dd6362eb611c1fc561bcc6a2..f00d5a139a193411b2cb1bd2d22a2619cd950ea1 100644
--- a/src/test/resources/META-INF/persistence.xml
+++ b/src/test/resources/META-INF/persistence.xml
@@ -3,11 +3,6 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
- dgpena.siexample.persistence.Department
- dgpena.siexample.persistence.Employee
- dgpena.siexample.persistence.Project
- dgpena.siexample.persistence.ProjectAssignment
-