Package no.ugland.utransprod.dao.hibernate

Source Code of no.ugland.utransprod.dao.hibernate.UserTypeDAOHibernate

package no.ugland.utransprod.dao.hibernate;

import no.ugland.utransprod.dao.UserTypeDAO;
import no.ugland.utransprod.model.UserType;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.springframework.orm.hibernate3.HibernateCallback;

/**
* Implementasjon av DAO mot tabell USER_TYPE for hibernate
*
* @author atle.brekka
*
*/
public class UserTypeDAOHibernate extends BaseDAOHibernate<UserType> implements
    UserTypeDAO {

  /**
   * Konstrukt�r
   */
  public UserTypeDAOHibernate() {
    super(UserType.class);
  }

  /**
   * @see no.ugland.utransprod.dao.UserTypeDAO#lazyLoad(no.ugland.utransprod.model.UserType,
   *      no.ugland.utransprod.service.enums.LazyLoadUserTypeEnum[])
   */
  /*public void lazyLoad(final UserType userType,
      final LazyLoadUserTypeEnum[] enums) {
    if (userType != null && userType.getUserTypeId() != null) {
      getHibernateTemplate().execute(new HibernateCallback() {

        public Object doInHibernate(Session session)
            throws HibernateException {
          session.load(userType, userType.getUserTypeId());

          Set<?> set;

          for (LazyLoadUserTypeEnum lazyEnum : enums) {
            switch (lazyEnum) {
            case USER_TYPE_ACCESS:
              set = userType.getUserTypeAccesses();
              set.iterator();
              break;
            }
          }
          return null;
        }

      });
    }

  }*/

  /**
   * @see no.ugland.utransprod.dao.UserTypeDAO#getNumberOfUsers(no.ugland.utransprod.model.UserType)
   */
  public int getNumberOfUsers(final UserType userType) {

    return (Integer) getHibernateTemplate().execute(
        new HibernateCallback() {

          public Object doInHibernate(Session session)
              throws HibernateException {
            Query query = session
                .createQuery("select count(*) from ApplicationUser applicationUser where exists(select 1 from UserRole userRole  where userRole.applicationUser=applicationUser and userRole.userType=:userType)");
            query.setParameter("userType", userType);
            return ((Integer) query.iterate().next()).intValue();

          }

        });
  }

  /**
   * @see no.ugland.utransprod.dao.UserTypeDAO#refresh(no.ugland.utransprod.model.UserType)
   */
  public void refresh(UserType userType) {
    getHibernateTemplate().load(userType, userType.getUserTypeId());
    getHibernateTemplate().flush();

  }

}
TOP

Related Classes of no.ugland.utransprod.dao.hibernate.UserTypeDAOHibernate

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.