Advertisement
Guest User

CustomerFacade

a guest
Apr 2nd, 2015
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.75 KB | None | 0 0
  1. package model;
  2.  
  3. import java.sql.Date;
  4. import java.util.List;
  5.  
  6. import javax.persistence.EntityManager;
  7. import javax.persistence.EntityManagerFactory;
  8. import javax.persistence.EntityTransaction;
  9. import javax.persistence.Persistence;
  10. import javax.persistence.Query;
  11. import javax.persistence.TypedQuery;
  12.  
  13.  
  14. public class CustomerFacade {
  15.     private EntityManager em;
  16.     private EntityManagerFactory emf;
  17.  
  18.  
  19.     public CustomerFacade(EntityManager em, EntityManagerFactory emf) {
  20.         this.em=em;
  21.         this.emf=emf;
  22.     }
  23.     private void openEntityManager(){
  24.         this.emf = Persistence.createEntityManagerFactory("model-unit");
  25.         this.em = emf.createEntityManager();
  26.  
  27.     }
  28.     private void closeEntityManager(){
  29.         this.em.close();
  30.         this.emf.close();
  31.     }
  32.  
  33.     public Customer insertNewCustomer(String firstName, String lastName, Date dateOfBirth, Address address, List<Order> orders,
  34.             String email, String phoneNumber, Date registrationDate){
  35.  
  36.         this.openEntityManager();
  37.         Customer customer = new Customer(firstName, lastName, dateOfBirth, address, orders, email, phoneNumber, registrationDate);
  38.         customer.setOrders(orders);
  39.         //Rendo persistente l'oggetto customer
  40.         EntityTransaction t = this.em.getTransaction();
  41.         t.begin();
  42.  
  43.         this.em.persist(customer);
  44.         t.commit();
  45.         this.closeEntityManager();
  46.         return customer;
  47.     }
  48.  
  49.     public List<Customer> viewAll(){
  50.         this.openEntityManager();
  51.         TypedQuery<Customer> q= this.em.createNamedQuery("findAllCustomers", Customer.class);
  52.         return q.getResultList();
  53.     }
  54.  
  55.     //Lista degli ordini di un cliente presente nel sistema
  56.     @SuppressWarnings("unchecked")
  57.     public List<Order> getOrders(Long id){
  58.         this.openEntityManager();
  59.         Query q = this.em.createNamedQuery("findAllOrders", Order.class);
  60.         return q.getResultList();
  61.     }
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement