【问题标题】:Spring Data JPA sorting on nested collectionSpring Data JPA对嵌套集合进行排序
【发布时间】:2013-07-25 15:19:00
【问题描述】:

我有以下域对象:

@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/

感谢任何反馈。

【问题讨论】:

  • “我想对项目进行排序,例如名为 PropertyDefinition.value 的 'title'”是什么意思?
  • 我的意思是我想根据名为 PropertyDefinition 的“标题”的值对项目进行排序

标签: spring hibernate sorting jpa spring-data


【解决方案1】:

你可以使用JPA或者Hibernate@OrderBy注解:

@OneToMany
@OrderBy("value ASC") // sort by value ASC
private List<PropertyDefinition> propertyDefinitions;

否则,您可以创建自己的查询以使用 Criteria 或 HQL Query 对它们进行排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-10
    • 2018-07-21
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多