gguow 2009-06-06 12:02
浏览 567
已采纳

hql查询对象里的集合的一个属性的值的范围


public class Client {
//历史订单
List orders;
}
public class Order{
// 订单日期
Date date;
}

要求是 查询 client 最后一次订单 的日期 是6个月前

我不知道hql该怎样写 不要sql 是hql

  • 写回答

3条回答 默认 最新

  • solarisy 2009-06-07 12:02
    关注

    查询 : 最后一次订单 的日期 在6个月前 的Client

    使用hql子查询

    --我用我的 '用户' 和 '登录日志' 做测试OK,下面是我的测试hql
    from UserInfo u
    where (
    select count(*) from u.loginLogs l
    where l.loginTime>'2008-12-24 20:01:39.217'
    )=0"

    --同理换成你 'Client' 和 'Order', hql语句如下
    [i]from Client c
    where (
    select count(*) from c.orders o
    where o.date>'2008-12-07 23:59:59.999'
    )=0[/i]

    分析:
    查询:自从2008-12-07之后(距离今天6个月) 其订单的 数量为0的Client
    (查询结果包括从来没有下过订单的Client)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler