PJF16

JPA.java

Apr 8th, 2015
231
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.50 KB | None | 0 0
  1. package jpa;
  2.  
  3. import javax.persistence.EntityManager;
  4. import javax.persistence.EntityManagerFactory;
  5. import javax.persistence.EntityTransaction;
  6. import javax.persistence.Persistence;
  7.  
  8. public class JPA {
  9.  
  10.     EntityManagerFactory emf;
  11.  
  12.     public static void main(String[] args) {
  13.         new JPA();
  14.     }
  15.  
  16.     public JPA() {
  17.  
  18.         emf = Persistence.createEntityManagerFactory("JPATestPU");
  19.         try {
  20.             Person person = new Person();
  21.             person.setName("Tina");
  22.  
  23.             createEntity(person);
  24.             Object id = person.getId();
  25.  
  26.             System.out.println("" + readEntity(Person.class, id));
  27.  
  28.         } finally {
  29.             emf.close();
  30.         }
  31.     }
  32.  
  33.     //It works as well with the definiton
  34.     //"void createEntity(Object entity)"
  35.     public final <T> void createEntity(T entity) {
  36.         EntityManager em = emf.createEntityManager();
  37.         EntityTransaction tx = em.getTransaction();
  38.         try {
  39.             tx.begin();
  40.             em.persist(entity);
  41.             tx.commit();
  42.         } catch (RuntimeException ex) {
  43.             if (tx != null && tx.isActive()) {
  44.                 tx.rollback();
  45.             }
  46.             throw ex;
  47.         } finally {
  48.             em.close();
  49.         }
  50.     }
  51.  
  52.     public final <T> T readEntity(Class<T> clss, Object id) {
  53.         EntityManager em = emf.createEntityManager();
  54.         try {
  55.             return em.find(clss, id);
  56.         } finally {
  57.             em.close();
  58.         }
  59.     }
  60. }
Advertisement
Add Comment
Please, Sign In to add comment