in grails-datastore-gorm-hibernate/src/main/groovy/org/grails/orm/hibernate/HibernateGormStaticApi.groovy [77:123]
List<D> list(Map params = Collections.emptyMap()) {
hibernateTemplate.execute { Session session ->
CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder()
CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(persistentEntity.javaClass)
Root queryRoot = criteriaQuery.from(persistentEntity.javaClass)
GrailsHibernateQueryUtils.populateArgumentsForCriteria(
persistentEntity,
criteriaQuery,
queryRoot,
criteriaBuilder,
params,
datastore.mappingContext.conversionService,
true
)
Query query = session.createQuery(criteriaQuery)
GrailsHibernateQueryUtils.populateArgumentsForCriteria(
persistentEntity,
query,
params,
datastore.mappingContext.conversionService,
true
)
HibernateHqlQuery hibernateQuery = new HibernateHqlQuery(
new HibernateSession((HibernateDatastore)datastore, sessionFactory),
persistentEntity,
query
)
hibernateTemplate.applySettings(query)
params = params ? new HashMap(params) : Collections.emptyMap()
if(params.containsKey(DynamicFinder.ARGUMENT_MAX)) {
return new PagedResultList(
hibernateTemplate,
persistentEntity,
hibernateQuery,
criteriaQuery,
queryRoot,
criteriaBuilder
)
}
else {
return hibernateQuery.list()
}
}
}