/*_##########################################################################
_##
_## Copyright (C) 2012 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.L2Connection;
import com.github.kaitoy.sneo.giane.model.dao.L2ConnectionDao;
public class L2ConnectionDaoImpl
extends AbstractDao<L2Connection> implements L2ConnectionDao {
public L2Connection findByKey(Integer id) {
return findSingleBy("id", id, L2Connection.class);
}
public L2Connection findByNameAndNetworkId(String name, Integer networkId) {
CriteriaBuilder cb = getCriteriaBuilder();
CriteriaQuery<L2Connection> cq = cb.createQuery(L2Connection.class);
Root<L2Connection> r = cq.from(L2Connection.class);
cq.select(r).where(
cb.and(
cb.equal(r.get("name"), name),
cb.equal(r.get("network"), networkId)
)
);
try {
return getEntityManager().createQuery(cq).getSingleResult();
} catch (NoResultException e) {
return null;
}
}
}