为了账号安全,请及时绑定邮箱和手机立即绑定

休眠 选择与另一个表的顺序不同

休眠 选择与另一个表的顺序不同

梵蒂冈之花 2022-08-03 10:43:03
我知道有很多话题围绕着这一点,但我找不到解决我的问题的方法。我知道如果我在休眠中使用“distinct”和“order by”,那么order by中的列必须在select子句中。其他文章只是说列必须在select中,但我还没有找到一个例子,如何实现这一点。这是我的班级:@Entity@Table(name = "DANCE")public class Dance implements Serializable {@Idprivate int tanzid;@ManyToOne(fetch = FetchType.LAZY)@JoinColumn(name = "SID")private School school;@Basic@Column(name = "titel")private String titel;(getter setter...)我的(不工作)查询:SELECT distinct d FROM Dance d order by d.school.schoolname例如,如果我按标题排序,它正在工作。我试图在select子句中设置学校名称:SELECT distinct d, d.school.schoolname FROM Dance d order by d.school.schoolname但是,休眠抱怨查询的返回类型不是来自类型“Dance.class”如何按学校名称获得订单。
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

您必须为一列选择不同的行。不幸的是,这不是sql标准的一部分,所以在jpql或hql中,这是不可能的。您必须使用供应商 - 特定语法和本机查询来实现此目的。下面是 postgres 中的一个示例。


查看完整回答
反对 回复 2022-08-03
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信