1
2
3
4
5 package org.directdemocracyportal.democracy.service.dao.hibernate;
6
7 import java.util.List;
8
9 import org.directdemocracyportal.democracy.model.world.Region;
10 import org.directdemocracyportal.democracy.service.dao.RegionDAO;
11 import org.hibernate.criterion.DetachedCriteria;
12 import org.hibernate.criterion.Restrictions;
13 import org.springframework.dao.DataAccessException;
14 import org.springframework.transaction.annotation.Propagation;
15 import org.springframework.transaction.annotation.Transactional;
16
17 /***
18 * The Class HibernateRegionDAO.
19 */
20 @Transactional(propagation = Propagation.MANDATORY)
21 public class HibernateRegionDAO extends GenericHibernateDAO<Region, Long>
22 implements RegionDAO
23 {
24
25 /***
26 * Instantiates a new hibernate region dao.
27 */
28 public HibernateRegionDAO() {
29 super(Region.class);
30 }
31
32
33
34
35
36
37 @Transactional(readOnly = true)
38 public Region findByName(String name) throws DataAccessException {
39 DetachedCriteria findByName = DetachedCriteria.forClass(Region.class);
40 findByName.add(Restrictions.eq("name", name));
41
42 @SuppressWarnings("unchecked")
43 List<Region> result = this.getHibernateTemplate().findByCriteria(
44 findByName);
45
46 return result.isEmpty() ? null : result.get(0);
47 }
48
49 }