1
2
3
4 package de.tivsource.page.dao.message;
5
6 import java.util.List;
7
8 import javax.ejb.Stateless;
9 import javax.persistence.EntityManager;
10 import javax.persistence.PersistenceContext;
11 import javax.persistence.Query;
12
13 import org.apache.logging.log4j.LogManager;
14 import org.apache.logging.log4j.Logger;
15
16 import de.tivsource.page.entity.message.Message;
17
18
19
20
21
22 @Stateless
23 public class MessageDao implements MessageDaoLocal {
24
25
26
27 private static final Logger LOGGER = LogManager.getLogger(MessageDao.class);
28
29
30
31
32 @PersistenceContext
33 private EntityManager entityManager;
34
35
36
37
38 @Override
39 public void save(Message message) {
40 LOGGER.info("save(Message message) aufgerufen");
41 entityManager.persist(message);
42 }
43
44
45
46
47 @Override
48 public void merge(Message message) {
49 LOGGER.info("merge(Message message) aufgerufen");
50 entityManager.merge(message);
51 }
52
53
54
55
56 @Override
57 public void delete(Message message) {
58 entityManager.remove(entityManager.find(Message.class, message.getUuid()));
59 }
60
61
62
63
64 @Override
65 public Message findByUuid(String uuid) {
66 return entityManager.find(Message.class, uuid);
67 }
68
69
70
71
72 @SuppressWarnings("unchecked")
73 @Override
74 public List<Message> findAll(Integer start, Integer max) {
75 Query query = entityManager.createQuery("from Message m");
76 query.setFirstResult(start);
77 query.setMaxResults(max);
78 return query.getResultList();
79 }
80
81
82
83
84 @SuppressWarnings("unchecked")
85 @Override
86 public List<Message> findAll(Integer start, Integer max, String field,
87 String order) {
88 String queryString = "select m from Message m order by ";
89 queryString = queryString + field + " " + order;
90 Query query = entityManager.createQuery(queryString);
91 query.setFirstResult(start);
92 query.setMaxResults(max);
93 return query.getResultList();
94 }
95
96
97
98
99 @Override
100 public Integer countAll() {
101 Query query = entityManager.createQuery("Select Count(m) from Message m");
102 return Integer.parseInt(query.getSingleResult().toString());
103 }
104
105 }