Hibernate关联排序问题

cpl3113 2011-03-22 12:08:36
有两表:
表一 t1
t1_id name
1 一
2 二
3 三

表二 t2
t2_id t1_id t2_order
1 1 1
2 1 2
3 2 3
4 2 4
5 3 5
6 3 6

表一和表二是一对多的关系,通过t1_id关联
现在要做的是查询表一的数据, 并让结果按照关联的表二中t2_order进行降序排序

用普通的sql写是这样的:

SELECT t.*,(SELECT MAX(t2_order) FROM t2 WHERE t1_id = t.t1_id) AS t_order FROM t1 t ORDER BY t_order desc

可要是用Hibernate该怎么写啊? 我都试了好多种写法了,都不行,Hibernate不会连这么简单sql都搞不定吧?

哪位高手指教指教?


...全文
188 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpl3113 2011-05-10
  • 打赏
  • 举报
回复
楼上的兄弟, 是因为以前写的一个超复杂的hsql里面要实现这个子查询, 要改就全都改, 太麻烦了。
zn85600301 2011-03-22
  • 打赏
  • 举报
回复
楼主是想用HQL? 直接执行SQL不是更简单 自己封装下结果集就好了
我嘞个去 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 xf_taoran 的回复:]
SELECT t,(SELECT MAX(t2_order) FROM t2 WHERE t1_id = t.t1_id) AS t_order FROM t1 t ORDER BY t_order desc

把t.* 改成 t hibernate都是对象查询 还有你model建了没
[/Quote]
xf_taoran 2011-03-22
  • 打赏
  • 举报
回复
SELECT t,(SELECT MAX(t2_order) FROM t2 WHERE t1_id = t.t1_id) AS t_order FROM t1 t ORDER BY t_order desc

把t.* 改成 t hibernate都是对象查询 还有你model建了没
lijian8552 2011-03-22
  • 打赏
  • 举报
回复
怎么没人来回答啊!帮顶下!
colachens 2011-03-22
  • 打赏
  • 举报
回复
1.one-to-many
<set/>
中不是有个属性 order-by="要排序的列名" 吗?

2.hql(你试试)
from t1 where .... order by t1.t2.t2_order

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