﻿<?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-随笔分类-Hibernate</title><link>http://www.blogjava.net/hgq0011/category/2986.html</link><description>简单的事情重复做，就会产生累积效应！</description><language>zh-cn</language><lastBuildDate>Thu, 10 May 2007 16:22:15 GMT</lastBuildDate><pubDate>Thu, 10 May 2007 16:22:15 GMT</pubDate><ttl>60</ttl><item><title>做学问要细心严紧</title><link>http://www.blogjava.net/hgq0011/archive/2007/05/10/116601.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Thu, 10 May 2007 14:09:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2007/05/10/116601.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/116601.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2007/05/10/116601.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/116601.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/116601.html</trackback:ping><description><![CDATA[
		<p>                                         做学问要细心严紧<br />                我们一个同事勤学，但平时很少和大家沟通，有问题也是自己闷头自己搞定。<br />昨天，那同事突然问起我关于hibernate方面的问题，大概是自己在潜心的在研究吧。<br />其实，一直以来我都想带动我们团队，也把外面世界的一些好的开源项目引入到项目<br />中来，不要脱离JAVA世界，不要让自己和外面同行差距太大，由于某些原因我没有给<br />他们做一些启门的培训。早段时间，我负责的一个小项目就采用了struts+spring+hibernate<br />的技术，顺便给他们做一些讲解，说明他们的工作原理。现在整个项目基本完成，相信他们<br />也对它们有一个全新的认识，编程思想也更新了。<br /> <br />                那同事由于对hibernate不熟悉，持久化一个对象，整个过程没有出现任何异常，但就<br />是没有把数据保存到数据库中，这可真叫郁闷呀。我也从头到尾检查了一遍，也运行了代码，<br />没有发现什么问题。我尝试捕获更多的信息，然后仔细检查日志信息。粗略看了一下没有发现<br />异常，这可是奇怪呀。看到hibernate也输出了所执行的SQl语句，但看数据库表中又没有数据。<br />心里也在嘀咕，这可奇怪，怪事情呀。又从头看了一遍日志，突然看到hibernate绑定的数据库<br />是"master“，根本不是程序所使用的数据库，到"master"中察看，果然有数据。那问题出在那呢？<br />这肯定出在连接数据库的url上了，打开配置文件一看，同事把"databaseName"少写成了"database"<br />这样sql Server不能够识别到底是那个数据库，只能用默认的数据库了。谜团就这样被解除了。：）<br /> 其次，同事没有仔细的看hibernate指南，起码的大小写的问题都没有注意，所以经常出问题，<br />障碍了学习进度。不过，当他掌握了hibernate的原理，也就能轻车熟路了。<br /> <br />             我们不论做人还是做事要认真细心严紧，人生的整个过程都要去实践，体验生活。</p>
		<p> <br /></p>
