|
When retrieving data as tuples a single database query is executed. However, when retrieving data using a wrapper, 1 + N queries are executed. Execution of a single query would also be desirable here.
Executes a single query:
CriteriaQuery<Tuple> query = criteriaBuilder.createTupleQuery();
Root<Brand> from = query.from(Brand.class); query.multiselect(from);
List<Tuple> resultList = entityManager.createQuery(query).getResultList();
Executes 1 + N queries:
CriteriaQuery<BrandWrapper> query = criteriaBuilder.createQuery(BrandWrapper.class);
Root<Brand> from = query.from(Brand.class); query.select(criteriaBuilder.construct(BrandWrapper.class, from));
List<BrandWrapper> resultList = entityManager.createQuery(query).getResultList();
|