package org.jbehave.example.spring.security.dao;
import java.util.List;
import org.hibernate.SessionFactory;
import org.jbehave.example.spring.security.domain.Organization;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import org.springframework.stereotype.Repository;
@Repository("organizationDao")
public class OrganizationDaoImpl extends HibernateDaoSupport implements OrganizationDao {
@Autowired
public OrganizationDaoImpl(SessionFactory sessionFactory) {
setSessionFactory(sessionFactory);
}
public Organization load(Long id) {
return (Organization) getHibernateTemplate().load(Organization.class, id);
}
public Organization persist(Organization organization) {
getHibernateTemplate().saveOrUpdate(organization);
return organization;
}
@SuppressWarnings("unchecked")
public Organization findByName(String orgName) {
List<Organization> query = getHibernateTemplate().find("from Organization where name = ?", new Object[] { orgName });
if (query.size() == 1) {
return (Organization) query.get(0);
}
return null;
}
}