1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.syncope.core.persistence.jpa.dao;
20
21 import java.util.List;
22 import javax.persistence.TypedQuery;
23 import org.apache.syncope.core.persistence.api.dao.SRARouteDAO;
24 import org.apache.syncope.core.persistence.api.entity.SRARoute;
25 import org.apache.syncope.core.persistence.jpa.entity.JPASRARoute;
26 import org.springframework.transaction.annotation.Transactional;
27
28 public class JPASRARouteDAO extends AbstractDAO<SRARoute> implements SRARouteDAO {
29
30 @Transactional(readOnly = true)
31 @Override
32 public SRARoute find(final String key) {
33 return entityManager().find(JPASRARoute.class, key);
34 }
35
36 @Transactional(readOnly = true)
37 @Override
38 public List<SRARoute> findAll() {
39 TypedQuery<SRARoute> query = entityManager().createQuery(
40 "SELECT e FROM " + JPASRARoute.class.getSimpleName() + " e", SRARoute.class);
41
42 return query.getResultList();
43 }
44
45 @Override
46 @Transactional(rollbackFor = Throwable.class)
47 public SRARoute save(final SRARoute report) {
48 return entityManager().merge(report);
49 }
50
51 @Override
52 public void delete(final String key) {
53 SRARoute report = find(key);
54 if (report == null) {
55 return;
56 }
57
58 delete(report);
59 }
60
61 @Override
62 public void delete(final SRARoute report) {
63 entityManager().remove(report);
64 }
65 }