package com.sap.pto.dao; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.NoResultException; import javax.persistence.NonUniqueResultException; import javax.persistence.TypedQuery; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.sap.pto.adapters.PersistenceAdapter; import com.sap.pto.dao.entities.Player; import com.sap.pto.dao.entities.PlayerStat; public class PlayerStatDAO extends BasicDAO<PlayerStat> { private static final Logger logger = LoggerFactory.getLogger(PlayerStatDAO.class); public static PlayerStat getForPlayer(Player player, String key) { EntityManager em = PersistenceAdapter.getEntityManager(); PlayerStat user = getForPlayer(player, key, em); return user; } public static PlayerStat getForPlayer(Player player, String key, EntityManager em) { try { return (PlayerStat) em.createNamedQuery(PlayerStat.QUERY_BYPLAYERANDKEY).setParameter("player", player) .setParameter("key", key).getSingleResult(); } catch (NoResultException e) { return null; } catch (NonUniqueResultException e) { logger.error("PlayerStat appears multiple times. This could mean database corruption. Fix immediately.", e); throw e; } } public static List<PlayerStat> getForPlayer(Player player) { EntityManager em = PersistenceAdapter.getEntityManager(); TypedQuery<PlayerStat> query = em.createNamedQuery(PlayerStat.QUERY_BYPLAYER, PlayerStat.class); query.setParameter("player", player); List<PlayerStat> playerStats = query.getResultList(); return playerStats; } }