﻿<?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-zhip-随笔分类-Hibernate</title><link>http://www.blogjava.net/zhip/category/15490.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 07:43:40 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 07:43:40 GMT</pubDate><ttl>60</ttl><item><title>Hibernate访问多个数据库</title><link>http://www.blogjava.net/zhip/archive/2007/01/03/91492.html</link><dc:creator>zhip</dc:creator><author>zhip</author><pubDate>Wed, 03 Jan 2007 02:37:00 GMT</pubDate><guid>http://www.blogjava.net/zhip/archive/2007/01/03/91492.html</guid><wfw:comment>http://www.blogjava.net/zhip/comments/91492.html</wfw:comment><comments>http://www.blogjava.net/zhip/archive/2007/01/03/91492.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhip/comments/commentRss/91492.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhip/services/trackbacks/91492.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<strong>
						<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<font size="3">一、</font>
								<span style="FONT: 7pt 'Times New Roman'">             </span>
						</span>
				</strong>
				<font size="3">
						<strong>
								<span lang="EN-US">
										<font face="Times New Roman">Hibernate</font>
								</span>
						</strong>
						<strong>
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">访问数据库时加载的过程</span>
								<span lang="EN-US">
										<?XML:NAMESPACE PREFIX = O /?>
										<o:p>
										</o:p>
								</span>
						</strong>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对于大多数使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的朋友来说，通常使用一下方式来获得</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例：</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<strong>
								<span lang="EN-US" style="COLOR: black">Configuration configure = new Configuration().configure();<o:p></o:p></span>
						</strong>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; mso-pagination: widow-orphan">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">中，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的入口。在实例化一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的时候，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">会自动在环境变量（</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">classpath</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">）里面查找</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">配置文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.properties</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">。如果该文件存在，则将该文件的内容加载到一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Properties</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的实例</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">GLOBAL_PROPERTIES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">里面，如果不存在，将打印信息<span style="COLOR: black">　　</span></span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial">hibernate.properties not found</span>
				<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">；</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">接下来</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">将所有系统环境变量（</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">System.getProperties()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">）也添加到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">GLOBAL_PROPERTIES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">里面。如果配置文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.properties</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">存在，系统还会进一步验证这个文件配置的有效性，对于一些已经不支持的配置参数，系统将打印出警告信息。</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<span lang="EN-US">
								<o:p>
								</o:p>
						</span>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">默认状态下</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法会自动在环境变量（</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">classpath</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">）下面寻找</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">配置文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.cfg.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">，如果该文件不存在，系统会打印如下信息并抛出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">HibernateException</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">异常</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: Arial">: hibernate.cfg.xml not found</span>
				<span style="FONT-SIZE: 9pt; COLOR: black; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">；</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">如果该文件存在，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法会首先访问＜</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">session-factory</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">＞，并获取该元素</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">name</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的属性，如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">name</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的属性非空，将用这个配置的值来覆盖</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.properties</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.session_factory_name</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的配置的值，从这里我们可以看出，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.cfg.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">里面的配置信息可以覆盖</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.properties</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的配置信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">接下来</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法访问＜</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">session-factory</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">＞的子元素，首先将使用所有的＜</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">property</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">＞元素配置的信息来覆盖</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.properties</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">里面对应的配置信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">然后</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">会依次访问以下几个元素的内容</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<strong>
						<font size="3">
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＜</span>
								<span lang="EN-US">
										<font face="Times New Roman">mapping</font>
								</span>
						</font>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<font size="3">＞</font>
						</span>
						<span lang="EN-US">
								<br />
						</span>
				</strong>
				<strong>
						<font size="3">
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＜</span>
								<span lang="EN-US">
										<font face="Times New Roman">jcs-class-cache</font>
								</span>
						</font>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<font size="3">＞</font>
						</span>
						<span lang="EN-US">
								<br />
						</span>
				</strong>
				<strong>
						<font size="3">
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＜</span>
								<span lang="EN-US">
										<font face="Times New Roman">jcs-collection-cache</font>
								</span>
						</font>
				</strong>
				<strong>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<font size="3">＞</font>
						</span>
						<span lang="EN-US">
								<br />
						</span>
				</strong>
				<font size="3">
						<strong>
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＜</span>
								<span lang="EN-US">
										<font face="Times New Roman">collection-cache</font>
								</span>
						</strong>
						<strong>
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＞</span>
						</strong>
						<strong>
								<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
										<o:p>
										</o:p>
								</span>
						</strong>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">其中＜</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">mapping</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">＞是必不可少的，必须通过配置＜</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">mapping</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">＞，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">才能访问到我们定义的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">java</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对象和关系数据库表的映射文件（</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hbm.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">），例如：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt">
				<font size="3">
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＜</span>
						<span lang="EN-US">
								<font face="Times New Roman">mapping resource="Cat.hbm.xml"/</font>
						</span>
						<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">＞</span>
						<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
								<o:p>
								</o:p>
						</span>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; mso-pagination: widow-orphan">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">这样</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法利用各种资源就创建了一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例。对于整个项目来说，如果用一个本地线程来存放这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例，那么整个项目只需要实例化一次</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">对象（注：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">实例很花费时间），也就提高了项目的效率。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<strong>
						<span lang="EN-US">
								<font size="3">
										<font face="Times New Roman"> <o:p></o:p></font>
								</font>
						</span>
				</strong>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 21pt; TEXT-INDENT: -21pt; mso-list: l0 level1 lfo1; tab-stops: list 21.0pt">
				<strong style="mso-bidi-font-weight: normal">
						<span lang="EN-US" style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">
								<font size="3">二、</font>
								<span style="FONT: 7pt 'Times New Roman'">             </span>
						</span>
				</strong>
				<font size="3">
						<strong>
								<span lang="EN-US">
										<font face="Times New Roman">Hibernate</font>
								</span>
						</strong>
						<strong>
								<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">访问多个数据库的配置</span>
						</strong>
				</font>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">根据以上所述，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">configure()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法默认是通过访问</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate.cfg.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的＜</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">mapping</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">＞元素来加载我们提供的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">.hbm.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文件。我们也可以直接指定</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hbm.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文件，例如</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">addClass()</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法可以直接通过指定</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">class</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">来加载对应的映射文件，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">会将提供的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">class</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的全名（包括</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">package</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">）自动转化为文件路径，还可以用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">addFile</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">方法直接指定映射文件。例如：</span>
				<span lang="EN-US">
						<font face="Times New Roman" size="3">Configuration configurate = new Configuration().addClass(“Book.class”);</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<br />
				</span>
				<span lang="EN-US">
						<font face="Times New Roman" size="3">Configuration configurate = new Configuration().addURL(Configuration.class.getResource ("<strong>/Book.hbm.xml</strong>"));</font>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; mso-pagination: widow-orphan">
				<span lang="EN-US">
						<font face="Times New Roman" size="3">Configuration config = new Configuration().addFile("<strong>/Cat.hbm.xml</strong>");</font>
				</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<br style="mso-special-character: line-break" />
						<br style="mso-special-character: line-break" />
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">这样，如果用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">配置来配置多个数据库的话，那就写多个配置文件。这里假设对应两个数据库（一个是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">MySQL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">，一个是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">SQLServer</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">），我们可以把其</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">文件定义为“</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">mysql.cfg.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">”和“</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">sqlserver.cfg.xml</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">”。则用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Configuration</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">类获取</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">SessionFactory</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">的代码如下：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<br />SessionFactory mysqlFactory = new Configuration().configure("/mysql.cfg.xml").buildSessionFactory(); <br />SessionFactory sqlserverFactory = new Configuration().configure("sqlserver.cfg.xml ").buildSessionFactory(); <o:p></o:p></span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 12pt; TEXT-INDENT: 21pt; mso-pagination: widow-orphan">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">如果你用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">spring</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">，多数据库就更简单了，像这段代码可以完成所有配置：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">
						<br />&lt;beans&gt; <br />&lt;bean id="mysqlDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; <br />&lt;property name="url"&gt; <br />&lt;value&gt;jdbc:mysql://localhost:3306/test&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;property name="driverClassName"&gt; <br />&lt;value&gt;org.gjt.mm.mysql.Driver&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;property name="username"&gt; <br />&lt;value&gt;root&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;property name="password"&gt; <br />&lt;value&gt;123&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;/bean&gt; <br /><br />&lt;bean id="mysqlFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; <br />&lt;property name="dataSource"&gt; <br />&lt;ref local="mysqlDS"/&gt; <br />&lt;/property&gt; <br />&lt;property name="hibernateProperties"&gt; <br />&lt;props&gt; <br />&lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.MySQLDialect&lt;/prop&gt; <br />&lt;/props&gt; <br />&lt;/property&gt; <br />&lt;property name="mappingResources"&gt; <br />&lt;list&gt; <br />&lt;value&gt;test.hbm.xml&lt;/value&gt; <br />&lt;/list&gt; <br />&lt;/property&gt; <br />&lt;/bean&gt; <br /><br />&lt;bean id="sqlserverDS" class="org.springframework.jdbc.datasource.DriverManagerDataSource"&gt; <br />&lt;property name="url"&gt; <br />&lt;value&gt;jdbc:odbc:test&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;property name="driverClassName"&gt; <br />&lt;value&gt;sun.jdbc.odbc.JdbcOdbcDriver&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;property name="username"&gt; <br />&lt;value&gt;root&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;property name="password"&gt; <br />&lt;value&gt;123&lt;/value&gt; <br />&lt;/property&gt; <br />&lt;/bean&gt; <br /><br />&lt;bean id="sqlserverFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"&gt; <br />&lt;property name="dataSource"&gt; <br />&lt;ref local="sqlserverDS"/&gt; <br />&lt;/property&gt; <br />&lt;property name="hibernateProperties"&gt; <br />&lt;props&gt; <br />&lt;prop key="hibernate.dialect"&gt;org.hibernate.dialect.SQLServerDialect&lt;/prop&gt; <br />&lt;/props&gt; <br />&lt;/property&gt; <br />&lt;property name="mappingResources"&gt; <br />&lt;list&gt; <br />&lt;value&gt;test.hbm.xml&lt;/value&gt; <br />&lt;/list&gt; <br />&lt;/property&gt; <br />&lt;/bean&gt; <br />....... <br />&lt;/beans&gt; <br /><br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">以上只是配置</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">Hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">访问多个数据库的一般方法，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">hibernate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">还有很多可行的配置，有兴趣的读者可以参考它的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: Arial">reference</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">。</span>
		</p>
<img src ="http://www.blogjava.net/zhip/aggbug/91492.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhip/" target="_blank">zhip</a> 2007-01-03 10:37 <a href="http://www.blogjava.net/zhip/archive/2007/01/03/91492.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>