Java tutorial
/* * Copyright (C) 2010 Moduad Co., Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.androidpn.server.dao.hibernate; import java.sql.Timestamp; import java.util.List; import org.androidpn.server.dao.UserDao; import org.androidpn.server.model.User; import org.androidpn.server.service.UserNotFoundException; import org.hibernate.Query; import org.hibernate.Session; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** * This class is the implementation of UserDAO using Spring's HibernateTemplate. * * @author Sehwan Noh (devnoh@gmail.com) */ public class UserDaoHibernate extends HibernateDaoSupport implements UserDao { public User getUser(Long id) { return (User) getHibernateTemplate().get(User.class, id); } public User saveUser(User user) { getHibernateTemplate().saveOrUpdate(user); getHibernateTemplate().flush(); return user; } public void removeUser(Long id) { getHibernateTemplate().delete(getUser(id)); } public boolean exists(Long id) { User user = (User) getHibernateTemplate().get(User.class, id); return user != null; } @SuppressWarnings("unchecked") public List<User> getUsers() { return getHibernateTemplate().find("from User u order by u.createdDate desc"); } @SuppressWarnings("unchecked") public User getUserByUsername(String username) throws UserNotFoundException { List users = getHibernateTemplate().find("from User where username=?", username); if (users == null || users.isEmpty()) { throw new UserNotFoundException("User '" + username + "' not found"); } else { return (User) users.get(0); } } public List<User> getOutdatedUser(Timestamp expiration) { Session session = getSession(); Query query = session.createQuery("FROM User u WHERE u.updatedDate < ?"); query.setTimestamp(0, expiration); return query.list(); } // public List<User> getOutdatedUser() { // // TODO Auto-generated method stub // return null; // } // public void removeOutdatedUser(Timestamp expiration) { // Session session=getSession(); // Query query=session.createQuery("FROM User WHERE User.updatedDate < ?"); // query.setTimestamp(0, expiration); // } // @SuppressWarnings("unchecked") // public User findUserByUsername(String username) { // List users = getHibernateTemplate().find("from User where username=?", // username); // return (users == null || users.isEmpty()) ? null : (User) users.get(0); // } }