I'm using JpaRepository
and JpaSpecificationExecutor
from Spring Data and i'm having a problem to sort the method findAll(specification, pageable, sort)
I want to sort the result of a specification by a nested property from the main repo class. This is my case:
the main class
class Foo {
//other properties
@OneToMany(mappedBy="foo")
private Set<Bar> bars;
}
the ordering class
class Bar {
@ManyToOne
@JoinColumn(name="fooId")
private Foo foo;
//I WANT TO SORT BY THIS FIELD
@Column
private Date date;
}
and this is my repo
interface FooRepo extends JpaRepository<Foo , Long>,
JpaSpecificationExecutor<Foo>{
//just jparepo methods
}
this is how i'm trying order this result
void anymethod(){
Sort sort = new Sort(Bar_.date.getName());
PageRequest pr = new PageRequest(anyPage, anyMaxResultsNum, sort);
repository.findAll(anySpecification, pr);
}
and when i run this i'm getting the "PropertyReferenceException: No property date found for type Foo!"
How can i do this?