A. 如何在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;
}
});
}
B. 怎么在hibernate 中执行一个update的sql语句
你说的执行时什么意思?不是跟SQL一样的么?
C. hibernate里面发了update语句但是数据库就是不更新
你没有启动事务
要改成这样就行了
public void updateParameter(final String configureid, final String configurevalue) throws Exception {
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException {
Transaction tran = session.beginTransaction();//启动事务
String hql = "UPDATE Ffconfigure SET configurevalue=? WHERE configureid=?";
Query q = session.createQuery(hql);
q.setString(0, configureid);
q.setString(1, configurevalue);
q.executeUpdate();
tran.commit();//提交事务
return null;
}
});
}
D. hibernate 中怎么执行update操作
首先你要知道,hibernate的update操作的运行机理:
hibernate的update是怎么样自动的进行update操作的呢?
首先hibernate先会执行一个select操作,到数据库中查找
当前要update操作的对象的主键是否存在,类似于:
select id from table where id=XXX
如果查找到了改id,就说明该对象是一个持久化对象,
如果该对像的某些属性变化了,hibernate就会自动的执行update操作,
同步数据库中的该对象。
如果hibernate没有查找到该id,就说明该对象是一个游离的对象,
hibernate就会执行insert操作。
根据这些,就可以找找是不是要update的对象的id在数据库中不存在,
或是更改的该对象的id。这些都是执行insert而不是update
E. sql 语句实现hibernate save update delete 功能
它是提倡一种叫nosql的东西,它不建议大家直接写sql语句,它自己封装了一些基本的方法。它增删改,都对于从数据库orm来的类来说的。对类进行操作,以便达到增删改。
F. hibernate 发送sql update
你就一张表,不需 把表名用a代替,而且update语句不能代替的,又不是select;
你直接把a.都去掉就行。像这样:
update s_account set joyBeans =0, version=version+1 where accountId =5826 and version=4
G. hibernate 怎么使用原始的sql 语句进行insert update delete 操作
public SQLQuery createSQLQuery(String queryString, final Object... values) {
SQLQuery query = getCurrentSession().createSQLQuery(queryString);
if(values != null){
for (int i = 0; i < values.length; i++) {
query.setParameter(i, values[i]);
}
}
return query;
}
/**
* 执行SQL进行批量修改/删除操作.
*
* @param values 数量可变的参数,按顺序绑定.
* @return 更新记录数.
*/
public int sqlBatchExecute(final String sql, final Object... values) {
return createSQLQuery(sql, values).executeUpdate();
}
H. hibernate里面用update语句更新好还是用update()方法更新更好一些
这么一点代码怎么知道 我估计是没有写事务提交吧 貌似没有提交事务 ..你提问的问题应该改成《spring + hibernate 执行update更新语句 》仔细看看
I. hibernate SQL语句为什么不加上select update delete insert
-------------------------------------------------------
其实理解了hibernate的大概原理,就很容易理解了。
我们都知道和数据库打交道的只能是SQL,并非HQL,HIBERNATE要做的事情就是将HQL根据自己定义的规则转换为SQL,再通过JDBC和数据库打交道。
HQL有其自己的语法规则,其实HQL是有select关键字的。譬如我们自定义一个对象,用来封装数据,而这个对象数据来源是多个表。
则hql为 select com.xxx.sale.PeopleInforForm(a.name, b.salary) from A a, B b where ...
-------------------------------------------------------