写了一个update,执行的时候报不支持中文,上网查了一些资料,说只要在hibernate.cfg.xml加上
<property name="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property>
即可,可是问题又来了:报错 org.hibernate.QueryException: query must begin with SELECT or FROM: update [update cn.timesnet.TDTY_SMSCONTENT set CONTENT=11 where SCID=15]我的程序如下:public void update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setHeader("Cache-Control", "no-cache");
Session session=HibernateSessionFactory.getSession();
Transaction tx=session.beginTransaction();
String id=request.getParameter("id");
System.out.println(id);
String content=request.getParameter("content");
content = URLDecoder.decode(content,"UTF-8");
System.out.println(content);
//session.update("update TDTY_SMSCONTENT set CONTENT="+content+" where SCID="+id);
Query query = session.createQuery("update TDTY_SMSCONTENT set CONTENT="+content+" where SCID="+id);
//System.out.println(query);
query.executeUpdate();
tx.commit();
session.close();
}好象3.0不支持query.executeUpdate(); 那具体该怎么做啊。。初学hibernate,望大家指点。。急。。在线等。。
<property name="hibernate.query.factory_class">
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property>
即可,可是问题又来了:报错 org.hibernate.QueryException: query must begin with SELECT or FROM: update [update cn.timesnet.TDTY_SMSCONTENT set CONTENT=11 where SCID=15]我的程序如下:public void update(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setHeader("Cache-Control", "no-cache");
Session session=HibernateSessionFactory.getSession();
Transaction tx=session.beginTransaction();
String id=request.getParameter("id");
System.out.println(id);
String content=request.getParameter("content");
content = URLDecoder.decode(content,"UTF-8");
System.out.println(content);
//session.update("update TDTY_SMSCONTENT set CONTENT="+content+" where SCID="+id);
Query query = session.createQuery("update TDTY_SMSCONTENT set CONTENT="+content+" where SCID="+id);
//System.out.println(query);
query.executeUpdate();
tx.commit();
session.close();
}好象3.0不支持query.executeUpdate(); 那具体该怎么做啊。。初学hibernate,望大家指点。。急。。在线等。。
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
</property>
那Query query = session.createQuery("update TDTY_SMSCONTENT set CONTENT="+content+" where SCID="+id);
//System.out.println(query);
query.executeUpdate(); 这里又有错误。。该怎么写啊。
Transaction tx = session.beginTransaction();
String hqlUpdate = "update Customer set name = :newName where name = :oldName"; int count= session.createQuery( hqlUpdate ).setString( "newName", newName ).setString ( "oldName", oldName ).executeUpdate();
tx.commit();
session.close();