日期:2014-05-19  浏览次数:20728 次

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

你确定你的更新语句没用 别名吗?

update tableName set name='张三' where id=1;
------解决方案--------------------
有没有tableName表对应的实体类啊?
------解决方案--------------------
什么错误?
------解决方案--------------------
能把的SQL语句拿出来看下?这个是关键
------解决方案--------------------
引用:
hibernate 怎么使用原始的SQL 语句进行insert update delete 操作
getSession().createSQLQuery(sql).executeUpdate();
这样是错误的。
还有 有可能会带些参数,
查询语句没问题,修改数据库的语句就不行了。。




我这 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();// 创建数据库不影响行数



------解决方案--------------------
最好把报错信息贴出来