package somiba.dao;

import java.util.List;

import org.springframework.dao.DataAccessException;
import org.springframework.transaction.annotation.Transactional;

import somiba.domain.Player;

@Transactional(readOnly = true)
public class HibernatePlayerDao extends AbstractHibernateDao implements
		PlayerDao {

	@Transactional(readOnly = false)
	@Override
	public void delete(Player player) throws DataAccessException {
        super.delete(player);
	}

    @SuppressWarnings("unchecked")
	@Override
	public List<Player> getAll() throws DataAccessException {
        return (List<Player>) super.findAll("from Player");
	}

	@Override
	public Player getByName(String name) throws DataAccessException {
        return (Player) super.findOne("from Player where name=?", name);
	}

	@Transactional(readOnly = false)
	@Override
	public void save(Player player) throws DataAccessException {
        super.save(player);
	}

	@Transactional(readOnly = false)
	@Override
	public void update(Player player) throws DataAccessException {
        super.save(player);
	}

}
