package org.oregami.data; import com.google.inject.Inject; import com.google.inject.Provider; import org.oregami.entities.GamingEnvironment; import javax.persistence.EntityManager; import java.util.List; public class GamingEnvironmentDao extends GenericDAOUUIDImpl<GamingEnvironment, String>{ @Inject public GamingEnvironmentDao(Provider<EntityManager> emf) { super(emf); entityClass=GamingEnvironment.class; } @SuppressWarnings("unchecked") public List<GamingEnvironment> findByTitle(String title) { List<GamingEnvironment> geList = getEntityManager() .createNativeQuery("SELECT * FROM GamingEnvironment t where title = :value ", GamingEnvironment.class).setParameter("value", title).getResultList(); return geList; } public GamingEnvironment findOneByExactTitle(String title) { GamingEnvironment ge = (GamingEnvironment) getEntityManager() .createNativeQuery("SELECT distinct g.* " + " FROM " + " GamingEnvironment g, " + " GamingEnvironment_PlatformTitle gp, " + " PlatformTitle p, " + " TransliteratedString ts " + " where g.id = gp.GamingEnvironment_id " + " and gp.title_id = p.id " + " and p.text_id = ts.id " + " and ts.text = :value ", GamingEnvironment.class).setParameter("value", title).getSingleResult(); return ge; } }