【问题标题】:How to write hql query or criteria query to fetch latest records based on timestamp如何编写 hql 查询或条件查询以根据时间戳获取最新记录
【发布时间】:2014-04-07 13:54:41
【问题描述】:

嗨,我是 ORM 技术的新手,因此可以帮助如何编写 hql 或条件查询以根据时间戳获取最新记录。 这里 Eventdata 域属性名称将与下面提到的列名称相同。 我有这样的桌子 事件数据:

AccountId   DeviceId    timestamp   Address
fuel    mdemo143    1389716109  Bangalore Road, Rajendra Nagar, Mysore, Karnataka
fuel    mdemo469    1389757662  Bharath International Travels, Diwan's Road
fuel    mdemo731    1390179714  Ring Road, Hebbalu, Mysore,
fuel    mdemo143    1390148225  Gandhinagar, Mysore


fuel    mdemo469    1389757682  Bharath International Travels, Diwan's Road
fuel    mdemo469    1389759662  Bharath International Travels, Diwan's Road
fuel    mdemo731    1390179714  Ring Road, Hebbalu, Mysore,
fuel    mdemo731    1390279714  Ring Road, Hebbalu, Mysore,

我需要的输出表如下:

AccountId   DeviceId    timestamp   Address

fuel    mdemo143    1390148225  Sun, 19 Jan 2014 16:17:05 GMT   Gandhinagar, Mysore


fuel    mdemo469    1389759662  Wed, 15 Jan 2014 04:21:02 GMT   Bharath International Travels, Diwan's Road
fuel    mdemo731    1390279714  Tue, 21 Jan 2014 04:48:34 GMT   Ring Road, Hebbalu, Mysore

请帮助我。在此先感谢

【问题讨论】:

    标签: hibernate hql criteria


    【解决方案1】:

    考虑使用ORDER BYQuery#setMaxResults

    类似的东西

    queryString = "SELECT e FROM Eventdata e ... ORDER BY e.timestamp";
    
    session.createQuery(queryString).setMaxResults(10);
    

    应该可以。

    【讨论】:

      【解决方案2】:

      如果您尝试获取基于 timestamp 的记录,您可以使用类似:

          @SuppressWarnings("unchecked")
      public List<String> getData(Date d){
          Query query = em.createQuery("SELECT e FROM EventDate e WHERE e.timestamp > :d ORDER BY e.timestamp");
          query.setParameter("d", d);
          List<String> queryResults = query.getResultList();
          return queryResults;
      }
      

      这将返回指定timestamp之后的记录

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-26
        • 1970-01-01
        • 1970-01-01
        • 2011-10-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多