我有以下域对象:
@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;
}
我想对项目进行排序,例如名为PropertyDefinition.value的
我怎么能用Spring Data JPA做到这一点?
Iterable<Item> items = itemRepository.findAll(new Sort("???"));
示例代码可以在这里找到:
https://github.com/altfatterz/sort-poc/
任何反馈意见。
答案 0 :(得分:8)
您可以使用JPA或Hibernate @OrderBy
注释:
@OneToMany
@OrderBy("value ASC") // sort by value ASC
private List<PropertyDefinition> propertyDefinitions;
否则,您可以创建自己的查询,使用Criteria
或HQL Query
对其进行排序。