﻿<?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-176142998-随笔分类-hibernate</title><link>http://www.blogjava.net/176142998/category/33601.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 08 Aug 2008 05:12:28 GMT</lastBuildDate><pubDate>Fri, 08 Aug 2008 05:12:28 GMT</pubDate><ttl>60</ttl><item><title>在Hibernate中调用存储过程的示范代码 </title><link>http://www.blogjava.net/176142998/archive/2008/08/08/220827.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Fri, 08 Aug 2008 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/176142998/archive/2008/08/08/220827.html</guid><wfw:comment>http://www.blogjava.net/176142998/comments/220827.html</wfw:comment><comments>http://www.blogjava.net/176142998/archive/2008/08/08/220827.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/176142998/comments/commentRss/220827.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/176142998/services/trackbacks/220827.html</trackback:ping><description><![CDATA[<p>如果底层数据库（如Oracle）支持存储过程，也可以通过存储过程来执行批量更新。存储过程直接在数据库中运行，速度更加快。在Oracle数据库中可以定义一个名为batchUpdateStudent()的存储过程，代码如下：</p>
<p>create or replace procedure batchUpdateStudent(p_age in number) as<br />
begin<br />
update STUDENT set AGE=AGE+1 where AGE&gt;p_age;<br />
end;</p>
<p>以上存储过程有一个参数p_age，代表学生的年龄，应用程序可按照以下方式调用存储过程：</p>
<p>tx = session.beginTransaction();<br />
Connection con=session.connection();</p>
<p>String procedure = "{call batchUpdateStudent(?) }";<br />
CallableStatement cstmt = con.prepareCall(procedure);<br />
cstmt.setInt(1,0); //把年龄参数设为0<br />
cstmt.executeUpdate();<br />
tx.commit();</p>
<p>在以上代码中，用的是Hibernate的 Transaction接口来声明事务，而不是采用JDBC API来声明事务。</p>
<img src ="http://www.blogjava.net/176142998/aggbug/220827.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/176142998/" target="_blank">飞飞</a> 2008-08-08 09:53 <a href="http://www.blogjava.net/176142998/archive/2008/08/08/220827.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate学习 BUG列表</title><link>http://www.blogjava.net/176142998/archive/2008/08/07/220607.html</link><dc:creator>飞飞</dc:creator><author>飞飞</author><pubDate>Thu, 07 Aug 2008 03:31:00 GMT</pubDate><guid>http://www.blogjava.net/176142998/archive/2008/08/07/220607.html</guid><wfw:comment>http://www.blogjava.net/176142998/comments/220607.html</wfw:comment><comments>http://www.blogjava.net/176142998/archive/2008/08/07/220607.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/176142998/comments/commentRss/220607.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/176142998/services/trackbacks/220607.html</trackback:ping><description><![CDATA[<span style="color: red">BUG1</span><br />
2008-08-07 11:25:01,015 DEBUG (FacesSetupInterceptor.java:136) - Unable to initialize faces<br />
&nbsp;java.lang.IllegalStateException: Application was not properly initialized at startup, could not find Factory: javax.faces.context.FacesContextFactory<br />
&nbsp;at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:256)<br />
&nbsp;at org.apache.struts2.jsf.FacesSetupInterceptor.init(FacesSetupInterceptor.java:133)<br />
&nbsp;at com.opensymphony.xwork2.ObjectFactory.buildInterceptor(ObjectFactory.java:186)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.InterceptorBuilder.constructInterceptorReference(InterceptorBuilder.java:57)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.lookupInterceptorReference(XmlConfigurationProvider.java:905)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStack(XmlConfigurationProvider.java:743)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptorStacks(XmlConfigurationProvider.java:756)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadInterceptors(XmlConfigurationProvider.java:777)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.addPackage(XmlConfigurationProvider.java:410)<br />
&nbsp;at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.loadPackages(XmlConfigurationProvider.java:239)<br />
&nbsp;at org.apache.struts2.config.StrutsXmlConfigurationProvider.loadPackages(StrutsXmlConfigurationProvider.java:111)<br />
&nbsp;at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:152)<br />
&nbsp;at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:52)<br />
&nbsp;at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:395)<br />
&nbsp;at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:452)<br />
&nbsp;at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:201)<br />
&nbsp;at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)<br />
&nbsp;at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)<br />
&nbsp;at org.apache.catalina.core.ApplicationFilterConfig.&lt;init&gt;(ApplicationFilterConfig.java:108)<br />
&nbsp;at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)<br />
&nbsp;at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)<br />
&nbsp;at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)<br />
&nbsp;at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)<br />
&nbsp;at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)<br />
&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)<br />
&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)<br />
&nbsp;at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)<br />
&nbsp;at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)<br />
&nbsp;at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)<br />
&nbsp;at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)<br />
&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)<br />
&nbsp;at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)<br />
&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)<br />
&nbsp;at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)<br />
&nbsp;at org.apache.catalina.core.StandardService.start(StandardService.java:516)<br />
&nbsp;at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)<br />
&nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java:566)<br />
&nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
&nbsp;at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br />
&nbsp;at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br />
&nbsp;at java.lang.reflect.Method.invoke(Unknown Source)<br />
&nbsp;at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)<br />
&nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)<br />
<br />
这个错误是由配置文件引起。在session-factory段加入：<br />
&lt;property name="current_session_context_class"&gt;thread&lt;/property&gt;
<img src ="http://www.blogjava.net/176142998/aggbug/220607.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/176142998/" target="_blank">飞飞</a> 2008-08-07 11:31 <a href="http://www.blogjava.net/176142998/archive/2008/08/07/220607.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>