如何将sql查询转换为hibernate查询以获取数据库中的上周记录

时间:2017-01-09 13:19:48

标签: mysql hibernate

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

从创建时间BETWEEN DATE_SUB(now(),INTERVAL 7 DAY)和now()以及p.producttype =?的产品中选择*按创建时间desc排序;

来自p的产品,其中p.createdtime BETWEEN date_sub(now(),interval 7 day)和now()以及p.producttype =?按p.createdtime desc命令

  

错误:org.hibernate.hql.internal.ast.ErrorCounter - 第1行:118:   意外令牌:间隔错误:   org.hibernate.hql.internal.ast.ErrorCounter - 第1行:118:意外   token:interval line 1:118:意外标记:interval at   org.hibernate.hql.internal.antlr.HqlBaseParser.identPrimaryBase(HqlBaseParser.java:4648)

1 个答案:

答案 0 :(得分:0)

我想你应该试试这个..

这样你也可以试试..

   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")