<img src ="http://www.blogjava.net/hgq0011/aggbug/116601.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2007-05-10 22:09 <a href="http://www.blogjava.net/hgq0011/archive/2007/05/10/116601.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Unit Testing Hibernate Mapping Configurations</title><link>http://www.blogjava.net/hgq0011/archive/2006/07/11/57664.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 11 Jul 2006 08:17:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2006/07/11/57664.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/57664.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2006/07/11/57664.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/57664.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/57664.html</trackback:ping><description><![CDATA[        大师说过在开发的时候"测试先行",这样更能保证系统的每一个环节都是准确的,而且方便调试.我们可以分层对系统的每一层的各个方法,各个业务逻辑进行测试,这样不仅节省了调试的时间,提高了开发效率,而且对以后的维护有很大的帮助.所以我们在开发的时候尽量的先写测试用例,发现问题及时的纠正,越到开发系统的后期,越复杂,越难调试,所以我们得一步一步的测试程序,以求准确.<br />      下面又一遍说明测试持久层的:<br />                <a href="http://today.java.net/pub/a/today/2005/10/11/testing-hibernate-mapping.html?page=1">http://today.java.net/pub/a/today/2005/10/11/testing-hibernate-mapping.html?page=1</a><img src ="http://www.blogjava.net/hgq0011/aggbug/57664.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2006-07-11 16:17 <a href="http://www.blogjava.net/hgq0011/archive/2006/07/11/57664.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate 关系映射指南 </title><link>http://www.blogjava.net/hgq0011/archive/2006/06/22/54440.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Thu, 22 Jun 2006 03:03:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2006/06/22/54440.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/54440.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2006/06/22/54440.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/54440.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/54440.html</trackback:ping><description><![CDATA[在网上看到一个比较好的O/R指南<a href="http://www.xylax.net/hibernate/">http://www.xylax.net/hibernate/</a><br /><span class="subhead">1. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/onetoone.html">Simple Association (one to one)</a></span><br /><br /><span class="subhead">2. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/manytoone.html">Simple Reference (many to one)</a></span><br /><br /><span class="subhead">3. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/onetomany.html">Basic Collection (one to many)</a></span><br /><br /><span class="subhead">4. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/manytomany.html">Collection (many to many)</a></span><br /><br /><span class="subhead">5. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/rawdata.html">Collection (raw data)</a></span><br /><br /><span class="subhead">6. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/toplevel.html">Top-level Collections</a></span><br /><br /><span class="subhead">7. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/map.html">Map</a></span><br /><br /><span class="subhead">8. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/entitymap.html">Entity Map</a></span><br /><br /><span class="subhead">9. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/subclass.html">Subclasses</a></span><br /><br /><span class="subhead">10. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/joinedsubclass.html">Joined Subclasses</a></span><br /><br /><span class="subhead">11. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/component.html">Components</a></span><br /><br /><span class="subhead">12. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/composite.html">Collections of Components</a></span><br /><br /><span class="subhead">13. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/compositeid.html">Composite Id</a></span><br /><br /><span class="subhead">14. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/compositeindex.html">Composite Index</a></span><br /><br /><span class="subhead">15. </span><span class="subhead"><a href="file:///E:/download/HibernateValidator.zip/hibernate-relationships/hibernate-relationships/ternary.html">Ternary Associations</a></span><br /><img src ="http://www.blogjava.net/hgq0011/aggbug/54440.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2006-06-22 11:03 <a href="http://www.blogjava.net/hgq0011/archive/2006/06/22/54440.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate 批量删除</title><link>http://www.blogjava.net/hgq0011/archive/2006/03/28/37840.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 28 Mar 2006 09:06:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2006/03/28/37840.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/37840.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2006/03/28/37840.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/37840.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/37840.html</trackback:ping><description><![CDATA[    有时候我们要实现一个批量删除记录的动作.<br />
    我想了很久,用下面的代码实现.如果那位有更好的方法请告诉我.:0)<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">public</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> deleteBrands(Long[] delBrandId){<br />        Session session </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> getSession();<br />         Transaction tx </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> session.beginTransaction();<br />        StringBuffer sql </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">new</span><span style="color: rgb(0, 0, 0);"> StringBuffer();<br />        sql.append(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">delete Brand  where brandId  in ( :brandId) </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br />  </span><span style="color: rgb(0, 0, 0);">      Query query </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> session.createQuery(sql.toString());<br />        query.setParameterList(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">brandId</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,delBrandId);<br />        </span><span style="color: rgb(0, 0, 255);">int</span><span style="color: rgb(0, 0, 0);"> dels </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> query.executeUpdate();<br />        tx.commit();<br />        </span><span style="color: rgb(0, 0, 255);">return</span><span style="color: rgb(0, 0, 0);"> dels;<br />    }</span></div><br /><img src ="http://www.blogjava.net/hgq0011/aggbug/37840.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2006-03-28 17:06 <a href="http://www.blogjava.net/hgq0011/archive/2006/03/28/37840.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>org.hibernate.PropertyNotFoundException: Could not find a getter for empDeptId  in class com.legend.shipment.Temployee</title><link>http://www.blogjava.net/hgq0011/archive/2006/03/27/37566.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Mon, 27 Mar 2006 02:57:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2006/03/27/37566.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/37566.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2006/03/27/37566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/37566.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/37566.html</trackback:ping><description><![CDATA[ org.hibernate.PropertyNotFoundException: Could not find a getter
