【发布时间】:2011-05-11 09:02:28
【问题描述】:
我有一个会话表。每个会话都有“session_start_time”和“session_end_time”。会话打开时,结束时间为空。我想获取会话列表,并按以下逻辑对其进行排序:
- 如果会话处于打开状态(无结束时间),则按开始时间排序。
- 如果会话已关闭,请按结束时间排序。
类似:
ORDER BY (session_end_time == null) ? session_start_time : session_end_time
我使用 JPA 和 JPQL 进行查询,并使用 Hibernate 进行执行。你会推荐什么?
注意:我宁愿不将 CASE 添加到 SELECT 中,而是保持它干净,这样我就可以得到一个没有额外不需要的字段的会话列表。
【问题讨论】:
标签: java sql hibernate jpa jpql