如何在hibernate 中执行一个update的sql语句

如题所述

* 执行非查询sql
* @param sql
*/
public void executeSQL(String sql){

final String tempsql = sql;
this.getHibernateTemplate().execute(new HibernateCallback()
{
public Object doInHibernate(Session session)
throws HibernateException
{
session.createSQLQuery(tempsql).executeUpdate();

return null;
}
});
}
温馨提示:内容为网友见解,仅供参考
无其他回答

hibernate 中怎么执行update操作
首先hibernate先会执行一个select操作,到数据库中查找 当前要update操作的对象的主键是否存在,类似于:select id from table where id=XXX 如果查找到了改id,就说明该对象是一个持久化对象,如果该对像的某些属性变化了,hibernate就会自动的执行update操作,同步数据库中的该对象。如果hibernate没有查找...

HQL语句 hibernate 单表怎么实现根据主键修改一个字段的值
this.getHibernateTemplate().get(class, id);得到这个对象 然后set值,只要在set这个值之前没有关闭session那么会自动更新数据的,你下面截图写的update方法,update一个sql语句?

nhibernate 怎么写sql语句啊 急
nhibernate 怎么写sql语句啊 急 NHibernate 检视生成的sql语句: 其实就是Interceptor的应用, 原始码中Interceptor的预设实现是EmptyInterceptor, [Serializable] public class EmptyInterceptor : IInterceptor { 前面省略n行程式码 public SqlString OnPrepareStatement(SqlString sql) { return sql...

Hibernate中的SQL写法。
还有,hibernate内的语句不是SQL,而是HQL,但它支持SQL,又它特定的写法;表名不是数据库的名字,而是映射后的实体类(表)的名字;而且,是直接对数据库进行操作,也就hibernate的事务一提交,数据库内的信息就做了相应的修改;最后,hibernate不是个软件,而是一个插件,通俗的说法是别人写好的“包”...

用hibernate自动生成的attachDirty方法执行update为什么最后执行的是...
Hibernate的update和saveOrUpdate方法都是用于对跨Session的PO进行状态管理,它们的区别在于对PO采取何种策略。顾名思义,saveOrUpdate方法基本上就是合成了save和update方法,如果PO对象已经在session中持久化了,被改动后再在session中执行saveOrUpdate则会执行update方法(update);而如果PO对象是一个新创建的...

hibernter执行sql语句
SQL语句写错了 这样写的SQL语句在SQLPLUS中都执行不了 应该是别名的问题,在给查处的字段取别名时不需要大括号,并且不能有"."select h.id as hhid from House_Resource h 就可以了 就算是SSH框架中hibernate的执行语句,也要是完整的正确的sql语句,即使是HQL语句,也是根据类的映射来查找的,也没...

使用hibernate的saveOrUpdate
hibernate的方法只是用来改变对象的状态的 发sql语句是方法发出的 但是真正提交的是事务的commit语句 你要确定当你要提交的时候操作对象的那个session还存在

如何用hibernate,session.save()方法给mysql添加数据,完全新手越是详细...
一、查询有如下三种方式:1、采用createQuery()的方式,不用写sql语句,设定map对应的类名,后面可跟where条件语句:Query query = session.createQuery("from Navigation n where n.parentid=" + parentid);2、采用<hibernate-mapping>配置文件中配置sql语句的方式:Query query = session.getNamed...

Hibernate中的 update()和saveOrUpdate()的区别,session的load()和...
【答案】:如果对象在该session中已经被持久化,不进行操作;对象的标识符属性(identifier property)在数据库中不存在或者是个暂时的值,调用 save()方法保存它;如果session中的另一个对象有相同的标识符抛出一个异常; 以上皆不符合则调用 update()更新之。Session.load\/get方法均可以根据指定的实体类和...

如何得到hibernate显示在控制台的hql或sql语句?
不知道楼主的意思是不是把那些占位符换成具体的值,这样就可以直接复制SQL语句在数据库控制台粘贴直行了。如果是这样的话。楼主有没有注意过直行hibernate时总是报的警告:log4j:WARN Please initialize the log4j system properly.使用这个log4j就可以显示相信信息。我给你一个属性文件:log4j.properties把他...

相似回答