@Override
public List<JPAObject> query(QueryRequest request) throws EDBException {
synchronized (entityManager) {
LOGGER.debug("Perform query with the query object: {}", request);
CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
QueryRequestCriteriaBuilder builder = new QueryRequestCriteriaBuilder(request, criteriaBuilder);
TypedQuery<JPAObject> typedQuery = entityManager.createQuery(builder.buildQuery());
return typedQuery.getResultList();
}
}