Skip to content

Using Criteria with Pageable containing sort ignore case is failing #3558

@radovanradic

Description

@radovanradic

Expected Behavior

Using criteria to find pageable results sorted ignore case returns sorted results.

Actual Behaviour

An exception is thrown

Not supported operation!
java.lang.IllegalStateException: Not supported operation!
at io.micronaut.data.model.jpa.criteria.impl.CriteriaUtils.notSupportedOperation(CriteriaUtils.java:143)
at io.micronaut.data.model.jpa.criteria.impl.DefaultPersistentPropertyPath.type(DefaultPersistentPropertyPath.java:107)
at io.micronaut.data.runtime.intercept.criteria.AbstractSpecificationInterceptor.getOrders(AbstractSpecificationInterceptor.java:599)
at io.micronaut.data.runtime.intercept.criteria.AbstractSpecificationInterceptor.appendSort(AbstractSpecificationInterceptor.java:208)
at io.micronaut.data.runtime.intercept.criteria.AbstractSpecificationInterceptor.applyPaginationAndSort(AbstractSpecificationInterceptor.java:219)
at io.micronaut.data.runtime.intercept.criteria.AbstractSpecificationInterceptor.findAll(AbstractSpecificationInterceptor.java:127)
at io.micronaut.data.runtime.intercept.criteria.FindPageSpecificationInterceptor.intercept(FindPageSpecificationInterceptor.java:65)

since some operations in DefaultPersistentPropertyPath are not supported currently

@Override
    public Bindable<T> getModel() {
        throw notSupportedOperation();
    }

    @Override
    public Path<?> getParentPath() {
        throw notSupportedOperation();
    }

    @Override
    public Expression<Class<? extends T>> type() {
        throw notSupportedOperation();
    }
   
    @Override
    public Class<? extends T> getJavaType() {
        throw notSupportedOperation();
    }

Steps To Reproduce

Use attached application and run tests

mn-data-criteria-ignorecase-sort.zip

Environment Information

No response

Example Application

No response

Version

4.9.x

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions