Advertisement
ealiagachavez

JPA test

Mar 29th, 2015
266
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.78 KB | None | 0 0
  1. package pe.edu.cibertec.proyemp.jpa.test;
  2.  
  3. import java.util.List;
  4.  
  5. import javax.persistence.EntityManager;
  6. import javax.persistence.EntityManagerFactory;
  7. import javax.persistence.EntityTransaction;
  8. import javax.persistence.Persistence;
  9. import javax.persistence.TypedQuery;
  10.  
  11. import pe.edu.cibertec.proyemp.jpa.domain.Department;
  12. import pe.edu.cibertec.proyemp.jpa.domain.Employee;
  13.  
  14. public class JpaTest
  15. {
  16.     private EntityManager entityManager;
  17.  
  18.     public JpaTest(EntityManager entityManager)
  19.     {
  20.         this.entityManager = entityManager;
  21.     }
  22.  
  23.     public static void main(String[] args)
  24.     {
  25.         JpaTest test = createJPAtestFor("persistenceUnit");
  26.         test.execute();
  27.         test.printResults();
  28.     }
  29.  
  30.     private static JpaTest createJPAtestFor(String persistenceUnit)
  31.     {
  32.         EntityManagerFactory factory = Persistence
  33.                 .createEntityManagerFactory(persistenceUnit);
  34.         EntityManager entityManager = factory.createEntityManager();
  35.         return new JpaTest(entityManager);
  36.     }
  37.  
  38.     private void execute()
  39.     {
  40.         EntityTransaction transaction = entityManager.getTransaction();
  41.         transaction.begin();
  42.         executeTransaction();
  43.         transaction.commit();
  44.     }
  45.  
  46.     private void executeTransaction()
  47.     {
  48.         try {
  49.             createEmployeesIfNoEmployeesExist();
  50.         } catch (Exception e) {
  51.             e.printStackTrace();
  52.         }
  53.     }
  54.  
  55.     private void createEmployeesIfNoEmployeesExist()
  56.     {
  57.         int employeeCount = getEmployeeList().size();
  58.         if (employeeCount == 0) {
  59.             createEmployees();
  60.         }
  61.     }
  62.  
  63.     private void createEmployees()
  64.     {
  65.         Department java = new Department("Java");
  66.         entityManager.persist(java);
  67.         entityManager.persist(new Employee("Bob", java));
  68.         entityManager.persist(new Employee("Mike", java));
  69.     }
  70.  
  71.     private List<Employee> getEmployeeList()
  72.     {
  73.         TypedQuery<Employee> query = entityManager.createQuery(
  74.                 "SELECT e FROM Employee e", Employee.class);
  75.         return query.getResultList();
  76.     }
  77.  
  78.     private void printResults()
  79.     {
  80.         printEmployeeCount();
  81.         listEmployees();
  82.         printProgramTermination();
  83.     }
  84.  
  85.     private void printEmployeeCount()
  86.     {
  87.         System.out.println("Employee count: " + getEmployeeList().size());
  88.     }
  89.  
  90.     private void listEmployees()
  91.     {
  92.         List<Employee> employees = getEmployeeList();
  93.         for (Employee e : employees) {
  94.             printEmployee(e);
  95.         }
  96.     }
  97.  
  98.     private void printEmployee(Employee employee)
  99.     {
  100.         System.out.println("Employee: " + employee);
  101.     }
  102.  
  103.     private void printProgramTermination()
  104.     {
  105.         System.out.println("... done");
  106.     }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement