首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Hibernate标准API按多到多关系排序实体?

如何使用Hibernate标准API按多到多关系排序实体?
EN

Stack Overflow用户
提问于 2021-07-21 15:51:14
回答 1查看 105关注 0票数 0

我需要通过多到多的关系来安排我的实体。

假设我的域如下:

代码语言:javascript
运行
复制
@Entity
public class Field {
  ....

  @ManyToMany
  @JoinTable(name="field_crop", joinColumns={@JoinColumn(name="field_id")}, inverseJoinColumns = {@JoinColumn(name="crop_id")})
  @OrderBy(value="name")
  private List<Crop> crops;

  ....

}

@Entity
public class Crop {
  ....

  private String name;

  ....

}

假设在我的域中,我有以下数据:

  • Filed1 (作物):{Lemon }
  • Filed2 (作物:{Kiwi,杏} }
  • Filed3 (作物):{杏} }
  • Filed4 (作物:{Avocado,Banana}

)F 210

使用对@OrberBy关系的@ManyToMany注释,我将使列表中的Crop元素按其名称排序:

(

  • Filed1 ){作物:{柠檬}
  • Filed2 {作物:{杏、猕猴桃}
  • Filed3 {作物:{杏}
  • Filed4 {作物:{Avocado,Banana}

F 223

按作物实体的名称属性排序,获取所有字段实体的预期结果是:

  • Filed3
  • Field2
  • Field4
  • Field1

我如何通过Hibernate条件来完成这一任务?

EN

回答 1

Stack Overflow用户

发布于 2021-07-26 12:10:10

最好是编写一个Comparator,并在实体类中的@PostLoad事件侦听器中对列表进行排序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68472700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档