for empDeptId  in class com.legend.shipment.Temployee<br />
这个问题表明:<br />
    1)getter()方法写错了,没有按照javaBean的规则写.<br />
    2)*.hmb.xml中的属性名和pojo中的是否一致.注意:属性名是否多了空格.<br /><img src ="http://www.blogjava.net/hgq0011/aggbug/37566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2006-03-27 10:57 <a href="http://www.blogjava.net/hgq0011/archive/2006/03/27/37566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring+hibernate初始化出错，错误真是隐蔽得很，让人郁闷，，，</title><link>http://www.blogjava.net/hgq0011/archive/2005/10/25/16745.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 25 Oct 2005 05:59:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/10/25/16745.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/16745.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/10/25/16745.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/16745.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/16745.html</trackback:ping><description><![CDATA[在初始化系统时出现了如下的错误：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ERROR - Configuration.addInputStream(407) | <FONT color=#ff0000>Could not configure datastore from input stream</FONT><BR>org.dom4j.DocumentException: <FONT color=#ff0000>Connection timed out: connect Nested exception: Connection timed out: connect<BR></FONT>&nbsp;at org.dom4j.io.SAXReader.read(SAXReader.java:484)<BR>&nbsp;at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:398)<BR>&nbsp;at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:608)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:962)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:354)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:223)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)<BR>&nbsp;at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:271)<BR>&nbsp;at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:312)<BR>&nbsp;at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)<BR>&nbsp;at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230)<BR>&nbsp;at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156)<BR>&nbsp;at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)<BR>&nbsp;at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3692)<BR>&nbsp;at org.apache.catalina.core.StandardContext.start(StandardContext.java:4127)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)<BR>&nbsp;at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)<BR>&nbsp;at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)<BR>&nbsp;at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)<BR>&nbsp;at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)<BR>&nbsp;at org.apache.catalina.core.StandardService.start(StandardService.java:450)<BR>&nbsp;at org.apache.catalina.core.StandardServer.start(StandardServer.java:680)<BR>&nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java:540)<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:271)<BR>&nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)<BR>Nested exception: <BR>java.net.ConnectException: <FONT color=#ff0000>Connection timed out: connect</FONT><BR>&nbsp;at java.net.PlainSocketImpl.socketConnect(Native Method)<BR>&nbsp;at java.net.PlainSocketImpl.doConnect(Unknown Source)<BR>&nbsp;at java.net.PlainSocketImpl.connectToAddress(Unknown Source)<BR>&nbsp;at java.net.PlainSocketImpl.connect(Unknown Source)<BR>&nbsp;at java.net.Socket.connect(Unknown Source)<BR>&nbsp;at java.net.Socket.connect(Unknown Source)<BR>&nbsp;at sun.net.NetworkClient.doConnect(Unknown Source)<BR>&nbsp;at sun.net.www.http.HttpClient.openServer(Unknown Source)<BR>&nbsp;at sun.net.www.http.HttpClient.openServer(Unknown Source)<BR>&nbsp;at sun.net.www.http.HttpClient.&lt;init&gt;(Unknown Source)<BR>&nbsp;at sun.net.www.http.HttpClient.New(Unknown Source)<BR>&nbsp;at sun.net.www.http.HttpClient.New(Unknown Source)<BR>&nbsp;at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)<BR>&nbsp;at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)<BR>&nbsp;at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)<BR>&nbsp;at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)<BR>&nbsp;at java.net.URL.openStream(Unknown Source)<BR>&nbsp;at org.apache.xerces.impl.XMLEntityManager.startEntity(XMLEntityManager.java:807)<BR>&nbsp;at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(XMLEntityManager.java:767)<BR>&nbsp;at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(XMLDTDScannerImpl.java:275)<BR>&nbsp;at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(XMLDocumentScannerImpl.java:841)<BR>&nbsp;at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:329)<BR>&nbsp;at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:525)<BR>&nbsp;at org.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguration.java:581)<BR>&nbsp;at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)<BR>&nbsp;at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1175)<BR>&nbsp;at org.dom4j.io.SAXReader.read(SAXReader.java:465)<BR>&nbsp;at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:398)<BR>&nbsp;at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:608)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:962)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:354)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:223)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)<BR>&nbsp;at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:271)<BR>&nbsp;at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:312)<BR>&nbsp;at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)<BR>&nbsp;at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230)<BR>&nbsp;at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156)<BR>&nbsp;at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)<BR>&nbsp;at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3692)<BR>&nbsp;at org.apache.catalina.core.StandardContext.start(StandardContext.java:4127)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)<BR>&nbsp;at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)<BR>&nbsp;at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)<BR>&nbsp;at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)<BR>&nbsp;at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)<BR>&nbsp;at org.apache.catalina.core.StandardService.start(StandardService.java:450)<BR>&nbsp;at org.apache.catalina.core.StandardServer.start(StandardServer.java:680)<BR>&nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java:540)<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:271)<BR>&nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)<BR>ERROR - <FONT color=#ff0000>ContextLoader.initWebApplicationContext(177) | Context initialization failed<BR>org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect<BR></FONT>org.hibernate.MappingException: org.dom4j.DocumentException: Connection timed out: connect Nested exception: Connection timed out: connect<BR>&nbsp;at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:408)<BR>&nbsp;at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:608)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:962)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:354)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:223)<BR>&nbsp;at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)<BR>&nbsp;at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:271)<BR>&nbsp;at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:312)<BR>&nbsp;at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)<BR>&nbsp;at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230)<BR>&nbsp;at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156)<BR>&nbsp;at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)<BR>&nbsp;at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3692)<BR>&nbsp;at org.apache.catalina.core.StandardContext.start(StandardContext.java:4127)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)<BR>&nbsp;at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:910)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:873)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:474)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1118)<BR>&nbsp;at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:310)<BR>&nbsp;at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)<BR>&nbsp;at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)<BR>&nbsp;at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)<BR>&nbsp;at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)<BR>&nbsp;at org.apache.catalina.core.StandardService.start(StandardService.java:450)<BR>&nbsp;at org.apache.catalina.core.StandardServer.start(StandardServer.java:680)<BR>&nbsp;at org.apache.catalina.startup.Catalina.start(Catalina.java:540)<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:271)<BR>&nbsp;at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)<BR>Caused by: org.dom4j.DocumentException: <FONT color=#ff0000>Connection timed out: connect Nested exception: Connection timed out: connect<BR></FONT>&nbsp;at org.dom4j.io.SAXReader.read(SAXReader.java:484)<BR>&nbsp;at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:398)<BR>&nbsp;... 35 more<BR>我仔细看看那些提示信息，&nbsp;我找呀找呀。我猜是没有连接到数据库，但其他同事在那台机器上的系统没有问题，为什么我的会有问题呢？最主要的是我在自己的机器上运行没有问题，为什么在另一台机器上就有问题了呢？我就试着找出两机器运行环境的差别。经过N次的测试，检查类包，发现持久层我最先用是hibernate2.0版本，后来改成了hibernate3.0版本。我只修改了import可没有修改*.hbm.xml文件的dtd文件的内容。最终我把*.hbm.xml文件的<BR>&lt;!DOCTYPE hibernate-mapping PUBLIC<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Mapping DTD 2.0//EN"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<A href="http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd</A>" &gt;
