/** * */ package org.inbio.m3s.dao.core.impl; import org.hibernate.Query; import org.hibernate.Session; import org.inbio.m3s.dao.GenericBaseDAOImpl; import org.inbio.m3s.dao.core.SystemUserDAO; import org.inbio.m3s.model.core.SystemUser; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.HibernateTemplate; /** * @author jgutierrez * */ public class SystemUserDAOImpl extends GenericBaseDAOImpl<SystemUser, Integer> implements SystemUserDAO { /* (non-Javadoc) * @see org.inbio.m3s.dao.core.SystemUserDAO#findByUsername(java.lang.String) */ public SystemUser findByUsername(final String username) { HibernateTemplate template = getHibernateTemplate(); return (SystemUser) template.execute(new HibernateCallback() { public Object doInHibernate(Session session) { Query query = session.createQuery( "select su" + " from SystemUser as su" + " where su.username = :username"); query.setParameter("username", username); query.setCacheable(true); return query.uniqueResult(); } }); } }