怎么在hibernate 中执行一个update的sql语句?
我作乐一个 public void sjbmbupdate(DbXtwhSjbmb sjbm){
//DbXtwhSjbmb sjbm=new DbXtwhSjbmb();
try{
String hsql= "update DbXtwhSjbmb as a "
+ "set a.ac002= ' "
+sjbm.getAc002()
+ " ',a.ac003= ' "
+sjbm.getAc003()
+ " ',a.ac004= ' "
+sjbm.getAc004()+ " ' "
+ "where a.ac001= '00 ' ";
System.out.println( "java hsql report ; "+hsql);
getHibernateTemplate().saveOrUpdate(hsql);
//etHibernateTemplate().update(sjbm);
System.out.println( "java hsql report : successful ");
}catch(Exception e){
System.out.println(e);
}
}
----------------------------------------
报错:java hsql report ; update DbXtwhSjbmb as a set a.ac002= '管理平台 ',a.ac003= '0003 ',a.ac004= '000000 ' where a.ac001= '00 '
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: java.lang.String; nested exception is
org.hibernate.MappingException: Unknown entity: java.lang.String
_________________________________________________________
在update或者saveOrUpdate中该如何写HSQL?举个例子 不要update(bean)加分
------解决方案--------------------...你用了getHibernateTemplate()
而这个是直接getHibernateTemplate().saveOrUpdate(sjbm);
不用写HQL语句
------解决方案--------------------Session session = CommonDAO.getSession();
Transaction t = session.beginTransaction();
try{
String sql = "update ...... ";
session.createSQLQuery(sb.toString()).executeUpdate();
t.commit();
}catch(Exception exp){
t.rollback();
}finally{
session.close();
}