package nl.topicus.konijn.data.dao.hibernate; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Path; import javax.persistence.criteria.Root; import nl.topicus.konijn.data.dao.interfaces.IEventDao; import nl.topicus.konijn.data.entity.Event; import nl.topicus.konijn.data.entity.Nabaztag; /** * Event Data access helper * * @author Joost Limburg * */ public class EventDao extends BaseDao<Event> implements IEventDao { public Event getEvent(String eventClass, Nabaztag nabaztag) { CriteriaBuilder cb = emp.get().getCriteriaBuilder(); CriteriaQuery<Event> c = cb.createQuery(Event.class); Root<Event> nab = c.from(Event.class); Path<String> nabQ = nab.get("nabaztag"); Path<String> typeQ = nab.get("eventClass"); c.where(cb.and(cb.equal(nabQ, nabaztag), cb.equal(typeQ, eventClass))); Event event = null; try { event = emp.get().createQuery(c).getSingleResult(); } catch (javax.persistence.NoResultException ex) { } return event; } }