1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.promotego.dao.hibernate;
20
21 import java.util.List;
22
23 import org.promotego.beans.User;
24 import org.promotego.dao.interfaces.UserDao;
25 import org.springframework.orm.hibernate3.HibernateTemplate;
26
27 public class HibernateUserDao extends HibernateDaoSupport<User> implements UserDao
28 {
29 public String getFindAllQuery() { return "From User"; }
30 public String getIdQuery() { return "From User where id=?"; }
31 public String getCountQuery() { return "Select count(*) from User"; }
32
33 public User getUserByUsername(String username)
34 {
35 HibernateTemplate ht = getHibernateTemplate();
36
37 @SuppressWarnings("unchecked")
38 List<User> foundUsers = ht.find("From User where username=?", username);
39
40 assert foundUsers.size() < 2 : "Username column is not unique";
41
42 if (foundUsers.size() == 0)
43 {
44 return null;
45 }
46 else
47 {
48 return foundUsers.get(0);
49 }
50 }
51
52 public User getUserByEmailAddress(String emailAddress)
53 {
54 HibernateTemplate ht = getHibernateTemplate();
55
56 @SuppressWarnings("unchecked")
57 List<User> foundUsers = ht.find("From User where emailAddress=?", emailAddress);
58
59 assert foundUsers.size() < 2 : "emailAddress column is not unique";
60
61 if (foundUsers.size() == 0)
62 {
63 return null;
64 }
65 else
66 {
67 return foundUsers.get(0);
68 }
69 }
70 }