【问题标题】:How to convert sql query to hibernate query for get last week records from database如何将 sql 查询转换为休眠查询以从数据库中获取上周记录
【发布时间】:2017-05-23 18:32:34
【问题描述】:

在我的项目中,我想获取基于 createdtimestamp 和产品类型的上周记录插入记录。我在下面添加了 sql 和 hibernate 查询。在此 sql 查询工作正常,但 hibernate 查询给出错误..请帮助我如何将 sql 查询转换为 hibernate 查询。

select * from products where createdtime BETWEEN DATE_SUB(now(),INTERVAL 7 DAY) AND now() and p.producttype=?按createdtime desc排序;

从产品为 p 其中 p.createdtime BETWEEN date_sub(now(),interval 7 day) and now() and p.producttype=?按 p.createdtime desc 排序

错误:org.hibernate.hql.internal.ast.ErrorCounter - 第 1:118 行: 意外令牌:间隔错误: org.hibernate.hql.internal.ast.ErrorCounter - 第 1:118 行:意外 令牌:间隔线 1:118:意外令牌:间隔在 org.hibernate.hql.internal.antlr.HqlBaseParser.identPrimaryBase(HqlBaseParser.java:4648)

【问题讨论】:

    标签: mysql hibernate


    【解决方案1】:

    我觉得你应该试试这个..

    这样你也可以试试..

       final Calendar date = Calendar.getInstance();
        date.add(Calendar.DATE, -7);
        Date previousDate=date.getTime();
        Date now=new Date();
    
    session.createQuery("from products as p where p.createdtime BETWEEN "+previousDate+ " and "+now+ " and p.producttype=? order by p.createdtime desc")
    

    【讨论】:

    • 感谢您的回复 Gokul。我已尝试使用您给定的代码,但我仍然面临以下错误。错误:org.hibernate.hql.internal.ast.ErrorCounter - 第 1:118 行:意外令牌:周一错误:org.hibernate.hql.internal.ast.ErrorCounter - 第 1:118 行:意外令牌:周一第 1:118 行:意外令牌:周一
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2018-12-19
    相关资源
    最近更新 更多