1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package com.hack23.cia.service.data.impl;
20
21 import java.util.List;
22
23 import javax.persistence.criteria.CriteriaQuery;
24 import javax.persistence.criteria.Root;
25
26 import org.springframework.stereotype.Repository;
27
28 import com.hack23.cia.model.external.riksdagen.votering.impl.VoteData;
29 import com.hack23.cia.model.external.riksdagen.votering.impl.VoteDataEmbeddedId;
30 import com.hack23.cia.model.external.riksdagen.votering.impl.VoteData_;
31 import com.hack23.cia.service.data.api.VoteDataDAO;
32
33
34
35
36 @Repository("VoteDataDAO")
37 final class VoteDataDAOImpl extends
38 AbstractGenericDAOImpl<VoteData, VoteDataEmbeddedId> implements VoteDataDAO {
39
40
41
42
43 public VoteDataDAOImpl() {
44 super(VoteData.class);
45 }
46
47 @Override
48 public List<VoteDataEmbeddedId> getBallotIdList() {
49 final CriteriaQuery<VoteDataEmbeddedId> criteria = getCriteriaBuilder().createQuery(
50 VoteDataEmbeddedId.class);
51 final Root<VoteData> root = criteria.from(VoteData.class);
52 criteria.select(root.get(VoteData_.embeddedId));
53 criteria.distinct(true);
54 return getEntityManager().createQuery(criteria).getResultList();
55 }
56
57 @Override
58 public List<VoteDataEmbeddedId> getIdList() {
59 final CriteriaQuery<VoteDataEmbeddedId> criteria = getCriteriaBuilder().createQuery(
60 VoteDataEmbeddedId.class);
61 final Root<VoteData> root = criteria.from(VoteData.class);
62 criteria.select(getCriteriaBuilder().construct(VoteDataEmbeddedId.class,
63 root.get(VoteData_.embeddedId)));
64 return getEntityManager().createQuery(criteria).getResultList();
65 }
66
67 }