Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何使用HQL删除?_Hibernate_Hql_Hql Delete - Fatal编程技术网

Hibernate 如何使用HQL删除?

Hibernate 如何使用HQL删除?,hibernate,hql,hql-delete,Hibernate,Hql,Hql Delete,我用这个例子: 并尝试以这种方式删除: String qhl = "delete from logs where dateTtime >= current_date - interval '1 month'"; Query query = session.createQuery(hql); return query.executeUpdate(); 但我得到了这个错误: ERROR: line 1:61: unexpected token: '1 month' Mai 23, 201

我用这个例子:

并尝试以这种方式删除:

String qhl = "delete from logs  where dateTtime >= current_date - interval '1 month'";
Query query = session.createQuery(hql);
return query.executeUpdate();
但我得到了这个错误:

ERROR: line 1:61: unexpected token: '1 month'
Mai 23, 2014 3:07:22 PM org.hibernate.hql.internal.ast.ErrorCounter reportError
ERROR: line 1:61: unexpected token: '1 month'
line 1:61: unexpected token: '1 month'
    at org.hibernate.hql.internal.antlr.HqlBaseParser.identPrimary(HqlBaseParser.java:4016)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.primaryExpression(HqlBaseParser.java:859)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.atom(HqlBaseParser.java:3390)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.unaryExpression(HqlBaseParser.java:3168)
...
尝试此操作时:

String qhl = "delete from logs where dateTtime >= ( select cast(date_trunc('month', current_date) as date) )";
错误是:

logs is not mapped [delete from logs where dateTtime >= ( select cast(date_trunc('month', current_date) as date) )]

我做错了什么?

它不是有效的hql,只需使用hibernate的,用于供应商特定的数据库功能。

什么是间隔“1个月”?这是从哪里来的?我认为它是特定于PSQL(PostgreSQL)的。它返回从今天开始的最后一个月的日期(Now()-30天)。然后它将不起作用,您需要检查HQL规范并生成它支持的查询