Advertisement
Guest User

Untitled

a guest
Sep 2nd, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. package teste.cdihibernate;
  2.  
  3. import java.util.List;
  4. import javax.persistence.EntityManager;
  5.  
  6. public class JpaDAO<T> implements DAO<T>
  7. {
  8. private EntityManager em;
  9. private final Class<T> classe;
  10.  
  11. public JpaDAO(Class<T> classe, EntityManager em)
  12. {
  13. this.classe = classe;
  14. this.em = em;
  15. }
  16.  
  17. @Override
  18. public void save(T entity)
  19. {
  20. em.persist(entity);
  21. }
  22.  
  23. @Override
  24. public void update(T entity)
  25. {
  26.  
  27. }
  28.  
  29. @Override
  30. public void remove(T entity)
  31. {
  32. em.remove(entity);
  33. }
  34.  
  35. @Override
  36. public T getById(Class<T> classe, Long pk)
  37. {
  38. return em.find(classe, pk);
  39. }
  40.  
  41. @Override
  42. public List<T> getAll(Class<T> classe)
  43. {
  44. List<T> resultList = (List<T>) em.createQuery("select e from " + classe.getSimpleName() + " e").getResultList();
  45. return resultList;
  46. }
  47.  
  48. @Override
  49. public T getByRestriction(Class<T> classe, String attribute, String filter)
  50. {
  51. throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
  52. }
  53.  
  54. }
  55.  
  56. public class DAOFactory
  57. {
  58. @Inject private EntityManager em;
  59.  
  60. @SuppressWarnings({ "rawtypes", "unchecked" })
  61. @Produces
  62. @Dependent
  63. public JpaDAO createJpaDAO(InjectionPoint point) throws ClassNotFoundException
  64. {
  65. ParameterizedType type = (ParameterizedType) point.getType();
  66. Class classe = (Class) type.getActualTypeArguments()[0];
  67. return new JpaDAO(classe, em);
  68. }
  69. }
  70.  
  71. @Inject private JpaDAO<Veiculo> dao;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement