package zti.model; import jakarta.persistence.EntityManager; import jakarta.persistence.EntityManagerFactory; import jakarta.persistence.EntityTransaction; import jakarta.persistence.Persistence; import jakarta.inject.Named; import java.io.Serializable; import java.util.List; @Named //@Stateless public class PersonRepository implements Serializable { private EntityManager entityManager; private EntityTransaction tx; private EntityManagerFactory emf; public PersonRepository() { emf = Persistence.createEntityManagerFactory("PU_Postgresql"); entityManager = emf.createEntityManager(); tx = entityManager.getTransaction(); } public List getAllPersons() { List people = null; try { tx.begin(); people = entityManager.createQuery("select p from person p", Person.class) .getResultList(); tx.commit(); } catch (Exception e) { System.out.println("Failed !!! " + e.getMessage()); } return people; } public void savePerson(Person entity) { try { tx.begin(); System.out.println("[ServJSF] Save entity - " + entity.getLname()); entityManager.persist(entity); entityManager.flush(); tx.commit(); } catch (Exception e) { System.out.println("Failed !!! " + e.getMessage()); } } public void updatePerson(Person entity) { try { tx.begin(); entityManager.merge(entity); tx.commit(); } catch (Exception e) { System.out.println("Failed !!! " + e.getMessage()); } } public void deletePerson(Integer id) { try { tx.begin(); Person p = entityManager.find(Person.class, id); entityManager.remove(p); entityManager.flush(); tx.commit(); } catch (Exception e) { System.out.println("Failed !!! " + e.getMessage()); } } public Person findPerson(Person entity) { Person p = null; try { tx.begin(); p = entityManager.find(Person.class, entity); tx.commit(); } catch (Exception e) { System.out.println("Failed !!! " + e.getMessage()); } return p; } }