/** * Copyright 2014 David L. Whitehurst * * Licensed under the Apache License, Version 2.0 * (the "License"); You may not use this file except * in compliance with the License. You may obtain a * copy of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, * either express or implied. See the License for the specific * language governing permissions and limitations under the * License. * */ package org.musicrecital.dao.hibernate; import org.musicrecital.dao.RoleDao; import org.musicrecital.model.Role; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Repository; /** * This class interacts with hibernate session to save/delete and * retrieve Role objects. * * @author <a href="mailto:bwnoll@gmail.com">Bryan Noll</a> * @author jgarcia (updated to hibernate 4) * @author <a href="mailto:dlwhitehurst@gmail.com">David L. Whitehurst</a> * @version $Id: 8643da65cbb8ccad1149f6f9326cdea3eb04d1b2 $ */ @Repository public class RoleDaoHibernate extends GenericDaoHibernate<Role, Long> implements RoleDao { /** * Constructor to create a Generics-based version using Role as the entity */ public RoleDaoHibernate() { super(Role.class); } /** * {@inheritDoc} */ public Role getRoleByName(String rolename) { List roles = getSession().createCriteria(Role.class).add(Restrictions.eq("name", rolename)).list(); if (roles.isEmpty()) { return null; } else { return (Role) roles.get(0); } } /** * {@inheritDoc} */ public void removeRole(String rolename) { Object role = getRoleByName(rolename); Session session = getSessionFactory().getCurrentSession(); session.delete(role); } }