﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-想想的JAVA空间</title><link>http://www.blogjava.net/xiangxiang/</link><description /><language>zh-cn</language><lastBuildDate>Fri, 17 Apr 2026 21:09:46 GMT</lastBuildDate><pubDate>Fri, 17 Apr 2026 21:09:46 GMT</pubDate><ttl>60</ttl><item><title>hibernate更新数据</title><link>http://www.blogjava.net/xiangxiang/archive/2008/09/23/230745.html</link><dc:creator>想想</dc:creator><author>想想</author><pubDate>Tue, 23 Sep 2008 12:12:00 GMT</pubDate><guid>http://www.blogjava.net/xiangxiang/archive/2008/09/23/230745.html</guid><wfw:comment>http://www.blogjava.net/xiangxiang/comments/230745.html</wfw:comment><comments>http://www.blogjava.net/xiangxiang/archive/2008/09/23/230745.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xiangxiang/comments/commentRss/230745.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiangxiang/services/trackbacks/230745.html</trackback:ping><description><![CDATA[<p>session.update不能直接用，因为他是以ID为主键，必须查询出ID才能进行更新。。。</p>
<p>Usertable user=null;<br />
<br />
Session session=HibernateSessionFactory.getSession();<br />
String sql="from Usertable as user where user.username=?";<br />
Query q=session.createQuery(sql);<br />
q.setString(0,username);<br />
List l=q.list();<br />
Iterator ite=l.iterator();<br />
if(ite.hasNext()){<br />
&nbsp;&nbsp; user=(Usertable)ite.next();<br />
&nbsp;&nbsp;<br />
}<br />
return user;</p>
<p>查询完以后才能更新用SESSION.UPDATE就行了。</p>
 <img src ="http://www.blogjava.net/xiangxiang/aggbug/230745.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiangxiang/" target="_blank">想想</a> 2008-09-23 20:12 <a href="http://www.blogjava.net/xiangxiang/archive/2008/09/23/230745.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>帮帮我，hibernate的sql查询出错???  </title><link>http://www.blogjava.net/xiangxiang/archive/2008/09/23/230738.html</link><dc:creator>想想</dc:creator><author>想想</author><pubDate>Tue, 23 Sep 2008 11:01:00 GMT</pubDate><guid>http://www.blogjava.net/xiangxiang/archive/2008/09/23/230738.html</guid><wfw:comment>http://www.blogjava.net/xiangxiang/comments/230738.html</wfw:comment><comments>http://www.blogjava.net/xiangxiang/archive/2008/09/23/230738.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/xiangxiang/comments/commentRss/230738.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xiangxiang/services/trackbacks/230738.html</trackback:ping><description><![CDATA[请高手教教我吧. <br />
在hibernate中查询数据,查询语句中包含sql函数String sql = (select * from employee emp where left(dbo.f_GetPy(name,1)='要查询的字母') <br />
其中dbo.f_GetPy(name),1)为sql server 2000中的自定义函数,"name"是列名。其作用是按汉字的字符串的第一个字的英文首字母查出相应的字符串（按首字母查询）。 <br />
我用的是List list = session.createSQLQuery(sql) <br />
.addEntity("emp",Employee.class) <br />
.list() ; <br />
方法。 <br />
报的错误是.list()那行。sql语句在查询分析器中试过了，没问题。具体错误代码如下： <br />
<br />
HTTP Status 500 - <br />
<br />
-------------------------------------------------------------------------------- <br />
<br />
type Exception report <br />
<br />
message <br />
<br />
description The server encountered an internal error () that prevented it from fulfilling this request. <br />
<br />
exception <br />
<br />
javax.servlet.ServletException: could not execute query <br />
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535) <br />
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433) <br />
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) <br />
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) <br />
yfy.struts.MyActionServlet.process(MyActionServlet.java:17) <br />
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) <br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:689) <br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) <br />
<br />
<br />
root cause <br />
<br />
org.hibernate.exception.SQLGrammarException: could not execute query <br />
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67) <br />
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) <br />
org.hibernate.loader.Loader.doList(Loader.java:2148) <br />
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029) <br />
org.hibernate.loader.Loader.list(Loader.java:2024) <br />
org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111) <br />
org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1655) <br />
org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142) <br />
org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164) <br />
yfy.dao.BaseDaoImpl.execSQLQuery(BaseDaoImpl.java:138) <br />
yfy.struts.action.EmpNameListAction.execute(EmpNameListAction.java:40) <br />
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) <br />
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) <br />
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) <br />
yfy.struts.MyActionServlet.process(MyActionServlet.java:17) <br />
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414) <br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:689) <br />
javax.servlet.http.HttpServlet.service(HttpServlet.java:802) <br />
<br />
请高手们帮我解答。谢谢
<img src ="http://www.blogjava.net/xiangxiang/aggbug/230738.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xiangxiang/" target="_blank">想想</a> 2008-09-23 19:01 <a href="http://www.blogjava.net/xiangxiang/archive/2008/09/23/230738.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>