有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Hibernate批量删除不工作?

我正在尝试从表中批量删除数据。对于该am,设置要删除的参数列表

    ArrayList<Integer> ids = new ArrayList<Integer>();
    ids.add(1);
    ids.add(2);
    ids.add(3);
    ids.add(4);

    Session session1 = sfactory.openSession();
    Transaction txn1 = session1.beginTransaction();

    Query query = session1.createQuery("delete from QueueData tbl where tbl.iID in =:id");
    query.setParameter("id", ids);

    int i = query.executeUpdate();
    txn1.commit();

我在执行语句时遇到异常

   SEVERE: line 1:61: unexpected token: =
   Exception in thread "main"
   org.hibernate.hql.ast.QuerySyntaxException:    
   unexpected token: = near line 1, column 61 [delete from   
   hibernetexamples.QueueData tbl where tbl.iID in =:id]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:31)
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:24)
at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:59)
at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:258)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:157)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at hibernetexamples.HibernetExamples.main(HibernetExamples.java:104)

共 (0) 个答案