package net.techreadiness.persistence.dao;
import java.util.List;
import javax.persistence.TypedQuery;
import net.techreadiness.persistence.domain.ContactDO;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Repository;
@Repository
@Scope("prototype")
public class ContactDAOImpl extends BaseDAOImpl<ContactDO> implements ContactDAO {
@Override
public ContactDO getByOrgAndContactType(Long orgId, String contactTypeCode) {
StringBuilder sb = new StringBuilder();
sb.append("select c ");
sb.append("from ContactDO c, ContactTypeDO ct ");
sb.append("where ct.contactTypeId = c.contactType.contactTypeId ");
sb.append("and ct.code =:contactTypeCode ");
sb.append("and c.org.orgId =:orgId ");
TypedQuery<ContactDO> query = em.createQuery(sb.toString(), ContactDO.class);
query.setParameter("orgId", orgId);
query.setParameter("contactTypeCode", contactTypeCode);
return getSingleResult(query);
}
@Override
public List<ContactDO> findByOrg(Long orgId) {
TypedQuery<ContactDO> query = em
.createQuery("select c from ContactDO c where c.org.orgId = :orgId", ContactDO.class);
query.setParameter("orgId", orgId);
return query.getResultList();
}
}