001    package com.service.customer.ejb;
002    
003    import java.rmi.RemoteException;
004    import java.util.Collection;
005    import java.util.Iterator;
006    import java.util.List;
007    
008    import javax.persistence.PersistenceUnit;
009    import javax.ejb.EJBException;
010    import javax.ejb.Stateless;
011    import javax.naming.Context;
012    import javax.naming.InitialContext;
013    import javax.naming.NamingException;
014    import javax.persistence.EntityManager;
015    import javax.persistence.EntityManagerFactory;
016    
017    @Stateless
018    public class ProcessCustomerSessionBean implements ProcessCustomerSessionLocal {
019        @PersistenceUnit
020        protected EntityManagerFactory emf;
021    
022        public ProcessCustomerSessionBean() {
023        
024        }
025    
026        public List<Customer> findAllCustomers() {
027            EntityManager em = emf.createEntityManager();
028            String query = "SELECT * FROM customer";
029            List<Customer> customerList =
030                (List<Customer>)em.createNativeQuery(query, Customer.class).getResultList();
031            em.close();
032            return customerList;
033        }
034    
035        public Customer findCustomer(String key) {
036            EntityManager em = emf.createEntityManager();
037            String query = "SELECT * FROM customer WHERE id='"+key+"'";
038            List<Customer> customerList =
039                (List<Customer>)em.createNativeQuery(query, Customer.class).getResultList();
040            if(customerList.size() == 1) {
041                return (Customer)customerList.get(0);
042            } else {
043                return null;
044            }
045        }
046    }