Advertisement
ballchaichana

DAO

Aug 20th, 2018
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.23 KB | None | 0 0
  1. package th.athichitsakul.dao;
  2.  
  3. import java.util.HashMap;
  4.  
  5. import javax.persistence.EntityManager;
  6. import javax.persistence.EntityManagerFactory;
  7. import javax.persistence.EntityTransaction;
  8. import javax.persistence.Persistence;
  9.  
  10. public class DAO {
  11.     private static final HashMap<String, EntityManagerFactory> factoryMAP = new HashMap<>();
  12.     private EntityManagerFactory factory;
  13.     private EntityManager entityManager;
  14.     private EntityTransaction transaction;
  15.  
  16.     public DAO(String puID) {
  17.         factory = factoryMAP.get(puID);
  18.         if (factory == null) {
  19.             factory = Persistence.createEntityManagerFactory(puID);
  20.             factoryMAP.put(puID, factory);
  21.         }
  22.        
  23.         entityManager = factory.createEntityManager();
  24.     }
  25.     public void begin() {
  26.         if (!entityManager.isOpen()) {
  27.             entityManager = factory.createEntityManager();
  28.         }
  29.         transaction = entityManager.getTransaction();
  30.         transaction.begin();
  31.     }
  32.     public void close() {
  33.         entityManager.close();
  34.     }
  35.     public EntityManager getEntityManager() {
  36.         return entityManager;
  37.     }
  38.     public EntityTransaction getTransaction() {
  39.         return transaction;
  40.     }
  41.     public void clear() {
  42.         entityManager.clear();
  43.     }
  44.     public void save(Object entity) {
  45.         entityManager.persist(entity);
  46.         transaction.commit();
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement