Reputation: 980
I have the following domain objects:
@Entity
public class Item {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@OneToMany
private List<PropertyDefinition> propertyDefinitions;
}
@Entity
public class PropertyDefinition {
@Id
private Long id;
private final String name;
private final String value;
}
I would like to sort the items for example "title" named PropertyDefinition.value
How could I do that with Spring Data JPA?
Iterable<Item> items = itemRepository.findAll(new Sort("???"));
example code can be found here:
https://github.com/altfatterz/sort-poc/
Any feedback appreciated.
Upvotes: 7
Views: 11258
Reputation: 280170
You can use the JPA or Hibernate @OrderBy
annotation:
@OneToMany
@OrderBy("value ASC") // sort by value ASC
private List<PropertyDefinition> propertyDefinitions;
Otherwise, you can create your own query to sort them with Criteria
or HQL Query
.
Upvotes: 22