UserDAOHibernateImpl.java :  » Math » mathmodeling » com » beehive » db » dao » impl » account » Java Open Source

Java Open Source » Math » mathmodeling 
mathmodeling » com » beehive » db » dao » impl » account » UserDAOHibernateImpl.java
package com.beehive.db.dao.impl.account;

import java.util.List;

import javax.annotation.Resource;

import org.hibernate.Query;
import org.hibernate.SessionFactory;
import org.springframework.stereotype.Component;

import com.beehive.db.dao.account.UserDAO;
import com.beehive.db.entity.account.User;
@Component("userDAO")
public class UserDAOHibernateImpl implements UserDAO{
  private SessionFactory sessionFactory;
  
  public void save(User user) {
    sessionFactory.getCurrentSession().persist(user);
  }

  public SessionFactory getSessionFactory() {
    return sessionFactory;
  }

  @Resource
  public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
  }

  public void delete(User user) {
    sessionFactory.getCurrentSession().delete(user);
    
  }

  public void delete(long id) {
    User user = getByID(id);
    delete(user);
  }

  public User getByID(long id) {
    return (User)sessionFactory.getCurrentSession().get(User.class, id);
  }

  @SuppressWarnings("unchecked")
  public User getByName(String name) {
    String hql = "from User where name = '" + name +"'";
    Query query = sessionFactory.getCurrentSession().createQuery(hql);
    List<User> userList = query.list();
    if(userList.size()==1)
      return userList.get(0);
    return null;
  }

  @SuppressWarnings("unchecked")
  public List<User> getMultiple(int first, int max) {
    String hql = "from User";
    Query query = sessionFactory.getCurrentSession().createQuery(hql);
    query.setFirstResult(first);
    query.setMaxResults(max);
    List<User> userList = query.list();
    return userList;
  }

  public void update(User user) {
    sessionFactory.getCurrentSession().update(user);
  }

  @SuppressWarnings("unchecked")
  public boolean checkValid(String name, String password) {
    String hql = "from User where name = '" + name + "' and  password = '" + password + "' and active is true";
    Query query = sessionFactory.getCurrentSession().createQuery(hql);
    List<User> userList = query.list();
    if(userList.size()>0)
      return true;
    return false;
  }
  
  

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.