Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.44 KB | None | 0 0
  1. public <T> T getByCriteria(Class<T> clazz, String field, Object o) {
  2.         Session session = sessionFactory.openSession();
  3.         CriteriaBuilder builder = session.getCriteriaBuilder();
  4.         CriteriaQuery<T> query = builder.createQuery(clazz);
  5.         Root<T> root = query.from(clazz);
  6.  
  7.  
  8.         T entity = session.createQuery(query.where(builder.equal(root.get(field), o)).select(root)).getSingleResult();
  9.         session.close();
  10.  
  11.         return entity;
  12.     }
  13.  
  14.     public <T> List<T> getAll(Class<T> clazz) {
  15.         Session session = sessionFactory.openSession();
  16.         CriteriaBuilder builder = session.getCriteriaBuilder();
  17.         CriteriaQuery<T> query = builder.createQuery(clazz);
  18.  
  19.         List<T> list = session.createQuery(query.select(query.from(clazz))).getResultList();
  20.         session.close();
  21.         return list;
  22.     }
  23.  
  24.     public <T> void save(T entity) {
  25.         Session session = sessionFactory.openSession();
  26.  
  27.         session.beginTransaction();
  28.         session.saveOrUpdate(entity);
  29.         session.getTransaction().commit();
  30.  
  31.         session.close();
  32.     }
  33.  
  34.     public <T> void clear(Class<T> clazz) {
  35.         List<T> entities = getAll(clazz);
  36.  
  37.         Session session = sessionFactory.openSession();
  38.  
  39.         session.beginTransaction();
  40.  
  41.         for(T entity : entities) {
  42.             session.delete(entity);
  43.         }
  44.  
  45.         session.getTransaction().commit();
  46.  
  47.         session.close();
  48.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement