/*_########################################################################## _## _## Copyright (C) 2013 Kaito Yamada _## _########################################################################## */ package com.github.kaitoy.sneo.giane.model.dao.impl; import javax.persistence.NoResultException; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; import com.github.kaitoy.sneo.giane.model.Lag; import com.github.kaitoy.sneo.giane.model.dao.LagDao; public class LagDaoImpl extends AbstractDao<Lag> implements LagDao { public Lag findByKey(Integer id) { return findSingleBy("id", id, Lag.class); } public Lag findByNameAndNodeId(String name, Integer nodeId) { CriteriaBuilder cb = getCriteriaBuilder(); CriteriaQuery<Lag> cq = cb.createQuery(Lag.class); Root<Lag> r = cq.from(Lag.class); cq.select(r).where( cb.and( cb.equal(r.get("name"), name), cb.equal(r.get("node"), nodeId) ) ); try { return getEntityManager().createQuery(cq).getSingleResult(); } catch (NoResultException e) { return null; } } }