package au.com.vaadinutils.dao; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Root; public class JpaDslBuilder<E> extends JpaDslAbstract<E, E> { JpaDslBuilder(Class<E> entityClass) { this.entityClass = entityClass; builder = getEntityManager().getCriteriaBuilder(); criteria = builder.createQuery(entityClass); root = criteria.from(entityClass); criteria.select(root); } /** * constructor specifically for the JpaContainerDelegate usage * * @param query * @param entityClass */ @SuppressWarnings("unchecked") public JpaDslBuilder(CriteriaQuery<E> query, Class<E> entityClass) { this.entityClass = entityClass; builder = getEntityManager().getCriteriaBuilder(); criteria = query; root = (Root<E>) criteria.getRoots().iterator().next(); isJpaContainerDelegate = true; } }