Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pe.edu.cibertec.proyemp.jpa.test;
- import java.util.List;
- import javax.persistence.EntityManager;
- import javax.persistence.EntityManagerFactory;
- import javax.persistence.EntityTransaction;
- import javax.persistence.Persistence;
- import javax.persistence.TypedQuery;
- import pe.edu.cibertec.proyemp.jpa.domain.Department;
- import pe.edu.cibertec.proyemp.jpa.domain.Employee;
- public class JpaTest
- {
- private EntityManager entityManager;
- public JpaTest(EntityManager entityManager)
- {
- this.entityManager = entityManager;
- }
- public static void main(String[] args)
- {
- JpaTest test = createJPAtestFor("persistenceUnit");
- test.execute();
- test.printResults();
- }
- private static JpaTest createJPAtestFor(String persistenceUnit)
- {
- EntityManagerFactory factory = Persistence
- .createEntityManagerFactory(persistenceUnit);
- EntityManager entityManager = factory.createEntityManager();
- return new JpaTest(entityManager);
- }
- private void execute()
- {
- EntityTransaction transaction = entityManager.getTransaction();
- transaction.begin();
- executeTransaction();
- transaction.commit();
- }
- private void executeTransaction()
- {
- try {
- createEmployeesIfNoEmployeesExist();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- private void createEmployeesIfNoEmployeesExist()
- {
- int employeeCount = getEmployeeList().size();
- if (employeeCount == 0) {
- createEmployees();
- }
- }
- private void createEmployees()
- {
- Department java = new Department("Java");
- entityManager.persist(java);
- entityManager.persist(new Employee("Bob", java));
- entityManager.persist(new Employee("Mike", java));
- }
- private List<Employee> getEmployeeList()
- {
- TypedQuery<Employee> query = entityManager.createQuery(
- "SELECT e FROM Employee e", Employee.class);
- return query.getResultList();
- }
- private void printResults()
- {
- printEmployeeCount();
- listEmployees();
- printProgramTermination();
- }
- private void printEmployeeCount()
- {
- System.out.println("Employee count: " + getEmployeeList().size());
- }
- private void listEmployees()
- {
- List<Employee> employees = getEmployeeList();
- for (Employee e : employees) {
- printEmployee(e);
- }
- }
- private void printEmployee(Employee employee)
- {
- System.out.println("Employee: " + employee);
- }
- private void printProgramTermination()
- {
- System.out.println("... done");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement