org.appfuse.dao.jpa.RoleDaoJpa Maven / Gradle / Ivy
package org.appfuse.dao.jpa;
import org.appfuse.dao.RoleDao;
import org.appfuse.model.Role;
import org.springframework.stereotype.Repository;
import javax.persistence.Query;
import java.util.List;
/**
* This class interacts with Spring's HibernateTemplate to save/delete and
* retrieve Role objects.
*
* @author Bryan Noll
*/
@Repository
public class RoleDaoJpa extends GenericDaoJpa implements RoleDao {
/**
* Constructor to create a Generics-based version using Role as the entity
*/
public RoleDaoJpa() {
super(Role.class);
}
/**
* {@inheritDoc}
*/
public Role getRoleByName(String rolename) {
Query q = getEntityManager().createQuery("select r from Role r where r.name = ?");
q.setParameter(1, rolename);
List roles = q.getResultList();
if (roles.isEmpty()) {
return null;
} else {
return (Role) roles.get(0);
}
}
/**
* {@inheritDoc}
*/
public void removeRole(String rolename) {
Object role = getRoleByName(rolename);
getEntityManager().remove(role);
}
}