Hibernate HQL适用于MySQL但不适用于MSSQL

时间:2012-08-29 10:11:43

标签: java hibernate jdbc playframework playframework-1.x

我正在开发Play Framework 1.2.4项目。

我的开发计算机安装了mySql,我正在使用它,生产环境有MS-SQL2005。

我必须在批处理操作中使用某种HQL。 select和delete查询在mysql上工作正常但在ms-sql中查询似乎不起作用。继承我的代码:

              stateless.createQuery("delete INVENTORY inv where product <>:product and station=:station")
          .setParameter("product", lpgProd)
          .setParameter("station", inv.station)
          .executeUpdate();
          int count = stateless.createQuery("from INVENTORY where itemid = :itemid").setParameter("itemid", inv.getId()).list().size();
          if(count==0)
              stateless.insert(inv);

此代码基本上会在写入之前检查数据库中是否有任何旧记录。我也在使用“无状态会话”来加快批处理操作。

问题是,在MS-SQL中,这些代码什么都不做。它不会删除任何记录,也不会从列表中返回任何结果。

除了hql查询之外的任何工作都可以。 (即sateless.insert(inv))

我做了什么?

0 个答案:

没有答案