在我的项目中,我希望在上周记录基于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)
答案 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")