hibernate 怎么使用原始的SQL 语句进行insert update delete 操作
getSession().createSQLQuery(sql).executeUpdate();
这样是错误的。
还有 有可能会带些参数,
查询语句没问题,修改数据库的语句就不行了。。

解决方案 »

  1.   

    你确定你的sql语句没有 "?" 占位符?你确定你的更新语句没用 别名吗?update tableName set name='张三' where id=1;
      

  2.   


    有参数是用?占的,
    但是这个不是问题的关键,占了肯定需要设置的。
    如果这是sql语句的话 update tableName set name='张三' where id=1; 这样我确定没用
      

  3.   

    有没有tableName表对应的实体类啊?
      

  4.   

    能把的SQL语句拿出来看下?这个是关键
      

  5.   


    我这 insert update delete 都可以通用啊、
     Query sqlQuery = session.createSQLQuery(sql);
                sqlQuery.setParameter(0, id);//参数是否有 加上判断就可以了啊、
                sqlQuery.executeUpdate();
    怎么个错误法 lz贴出来看看、顺便把sql贴出来、
    我使用创建表语句也可以啊、String sql = " CREATE  TABLE  test2 AS  SELECT * FROM   test   where 1=2 ";
    session.createSQLQuery(sql).executeUpdate();// 创建数据库不影响行数