<P>变为:</P>
<P>&lt;!DOCTYPE hibernate-mapping PUBLIC<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "-//Hibernate/Hibernate Mapping DTD 3.0//EN"<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "<A href="http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd</A>" &gt;<BR>手工把3.0改为2.0了.<BR>这样才得以把问题解决。这问题实在是很难找呀。<BR>在以后的开发过程中，把所有环境统一起来。在别的机器(不同环境)上多测试。<BR>还是要多实践，把理论知识与实践联系起来。</P><img src ="http://www.blogjava.net/hgq0011/aggbug/16745.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-10-25 13:59 <a href="http://www.blogjava.net/hgq0011/archive/2005/10/25/16745.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring+hibernate下连接两个以上的数据库</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/08/12439.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Thu, 08 Sep 2005 08:10:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/08/12439.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12439.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/08/12439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12439.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 新的系统有可能会要用到遗留系统的数据，所以有时就会要连接两个以上的数据库。那么怎么来处理这一问题呢？原理：创建类似的文件（两个数据库就有两个类似用spring+hibernate的配置文件）下面以webwork+spring+hibernate来说明。1）web.xml&lt;?xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"?&gt;&lt;web...&nbsp;&nbsp;<a href='http://www.blogjava.net/hgq0011/archive/2005/09/08/12439.html'>阅读全文</a><img src ="http://www.blogjava.net/hgq0011/aggbug/12439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-08 16:10 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/08/12439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>用hibernate作为持久层，update是出现了重复记录</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/07/12313.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Wed, 07 Sep 2005 06:22:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/07/12313.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12313.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/07/12313.html#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12313.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12313.html</trackback:ping><description><![CDATA[<FONT size=2>　　用hibernate作为持久层，update是出现了重复记录。奇怪了，为什么会明明是update，怎么可能出现添加一条记录的结果呢？<BR>由于在操作过程中，修改了某个属性（字段），可以update成功。但我在页面中的另一个属性（它有一个回车操作去从数据库拿另外的数据来更新）中修改，就会出现添加一个新的记录。WHY？&nbsp;&nbsp;&nbsp;<BR>　　我仔细看了一下日志，两个不同的操作sql真不一样，一个是用insert,另一个是用update语句。反过来的想了想有关pojo相等的比较原理。<BR>　　我于是有了几个想法，来测试。<BR>　　1）两个对象的比较（equals）规则的可能出错了。<BR>　　　　在我记忆中，pojo对象默认的equals方法是用主键来认识，两个对象是否相等。以前没有重写equlas方法和hashCode方法。对于不是很熟悉hibernate的我来说，还是决定重写这两个方法。编译完，重启tomcate，问题依旧。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2) 是不是我在持久层调用方法出错了呢？<BR>　　　仔细看了一下saveOrUpdate()这个方法的文档。saveOrUpdate方法能通过现个对象的equals方法来区分，到底是要insert还是要update。看来这个应该没有问题。<BR>　　3）经过上面两步的推理。难道是要修改对象的关键字的值被漏掉了吗？<BR>　　　我追踪了主鍵值，由于主键值在页面是在一个隐藏域。当操作出错属性（它有一个回车操作去从数据库拿另外的数据来更新）返回时，查看了页面的源代码，果然，隐藏域的值为空。原来在我返回页面时，忘记给它保存原来的值了。<BR>　　经过一番折腾，终于搞定了。：）<BR>　　在编码过程中一定要仔细，严谨，平时多注意理论知识的积累，理论联系实践。<BR>　　　<BR><BR>　　　　<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT><img src ="http://www.blogjava.net/hgq0011/aggbug/12313.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-07 14:22 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/07/12313.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Duplicate key or integrity</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/06/12182.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 06 Sep 2005 02:03:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/06/12182.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12182.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/06/12182.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12182.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12182.html</trackback:ping><description><![CDATA[<P>在测试hibernate时出现了如下异常：</P>
<P>　　　[Duplicate key or integrity constraint violation message from server: "Duplicate entry <A href="mailto:'rick0@foobar.com'">'rick0@foobar.com'</A> for key 2"]; SQL was [] for task [Hibernate operation]<BR>&nbsp;org.springframework.dao.DataIntegrityViolationException: Hibernate operation: Duplicate key or integrity constraint violation message from server: "Duplicate entry <A href="mailto:'rick0@foobar.com'">'rick0@foobar.com'</A> for key 2"; nested exception is java.sql.SQLException: Duplicate key or integrity constraint violation message from server: "Duplicate entry <A href="mailto:'rick0@foobar.com'">'rick0@foobar.com'</A> for key 2"<BR>java.sql.SQLException: Duplicate key or integrity constraint violation message from server: "Duplicate entry <A href="mailto:'rick0@foobar.com'">'rick0@foobar.com'</A> for key 2"<BR>&nbsp;at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1997)<BR>&nbsp;at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)</P>
<P>　　这个问题找了很久，晕了很久，终于找到了问题的所在。因我在定义数据表字段时加了not null unique,而我一次添加N条记录时的内容一样，主键是自动生成的，所以出问题了。</P><img src ="http://www.blogjava.net/hgq0011/aggbug/12182.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-06 10:03 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/06/12182.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate测试</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/06/12181.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 06 Sep 2005 02:02:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/06/12181.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12181.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/06/12181.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12181.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12181.html</trackback:ping><description><![CDATA[<P>直到今天为止，采用spring+hibernate来学习它们，总算熟悉了很多的东西，心里非常的高兴。也感觉到了spring+hibernate的强大功能。当然对于开发项目的同时，也增加了很多的配置任务。其实当你掌握到了一定的程度也就不会感觉得多了。最主要的是用applicationContext.xml，*.hbm.xml来配置。最麻烦的是配置*.hbm.xml对应数据表之间的关系，一对一，一对多，多对一，多对多，处理好这些关系就好办了。现在我还得集中火力，继续深入的学习，多实践，这样才能活学活用，才能为以后的开发更为方便，节省时间，系统也好。</P><img src ="http://www.blogjava.net/hgq0011/aggbug/12181.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-06 10:02 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/06/12181.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernatesynch</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/06/12178.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 06 Sep 2005 01:59:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/06/12178.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12178.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/06/12178.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12178.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12178.html</trackback:ping><description><![CDATA[<P><FONT color=#800080>hibernatesynch是一个eclips对于hibernate的plugin,它能帮助开发者自动生成*.cfg.xml,*.hmb.xml,以及对应的pojo,dao文件。确实方便实用，节省了大量的开发时间，提高了工作效率。相关的信息请查看</FONT><A href="http://www.binamics.com/hibernatesynch/">http://www.binamics.com/hibernatesynch/</A>.</P>
<P>还有一个类似功能的东东--middlegen.我觉得还是hibernatesynch好用。因为它是可视化操作，方便快捷。当你熟悉了middlegen也一样轻松。</P>
<P>注意：当前项目创建cfg,mapping　file时，请预先把相关的jar文件引入到此项目中来。</P><img src ="http://www.blogjava.net/hgq0011/aggbug/12178.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-06 09:59 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/06/12178.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate-extensions</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/06/12174.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 06 Sep 2005 01:53:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/06/12174.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12174.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/06/12174.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12174.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12174.html</trackback:ping><description><![CDATA[<P dir=ltr style="MARGIN-RIGHT: 0px">Hibernate-extensions是一个用来快速执行hql的，还可以执行java对pojo的操作。感觉很方便，节省对调试hql语句调试的时间。可以通过如下的代码来调用:</P>
<DIV style="BORDER-RIGHT: windowtext 0.5pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: windowtext 0.5pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; BORDER-LEFT: windowtext 0.5pt solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">
<DIV><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top><SPAN style="COLOR: #000000">import&nbsp;net.sf.hibernate.cfg.Configuration;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;net.sf.hibernate.console.Start;<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top>import&nbsp;net.sf.hibernate.HibernateException;<BR><IMG id=Codehighlighter1_145_295_Open_Image onclick="this.style.display='none'; Codehighlighter1_145_295_Open_Text.style.display='none'; Codehighlighter1_145_295_Closed_Image.style.display='inline'; Codehighlighter1_145_295_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align=top><IMG id=Codehighlighter1_145_295_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_145_295_Closed_Text.style.display='none'; Codehighlighter1_145_295_Open_Image.style.display='inline'; Codehighlighter1_145_295_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align=top></SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">class</SPAN><SPAN style="COLOR: #000000">&nbsp;Loader</SPAN><SPAN id=Codehighlighter1_145_295_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_145_295_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG id=Codehighlighter1_211_293_Open_Image onclick="this.style.display='none'; Codehighlighter1_211_293_Open_Text.style.display='none'; Codehighlighter1_211_293_Closed_Image.style.display='inline'; Codehighlighter1_211_293_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align=top><IMG id=Codehighlighter1_211_293_Closed_Image style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_211_293_Closed_Text.style.display='none'; Codehighlighter1_211_293_Open_Image.style.display='inline'; Codehighlighter1_211_293_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align=top>&nbsp;</SPAN><SPAN style="COLOR: #0000ff">public</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">static</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">void</SPAN><SPAN style="COLOR: #000000">&nbsp;main(String[]&nbsp;args)throws&nbsp;HibernateException</SPAN><SPAN id=Codehighlighter1_211_293_Closed_Text style="BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; DISPLAY: none; BORDER-LEFT: #808080 1px solid; BORDER-BOTTOM: #808080 1px solid; BACKGROUND-COLOR: #ffffff"><IMG src="http://www.blogjava.net/images/dot.gif"></SPAN><SPAN id=Codehighlighter1_211_293_Open_Text><SPAN style="COLOR: #000000">{<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Configuration&nbsp;cfg&nbsp;</SPAN><SPAN style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">&nbsp;</SPAN><SPAN style="COLOR: #0000ff">new</SPAN><SPAN style="COLOR: #000000">&nbsp;Configuration().configure();<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align=top>&nbsp;&nbsp;Start.startWith(cfg);<BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align=top>&nbsp;}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align=top>}</SPAN></SPAN><SPAN style="COLOR: #000000"><BR><IMG src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align=top></SPAN></DIV></DIV><img src ="http://www.blogjava.net/hgq0011/aggbug/12174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-06 09:53 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/06/12174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>webwork+spring+hibernate开发心得</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/06/12169.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Tue, 06 Sep 2005 01:46:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/06/12169.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/12169.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/06/12169.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/12169.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/12169.html</trackback:ping><description><![CDATA[<P>结合webwork+spring+hibernate来开发系统感觉还是很方便的。</P>
<P>　　比如：</P>
<P>　　　1）jsp页面减少了很多java脚本（可以说是看不到了，以前采用jsp+javabean+jdbc，jsp页面真是很乱呀，到处是java脚本，这样的话就会有很多业务（business）逻辑也出现页面中，有时直接调用javaBean来处理，导致程序之间的耦合度很高），更加美观大方。</P>
<P>　　　2）webwork体现出了MVC结构。减少了程序之的耦合程度。webwork采用ongl(对象描述语言）很大程度上减少了set(),get()方法的出现。这样做，你必须在页面，javaBean,之间的命名规则要符合webwork的field-driver,model-driver的要求。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3）程序的请求统一由com.opensymphony.webwork.dispatcher.ServletDispatcher（control）来处理,然后通过xwork.xml中的配置，取得相应的处理程序(Action)。这样减少了把一些业务逻辑写在jsp页面中。也更加清晰，有利于以后的维护。</P>
<P>　　　4）spring起到了事务管理，aop等作用。减少了很烦琐的try{}catch(){}，程序的结构感觉很清晰、明了。</P>
<P>　　　5)hibernate提供了持久化支持。面向对象的hql语言很方便。</P>
<P>　　　6）对后台的处理，都是面向接口的编程。对以后的维护很方便。</P><img src ="http://www.blogjava.net/hgq0011/aggbug/12169.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-06 09:46 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/06/12169.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>spring,hibernate指南</title><link>http://www.blogjava.net/hgq0011/archive/2005/09/02/11839.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Fri, 02 Sep 2005 07:13:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/09/02/11839.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/11839.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/09/02/11839.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/11839.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/11839.html</trackback:ping><description><![CDATA[<A href="http://www.javaworld.com.tw/confluence/display/opensrc/Home">http://www.javaworld.com.tw/confluence/display/opensrc/Home</A><img src ="http://www.blogjava.net/hgq0011/aggbug/11839.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-09-02 15:13 <a href="http://www.blogjava.net/hgq0011/archive/2005/09/02/11839.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>hibernate指南</title><link>http://www.blogjava.net/hgq0011/archive/2005/08/31/11665.html</link><dc:creator>Harryson</dc:creator><author>Harryson</author><pubDate>Wed, 31 Aug 2005 09:09:00 GMT</pubDate><guid>http://www.blogjava.net/hgq0011/archive/2005/08/31/11665.html</guid><wfw:comment>http://www.blogjava.net/hgq0011/comments/11665.html</wfw:comment><comments>http://www.blogjava.net/hgq0011/archive/2005/08/31/11665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/hgq0011/comments/commentRss/11665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/hgq0011/services/trackbacks/11665.html</trackback:ping><description><![CDATA[<A href="http://www.javaworld.com.tw/confluence/display/opensrc/Hibernate">http://www.javaworld.com.tw/confluence/display/opensrc/Hibernate</A><img src ="http://www.blogjava.net/hgq0011/aggbug/11665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/hgq0011/" target="_blank">Harryson</a> 2005-08-31 17:09 <a href="http://www.blogjava.net/hgq0011/archive/2005/08/31/11665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>