List list()

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()
            }
        }
    }