[hibernate-commits] Hibernate SVN: r14076 - in core/trunk/documentation/manual/ja-JP/src/main: docbook and 2 other directories.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Tue Oct 9 15:02:01 EDT 2007


Author: steve.ebersole at jboss.com
Date: 2007-10-09 15:02:00 -0400 (Tue, 09 Oct 2007)
New Revision: 14076

Added:
   core/trunk/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/batch.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/events.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_weblog.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/filters.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/inheritance_mapping.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/performance.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/preface.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_hql.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/content/xml.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/AuthorWork.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/AuthorWork.zargo
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/CustomerOrderProduct.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/CustomerOrderProduct.zargo
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/EmployerEmployee.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/EmployerEmployee.zargo
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/full_cream.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/full_cream.svg
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/hibernate_logo_a.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/lite.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/lite.svg
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/overview.png
   core/trunk/documentation/manual/ja-JP/src/main/docbook/images/overview.svg
   core/trunk/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml
Removed:
   core/trunk/documentation/manual/ja-JP/src/main/docbook/master.xml
   core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/
   core/trunk/documentation/manual/ja-JP/src/main/resources/
Log:
new docbook layout (prep for translations migration to PO)

Added: core/trunk/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+        <!ENTITY versionNumber "3.3.0.alpha1">
+        <!ENTITY copyrightYear "2004">
+        <!ENTITY copyrightHolder "Red Hat Middleware, LLC.">
+]>
+
+<book>
+
+    <bookinfo>
+        <title>HIBERNATE - Relational Persistence for Idiomatic Java</title>
+        <subtitle>Hibernate Reference Documentation</subtitle>
+        <releaseinfo>&versionNumber;</releaseinfo>
+        <productnumber>&versionNumber;</productnumber>
+        <issuenum>1</issuenum>
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="images/hibernate_logo_a.png" align="center" />
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="images/hibernate_logo_a.png" depth="3cm" />
+            </imageobject>
+        </mediaobject>
+        <copyright>
+            <year>&copyrightYear;</year>
+            <holder>&copyrightHolder;</holder>
+        </copyright>
+        <!--
+        todo : figure out how best to include translator info...
+        <xi:include href="author_group.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+        -->
+        <xi:include href="legal_notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    </bookinfo>
+
+    <toc/>
+
+    <xi:include href="content/preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+	<xi:include href="content/tutorial.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+	<xi:include href="content/architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+	<xi:include href="content/configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+	<xi:include href="content/persistent_classes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/basic_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/collection_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/association_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/component_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/inheritance_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/session_api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/transactions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/events.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/batch.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/query_hql.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/query_criteria.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/query_sql.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/filters.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/xml.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/performance.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/toolset_guide.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/example_parentchild.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/example_weblog.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+    <xi:include href="content/example_mappings.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+    <xi:include href="content/best_practices.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+</book>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/architecture.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="architecture">
+
+    <title>ƒA[ƒLƒeƒNƒ`ƒƒ</title>
+
+    <sect1 id="architecture-overview" revision="1">
+        <title>ŠTŠÏ</title>
+        
+        <para>
+            HibernateƒA[ƒLƒeƒNƒ`ƒƒ‚́i”ñí‚Ɂj‚‚¢ƒŒƒxƒ‹‚©‚ç‚̃rƒ…[F
+        </para>
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="../images/overview.svg" format="SVG" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../images/overview.png" format="PNG" align="center"/>
+            </imageobject>
+        </mediaobject>
+
+        <para>
+            ‚±‚̐}‚ÍHibernate‚ªAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚ĉi‘±‰»ƒT[ƒrƒX
+            i‚Ɖi‘±ƒIƒuƒWƒFƒNƒgj‚ð’ñ‹Ÿ‚·‚邽‚߂ɁAƒf[ƒ^ƒx[ƒX‚Ɛݒèƒf[ƒ^‚ðŽg‚¤‚±‚Æ‚ð
+            Ž¦‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            ‚±‚±‚ÅŽÀsŽžƒA[ƒLƒeƒNƒ`ƒƒ‚Ì‚æ‚èÚ×‚ȃrƒ…[‚ð‚¨Œ©‚¹‚µ‚Ü‚µ‚傤B
+            ‚ ‚¢‚É‚­AHibernate‚͏_“î‚Å‚ ‚èA‚¢‚ë‚¢‚ë‚ȃAƒvƒ[ƒ`‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            ‚±‚±‚ł́A2‚‚̋ɒ[‚È—á‚ð‚¨Œ©‚¹‚µ‚Ü‚·B
+            uŒy‚¢vƒA[ƒLƒeƒNƒ`ƒƒ‚ł́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽ©‘O‚ÌJDBCƒRƒlƒNƒVƒ‡ƒ“‚ð—pˆÓ‚µA
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“Ž©g‚ªƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠÇ—‚µ‚Ü‚·B
+            ‚±‚Ì•û–@‚́AHibernate API‚̍ŏ¬ŒÀ‚̃TƒuƒZƒbƒg‚ðŽg‚¢‚Ü‚·F
+        </para>
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="../images/lite.svg" format="SVG" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../images/lite.png" format="PNG" align="center"/>
+            </imageobject>
+        </mediaobject>
+
+        <para>
+            ud‚¢vƒA[ƒLƒeƒNƒ`ƒƒ‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çA‚»‚̉º‚Ɉʒu‚·‚éJDBC‚âJTA‚ÌAPI‚ð
+            Žæ‚è•¥‚Á‚Ä’ŠÛ‰»‚µA‚»‚̏ڍׂ̖ʓ|‚ðHibernate‚ÉŒ©‚³‚¹‚Ü‚·B
+        </para>
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="../images/full_cream.svg" format="SVG" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../images/full_cream.png" format="PNG" align="center"/>
+            </imageobject>
+        </mediaobject>
+
+        <para>
+            ˆÈ‰º‚́Aã‚̐}‚ÉŠÜ‚Ü‚ê‚éƒIƒuƒWƒFƒNƒg‚Ì’è‹`‚Å‚·F
+
+            <variablelist spacing="compact">
+                <varlistentry>
+                    <term>SessionFactory (<literal>org.hibernate.SessionFactory</literal>)</term>
+                    <listitem>
+                        <para>
+                            1‚‚̃f[ƒ^ƒx[ƒX‚ɑ΂·‚éƒRƒ“ƒpƒCƒ‹‚³‚ꂽƒ}ƒbƒsƒ“ƒO‚Ì
+                            ƒXƒŒƒbƒhƒZ[ƒt‚ȁiXV•s”\‚́jƒLƒƒƒbƒVƒ…B
+                             <literal>Session</literal> ‚̃tƒ@ƒNƒgƒŠ‚Å‚ ‚èA
+                            <literal>ConnectionProvider</literal> ‚̃Nƒ‰ƒCƒAƒ“ƒgB
+                            ƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚āAƒvƒƒZƒX‚Ü‚½‚̓Nƒ‰ƒXƒ^ƒŒƒxƒ‹‚É‚¨‚¢‚āA
+                            ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÔ‚ōė˜—p‰Â”\‚ȃf[ƒ^‚́i“ñŽŸjƒLƒƒƒbƒVƒ…‚ðŽ‚¿‚Ü‚·B
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>Session (<literal>org.hibernate.Session</literal>)</term>
+                    <listitem>
+                        <para>
+                            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ɖi‘±ƒXƒgƒA‚Ƃ̑Θb‚ð•\‚·A
+                            ƒVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Å’Z–½‚̃IƒuƒWƒFƒNƒgB
+                            JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðƒ‰ƒbƒv‚µ‚Ü‚·B
+                             <literal>Transaction</literal> ‚̃tƒ@ƒNƒgƒŠ‚Å‚·B
+                            ‰i‘±ƒIƒuƒWƒFƒNƒg‚Ì•K{‚́iˆêŽŸjƒLƒƒƒbƒVƒ…‚ð•ÛŽ‚µ‚Ü‚·B
+                            ‚±‚̃LƒƒƒbƒVƒ…‚̓IƒuƒWƒFƒNƒgƒOƒ‰ƒt‚ðƒiƒrƒQ[ƒVƒ‡ƒ“‚·‚鎞‚âA
+                            Ž¯•ÊŽq‚ŃIƒuƒWƒFƒNƒg‚ðŒŸõ‚·‚鎞‚ÉŽg‚í‚ê‚Ü‚·B
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>Persistent objects ‚Æ Collections</term>
+                    <listitem>
+                        <para>
+                            ‰i‘±‰»ó‘ԂƃrƒWƒlƒXƒƒ\ƒbƒh‚ðŽ‚ÂA’Z–½‚ŃVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚̃IƒuƒWƒFƒNƒgB
+                            ‚±‚ê‚͒ʏí‚ÌJavaBeans/POJO‚Ì‚±‚Æ‚à‚ ‚è‚Ü‚·‚ªA“Á’¥“I‚È‚±‚Ƃ́A
+                            ‚»‚ÌŽž“_‚ł́i‚½‚¾1‚‚́j <literal>Session</literal> ‚ÆŠÖ˜A‚µ‚Ä‚¢‚邱‚Æ‚Å‚·B
+                             <literal>Session</literal> ‚ªƒNƒ[ƒY‚³‚ê‚é‚Æ‚·‚®‚ɁA
+                            ‚»‚ê‚ç‚͐؂藣‚³‚ê‚Ä‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‘w‚©‚玩—R‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                            i—Ⴆ‚΃f[ƒ^Eƒgƒ‰ƒ“ƒXƒtƒ@EƒIƒuƒWƒFƒNƒg‚Æ‚µ‚āA
+                            ƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚©‚çA‚Ü‚½‚̓vƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚Ö’¼ÚŽg—p‚Å‚«‚Ü‚·Bj
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>Transient ‚Æ detached ‚È objects ‚Æ Collections</term>
+                    <listitem>
+                        <para>
+                            Œ»Žž“_‚Å‚Í <literal>Session</literal> ‚ÆŠÖ˜A‚µ‚Ä‚¢‚È‚¢A
+                            ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒXB
+                            ‚·‚łɃAƒvƒŠƒP[ƒVƒ‡ƒ“‘¤‚ŃCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ê‚Ä‚¢‚āA‚Ü‚¾‰i‘±‰»‚³‚ê‚Ä‚¢‚È‚¢‚©A
+                            ƒNƒ[ƒY‚³‚ꂽ <literal>Session</literal> ‚ŃCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚©‚Ì‚Ç‚¿‚ç‚©‚Å‚·B
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>Transaction (<literal>org.hibernate.Transaction</literal>)</term>
+                    <listitem>
+                        <para>
+                            (ƒIƒvƒVƒ‡ƒ“)Œ´Žq«‚ðŽ‚Âì‹Æ’PˆÊ(Unit of Work)‚ðŽw’è‚·‚邽‚߂ɁAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽg—p‚·‚éA
+                            ƒVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Å’Z–½‚ȃIƒuƒWƒFƒNƒgB
+                            ‰º‚Ɉʒu‚·‚éJDBCAJTAACORBAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚𒊏ۉ»‚µ‚Ü‚·B
+                             <literal>Session</literal> ‚́AŽž‚É‚Í
+                            ‚¢‚­‚‚©‚Ì <literal>Transaction</literal> ‚ð‚Ü‚½‚ª‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                            ‚µ‚©‚µA‰º‚Ì‘w‚ÌAPI‚ðŽg‚¤‚É‚¹‚æA <literal>Transaction</literal> ‚ðŽg‚¤‚É‚¹‚æA
+                            ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðÝ’è‚·‚邱‚Ƃ́AŒˆ‚µ‚ăIƒvƒVƒ‡ƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñIB
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)</term>
+                    <listitem>
+                        <para>
+                            (ƒIƒvƒVƒ‡ƒ“)JDBCƒRƒlƒNƒVƒ‡ƒ“i‚Æ‚»‚̃v[ƒ‹j‚̃tƒ@ƒNƒgƒŠB
+                            ‰º‚Ì‘w‚Ɉʒu‚·‚é <literal>Datasource</literal> ‚â
+                             <literal>DriverManager</literal> ‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚𒊏ۉ»‚µ‚Ü‚·B
+                            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍŒöŠJ‚³‚ê‚Ü‚¹‚ñ‚ªAŠJ”­ŽÒ‚ªŒp³‚Ü‚½‚ÍŽÀ‘•‚·‚邱‚Ƃ͉”\‚Å‚·B
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)</term>
+                    <listitem>
+                        <para>
+                            (ƒIƒvƒVƒ‡ƒ“) <literal>Transaction</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚̃tƒ@ƒNƒgƒŠB
+                            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍŒöŠJ‚³‚ê‚Ü‚¹‚ñ‚ªAŠJ”­ŽÒ‚ªŒp³‚Ü‚½‚ÍŽÀ‘•‚·‚邱‚Ƃ͉”\‚Å‚·B
+                         </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term><emphasis>Extension Interfaces</emphasis></term>
+                    <listitem>
+                        <para>
+                            Hibernate‚́A‰i‘±‘w‚̐U‚é•‘‚¢‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚邽‚߂ɁA
+                            ‘½‚­‚̃IƒvƒVƒ‡ƒ“Šg’£ƒCƒ“ƒ^ƒtƒF[ƒX‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+                            Ú×‚ÍAPIƒhƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                        </para>
+                    </listitem>
+                </varlistentry>
+            </variablelist>
+        </para>
+
+        <para>
+            uŒy‚¢vƒA[ƒLƒeƒNƒ`ƒƒ‚ł́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í’¼ÚJTA‚âJDBC‚ƑΘb‚·‚邽‚߂ɁA
+             <literal>Transaction</literal> ‚â <literal>TransactionFactory</literal> ‚â
+             <literal>ConnectionProvider</literal> ‚ðƒoƒCƒpƒX‚µ‚Ü‚·B
+        </para>
+    </sect1>
+
+    <sect1 id="architecture-states" revision="1">
+        <title>ƒCƒ“ƒXƒ^ƒ“ƒX‚̏ó‘Ô</title>
+        <para>
+            ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́AŽŸ‚Ì‚R‚‚̈قȂéó‘Ô‚Ì‚Ç‚ê‚©‚É‚È‚è‚Ü‚·B
+            ‚»‚ê‚́A <emphasis>‰i‘±ƒRƒ“ƒeƒLƒXƒg</emphasis> ‚É‚æ‚Á‚ÄŒˆ‚Ü‚è‚Ü‚·B
+            Hibernate‚Ì <literal>Session</literal> ƒIƒuƒWƒFƒNƒg‚ªA‰i‘±ƒRƒ“ƒeƒLƒXƒg‚É‚È‚è‚Ü‚·B
+        </para>
+        
+       <variablelist spacing="compact">
+            <varlistentry>
+                <term>transient</term>
+                <listitem>
+                    <para>
+                        ‚±‚̏ó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚́AŒ»Ý‚à‚»‚µ‚ĉߋŽ‚É‚¨‚¢‚Ä‚àA
+                        ‰i‘±ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ˜A‚¢‚Ä‚¢‚Ü‚¹‚ñB‚Ü‚½A‰i‘±IDiŽåƒL[‚Ì’lj‚ð
+                        Ž‚Á‚Ä‚¢‚Ü‚¹‚ñB
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>persistent</term>
+                <listitem>
+                    <para>
+                        ‚±‚̏ó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚́A‚»‚ÌŽž“_‚ʼni‘±ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ˜A‚¢‚Ä‚¢‚Ü‚·B
+                        ‚Ü‚½A‰i‘±IDiŽåƒL[‚Ì’lj‚ðŽ‚¿A
+                        ‚½‚¢‚Ä‚¢‚̓f[ƒ^ƒx[ƒX‚ɑΉž‚·‚és‚ðŽ‚Á‚Ä‚¢‚é‚Å‚µ‚傤B
+                        ŒÂX‚̉i‘±ƒRƒ“ƒeƒLƒXƒg‚Ì‚È‚©‚ł́A‰i‘±ID‚ª
+                        Java‚ÌIDiƒIƒuƒWƒFƒNƒg‚̃ƒ‚ƒŠã‚̈ʒuj‚Æ“¯‚¶‚Å‚ ‚邱‚Æ‚ð
+                        Hibernate‚ª <emphasis>•ÛØ</emphasis> ‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
+                <term>detached</term>
+                <listitem>
+                    <para>
+                        ‚±‚̏ó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚́A‚©‚‚ĉi‘±ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ˜A‚¯‚ç‚ꂽ‚ªA
+                        ‚»‚̃Rƒ“ƒeƒLƒXƒg‚ªƒNƒ[ƒY‚³‚ꂽ‚©A‚ ‚é‚¢‚́A
+                        ‘¼‚̃vƒƒZƒX‚É‚»‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªƒVƒŠƒAƒ‰ƒCƒY‚³‚ꂽ‚©‚Å‚·B
+                        ‚±‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A‰i‘±ID‚ðŽ‚¿A‚½‚¢‚Ä‚¢‚̓f[ƒ^ƒx[ƒX‚É
+                        ‘Ήž‚·‚és‚ðŽ‚Á‚Ä‚¢‚é‚Å‚µ‚傤B•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚ẮA
+                        ‰i‘±ID‚ÆJava‚ÌID‚Æ‚ÌŠÖ˜A‚́AHibernate‚ª•ÛØ‚µ‚Ü‚¹‚ñB
+                    </para>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </sect1>    
+
+    <sect1 id="architecture-jmx" revision="1">
+        <title>JMX‚Æ‚Ì“‡</title>
+
+        <para>
+            JMX‚ÍJavaƒRƒ“ƒ|[ƒlƒ“ƒgŠÇ—‚ÌJ2EE•W€‚Å‚·B
+            JMX•W€ƒT[ƒrƒX‚ð’Ê‚µ‚āAHibernate‚ÍŠÇ—‚³‚ê‚Ü‚·B
+            ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì’†‚É <literal>org.hibernate.jmx.HibernateService</literal> ‚Æ‚¢‚¤
+            MBeanŽÀ‘•‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            JBoss ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[ã‚ÉHibernate‚ðJMXƒT[ƒrƒX‚Æ‚µ‚ăfƒvƒƒC‚·‚é•û–@‚Ì—á‚Æ‚µ‚ẮA
+            JBoss ƒ†[ƒUƒKƒCƒh‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B JBoss ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚É‚¨‚¢‚āA
+            JMX‚ðŽg‚Á‚ăfƒvƒƒC‚·‚é‚ƁAŽŸ‚̃ƒŠƒbƒg‚ª“¾‚ç‚ê‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>ƒZƒbƒVƒ‡ƒ“ŠÇ—:</emphasis> Hibernate‚Ì <literal>Session</literal> ‚̃‰ƒCƒtƒTƒCƒNƒ‹‚́A
+                    Ž©“®“I‚ÉJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃XƒR[ƒv‚ÉŒ‹‚т‚¯‚ç‚ê‚Ü‚·B‚±‚ê‚́A‚à‚Í‚âŽè“®‚Å
+                     <literal>Session</literal> ‚ðƒI[ƒvƒ“‚µ‚½‚èAƒNƒ[ƒY‚µ‚½‚è‚·‚é•K—v‚ª‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+                    ‚±‚ê‚́AJBoss EJB ƒCƒ“ƒ^[ƒZƒvƒ^‚ÌŽdŽ–‚É‚È‚è‚Ü‚·B
+                    ‚Ü‚½AƒR[ƒh‚Ì‚Ç‚±‚Ńgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðÝ’è‚·‚é‚©‚ɂ‚¢‚āA
+                    ‚à‚Í‚â”Y‚Þ•K—v‚ª‚ ‚è‚Ü‚¹‚ñi‚à‚¿‚ë‚ñˆÚA‰Â”\‚ȉi‘±‘w‚ð‘‚©‚©‚È‚­‚Ä‚¢‚¢‚Ì‚È‚ç‚΁A
+                    ƒIƒvƒVƒ‡ƒ“‚ÌHibernate‚Ì <literal>Transaction</literal> ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢Bj
+                    <literal>Session</literal> ‚ɃAƒNƒZƒX‚·‚邽‚߂ɂ́A <literal>HibernateContext</literal> ‚ð
+                    ƒR[ƒ‹‚µ‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>HAR ƒfƒvƒƒC:</emphasis> ’ʏíA(EAR ‚Ü‚½‚Í SAR ƒtƒ@ƒCƒ‹‚É‚ ‚éjJBoss ƒT[ƒrƒX
+                    ƒfƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚ðŽg‚Á‚āAHibernate JMX ƒT[ƒrƒX‚ðƒfƒvƒƒC‚µ‚Ü‚·B
+                    ‚»‚ê‚́AHibernate‚Ì <literal>SessionFactory</literal> ‚Ì‘S‚Ă̈ê”Ê“I‚ȐݒèƒIƒvƒVƒ‡ƒ“‚ð
+                    ƒTƒ|[ƒg‚µ‚Ü‚·B‚µ‚©‚µˆË‘R‚Æ‚µ‚ăfƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Ì‚È‚©‚É‚·‚ׂẴ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ì
+                    –¼‘O‚ð‹“‚°‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                    ‚à‚µAƒIƒvƒVƒ‡ƒ“‚ÌHARƒfƒvƒƒCƒƒ“ƒg‚ðŽg‚¤‚±‚Æ‚ðŒˆ‚ß‚½‚È‚çA
+                    JBoss‚ÍŽ©“®“I‚ÉHARƒtƒ@ƒCƒ‹‚Ì‚È‚©‚Ì‘S‚Ẵ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðŒŸo‚µ‚Ü‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            ‚±‚ê‚ç‚̃IƒvƒVƒ‡ƒ“‚ɂ‚¢‚Ă̏ڍׂȏî•ñ‚́AJBossƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒoƒ†[ƒUƒKƒCƒh‚ð
+            ŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            JMXƒT[ƒrƒX‚Æ‚µ‚Ä—˜—p‰Â”\‚È‘¼‚Ì‹@”\‚ɁAHibernateŽÀsŽž“Œvî•ñ‚ª‚ ‚è‚Ü‚·B
+             <xref linkend="configuration-optional-statistics"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+        </para>
+    </sect1>
+
+    <sect1 id="architecture-jca" revision="1">
+        <title>JCA ƒTƒ|[ƒg</title>
+        <para>
+            Hibernate ‚Í JCA ƒRƒlƒNƒ^‚Æ‚µ‚Ä‚àÝ’è‚Å‚«‚Ü‚·BÚ×‚ɂ‚¢‚ẮAWebƒTƒCƒg‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            Hibernate JCA ƒTƒ|[ƒg‚́A¡‚Ì‚Æ‚±‚ëŽÀŒ±’iŠK‚Æ‚µ‚čl‚¦‚ç‚ê‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+    </sect1>
+
+    <sect1 id="architecture-current-session" revision="2">
+        <title>ƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“</title>
+        <para>
+            Hibernate ‚ðŽg‚Á‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A‚Ù‚Æ‚ñ‚ǁA‚È‚ñ‚ç‚©‚ÌŒ`‚Å"ƒRƒ“ƒeƒLƒXƒgã‚Ì"ƒZƒbƒVƒ‡ƒ“‚ª•K—v‚É‚È‚è‚Ü‚·B
+            uƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚́A“Á’è‚̃Rƒ“ƒeƒLƒXƒg‚̃XƒR[ƒv‚Ì‚È‚©‚Å—LŒø‚ȃZƒbƒVƒ‡ƒ“‚Ì‚±‚Æ‚Å‚·B
+            ‚µ‚©‚µA’ʏíƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚²‚ƂɃRƒ“ƒeƒLƒXƒg‚ð\¬‚·‚é‚à‚Ì‚Ì’è‹`‚͈قȂè‚Ü‚·B
+            ‚µ‚©‚àAˆÙ‚È‚é•¡”‚̃Rƒ“ƒeƒLƒXƒg‚́AŒ»Žž“_‚ɑ΂µ‚ĈقȂéƒXƒR[ƒv‚ð’è‹`‚µ‚Ü‚·B
+            ƒo[ƒWƒ‡ƒ“3.0‚æ‚è‘O‚Ì Hibernate ‚ł́AŽ©ì‚Ì <literal>ThreadLocal</literal> ƒx[ƒX‚́uƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð
+            —˜—p‚·‚é‚©A <literal>HibernateUtil</literal> ‚̂悤‚ȃwƒ‹ƒp[ƒNƒ‰ƒX‚ð—˜—p‚·‚é‚©A
+            proxy/interception ƒx[ƒX‚́uƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð’ñ‹Ÿ‚·‚é
+            iSpring ‚â Pico ‚̂悤‚ȁjƒT[ƒhƒp[ƒeƒB‚̃tƒŒ[ƒ€ƒ[ƒN‚ð—˜—p‚·‚é‚©‚Ì‚¢‚¸‚ê‚©‚Å‚µ‚½B
+        </para>
+
+        <para>
+            ƒo[ƒWƒ‡ƒ“ 3.0.1 ‚©‚çAHibernate ‚É‚Í <literal>SessionFactory.getCurrentSession()</literal> ‚ª
+            ‰Á‚í‚è‚Ü‚µ‚½B ‚±‚ê‚́A <literal>JTA</literal> ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŽg—p‚ð‘O’ñ‚É‚µ‚Ä‚¢‚Ü‚·B
+            <literal>JTA</literal> ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚́AŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚̃XƒR[ƒv‚ƃRƒ“ƒeƒLƒXƒg‚Ì—¼•û‚ð’è‹`‚µ‚Ü‚·B
+            Hibernate ƒ`[ƒ€‚́AŽŸ‚Ì‚±‚Æ‚ðŽå’£‚µ‚Ü‚·B
+            ‹‘å‚ȃXƒ^ƒ“ƒhƒAƒƒ“‚Ì <literal>JTA TransactionManager</literal> ŽÀ‘•‚ª¬n‚µ‚½‚çA
+            <literal>J2EE</literal> ƒRƒ“ƒeƒiã‚ɃfƒvƒƒC‚³‚ê‚é‚©‚Ç‚¤‚©‚É‚©‚©‚í‚炸A
+            ‚Ù‚Æ‚ñ‚ǂ́i‚·‚ׂĂƂ͌¾‚í‚È‚¢‚ªjƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªA
+            <literal>JTA</literal> ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ—‚ðŽg—p‚·‚ׂ«‚Å‚ ‚é‚ƁB
+            ‚±‚̍l‚¦‚ÉŠî‚­‚ƁA <literal>JTA</literal> ƒx[ƒX‚́uƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð
+            Žg‚¤‚µ‚©‚È‚¢‚Å‚µ‚傤B
+        </para>
+
+        <para>
+            ‚µ‚©‚µAƒo[ƒWƒ‡ƒ“ 3.1 ‚©‚ç‚́A <literal>SessionFactory.getCurrentSession()</literal> ‚ÌŒã‚̏ˆ—‚ªA
+            ƒvƒ‰ƒKƒuƒ‹‚É‚È‚è‚Ü‚µ‚½B
+            ‚±‚ê‚ðŽó‚¯‚āAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ð’è‹`‚·‚éƒXƒR[ƒv‚ƃRƒ“ƒeƒLƒXƒg‚̃vƒ‰ƒKƒrƒŠƒeƒB‚ð‰Â”\‚É‚·‚邽‚߂ɁA
+            V‚µ‚¢Šg’£ƒCƒ“ƒ^ƒtƒF[ƒX ( <literal>org.hibernate.context.CurrentSessionContext</literal> ) ‚Æ
+            V‚µ‚¢\¬ƒpƒ‰ƒ[ƒ^ ( <literal>hibernate.current_session_context_class</literal> ) ‚ª’ljÁ‚³‚ê‚Ü‚µ‚½B
+        </para>
+
+        <para>
+            <literal>org.hibernate.context.CurrentSessionContext</literal> ƒCƒ“ƒ^ƒtƒF[ƒX‚Ì‹K–ñ‚ɂ‚¢‚Ä‚Ì
+            Ú×‚È“à—e‚Í Javadoc ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚»‚ê‚ɂ́A <literal>currentSession()</literal> ‚Æ‚¢‚¤1‚‚̃ƒ\ƒbƒh‚ª’è‹`‚³‚ê‚Ä‚¨‚èA
+            ‚»‚ÌŽÀ‘•‚́AŒ»Ý‚́uƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð’ǐՂ·‚邱‚ƂɐӔC‚ðŽ‚¿‚Ü‚·B
+            ‚»‚Ì‚Ü‚ÜŽg‚¦‚é‚悤‚ɁAHibernate‚Í‚±‚̃Cƒ“ƒ^ƒtƒF[ƒX‚ÌŽÀ‘•‚ð2‚Â’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <literal>org.hibernate.context.JTASessionContext</literal> - 
+                    <literal>JTA</literal> ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚æ‚Á‚āAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ª’ǐՂ³‚êA
+                    ƒXƒR[ƒv‚ðŒˆ‚ß‚ç‚ê‚Ü‚·B‚±‚̏ˆ—‚́AŒÃ‚¢JTA‚¾‚¯‚̃Aƒvƒ[ƒ`‚Æ‚Ü‚Á‚½‚­“¯‚¶‚Å‚·B
+                    Ú×‚ÍJavadoc‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>org.hibernate.context.ThreadLocalSessionContext</literal> -
+                    ƒXƒŒƒbƒh‚ÌŽÀs‚É‚æ‚Á‚āAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ª’ǐՂ³‚ê‚Ü‚·B
+                    Ú×‚ÍJavadoc‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                	<literal>org.hibernate.context.ManagedSessionContext</literal> - 
+                	ƒXƒŒƒbƒh‚ÌŽÀs‚É‚æ‚Á‚āAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ª’ǐՂ³‚ê‚Ü‚·B
+                	‚µ‚©‚µA‚±‚̃Nƒ‰ƒX‚Ìstaticƒƒ\ƒbƒh‚Å <literal>Session</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ð
+                	ƒoƒCƒ“ƒh/ƒAƒ“ƒoƒCƒ“ƒh‚·‚éÓ”C‚Í‚ ‚È‚½‚É‚ ‚è‚Ü‚·B
+                	‚±‚ê‚ÍŒˆ‚µ‚Ä <literal>Session</literal> ‚ðƒI[ƒvƒ“Aƒtƒ‰ƒbƒVƒ…AƒNƒ[ƒY‚µ‚Ü‚¹‚ñB
+                </para>               
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Žn‚ß‚Ì2‚‚̎À‘•‚́A"1ƒZƒbƒVƒ‡ƒ“ - 1ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“" ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+            ‚±‚ê‚Í <emphasis>ƒŠƒNƒGƒXƒg‚²‚Ƃ̃ZƒbƒVƒ‡ƒ“isession-per-requestj</emphasis> ‚Æ‚µ‚Ä‚à’m‚ç‚ê‚Ä‚¨‚èAŽg‚í‚ê‚Ä‚¢‚Ü‚·B
+            Hibernate ƒZƒbƒVƒ‡ƒ“‚ÌŠJŽn‚ƏI—¹‚́Aƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠúŠÔ‚ÅŒˆ‚Ü‚è‚Ü‚·B
+            JTA‚ðŽg‚í‚È‚¢•’Ê‚ÌJSE‚ŁAƒvƒƒOƒ‰ƒ€ã‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠEÝ’è‚ðs‚¤‚È‚çA
+            ƒR[ƒh‚©‚çŠî‘b‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒVƒXƒeƒ€‚ð‰B•Á‚·‚邽‚߂ɁA
+            Hibernate <literal>Transaction</literal> API‚ðŽg‚¤‚Æ‚æ‚¢‚Å‚µ‚傤B
+            JTA‚ðŽg‚¤‚È‚çAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‹«ŠEÝ’è‚ɂ́AJTAƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+            CMT‚ðƒTƒ|[ƒg‚·‚éEJBƒRƒ“ƒeƒi‚ÅŽÀs‚·‚é‚‚à‚è‚È‚çAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚͐錾“I‚É’è‹`‚Å‚«‚邽‚߁A
+            ƒR[ƒhã‚Ńgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚âƒZƒbƒVƒ‡ƒ“‚Ì‹«ŠE‚ðÝ’è‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            ‚³‚ç‚ɏڍׂȏî•ñ‚âƒR[ƒh‚Ì—á‚́A <xref linkend="transactions"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            <literal>hibernate.current_session_context_class</literal> Ý’èƒpƒ‰ƒ[ƒ^‚́A
+            <literal>org.hibernate.context.CurrentSessionContext</literal> ‚Ì‚Ç‚ÌŽÀ‘•‚ðŽg‚¤‚©‚ðŽw’肵‚Ü‚·B
+            ‰ºˆÊŒÝŠ·«‚Ì‚½‚߁A‚±‚̃pƒ‰ƒ[ƒ^‚ªÝ’肳‚ꂸ
+            <literal>org.hibernate.transaction.TransactionManagerLookup</literal> ‚ªÝ’肳‚ê‚Ä‚¢‚½ê‡A
+            Hibernate‚Í <literal>org.hibernate.context.JTASessionContext</literal> ‚ðŽg‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ’ʏ킱‚̃pƒ‰ƒ[ƒ^‚Ì’l‚ɂ́A3‚‚̎À‘•‚Ì’†‚©‚çŽg—p‚·‚éŽÀ‘•ƒNƒ‰ƒX‚Ì–¼‘O‚𒼐ڎw’肵‚Ü‚·B
+            ‚µ‚©‚µA"jta", "thread", "managed"‚Æ‚¢‚¤‚»‚ꂼ‚ê‚̏ȗª–¼‚à—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B
+        </para>
+        
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/association_mapping.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,620 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="associations">
+
+    <title>ŠÖ˜Aƒ}ƒbƒsƒ“ƒO</title>
+
+    <sect1 id="assoc-intro" revision="1">
+        <title>ƒCƒ“ƒgƒƒ_ƒNƒVƒ‡ƒ“</title>
+        
+        <para>
+            ŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚Í‚µ‚΂µ‚ǝ‰ð‚ªÅ‚à“‚¢‚à‚Ì‚É‚È‚è‚Ü‚·B
+            ‚±‚̏͂ł́AŠî–{“I‚Ȉꂈꂂ̃P[ƒX‚ɂ‚¢‚ďq‚ׂ܂·B
+            ’P•ûŒü‚̃}ƒbƒsƒ“ƒO‚©‚çŽn‚߁A‚»‚ê‚©‚ç‘o•ûŒü‚̃P[ƒX‚ɂ‚¢‚čl‚¦‚Ä‚¢‚«‚Ü‚·B
+            —á‚Æ‚µ‚āA<literal>Person</literal> ‚Æ <literal>Address</literal> ‚ð—p‚¢‚Ü‚·B
+        </para>
+        
+        <para>
+                ŠÖ˜A‚́AŒ‹‡ƒe[ƒuƒ‹‚ð“ü‚ê‚é‚©‚©‚Ç‚¤‚©‚ƁA
+                ‘½d“x‚É‚æ‚Á‚Ä•ª—Þ‚·‚邱‚Æ‚É‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+                ‚·‚ׂĂ̗á‚Ånot null‚ÌŠO•”ƒL[‚ðŽg—p‚µ‚Ü‚·B
+                ‚±‚ê‚ÍHibernate‚Ì—vŒ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                not null§–ñ‚ðŠO‚µ‚½‚Æ‚µ‚Ä‚àAƒ}ƒbƒsƒ“ƒO‚Í–â‘è‚È‚­“®ì‚µ‚Ü‚·B
+        </para>
+        
+    </sect1>
+
+    <sect1 id="assoc-unidirectional" revision="1">
+        <title>’P•ûŒüŠÖ˜A</title>
+        
+        <sect2 id="assoc-unidirectional-m21">
+        <title>‘½‘Έê</title>
+        
+        <para>
+            <emphasis>’P•ûŒü‘½‘ΈêŠÖ˜A</emphasis> ‚Í’P•ûŒüŠÖ˜A‚Ì’†‚ōłàˆê”Ê“I‚È‚à‚Ì‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <many-to-one name="address" 
+        column="addressId"
+        not-null="true"/>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key, addressId bigint not null )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+
+        <sect2 id="assoc-unidirectional-121">
+        <title>ˆê‘Έê</title>
+        
+        <para>
+            <emphasis>ŠO•”ƒL[‚Ì’P•ûŒüˆê‘ΈêŠÖ˜A</emphasis> ‚Í‚Ù‚Æ‚ñ‚Ç“¯‚¶‚à‚Ì‚Å‚·B
+            —Bˆêˆá‚¤‚̂́AƒJƒ‰ƒ€‚̃†ƒj[ƒN‚Ȑ§–ñ‚Å‚·B
+        </para>
+        
+       <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <many-to-one name="address" 
+        column="addressId" 
+        unique="true"
+        not-null="true"/>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key, addressId bigint not null unique )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        <para>
+            <emphasis>ŽåƒL[‚Ì’P•ûŒüˆê‘ΈêŠÖ˜A</emphasis> ‚͒ʏíA“Á•Ê‚ÈIDƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¢‚Ü‚·B
+            i‚±‚Ì—á‚Å‚ÍŠÖ˜A‚Ì•ûŒü‚ª‹t‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢j
+        </para>
+        
+       <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+</class>
+
+<class name="Address">
+    <id name="id" column="personId">
+        <generator class="foreign">
+            <param name="property">person</param>
+        </generator>
+    </id>
+    <one-to-one name="person" constrained="true"/>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table Address ( personId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+        
+        <sect2 id="assoc-unidirectional-12m">
+        <title>ˆê‘Α½</title>
+        
+        <para>
+            <emphasis>ŠO•”ƒL[‚Ì’P•ûŒüˆê‘Α½ŠÖ˜A</emphasis> ‚Í‚Æ‚Ä‚à“ÁŽê‚ȃP[ƒX‚ŁA
+            ‚ ‚܂萄§‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <set name="addresses">
+        <key column="personId" 
+            not-null="true"/>
+        <one-to-many class="Address"/>
+    </set>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table Address ( addressId bigint not null primary key, personId bigint not null )
+        ]]></programlisting>
+        
+        <para>
+            ‚±‚̂悤‚ÈŠÖ˜A‚Ì‚½‚ß‚ÉŒ‹‡ƒe[ƒuƒ‹‚ðŽg‚¤‚±‚Æ‚ð‚¨‘E‚ß‚µ‚Ü‚·B
+        </para>
+        
+        </sect2>
+    
+    </sect1>
+
+    <sect1 id="assoc-unidirectional-join" revision="1">
+        <title>Œ‹‡ƒe[ƒuƒ‹‚ðŽg‚Á‚½’P•ûŒüŠÖ˜A</title>
+        
+        <sect2 id="assoc-unidirectional-join-12m">
+        <title>ˆê‘Α½</title>
+        
+        <para>
+            <emphasis>Œ‹‡ƒe[ƒuƒ‹‚ðŽg‚Á‚½’P•ûŒüˆê‘Α½ŠÖ˜A</emphasis> 
+            ‚Í‚æ‚èD‚Ü‚µ‚¢‚Å‚·B
+            <literal>unique="true"</literal> ‚ÌŽw’è‚É‚æ‚èA‘½d“x‚ª‘½‘Α½‚©‚çˆê‘Α½
+            ‚É•Ï‚í‚Á‚½‚±‚Æ‚É’ˆÓ‚µ‚ĉº‚³‚¢B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <set name="addresses" table="PersonAddress">
+        <key column="personId"/>
+        <many-to-many column="addressId"
+            unique="true"
+            class="Address"/>
+    </set>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId not null, addressId bigint not null primary key )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+
+        <sect2 id="assoc-unidirectional-join-m21">
+        <title>‘½‘Έê</title>
+        
+        <para>
+            <emphasis>Œ‹‡ƒe[ƒuƒ‹‚Ì’P•ûŒü‘½‘ΈêŠÖ˜A</emphasis> ‚Í
+            ŠÖ˜A‚ª”CˆÓ‚Å‚ ‚é‚Æ‚«‚É”ñí‚Ɉê”Ê“I‚È‚à‚Ì‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <join table="PersonAddress" 
+        optional="true">
+        <key column="personId" unique="true"/>
+        <many-to-one name="address"
+            column="addressId" 
+            not-null="true"/>
+    </join>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId bigint not null primary key, addressId bigint not null )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+
+        <sect2 id="assoc-unidirectional-join-121">
+        <title>ˆê‘Έê</title>
+        
+        <para>
+            <emphasis>Œ‹‡ƒe[ƒuƒ‹‚Ì’P•ûŒüˆê‘ΈêŠÖ˜A</emphasis> ‚́A–{“–‚É“ÁŽê‚Å‚·‚ª
+            •s‰Â”\‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <join table="PersonAddress" 
+        optional="true">
+        <key column="personId" 
+            unique="true"/>
+        <many-to-one name="address"
+            column="addressId" 
+            not-null="true"
+            unique="true"/>
+    </join>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+
+        <sect2 id="assoc-unidirectional-join-m2m">
+        <title>‘½‘Α½</title>
+        
+        <para>
+            ÅŒã‚ɁA<emphasis>’P•ûŒü‘½‘Α½ŠÖ˜A</emphasis> ‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <set name="addresses" table="PersonAddress">
+        <key column="personId"/>
+        <many-to-many column="addressId"
+            class="Address"/>
+    </set>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="assoc-bidirectional" revision="1">
+        <title>‘o•ûŒüŠÖ˜A</title>
+        
+        <sect2 id="assoc-bidirectional-m21" revision="2">
+        <title>ˆê‘Α½/‘½‘Έê</title>
+        
+        <para>
+            <emphasis>‘o•ûŒü‘½‘ΈêŠÖ˜A</emphasis> ‚͍łàˆê”Ê“I‚ÈŠÖ˜A‚Å‚·B
+            i•W€“I‚ȐeŽqŠÖŒW‚Å‚·j
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <many-to-one name="address" 
+        column="addressId"
+        not-null="true"/>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+    <set name="people" inverse="true">
+        <key column="addressId"/>
+        <one-to-many class="Person"/>
+    </set>
+</class>]]></programlisting>
+
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key, addressId bigint not null )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        <para>
+            <literal>List</literal> i‚Ü‚½‚Í‘¼‚̃Cƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“j‚ðŽg‚¤‚È‚çA
+            ŠO•”ƒL[‚Ì <literal>key</literal> ƒJƒ‰ƒ€‚ð <literal>not null</literal> ‚ɐݒ肵A
+            ƒRƒŒƒNƒVƒ‡ƒ“‘¤‚ªŠe—v‘f‚̃Cƒ“ƒfƒbƒNƒX‚ðƒƒ“ƒeƒiƒ“ƒX‚·‚é‚悤‚ɁA
+            ŠÖ˜A‚ðˆµ‚¤•K—v‚ª‚ ‚è‚Ü‚·
+            i<literal>update="false"</literal> ‚©‚ <literal>insert="false"</literal> 
+            ‚Ɛݒ肵‚āA”½‘Α¤‚ð‰¼‘z“I‚Éinverse‚É‚µ‚Ü‚·jF
+        </para>
+
+        <programlisting><![CDATA[<class name="Person">
+   <id name="id"/>
+   ...
+   <many-to-one name="address"
+      column="addressId"
+      not-null="true"
+      insert="false"
+      update="false"/>
+</class>
+
+<class name="Address">
+   <id name="id"/>
+   ...
+   <list name="people">
+      <key column="addressId" not-null="true"/>
+      <list-index column="peopleIdx"/>
+      <one-to-many class="Person"/>
+   </list>
+</class>]]></programlisting>
+
+            <para>
+                ‚à‚µŠO•”ƒL[ƒJƒ‰ƒ€‚ª <literal>NOT NULL</literal> ‚Å‚ ‚é‚È‚ç‚΁A
+                ƒRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚Ì <literal>&lt;key&gt;</literal> —v‘f‚ð 
+                <literal>not-null="true"</literal> ‚É‚·‚邱‚Ƃ͏d—v‚Å‚·B
+                “ü‚êŽq‚É‚È‚Á‚½ <literal>&lt;column&gt;</literal> —v‘f‚¾‚¯‚Å‚Í‚È‚­A
+                <literal>&lt;key&gt;</literal> —v‘f‚à <literal>not-null="true"</literal> 
+                ‚Æ’è‹`‚µ‚È‚¢‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+        
+        <sect2 id="assoc-bidirectional-121">
+        <title>ˆê‘Έê</title>
+        
+        <para>
+            <emphasis>ŠO•”ƒL[‚Ì‘o•ûŒüˆê‘ΈêŠÖ˜A</emphasis> ‚Í”ñí‚Ɉê”Ê“I‚Å‚·B
+        </para>
+        
+       <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <many-to-one name="address" 
+        column="addressId" 
+        unique="true"
+        not-null="true"/>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+   <one-to-one name="person" 
+        property-ref="address"/>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key, addressId bigint not null unique )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        <para>
+            <emphasis>ŽåƒL[‚Ì‘o•ûŒüˆê‘ΈêŠÖ˜A</emphasis> ‚Í“ÁŽê‚ÈIDƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¢‚Ü‚·B
+        </para>
+        
+       <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <one-to-one name="address"/>
+</class>
+
+<class name="Address">
+    <id name="id" column="personId">
+        <generator class="foreign">
+            <param name="property">person</param>
+        </generator>
+    </id>
+    <one-to-one name="person" 
+        constrained="true"/>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table Address ( personId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+        
+    </sect1>
+
+    <sect1 id="assoc-bidirectional-join" revision="1">
+        <title>Œ‹‡ƒe[ƒuƒ‹‚ðŽg‚Á‚½‘o•ûŒüŠÖ˜A</title>
+        
+        <sect2 id="assoc-bidirectional-join-12m">
+        <title>ˆê‘Α½/‘½‘Έê</title>
+        
+        <para>
+            <emphasis>Œ‹‡ƒe[ƒuƒ‹‚Ì‘o•ûŒüˆê‘Α½ŠÖ˜A</emphasis> ‚Å‚·B
+            <literal>inverse="true"</literal> ‚ªŠÖ˜A’[AƒRƒŒƒNƒVƒ‡ƒ“AŒ‹‡‚Ì‚¢‚¸‚ê‚©‚É
+            Ý’è‚Å‚«‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <set name="addresses" 
+        table="PersonAddress">
+        <key column="personId"/>
+        <many-to-many column="addressId"
+            unique="true"
+            class="Address"/>
+    </set>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+    <join table="PersonAddress" 
+        inverse="true" 
+        optional="true">
+        <key column="addressId"/>
+        <many-to-one name="person"
+            column="personId"
+            not-null="true"/>
+    </join>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId bigint not null, addressId bigint not null primary key )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+
+         <sect2 id="assoc-bidirectional-join-121">
+        <title>ˆê‘Έê</title>
+        
+        <para>
+            <emphasis>Œ‹‡ƒe[ƒuƒ‹‚Ì‘o•ûŒüˆê‘ΈêŠÖ˜A</emphasis> 
+            ‚Í”ñí‚É“ÁŽê‚Å‚·‚ªA‰Â”\‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <join table="PersonAddress" 
+        optional="true">
+        <key column="personId" 
+            unique="true"/>
+        <many-to-one name="address"
+            column="addressId" 
+            not-null="true"
+            unique="true"/>
+    </join>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+    <join table="PersonAddress" 
+        optional="true"
+        inverse="true">
+        <key column="addressId" 
+            unique="true"/>
+        <many-to-one name="address"
+            column="personId" 
+            not-null="true"
+            unique="true"/>
+    </join>
+</class>]]></programlisting>
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId bigint not null primary key, addressId bigint not null unique )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+
+        </sect2>
+        
+        <sect2 id="assoc-bidirectional-join-m2m" revision="1">
+        <title>‘½‘Α½</title>
+        
+        <para>
+            ÅŒã‚ɁA<emphasis>‘o•ûŒü‘½‘Α½ŠÖ˜A</emphasis> ‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Person">
+    <id name="id" column="personId">
+        <generator class="native"/>
+    </id>
+    <set name="addresses" table="PersonAddress">
+        <key column="personId"/>
+        <many-to-many column="addressId"
+            class="Address"/>
+    </set>
+</class>
+
+<class name="Address">
+    <id name="id" column="addressId">
+        <generator class="native"/>
+    </id>
+    <set name="people" inverse="true" table="PersonAddress">
+        <key column="addressId"/>
+        <many-to-many column="personId"
+            class="Person"/>
+    </set>
+</class>]]></programlisting>
+
+        <programlisting><![CDATA[
+create table Person ( personId bigint not null primary key )
+create table PersonAddress ( personId bigint not null, addressId bigint not null, primary key (personId, addressId) )
+create table Address ( addressId bigint not null primary key )
+        ]]></programlisting>
+        
+        </sect2>
+        
+    </sect1>
+
+    <sect1 id="assoc-complex">
+        <title>‚æ‚è•¡ŽG‚ÈŠÖ˜Aƒ}ƒbƒsƒ“ƒO</title>
+        
+        <para>
+            ‚æ‚è•¡ŽG‚ÈŠÖ˜AŒ‹‡‚Í <emphasis>‹É‚ß‚Ä</emphasis> ‹H‚Å‚·B
+            ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ÉSQL•¶‚𖄂ߍž‚Þ‚±‚ƂŁA
+            ‚³‚ç‚É•¡ŽG‚Èó‹µ‚ðˆµ‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            —Ⴆ‚΁A<literal>accountNumber</literal>, <literal>effectiveEndDate</literal>, 
+            <literal>effectiveStartDate</literal> ƒJƒ‰ƒ€‚ðŽ‚ÂaccountiŒûÀjî•ñ‚Ì—š—ð‚ðˆµ‚¤ƒe[ƒuƒ‹‚́A
+            ˆÈ‰º‚̂悤‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[<properties name="currentAccountKey">
+    <property name="accountNumber" type="string" not-null="true"/>
+    <property name="currentAccount" type="boolean">
+        <formula>case when effectiveEndDate is null then 1 else 0 end</formula>
+    </property>
+</properties>
+<property name="effectiveEndDate" type="date"/>
+<property name="effectiveStateDate" type="date" not-null="true"/>]]></programlisting>
+
+        <para>
+            ‚»‚µ‚āAŠÖ˜A‚ð <emphasis>Œ»Žž“_‚Ì</emphasis> ƒCƒ“ƒXƒ^ƒ“ƒX
+            i<literal>effectiveEndDate</literal> ‚ªnull‚Å‚ ‚é‚à‚́j‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+            ˆÈ‰º‚̂悤‚É‚È‚è‚Ü‚·F
+        </para>
+        
+        <programlisting><![CDATA[<many-to-one name="currentAccountInfo" 
+        property-ref="currentAccountKey"
+        class="AccountInfo">
+    <column name="accountNumber"/>
+    <formula>'1'</formula>
+</many-to-one>]]></programlisting>
+
+        <para>
+            ‚³‚ç‚É•¡ŽG‚È—á‚ł́A<literal>Employeei]‹Æˆõj</literal> ‚Æ <literal>Organizationi‘gDj</literal> 
+            ŠÔ‚ÌŠÖ˜A‚ª <literal>EmploymentiŒÙ—pj</literal> ƒe[ƒuƒ‹‚Å•ÛŽ‚³‚ê‚éê‡‚ð‘z‘œ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚±‚̃e[ƒuƒ‹‚ɂ͌ٗpƒf[ƒ^‚Ì—š—ð‚ª‚·‚ׂĊ܂܂ê‚Ü‚·B
+            ‚·‚é‚Ə]‹Æˆõ‚Ì <emphasis>Å‚àÅ‹ß‚Ì</emphasis> ŒÙ—pŽÒ‚ð•\‚·ŠÖ˜A
+            iÅ‚àÅ‹ß‚Ì <literal>startDate</literal> ‚ðŽ‚Â‚à‚́j‚́A‚±‚̂悤‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·F
+        </para>
+        
+        <programlisting><![CDATA[<join>
+    <key column="employeeId"/>
+    <subselect>
+        select employeeId, orgId 
+        from Employments 
+        group by orgId 
+        having startDate = max(startDate)
+    </subselect>
+    <many-to-one name="mostRecentEmployer" 
+            class="Organization" 
+            column="orgId"/>
+</join>]]></programlisting>
+
+        <para>
+            ‚±‚Ì‹@”\‚Í”ñí‚É‹­—Í‚Å‚·B
+            ‚µ‚©‚µ‚±‚̂悤‚ȏꍇA•’Ê‚ÍHQL‚âcriteriaƒNƒGƒŠ‚ðŽg‚¤•û‚ª‚æ‚èŽÀ‘H“I‚Å‚·B
+        </para>
+
+    </sect1>
+
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/basic_mapping.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,3485 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+
+<chapter id="mapping">
+    <title>Šî–{“I‚ÈO/Rƒ}ƒbƒsƒ“ƒO</title>
+
+    <sect1 id="mapping-declaration" revision="1">
+        <title>ƒ}ƒbƒsƒ“ƒO’è‹`</title>
+
+        <para>
+            ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒO‚͒ʏíXMLƒhƒLƒ…ƒƒ“ƒg‚Å’è‹`‚µ‚Ü‚·B
+            ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚́A“Ç‚Ý‚â‚·‚­Žèì‹Æ‚ŕҏW‚µ‚â‚·‚¢‚悤‚ɃfƒUƒCƒ“‚³‚ê‚Ä‚¢‚Ü‚·B
+            ƒ}ƒbƒsƒ“ƒOŒ¾Œê‚ÍJava’†SA‚‚܂èƒe[ƒuƒ‹’è‹`‚Å‚Í‚È‚­‰i‘±ƒNƒ‰ƒX‚Ì’è‹`‚ÉŠî‚¢‚č\’z‚³‚ê‚Ä‚¢‚Ü‚·B
+        </para>
+        
+        <para>
+            ‘½‚­‚ÌHibernateƒ†[ƒU‚ÍXMLƒ}ƒbƒsƒ“ƒO‚Ì‹Lq‚ðŽèì‹Æ‚ōs‚¢‚Ü‚·‚ªA
+            XDoclet, Middlegen, AndroMDA‚Æ‚¢‚¤‚悤‚ȃ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚𐶐¬‚·‚éƒc[ƒ‹‚ª
+            ‚¢‚­‚‚©‘¶Ý‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            ƒTƒ“ƒvƒ‹‚̃}ƒbƒsƒ“ƒO‚©‚çŽn‚ß‚Ü‚µ‚傤F
+        </para>
+
+        <programlisting id="mapping-declaration-ex1" revision="1"><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+      "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+          "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="eg">
+
+        <class name="Cat" 
+            table="cats"
+            discriminator-value="C">
+                
+                <id name="id">
+                        <generator class="native"/>
+                </id>
+
+                <discriminator column="subclass" 
+                     type="character"/>
+
+                <property name="weight"/>
+
+                <property name="birthdate"
+                    type="date" 
+                    not-null="true" 
+                    update="false"/>
+
+                <property name="color"
+                    type="eg.types.ColorUserType"
+                    not-null="true"
+                    update="false"/>
+
+                <property name="sex"
+                    not-null="true" 
+                    update="false"/>
+
+                <property name="litterId"
+                    column="litterId"
+                    update="false"/>
+
+                <many-to-one name="mother"
+                    column="mother_id"
+                    update="false"/>
+
+                <set name="kittens"
+                    inverse="true"
+                    order-by="litter_id">
+                        <key column="mother_id"/>
+                        <one-to-many class="Cat"/>
+                </set>
+
+                <subclass name="DomesticCat"
+                    discriminator-value="D">
+
+                        <property name="name" 
+                            type="string"/>
+
+                </subclass>
+
+        </class>
+
+        <class name="Dog">
+                <!-- ‚±‚±‚ÉDog—p‚̃}ƒbƒsƒ“ƒO‘‚«‚Ü‚· -->
+        </class>
+
+</hibernate-mapping>]]></programlisting>
+
+        <para>
+             ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Ì“à—e‚ðà–¾‚µ‚Ü‚·BB
+            ‚½‚¾‚µA‚±‚±‚Å‚ÍHibernate‚ªŽÀsŽž‚ÉŽg‚¤ƒhƒLƒ…ƒƒ“ƒg—v‘f‚Æ‘®«‚ɂ‚¢‚Ä‚Ì‚Ýà–¾‚µ‚Ü‚·B
+            ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚́A‚¢‚­‚‚©‚̃IƒvƒVƒ‡ƒ“‘®«‚Æ—v‘f‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·i—Ⴆ‚Î <literal>not-null</literal> ‘®«jB
+            ‚»‚ê‚ç‚̓XƒL[ƒ}ƒGƒNƒXƒ|[ƒgƒc[ƒ‹‚ªo—Í‚·‚éƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ɉe‹¿‚ð—^‚¦‚é‚à‚Ì‚Å‚·B
+            
+        </para>
+
+
+
+        <sect2 id="mapping-declaration-doctype" revision="3">
+            <title>Doctype</title>
+
+            <para>
+                XMLƒ}ƒbƒsƒ“ƒO‚ł́A‚¨Œ©‚¹‚µ‚½‚悤‚ȃhƒLƒ…ƒƒ“ƒgŒ^‚ð•K‚¸’è‹`‚·‚ׂ«‚Å‚·B
+                ŽÀÛ‚ÌDTD‚́Aã‹L‚ÌURL‚Ì <literal>hibernate-x.x.x/src/org/hibernate</literal> ƒfƒBƒŒƒNƒgƒŠA ‚Ü‚½‚Í 
+                <literal>hibernate.jar</literal> “à‚É‚ ‚è‚Ü‚·B
+                Hibernate‚͏í‚ɁA‚»‚̃Nƒ‰ƒXƒpƒX“à‚ÅDTD‚ð’T‚µŽn‚ß‚Ü‚·B
+                ƒCƒ“ƒ^[ƒlƒbƒg‚É‚ ‚éDTDƒtƒ@ƒCƒ‹‚ð’T‚»‚¤‚Æ‚µ‚½‚È‚çA
+                ƒNƒ‰ƒXƒpƒX‚Ì“à—e‚ðŒ©‚ÄADTDéŒ¾‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            
+            
+            <sect3 id="mapping-declaration-entity-resolution">
+                <title>
+                ƒGƒ“ƒeƒBƒeƒBEƒŠƒ]ƒ‹ƒo
+                </title>
+                <para>
+                    ‘Oq‚µ‚½‚悤‚ɁAHibernate‚Í‚Ü‚¸ƒNƒ‰ƒXƒpƒX“à‚ÅDTD‚ð‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
+                    <literal>org.xml.sax.EntityResolver</literal> ‚̃JƒXƒ^ƒ€ŽÀ‘•‚ð
+                    XMLƒtƒ@ƒCƒ‹‚ð“ǂݍž‚Þ‚½‚ß‚ÌSAXReader‚É“o˜^‚·‚邱‚Æ‚É‚æ‚Á‚āADTD‚ð‰ðŒˆ‚µ‚Ü‚·B
+                    ‚±‚̃JƒXƒ^ƒ€‚Ì <literal>EntityResolver</literal> ‚Í2‚‚̈قȂéƒVƒXƒeƒ€ID–¼‘O‹óŠÔ‚ð”FŽ¯‚µ‚Ü‚·B
+                    
+                </para>
+                <itemizedlist>
+                    <listitem>
+                        <para>
+                            <literal>Hibernate–¼‘O‹óŠÔ</literal> ‚́AƒŠƒ]ƒ‹ƒo‚ª 
+                            <literal>http://hibernate.sourceforge.net/</literal> ‚ÅŽn‚Ü‚éƒVƒXƒeƒ€ID‚É“ž’B‚µ‚½‚Æ‚«‚ɁA
+                            ”FŽ¯‚³‚ê‚Ü‚·B
+                            ‚»‚µ‚ăŠƒ]ƒ‹ƒo‚́AHibernate‚̃Nƒ‰ƒX‚ðƒ[ƒh‚µ‚½ƒNƒ‰ƒXƒ[ƒ_‚ð—p‚¢‚āA
+                            ‚±‚ê‚ç‚̃Gƒ“ƒeƒBƒeƒB‚ð‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
+                        
+                        </para>
+                    </listitem>
+                    <listitem>
+                        <para>
+                          <literal>ƒ†[ƒU–¼‘O‹óŠÔ</literal> ‚́AƒŠƒ]ƒ‹ƒo‚ª
+                          URLƒvƒƒgƒRƒ‹‚Ì <literal>classpath://</literal> ‚ðŽg‚Á‚½ƒVƒXƒeƒ€ID‚É“ž’B‚µ‚½‚Æ‚«‚ɁA
+                          ”FŽ¯‚³‚ê‚Ü‚·B‚»‚µ‚ăŠƒ]ƒ‹ƒo‚́A(1)ƒJƒŒƒ“ƒgƒXƒŒƒbƒh‚̃Rƒ“ƒeƒLƒXƒgƒNƒ‰ƒXƒ[ƒ_[A
+                          ‚Ü‚½‚Í(2)Hibernate‚̃Nƒ‰ƒX‚ðƒ[ƒh‚µ‚½ƒNƒ‰ƒXƒ[ƒ_‚ðŽg‚Á‚āA
+                          ‚±‚ê‚ç‚̃Gƒ“ƒeƒBƒeƒB‚ð‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
+                        
+                        </para>
+                    </listitem>
+                </itemizedlist>
+                <para>
+                ‰º‹L‚́Aƒ†[ƒU–¼‘O‹óŠÔ‚ðŽg‚Á‚½—á‚Å‚·F
+                
+                </para>
+                <programlisting><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" [
+    <!ENTITY types SYSTEM "classpath://your/domain/types.xml">
+]>
+
+<hibernate-mapping package="your.domain">
+    <class name="MyEntity">
+        <id name="id" type="my-custom-id-type">
+            ...
+        </id>
+    <class>
+    &types;
+</hibernate-mapping>]]></programlisting>
+                <para>
+                ‚±‚±‚Å <literal>types.xml</literal> ‚Í <literal>your.domain</literal> ƒpƒbƒP[ƒW“à‚̃Šƒ\[ƒX‚Å‚ ‚èA
+                ƒJƒXƒ^ƒ€ <xref linkend="mapping-types-custom">typedef</xref> ‚ðŠÜ‚Þ‚Ü‚·B
+                </para>
+            </sect3>            
+            
+            
+        </sect2>
+
+        <sect2 id="mapping-declaration-mapping" revision="3">
+            <title>hibernate-mapping</title>
+
+            <para>
+                ‚±‚Ì—v‘f‚É‚Í‚¢‚­‚‚©ƒIƒvƒVƒ‡ƒ“‘®«‚ª‚ ‚è‚Ü‚·B<literal>schema</literal> ‘®«‚Æ <literal>catalog</literal> ‘®«‚́A
+                ‚±‚̃}ƒbƒsƒ“ƒO‚ªŽQÆ‚·‚éƒe[ƒuƒ‹‚ªA‚±‚Ì‘®«‚É‚æ‚Á‚ÄŽw’肳‚ꂽƒXƒL[ƒ}‚Æ(‚Ü‚½‚Í)ƒJƒ^ƒƒO‚É‘®‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                ‚±‚Ì‘®«‚ªŽw’肳‚ê‚é‚ƁAƒe[ƒuƒ‹–¼‚Í—^‚¦‚ç‚ꂽƒXƒL[ƒ}–¼‚ƃJƒ^ƒƒO–¼‚ŏCü‚³‚ê‚Ü‚·B‚±‚ê‚ç‚Ì‘®«‚ªŽw’肳‚ê‚Ä‚¢‚È‚¯‚ê‚΁A
+                ƒe[ƒuƒ‹–¼‚͏Cü‚³‚ê‚Ü‚¹‚ñB<literal>default-cascade</literal> ‘®«‚́A
+                <literal>cascade</literal> ‘®«‚ðŽw’肵‚Ä‚¢‚È‚¢ƒvƒƒpƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚ɁA
+                ‚ǂ̃JƒXƒP[ƒhƒXƒ^ƒCƒ‹‚ðŠ„‚è“–‚Ä‚é‚©‚ðŽw’肵‚Ü‚·B
+                <literal>auto-import</literal> ‘®«‚́A
+                ƒNƒGƒŠŒ¾Œê“à‚ŏCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼‚ðAƒfƒtƒHƒ‹ƒg‚ÅŽg‚¦‚é‚悤‚É‚µ‚Ü‚·B
+            </para>
+ 
+             <programlistingco>
+                 <areaspec>
+                     <area id="hm1" coords="2 55"/>
+                     <area id="hm2" coords="3 55"/>
+                     <area id="hm3" coords="4 55"/>
+                     <area id="hm4" coords="5 55"/>
+                     <area id="hm5" coords="6 55"/>
+                     <area id="hm6" coords="7 55"/>
+                     <area id="hm7" coords="8 55"/>
+                 </areaspec>
+                 <programlisting><![CDATA[<hibernate-mapping
+         schema="schemaName"
+         catalog="catalogName"
+         default-cascade="cascade_style"
+         default-access="field|property|ClassName"
+         default-lazy="true|false"
+         auto-import="true|false"
+         package="package.name"
+ />]]></programlisting>
+                 <calloutlist>
+                     <callout arearefs="hm1">
+                         <para>
+                             <literal>schema</literal>iƒIƒvƒVƒ‡ƒ“jFƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Ì–¼‘OB
+                         </para>
+                     </callout>
+                     <callout arearefs="hm2">
+                         <para>
+                             <literal>catalog</literal> iƒIƒvƒVƒ‡ƒ“jFƒf[ƒ^ƒx[ƒXƒJƒ^ƒƒO‚Ì–¼‘OB
+                         </para>
+                     </callout>
+                     <callout arearefs="hm3">
+                         <para>
+                            <literal>default-cascade</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>none</literal>jF
+                             ƒfƒtƒHƒ‹ƒg‚̃JƒXƒP[ƒhƒXƒ^ƒCƒ‹B
+                         </para>
+                     </callout>
+                     <callout arearefs="hm4">
+                         <para>
+                             <literal>default-access</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                             Hibernate‚ªƒvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚éÛ‚ɍ̂é‚ׂ«í—ªB <literal>PropertyAccessor</literal> 
+                             ‚ðŽÀ‘•‚·‚邱‚ƂŃJƒXƒ^ƒ}ƒCƒY‰Â”\B
+                             
+                         </para>
+                     </callout>
+                     <callout arearefs="hm5">
+                         <para>
+                             <literal>default-lazy</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> )F
+                              <literal>lazy</literal> ‘®«‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚ɑ΂·‚éƒfƒtƒHƒ‹ƒg’lB
+                         </para>
+                     </callout>
+                     <callout arearefs="hm6">
+                         <para>
+                             <literal>auto-import</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal>jF
+                             ƒNƒGƒŠŒ¾Œê“à‚ŁAi‚±‚̃}ƒbƒsƒ“ƒO“à‚̃Nƒ‰ƒX‚́jCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼‚ðŽg‚¦‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                         </para>
+                     </callout>
+                     <callout arearefs="hm7">
+                         <para>
+                             <literal>package</literal> (ƒIƒvƒVƒ‡ƒ“): ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg“à‚ŏCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼‚ɑ΂µ‚ÄŠ„‚è“–‚Ä‚éA
+                             ƒpƒbƒP[ƒW‚̐ړªŽ«(prefix)‚ðŽw’肵‚Ü‚·B
+                         </para>
+                     </callout>
+                 </calloutlist>
+             </programlistingco>
+             
+             <para>
+                 iCü‚³‚ê‚Ä‚¢‚È‚¢j“¯‚¶–¼‘O‚̉i‘±ƒNƒ‰ƒX‚ª2‚‚ ‚é‚È‚çA
+                 <literal>auto-import="false"</literal> ‚ðÝ’è‚·‚ׂ«‚Å‚·B
+                 2‚‚̃Nƒ‰ƒX‚ɁhƒCƒ“ƒ|[ƒg‚³‚ꂽh“¯‚¶–¼‘O‚ðŠ„‚è“–‚Ă悤‚Æ‚·‚é‚ƁAHibernate‚Í—áŠO‚ð“Š‚°‚Ü‚·B
+             </para>
+
+             <para>
+                 <literal>hibernate-mapping</literal> —v‘f‚́AÅ‰‚Ì—á‚ÅŽ¦‚µ‚½‚悤‚É‚¢‚­‚‚©‚̉i‘± <literal>&lt;class&gt;</literal> 
+                 ƒ}ƒbƒsƒ“ƒO‚ðƒlƒXƒg‚Å‚«‚Ü‚·B
+                 ‚µ‚©‚µA‚P‚‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å‚Í‚½‚¾‚ЂƂ‚̉i‘±ƒNƒ‰ƒX(‚Ü‚½‚͂ЂƂ‚̃Nƒ‰ƒXŠK‘w)‚Ƀ}ƒbƒsƒ“ƒO‚·‚é‚悤‚É‚µA
+                 ‚³‚ç‚ɉi‘±ƒX[ƒp[ƒNƒ‰ƒX‚ÌŒã‚ÅŽw’è‚·‚é‚ׂ«‚Å‚µ‚傤(‚¢‚­‚‚©‚̃c[ƒ‹‚Í‚±‚̂悤‚ȃ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð‘z’肵‚Ä‚¢‚Ü‚·)B
+                 —Ⴆ‚ÎŽŸ‚̂悤‚É‚È‚è‚Ü‚·BF <literal>Cat.hbm.xml</literal> ,
+                  <literal>Dog.hbm.xml</literal> , ‚Ü‚½‚ÍŒp³‚ðŽg‚¤‚È‚ç <literal>Animal.hbm.xml</literal> B
+             </para>
+ 
+        </sect2>
+
+        <sect2 id="mapping-declaration-class" revision="3">
+            <title>class</title>
+
+            <para>
+                <literal>class</literal> —v‘f‚ðŽg‚Á‚āA‰i‘±ƒNƒ‰ƒX‚ðéŒ¾‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="class1" coords="2 55"/>
+                    <area id="class2" coords="3 55" />
+                    <area id="class3" coords="4 55"/>
+                    <area id="class4" coords="5 55" />
+                    <area id="class5" coords="6 55"/>
+                    <area id="class6" coords="7 55" />
+                    <area id="class7" coords="8 55"/>
+                    <area id="class8" coords="9 55" />
+                    <area id="class9" coords="10 55" />
+                    <area id="class10" coords="11 55"/>
+                    <area id="class11" coords="12 55"/>
+                    <area id="class12" coords="13 55"/>
+                    <area id="class13" coords="14 55"/>
+                    <area id="class14" coords="15 55"/>
+                    <area id="class15" coords="16 55"/>
+                    <area id="class16" coords="17 55"/>
+                    <area id="class17" coords="18 55"/>
+                    <area id="class18" coords="19 55"/>
+                    <area id="class19" coords="20 55"/>
+                    <area id="class20" coords="21 55"/>
+                    <area id="class21" coords="22 55"/>
+
+                </areaspec>
+                <programlisting><![CDATA[<class
+        name="ClassName"
+        table="tableName"
+        discriminator-value="discriminator_value"
+        mutable="true|false"
+        schema="owner"
+        catalog="catalog"
+        proxy="ProxyInterface"
+        dynamic-update="true|false"
+        dynamic-insert="true|false"
+        select-before-update="true|false"
+        polymorphism="implicit|explicit"
+        where="arbitrary sql where condition"
+        persister="PersisterClass"
+        batch-size="N"
+        optimistic-lock="none|version|dirty|all"
+        lazy="true|false"
+        entity-name="EntityName"
+        check="arbitrary sql check condition"
+        rowid="rowid"
+        subselect="SQL expression"
+        abstract="true|false"
+        entity-name="EntityName"
+        node="element-name"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="class1">
+                        <para>
+                            <literal>name</literal> (ƒIƒvƒVƒ‡ƒ“)F‰i‘±ƒNƒ‰ƒXi‚Ü‚½‚̓Cƒ“ƒ^[ƒtƒFƒCƒXj‚ÌŠ®‘SCüJavaƒNƒ‰ƒX–¼B
+                            ‚à‚µ‚±‚Ì‘®«‚ðŽw’肵‚È‚¯‚ê‚΁APOJO‚Å‚Í‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚ɑ΂·‚éƒ}ƒbƒsƒ“ƒO‚Æ‚µ‚Ĉµ‚í‚ê‚Ü‚·B
+                            
+                        </para>
+                    </callout>
+                    <callout arearefs="class2">
+                        <para>
+                           <literal>table</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚͏Cü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼)Fƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚Ì–¼‘O
+                        </para>
+                    </callout>
+                    <callout arearefs="class3">
+                        <para>
+                            <literal>discriminator-value</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓Nƒ‰ƒX–¼)F
+                            ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȐU‚é•‘‚¢‚ÉŽg‚í‚ê‚éŒÂX‚̃TƒuƒNƒ‰ƒX‚ðŽ¯•Ê‚·‚邽‚ß‚Ì’lB
+                            ’l‚Í <literal>null</literal> ‚© <literal>not null</literal> ‚Ì‚¢‚¸‚ê‚©‚ðŽæ‚è‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="class4">
+                        <para>
+                            <literal>mutable</literal> (ƒIƒvƒVƒ‡ƒ“A ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> )F
+                            ‚»‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªXV‰Â”\i‚Ü‚½‚Í•s‰Â”\j‚Å‚ ‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class5">
+                        <para>
+                            <literal>schema</literal> iƒIƒvƒVƒ‡ƒ“jF
+                            ƒ‹[ƒg‚Ì <literal>&lt;hibernate-mapping&gt;</literal> —v‘f‚ÅŽw’肳‚ꂽƒXƒL[ƒ}–¼‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+                        </para>
+                    </callout>                
+                    <callout arearefs="class6">
+                        <para>
+                            <literal>catalog</literal> iƒIƒvƒVƒ‡ƒ“jFƒ‹[ƒg‚Ì <literal>&lt;hibernate-mapping&gt;</literal> 
+                            —v‘f‚ÅŽw’肳‚ꂽƒJƒ^ƒƒO–¼‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+                        </para>
+                    </callout>                
+                    <callout arearefs="class7">
+                        <para>
+                            <literal>proxy</literal> iƒIƒvƒVƒ‡ƒ“jF’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg‚¤ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+                            ‰i‘±‰»‚·‚éƒNƒ‰ƒX–¼‚»‚Ì‚à‚Ì‚ðŽw’è‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class8">
+                        <para>
+                            <literal>dynamic-update</literal> iƒIƒvƒVƒ‡ƒ“A ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> jF
+                            ’l‚ª•ÏX‚³‚ꂽƒJƒ‰ƒ€‚¾‚¯‚ðŠÜ‚ÞSQL‚Ì <literal>UPDATE</literal> •¶‚ðAŽÀsŽž‚ɐ¶¬‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class9">
+                        <para>
+                            <literal>dynamic-insert</literal> iƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> jF
+                            ’l‚ªnull‚Å‚Í‚È‚¢ƒJƒ‰ƒ€‚¾‚¯‚ðŠÜ‚ÞSQL‚Ì <literal>INSERT</literal> •¶‚ðAŽÀsŽž‚ɐ¶¬‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class10">
+                        <para>
+                            <literal>select-before-update</literal> (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal>): 
+                            ƒIƒuƒWƒFƒNƒg‚ª•ÏX‚³‚ꂽ‚Ì‚ªŠmŽÀ‚Å‚È‚¢‚È‚ç‚΁AHibernate‚ªSQL‚Ì <literal>UPDATE</literal> ‚ð 
+                            <emphasis>Œˆ‚µ‚ÄŽÀs‚µ‚È‚¢</emphasis> ‚±‚Æ‚ðŽw’肵‚Ü‚·B
+                            ‚ ‚é“Á’è‚̏ꍇ(ŽÀÛ“I‚ɂ́AˆêŽžƒIƒuƒWƒFƒNƒg‚ª <literal>update()</literal> ‚ðŽg‚¢A
+                            V‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A•t‚¯‚ç‚ꂽŽž‚¾‚¯)A<literal>UPDATE</literal> ‚ªŽÀÛ‚É•K—v‚©‚Ç‚¤‚©‚ðŒˆ’è‚·‚邽‚߂ɁA
+                            Hibernate‚ª—]•ª‚ÈSQL‚Ì <literal>SELECT</literal> •¶‚ðŽÀs‚·‚邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class11">
+                        <para>
+                            (optional, ƒfƒtƒHƒ‹ƒg‚Å‚Í <literal>implicit</literal> ): implicitiˆÃ–فj‚©expliciti–¾Ž¦j‚́A
+                            ‚Ç‚¿‚ç‚̃NƒGƒŠƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽg‚¤‚©Œˆ’肵‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class12">
+                        <para>
+                            <literal>where</literal> iƒIƒvƒVƒ‡ƒ“jF
+                            ‚±‚̃Nƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðŒŸõ‚·‚é‚Æ‚«‚ÉŽg—p‚·‚éA”CˆÓ‚ÌSQL‚Ì <literal>WHERE</literal>  ðŒ‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>                 
+                    <callout arearefs="class13">
+                        <para>
+                            <literal>persister</literal> iƒIƒvƒVƒ‡ƒ“jFƒJƒXƒ^ƒ€ <literal>ClassPersister</literal> ‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>                 
+                    <callout arearefs="class14">
+                        <para>
+                            <literal>batch-size</literal> iƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>1</literal> jF
+                            Ž¯•ÊŽq‚Å‚±‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚𕜌³‚·‚é‚Æ‚«‚́uƒoƒbƒ`ƒTƒCƒYv‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>                 
+                   <callout arearefs="class15">
+                        <para>
+                            <literal>optimistic-lock</literal> iƒIƒvƒVƒ‡ƒ“,ƒfƒtƒHƒ‹ƒg‚Í <literal>version</literal> jF
+                            ŠyŠÏƒƒbƒNí—ª‚ðŒˆ’è‚µ‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class16">
+                        <para>
+                            <literal>lazy</literal> iƒIƒvƒVƒ‡ƒ“jF <literal>lazy="false"</literal> ‚Ɛݒ肷‚邱‚ƂŁA
+                            ’x‰„ƒtƒFƒbƒ`‚ª‚Å‚«‚È‚­‚È‚è‚Ü‚·B
+                        </para>
+                    </callout>    
+                    <callout arearefs="class17">
+                        <para>
+                            <literal>entity-name</literal> iƒIƒvƒVƒ‡ƒ“AƒfƒtƒHƒ‹ƒg‚̓Nƒ‰ƒX–¼jF
+                            Hibernate3‚ł̓Nƒ‰ƒX‚ª•¡”‰ñƒ}ƒbƒsƒ“ƒO‚Å‚«iê‡‚É‚æ‚Á‚Ă͈Ⴄƒe[ƒuƒ‹‚ɑ΂µ‚Ä‚àjA
+                            JavaƒŒƒxƒ‹‚ÅMap‚âXML‚Å•\Œ»‚³‚ê‚éƒGƒ“ƒeƒBƒeƒBƒ}ƒbƒsƒ“ƒO‚ª‰Â”\‚Å‚·B
+                            ‚±‚ê‚ç‚̏ꍇAƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä”CˆÓ‚Ì–¼‘O‚ðA–¾Ž¦“I‚É•t‚¯‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+                            Ú‚µ‚­‚Í <xref linkend="persistent-classes-dynamicmodels"/> ‚Æ <xref linkend="xml"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                        </para>
+                    </callout>
+                    <callout arearefs="class18">
+                        <para>
+                            <literal>check</literal> iƒIƒvƒVƒ‡ƒ“jFŽ©“®“I‚ɃXƒL[ƒ}‚𐶐¬‚·‚邽‚߂ɁA
+                            •¡”s‚Ì <emphasis>check</emphasis> §–ñ‚𐶐¬‚·‚éSQLŽ®B
+                        </para>
+                    </callout>
+                    <callout arearefs="class19">
+                        <para>
+                            <literal>rowid</literal> iƒIƒvƒVƒ‡ƒ“jFHibernate‚́A‚»‚ê‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ÅROWID‚Æ
+                            ŒÄ‚΂ê‚é‚à‚Ì‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                            —Ⴆ‚ÎOracle‚ðŽg‚Á‚Ä‚¢‚é‚Æ‚«A‚±‚̃IƒvƒVƒ‡ƒ“‚É <literal>rowid</literal> ‚ðÝ’è‚·‚ê‚΁A
+                            Hiberante‚Íupdate‚ð‚‘¬‰»‚·‚邽‚ß‚É <literal>rowid</literal> ‚Æ‚¢‚¤“Á•Ê‚ȃJƒ‰ƒ€‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                            ROWID‚͏ڍׂȎÀ‘•‚Å‚ ‚èA•Û‘¶‚³‚ꂽƒ^ƒvƒ‹‚Ì•¨—“I‚Ȉʒu‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="class20">
+                        <para>
+                            <literal>subselect</literal> iƒIƒvƒVƒ‡ƒ“jF•s•Ï‚©‚“ǂݎæ‚èê—p‚Å‚ ‚éƒGƒ“ƒeƒBƒeƒB‚ð
+                            ƒf[ƒ^ƒx[ƒX‚Ì•›–⍇‚¹isubselectj‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                            ‚à‚µŒ³‚̃e[ƒuƒ‹‚Ì‘ã‚í‚è‚Ƀrƒ…[‚ðŽ‚¿‚½‚¯‚ê‚ΗL—p‚Å‚·‚ªA
+                            ‚»‚¤‚Å‚È‚¢‚Ì‚È‚ç—L—p‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚æ‚èÚ‚µ‚¢î•ñ‚͉º‹L‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                        </para>
+                    </callout>
+                    <callout arearefs="class21">
+                        <para>
+                            <literal>abstract</literal> iƒIƒvƒVƒ‡ƒ“jF
+                            <literal>&lt;union-subclass&gt;</literal> ŠK‘w“à‚Ì’ŠÛƒX[ƒp[ƒNƒ‰ƒX‚Ƀ}[ƒN‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B
+                        </para>
+                    </callout>
+
+                </calloutlist>
+            </programlistingco>
+           
+            <para>
+                ‰i‘±ƒNƒ‰ƒX‚Ì–¼‘O‚ɃCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ä‚à‚Ü‚Á‚½‚­–â‘è‚ ‚è‚Ü‚¹‚ñB
+                ‚»‚Ì‚Æ‚«‚Í <literal>&lt;subclass&gt;</literal> —v‘f‚ðŽg‚Á‚āA
+                ‚»‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚·‚éƒNƒ‰ƒX‚ð’è‹`‚µ‚Ä‚­‚¾‚³‚¢B
+                <emphasis>static</emphasis> ‚È“à•”ƒNƒ‰ƒX‚Å‚à‰i‘±‰»‚Å‚«‚Ü‚·B
+                ‚»‚Ì‚Æ‚«‚Í•W€Œ`Ž®A—Ⴆ‚Î <literal>eg.Foo$Bar</literal> ‚ðŽg‚Á‚ăNƒ‰ƒX–¼‚ðŽw’肵‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                <literal>mutable="false"</literal> Žw’è‚ð‚µ‚½•s•ÏƒNƒ‰ƒX‚́A
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚éXV‚âíœ‚ªo—ˆ‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B
+                ‚±‚ê‚É‚æ‚èAHibernate‚ªƒpƒtƒH[ƒ}ƒ“ƒX‚ð­‚µ‰ü‘P‚µ‚Ü‚·B
+            </para>
+            
+            <para>
+                ƒIƒvƒVƒ‡ƒ“‚Ì <literal>proxy</literal> ‘®«‚É‚æ‚èAƒNƒ‰ƒX‚̉i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚Ì’x‰„‰Šú‰»‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+                Hibernate‚͍ŏ‰‚ɁAŽw’肵‚½ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚½CGLIBƒvƒƒLƒV‚ð•Ô‚µ‚Ü‚·B
+                ŽÀÛ‚̉i‘±ƒIƒuƒWƒFƒNƒg‚̓vƒƒLƒV‚̃ƒ\ƒbƒh‚ðŒÄ‚яo‚·‚Æ‚«‚Ƀ[ƒh‚µ‚Ü‚·B
+                ˆÈ‰º‚́u’x‰„‰Šú‰»‚Ì‚½‚߂̃vƒƒLƒVv‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            <para>
+                <emphasis>ˆÃ–Ù“I</emphasis> ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚Ƃ́AŽŸ‚Ì“ñ‚‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
+                ˆê‚‚̓Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªAƒX[ƒp[ƒNƒ‰ƒX‚âŽÀ‘•‚µ‚½ƒCƒ“ƒ^[ƒtƒFƒCƒXA‚Ü‚½‚»‚̃Nƒ‰ƒX‚ðŽw’è‚·‚éƒNƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚邱‚ƂŁA
+                ‚à‚¤ˆê‚‚͂»‚̃Nƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªA‚»‚̃Nƒ‰ƒXŽ©g‚ðŽw’肵‚½ƒNƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚邱‚Æ‚Å‚·B
+                ‚Ü‚½A<emphasis>–¾Ž¦“I</emphasis> ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚Ƃ́AŽŸ‚Ì“ñ‚‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
+                ˆê‚‚̓Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªA‚»‚̃Nƒ‰ƒX‚𖾎¦“I‚ÉŽw’肵‚½ƒNƒGƒŠ‚É‚æ‚Á‚Ä‚Ì‚Ý•Ô‚³‚ê‚邱‚ƂŁA
+                ‚à‚¤ˆê‚‚̓Nƒ‰ƒX‚ðŽw’肵‚½ƒNƒGƒŠ‚ªA<literal>&lt;class&gt;</literal> —v‘f‚Ì’†‚Å <literal>&lt;subclass&gt;</literal> ‚â 
+                <literal>&lt;joined-subclass&gt;</literal> ‚ƃ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚éƒTƒuƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚¾‚¯‚ð•Ô‚·‚±‚Æ‚Å‚·B
+                ‚Ù‚Æ‚ñ‚Ç‚Ì—p“r‚ł̓fƒtƒHƒ‹ƒg‚Ì <literal>polymorphism="implicit"</literal> ‚ª“KØ‚Å‚·B
+                –¾Ž¦“I‚ȃ|ƒŠƒ‚[ƒtƒBƒYƒ€‚́A2‚‚̈á‚Á‚½ƒNƒ‰ƒX‚ª“¯‚¶ƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚é‚Æ‚«‚É—L—p‚Å‚·
+                i‚±‚ê‚É‚æ‚Á‚ăe[ƒuƒ‹ƒJƒ‰ƒ€‚̃TƒuƒZƒbƒg‚ðŠÜ‚ށAuŒy—ʂȁvƒNƒ‰ƒX‚ª‰Â”\‚É‚È‚è‚Ü‚·jB
+            </para>
+            
+            <para>
+                <literal>persister</literal> ‘®«‚ðŽw’è‚·‚邱‚ƂŁAƒNƒ‰ƒX‚̉i‘±‰»í—ª‚ðƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B
+                —Ⴆ‚Î <literal>org.hibernate.persister.EntityPersister</literal> Ž©g‚̃TƒuƒNƒ‰ƒX‚ðŽw’肵‚½‚èA
+                ‚Ü‚½—Ⴆ‚΃XƒgƒAƒhƒvƒƒV[ƒWƒƒƒR[ƒ‹Aƒtƒ‰ƒbƒgƒtƒ@ƒCƒ‹‚ÖƒVƒŠƒAƒ‰ƒCƒYA
+                LDAP‚È‚Ç‚ð’Ê‚µ‚½‰i‘±«‚ðŽÀ‘•‚·‚é <literal>org.hibernate.persister.ClassPersister</literal> 
+                ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌŠ®‘S‚ɐV‚µ‚¢ŽÀ‘•‚ð’ñ‹Ÿ‚Å‚«‚Ü‚·BŠÈ’P‚È—á‚Æ‚µ‚Ä <literal>org.hibernate.test.CustomPersister</literal> 
+                ‚ðŒ©‚Ä‚­‚¾‚³‚¢i‚±‚ê‚Í <literal>Hashtable</literal> ‚́u‰i‘±‰»v‚Å‚·jB
+                
+            </para>
+            
+            <para>
+                <literal>dynamic-update</literal> ‚Æ <literal>dynamic-insert</literal> ‚̐ݒè‚̓TƒuƒNƒ‰ƒX‚ÉŒp³‚³‚ê‚Ü‚¹‚ñB
+                ‚»‚Ì‚½‚ß <literal>&lt;subclass&gt;</literal> ‚â <literal>&lt;joined-subclass&gt;</literal> —v‘f‚ðŽw’è‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B
+                ‚±‚ê‚ç‚̐ݒè‚̓pƒtƒH[ƒ}ƒ“ƒX‚ðŒüã‚³‚¹‚鎖‚à‚ ‚è‚Ü‚·‚ªA—Ž‚Æ‚·‚±‚Æ‚à‚ ‚è‚Ü‚·‚̂ŁATd‚ÉŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            <para>
+                <literal>select-before-update</literal> ‚ÌŽg—p‚͒ʏíƒpƒtƒH[ƒ}ƒ“ƒX‚ð—Ž‚Æ‚µ‚Ü‚·B
+                ‚à‚µ <literal>Session</literal> ‚Ö•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚̃Oƒ‰ƒt‚ðÄ’ljÁ‚·‚é‚È‚çA
+                ƒf[ƒ^ƒx[ƒXXV‚̃gƒŠƒK‚ð•s•K—v‚ɌĂяo‚·‚Ì‚ð”ð‚¯‚é‚Æ‚¢‚¤“_‚ŁA”ñí‚É—L—p‚Å‚·B
+            </para>
+            
+            <para>
+                <literal>dynamic-update</literal> ‚ð—LŒø‚É‚·‚ê‚΁AŠyŠÏƒƒbƒNí—ª‚ð‘I‚Ô‚±‚Æ‚É‚È‚è‚Ü‚·B
+            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        <literal>version</literal> ƒo[ƒWƒ‡ƒ“/ƒ^ƒCƒ€ƒXƒ^ƒ“ƒvƒJƒ‰ƒ€‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>all</literal> ‚·‚ׂẴJƒ‰ƒ€‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>dirty</literal> •ÏX‚µ‚½ƒJƒ‰ƒ€‚ðƒ`ƒFƒbƒN‚µA“¯ŽžXV‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>none</literal> ŠyŠÏƒƒbƒN‚ðŽg—p‚µ‚Ü‚¹‚ñ
+                    </para>
+                </listitem>
+            </itemizedlist>
+            <para>
+                Hibernate‚ÅŠyŠÏ“IƒƒbƒNí—ª‚ðŽg‚¤‚È‚çAƒo[ƒWƒ‡ƒ“/ƒ^ƒCƒ€ƒXƒ^ƒ“ƒvƒJƒ‰ƒ€‚ðŽg‚¤‚±‚Æ‚ð
+                 <emphasis> ”ñí‚É</emphasis> ‹­‚­‚¨Š©‚ß‚µ‚Ü‚·B
+                ŠyŠÏ“IƒƒbƒN‚̓pƒtƒH[ƒ}ƒ“ƒX‚ÌŠÏ“_‚©‚ç‚àÅ“K‚Å‚ ‚èA‚³‚ç‚É•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ւ̏C³
+                i‚‚܂è <literal>Session.marge()</literal> ‚ªŽg‚í‚ê‚é‚Æ‚«j
+                ‚𐳊m‚Ɉµ‚¤‚±‚Æ‚Ì‚Å‚«‚é—Bˆê‚̐헪‚Å‚à‚ ‚è‚Ü‚·B
+            </para>
+            
+            <para>
+                Hibernate‚̃}ƒbƒsƒ“ƒO‚É‚Æ‚Á‚ărƒ…[‚Æ•’ʂ̃e[ƒuƒ‹‚̊ԂɈႢ‚Í‚È‚­A
+                ƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚Å‚Í“§‰ß“I‚Å‚·
+                i‚½‚¾‚µƒrƒ…[‚ðŠ®‘S‚ɂ̓Tƒ|[ƒg‚µ‚Ä‚¢‚È‚¢DBMS‚à‚ ‚è‚Ü‚·B
+                “Á‚ɁAXV‚Ì‚ ‚éƒrƒ…[‚ɑ΂µ‚Ä‚Í‚»‚¤‚Å‚·jB
+                ƒrƒ…[‚ðŽg‚¢‚½‚­‚Ä‚àAƒf[ƒ^ƒx[ƒX‚ō쐬‚Å‚«‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·
+                i—Ⴆ‚΁AƒŒƒKƒV[ƒXƒL[ƒ}‚̏ꍇjB
+                ‚±‚̏ꍇ‚ɂ́A•s•Ï‚©‚“ǂݎæ‚èê—p‚̃Gƒ“ƒeƒBƒeƒB‚É—^‚¦‚ç‚ꂽSQL‚Ì•›–⍇‚¹•¶‚ðƒ}ƒbƒv‚Å‚«‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<class name="Summary">
+    <subselect>
+        select item.name, max(bid.amount), count(*)
+        from item
+        join bid on bid.item_id = item.id
+        group by item.name
+    </subselect>
+    <synchronize table="item"/>
+    <synchronize table="bid"/>
+    <id name="name"/>
+    ...
+</class>]]></programlisting>
+
+            <para>
+                ƒe[ƒuƒ‹‚ð‚±‚ÌƒGƒ“ƒeƒBƒeƒB‚Æ“¯Šú‚·‚é‚悤‚É’è‹`‚µ‚Ä‚­‚¾‚³‚¢B
+                ƒI[ƒgƒtƒ‰ƒbƒVƒ…‚ªŠmŽÀ‚É‹N‚±‚é‚悤‚ɁA‚Ü‚½“±oƒGƒ“ƒeƒBƒeƒB‚ɑ΂·‚éƒNƒGƒŠ‚ªŒÃ‚¢ƒf[ƒ^‚ð
+                •Ô‚³‚È‚¢‚悤‚É‚·‚邽‚ß‚Å‚·B
+                <literal>&lt;subselect&gt;</literal> ‚Í‘®«‚ƃlƒXƒg‚µ‚½ƒ}ƒbƒsƒ“ƒO‘®«‚Ì‚Ç‚¿‚ç‚Å‚à—˜—p‚Å‚«‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="mapping-declaration-id" revision="4">
+            <title>id</title>
+
+            <para>
+                ƒ}ƒbƒv‚³‚ꂽƒNƒ‰ƒX‚̓f[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ÌŽåƒL[ƒJƒ‰ƒ€‚ð’è‹` <emphasis>‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ</emphasis> B
+                ‚Ù‚Æ‚ñ‚ǂ̃Nƒ‰ƒX‚ɂ̓Cƒ“ƒXƒ^ƒ“ƒX‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚ð•ÛŽ‚·‚éJavaBeansƒXƒ^ƒCƒ‹‚̃vƒƒpƒeƒB‚à‚ ‚è‚Ü‚·B
+                <literal>&lt;id&gt;</literal> —v‘f‚́A‚»‚̃vƒƒpƒeƒB‚©‚çŽåƒL[ƒJƒ‰ƒ€‚ւ̃}ƒbƒsƒ“ƒO‚ð’è‹`‚µ‚Ü‚·B
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="id1" coords="2 70"/>
+                    <area id="id2" coords="3 70" />
+                    <area id="id3" coords="4 70"/>
+                    <area id="id4" coords="5 70" />
+                    <area id="id5" coords="6 70" />
+                </areaspec>
+                <programlisting><![CDATA[<id
+        name="propertyName"
+        type="typename"
+        column="column_name"
+        unsaved-value="null|any|none|undefined|id_value"
+        access="field|property|ClassName">
+        node="element-name|@attribute-name|element/@attribute|."
+
+        <generator class="generatorClass"/>
+</id>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="id1">
+                        <para>
+                            <literal>name</literal>iƒIƒvƒVƒ‡ƒ“jFŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="id2">
+                        <para>
+                            <literal>type</literal>iƒIƒvƒVƒ‡ƒ“jFHibernate‚ÌŒ^‚ðŽ¦‚·–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="id3">
+                        <para>
+                             <literal>column</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jF
+                            ŽåƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="id4">
+                        <para>
+                            <literal>unsaved-value</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Ì’l‚ÍsensiblejF
+                            ƒCƒ“ƒXƒ^ƒ“ƒX‚ªV‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ
+                            iƒZ[ƒu‚³‚ê‚Ä‚¢‚È‚¢j‚±‚Æ‚ðŽ¦‚·AŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì’lB
+                            ˆÈ‘O‚ÌSession‚ŃZ[ƒu‚Ü‚½‚̓[ƒh‚³‚ꂽˆêŽž“IƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‹æ•Ê‚·‚邽‚ß‚É
+                            Žg‚¢‚Ü‚·B
+                        </para>
+                    </callout>            
+                   <callout arearefs="id5">
+                        <para>
+                            <literal>access</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ÖƒAƒNƒZƒX‚·‚邽‚ß‚ÉHibernate‚ªŽg‚¤í—ª‚Å‚·B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+            
+            <para>
+                 <literal>name</literal> ‘®«‚ª‚È‚¯‚ê‚΁AƒNƒ‰ƒX‚É‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚ª‚È‚¢‚à‚Ì‚Æ‚Ý‚È‚³‚ê‚Ü‚·B
+            </para>
+            
+            <para>
+                <literal>unsaved-value</literal> ‘®«‚ÍHibernate3‚Å‚Í‚Ù‚Æ‚ñ‚ǂ̏ꍇA•K—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+             <para>
+                •¡‡ƒL[‚ðŽ‚ÂƒŒƒKƒV[ƒf[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚é‚悤‚ɁA
+                <literal>&lt;composite-id&gt;</literal> ‚Æ‚¢‚¤‘ã‘ւ̃}ƒbƒsƒ“ƒO’è‹`‚ª‚ ‚è‚Ü‚·B
+                ‚µ‚©‚µ‘¼‚Ì—p“r‚Ö‚ÌŽg—p‚Í‘S‚­‚¨‚·‚·‚ß‚Å‚«‚Ü‚¹‚ñB
+            </para>
+            
+            <sect3 id="mapping-declaration-id-generator" revision="2">
+                <title>ƒWƒFƒlƒŒ[ƒ^</title>
+
+                <para>
+                    ƒIƒvƒVƒ‡ƒ“‚Ì <literal>&lt;generator&gt;</literal> Žq—v‘f‚́A
+                    ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚𐶐¬‚·‚邽‚ß‚ÉŽg‚¤AJavaƒNƒ‰ƒX‚ðŽw’肵‚Ü‚·B
+                    ƒWƒFƒlƒŒ[ƒ^ƒCƒ“ƒXƒ^ƒ“ƒX‚̐ݒèA‚à‚µ‚­‚͏‰Šú‰»‚Ƀpƒ‰ƒ[ƒ^‚ª•K—v‚Å‚ ‚ê‚΁A<literal>&lt;param&gt;</literal> 
+                    —v‘f‚ðŽg‚Á‚Ä“n‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                </para>
+
+                <programlisting><![CDATA[<id name="id" type="long" column="cat_id">
+        <generator class="org.hibernate.id.TableHiLoGenerator">
+                <param name="table">uid_table</param>
+                <param name="column">next_hi_value_column</param>
+        </generator>
+</id>]]></programlisting>
+
+                <para>
+                    ‚·‚ׂẴWƒFƒlƒŒ[ƒ^‚́AƒCƒ“ƒ^[ƒtƒFƒCƒX 
+                    <literal>org.hibernate.id.IdentifierGenerator</literal> ‚ðŽÀ‘•‚µ‚Ü‚·B
+                    ‚±‚ê‚Í‚Æ‚Ä‚à’Pƒ‚ȃCƒ“ƒ^[ƒtƒFƒCƒX‚Ȃ̂ŁA“Á•Ê‚ÈŽÀ‘•‚ð“ÆŽ©‚É—pˆÓ‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚à‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                    ‚µ‚©‚µHibernate‚Í‘g‚ݍž‚Ý‚ÌŽÀ‘•‚ð‚¢‚­‚‚à—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+                    ‘g‚ݍž‚݂̃WƒFƒlƒŒ[ƒ^‚ɂ͈ȉº‚̃Vƒ‡[ƒgƒJƒbƒg–¼‚ª‚ ‚è‚Ü‚·F
+
+                    <variablelist>
+                        <varlistentry>
+                        <term><literal>increment</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>long</literal> , <literal>short</literal> , 
+                                <literal>int</literal> Œ^‚ÌŽ¯•ÊŽq‚𐶐¬‚µ‚Ü‚·B
+                                ‚±‚ê‚ç‚Í‘¼‚̃vƒƒZƒX‚ª“¯‚¶ƒe[ƒuƒ‹‚Ƀf[ƒ^‚ð‘}“ü‚µ‚È‚¢‚Æ‚«‚¾‚¯ƒ†ƒj[ƒN‚Å‚·B
+                                <emphasis>ƒNƒ‰ƒXƒ^“à‚Å‚ÍŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢</emphasis> B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>identity</literal></term>
+                        <listitem>
+                            <para>
+                                DB2, MySQL, MS SQL Server, Sybase, HypersonicSQL‚ÌŽ¯•ÊŽqƒJƒ‰ƒ€‚ð
+                                ƒTƒ|[ƒg‚µ‚Ü‚·B
+                                •Ô‚³‚ê‚鎯•ÊŽq‚ÌŒ^‚Í <literal>long</literal> , <literal>short</literal> , 
+                                <literal>int</literal> ‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>sequence</literal></term>
+                        <listitem>
+                            <para>
+                                  DB2, PostgreSQL, Oracle, SAP DB, McKoi‚̃V[ƒPƒ“ƒX‚âAInterbase‚̃WƒFƒlƒŒ[ƒ^‚ðŽg—p‚µ‚Ü‚·B
+                                  •Ô‚³‚ê‚鎯•ÊŽq‚ÌŒ^‚Í <literal>long</literal> , <literal>short</literal> , 
+                                <literal>int</literal> ‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>hilo</literal></term>
+                        <listitem>
+                            <para id="mapping-declaration-id-hilodescription" revision="1">
+                                 <literal>long</literal> , <literal>short</literal> , 
+                                <literal>int</literal> Œ^‚ÌŽ¯•ÊŽq‚ðŒø—¦“I‚ɐ¶¬‚·‚éhi/loƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg‚¢‚Ü‚·B
+                                hi’l‚̃\[ƒX‚Æ‚µ‚āAƒe[ƒuƒ‹‚ƃJƒ‰ƒ€‚ð—^‚¦‚Ü‚·(ƒfƒtƒHƒ‹ƒg‚Å‚Í‚»‚ꂼ‚ê <literal>hibernate_unique_key</literal> ‚Æ 
+                                <literal>next_hi</literal> )B
+                               
+                                hi/loƒAƒ‹ƒSƒŠƒYƒ€‚Í“Á’è‚̃f[ƒ^ƒx[ƒX‚ɑ΂µ‚Ă̂݃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚𐶐¬‚µ‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>seqhilo</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>long</literal> , <literal>short</literal> , 
+                                <literal>int</literal> Œ^‚ÌŽ¯•ÊŽq‚ðŒø—¦“I‚ɐ¶¬‚·‚éhi/loƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg‚¢‚Ü‚·B
+                                Žw’肳‚ꂽƒf[ƒ^ƒx[ƒXƒV[ƒPƒ“ƒX‚ð—^‚¦‚Ü‚·B
+                                
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>uuid</literal></term>
+                        <listitem>
+                            <para>
+                                (IPƒAƒhƒŒƒX‚ªŽg—p‚³‚ê‚é)ƒlƒbƒgƒ[ƒN“à‚цƒj[ƒN‚È•¶Žš—ñŒ^‚ÌŽ¯•ÊŽq‚𐶐¬‚·‚邽‚߂ɁA
+                                128ƒrƒbƒg‚ÌUUIDƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg—p‚µ‚Ü‚·BUUID‚Í’·‚³32‚Ì16i”Žš‚Ì•¶Žš—ñ‚Æ‚µ‚ăGƒ“ƒR[ƒh‚³‚ê‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>guid</literal></term>
+                        <listitem>
+                            <para>
+                                MS SQLƒT[ƒo‚ÆMySQL‚Ńf[ƒ^ƒx[ƒX‚ª¶¬‚·‚éGUID•¶Žš—ñ‚ðŽg—p‚µ‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>native</literal></term>
+                        <listitem>
+                            <para>
+                                Žg—p‚·‚éƒf[ƒ^ƒx[ƒX‚̐«”\‚É‚æ‚è <literal>identity</literal> , <literal>sequence</literal> , 
+                                <literal>hilo</literal> ‚Ì‚¢‚¸‚ê‚©‚ª‘I‚΂ê‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>assigned</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>save()</literal> ‚ªŒÄ‚΂ê‚é‘O‚ɁA
+                                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒIƒuƒWƒFƒNƒg‚ÉŽ¯•ÊŽq‚ð‘ã“ü‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B
+                                <literal>&lt;generator&gt;</literal> ‚ªŽw’肳‚ê‚Ä‚¢‚È‚¯‚ê‚΁A‚±‚ꂪƒfƒtƒHƒ‹ƒg‚̐헪‚É‚È‚è‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>select</literal></term>
+                        <listitem>
+                            <para>
+                                ‚ ‚郆ƒj[ƒNƒL[‚É‚æ‚és‚Ì‘I‘ð‚ÆŽåƒL[‚Ì’l‚Ì•œŒ³‚É‚æ‚èA
+                                ƒf[ƒ^ƒx[ƒXƒgƒŠƒK‚ªŠ„‚è“–‚Ä‚½ŽåƒL[‚ðŽæ“¾‚µ‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                        <term><literal>foreign</literal></term>
+                        <listitem>
+                            <para>
+                                ‘¼‚ÌŠÖ˜AƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ðŽg‚¢‚Ü‚·B
+                                •’ʂ́A<literal>&lt;one-to-one&gt;</literal> ŽåƒL[ŠÖ˜A‚Æ‘g‚ݍ‡‚킹‚ÄŽg‚¢‚Ü‚·B
+                            </para>
+                        </listitem>
+                        </varlistentry>
+                    </variablelist>
+
+                </para>
+            </sect3>
+            
+            <sect3 id="mapping-declaration-id-hilo" revision="1">
+                <title>Hi/lo ƒAƒ‹ƒSƒŠƒYƒ€</title>
+                <para>
+                    <literal>hilo</literal> ‚Æ <literal>seqhilo</literal> ƒWƒFƒlƒŒ[ƒ^‚́A
+                    Ž¯•ÊŽq¶¬‚Ì‘ã•\“I‚ȃAƒvƒ[ƒ`‚Å‚ ‚éhi/loƒAƒ‹ƒSƒŠƒYƒ€‚Ì2‚‚̑ã‘ÖŽÀ‘•‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+                    
+                    1”Ô–Ú‚ÌŽÀ‘•‚́AŽŸ‰ñ‚É—˜—p‚³‚ê‚é"hi"’l‚ð•ÛŽ‚·‚éu“Á•Ê‚ȁvƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ð
+                    •K—v‚Æ‚µ‚Ü‚·B
+                    2”Ô–Ú‚ÌŽÀ‘•‚́AOracleƒXƒ^ƒCƒ‹‚̃V[ƒPƒ“ƒX‚ðŽg‚¢‚Ü‚·iƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚éê‡jB
+                </para>
+
+                <programlisting><![CDATA[<id name="id" type="long" column="cat_id">
+        <generator class="hilo">
+                <param name="table">hi_value</param>
+                <param name="column">next_value</param>
+                <param name="max_lo">100</param>
+        </generator>
+</id>]]></programlisting>
+
+                <programlisting><![CDATA[<id name="id" type="long" column="cat_id">
+        <generator class="seqhilo">
+                <param name="sequence">hi_value</param>
+                <param name="max_lo">100</param>
+        </generator>
+</id>]]></programlisting>
+
+                <para>
+                    Žc”O‚È‚ª‚çHibernate‚Ö‚Ì“ÆŽ©‚Ì <literal>Connection</literal> ‚ð’ñ‹Ÿ‚·‚é‚Æ‚«‚ɂ́A<literal>hilo</literal> ‚ðŽg‚¦‚Ü‚¹‚ñB
+                    Hibernate‚ªJTA‚ŃŠƒXƒg‚³‚ê‚Ä‚¢‚éÚ‘±‚ðŽæ“¾‚·‚邽‚߂ɃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚̃f[ƒ^ƒ\[ƒX‚ðŽg—p‚µ‚Ä‚¢‚é‚Æ‚«‚ɂ́A
+                    <literal>hibernate.transaction.manager_lookup_class</literal> ‚ð“KØ‚ɐݒ肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                </para>
+            </sect3>
+            
+            <sect3 id="mapping-declaration-id-uuid">
+                <title>UUID ƒAƒ‹ƒSƒŠƒYƒ€</title>
+                <para>
+                    UUID‚ɂ͈ȉº‚Ì‚à‚Ì‚ªŠÜ‚Ü‚ê‚Ü‚·F
+                    IPƒAƒhƒŒƒXAJVM‚̃Xƒ^[ƒgƒAƒbƒvƒ^ƒCƒ€i4•ª‚Ì1•b‚̐³Šm‚³jA
+                    ƒVƒXƒeƒ€ŽžŠÔAiJVM‚ɑ΂µ‚ă†ƒj[ƒN‚ȁjƒJƒEƒ“ƒ^’lB
+                    JavaƒR[ƒh‚©‚çMACƒAƒhƒŒƒX‚⃁ƒ‚ƒŠƒAƒhƒŒƒX‚ðŽæ“¾‚·‚邱‚Æ‚Í‚Å‚«‚È‚¢‚̂ŁA
+                    JNI‚ªŽg‚¦‚È‚¢‚Æ‚«‚̍ŗǂ̕û–@‚Å‚·B
+                </para>
+            </sect3>
+
+            <sect3 id="mapping-declaration-id-sequences">
+            <title>Ž¯•ÊŽqƒJƒ‰ƒ€‚ƃV[ƒPƒ“ƒX</title>
+                <para>
+                    Ž¯•ÊŽqƒJƒ‰ƒ€‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒXiDB2, MySQL, Sybase, MS SQLj‚ł́A
+                    <literal>identity</literal> ƒL[¶¬‚ðŽg‚¦‚Ü‚·B
+                    ƒV[ƒPƒ“ƒX‚ðƒTƒ|[ƒg‚·‚éƒf[ƒ^ƒx[ƒXiDB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DBj‚ł́A
+                    <literal>sequence</literal> ƒXƒ^ƒCƒ‹‚̃L[¶¬‚ðŽg‚¦‚Ü‚·B
+                    ‚Ç‚¿‚ç‚̐헪‚àAV‚µ‚¢ƒIƒuƒWƒFƒNƒg‚ð‘}“ü‚·‚邽‚߂ɁASQLƒNƒGƒŠ‚ð2‚•K—v‚Æ‚µ‚Ü‚·B
+                </para>
+
+                <programlisting><![CDATA[<id name="id" type="long" column="person_id">
+        <generator class="sequence">
+                <param name="sequence">person_id_sequence</param>
+        </generator>
+</id>]]></programlisting>
+
+                <programlisting><![CDATA[<id name="id" type="long" column="person_id" unsaved-value="0">
+        <generator class="identity"/>
+</id>]]></programlisting>
+            
+                <para>
+                    ƒNƒƒXƒvƒ‰ƒbƒgƒtƒH[ƒ€‚ÌŠJ”­‚ł́A<literal>native</literal> í—ª‚Í 
+                    <literal>identity</literal> , <literal>sequence</literal> , 
+                    <literal>hilo</literal> í—ª‚Ì’†‚©‚ç1‚‚ð‘I‘ð‚µ‚Ü‚·‚ªA
+                    ‚±‚ê‚ÍŽg—p‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚Ì”\—͂Ɉˑ¶‚µ‚Ü‚·B
+                </para>
+            </sect3>
+            
+            <sect3 id="mapping-declaration-id-assigned">
+                <title>Ž¯•ÊŽq‚ÌŠ„‚è“–‚Ä</title>
+                <para>
+                   ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉŽ¯•ÊŽq‚ðŠ„‚è“–‚Ä‚³‚¹‚½‚¢‚Ì‚Å‚ ‚ê‚Î(Hibernate‚ª¶¬‚·‚é‚à‚Ì‚Å‚Í‚È‚­jA
+                    <literal>assigned</literal> ƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                    ‚±‚Ì“Á•Ê‚ȃWƒFƒlƒŒ[ƒ^‚́A‚·‚łɃIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽqƒvƒƒpƒeƒB‚É‘ã“ü‚³‚ꂽ’l‚ð
+                    Ž¯•ÊŽq‚ÉŽg‚¢‚Ü‚·B‚±‚̃WƒFƒlƒŒ[ƒ^‚ÍŽåƒL[‚ª‘㗝ƒL[‚Ì‘ã‚í‚è‚ÉŽ©‘RƒL[‚Å‚ ‚éê‡‚ÉŽg—p‚µ‚Ü‚·B
+                    <literal>&lt;generator&gt;</literal> —v‘f‚ðŽw’肵‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg‚Ì“®ì‚É‚È‚è‚Ü‚·B
+                </para>
+                
+                <para>
+                    <literal>assigned</literal> ƒWƒFƒlƒŒ[ƒ^‚ð‘I‘ð‚·‚é‚ƁA
+                    Hibernate‚Í <literal>unsaved-value="undefined"</literal> ‚ðŽg—p‚µ‚Ü‚·B
+                    ‚»‚µ‚āAƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ª‚È‚¢ê‡‚â <literal>Interceptor.isUnsaved()</literal> 
+                    ‚ð’è‹`‚µ‚È‚©‚Á‚½ê‡‚ɂ́AƒCƒ“ƒXƒ^ƒ“ƒX‚ªˆêŽž“I(transient)‚È‚à‚Ì‚Å‚ ‚é‚Ì‚©A
+                    ‚Ü‚½‚̓ZƒbƒVƒ‡ƒ“‚©‚番—£(detached)‚µ‚½‚à‚Ì‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚é‚½‚߂ɁAƒf[ƒ^ƒx[ƒX‚𒲂ׂ܂·B
+                </para>
+            </sect3>
+
+            <sect3 id="mapping-declaration-id-select">
+                <title>ƒgƒŠƒK‚É‚æ‚芄‚è“–‚Ä‚ç‚ꂽŽåƒL[</title>
+                <para>
+                    ƒŒƒKƒV[ƒXƒL[ƒ}‚Ì‚½‚ß‚É‚Ì‚ÝŽw’肵‚Ü‚·(Hibernate‚̓gƒŠƒK‚ðŽg‚Á‚ÄDDL‚𐶐¬‚µ‚Ü‚¹‚ñ)B
+                </para>
+
+                <programlisting><![CDATA[<id name="id" type="long" column="person_id">
+        <generator class="select">
+                <param name="key">socialSecurityNumber</param>
+        </generator>
+</id>]]></programlisting>
+
+                <para>
+                    ã‚Ì—á‚Ì’†‚ŁAƒNƒ‰ƒX‚ÅŽ©‘RƒL[‚Æ‚µ‚Ä’è‹`‚³‚ꂽ
+                    <literal>socialSecurityNumber</literal> ‚Æ‚¢‚¤–¼‘O‚̃†ƒj[ƒN‚È’l‚̃vƒƒpƒeƒB‚ƁA
+                    ’l‚ªƒgƒŠƒK‚É‚æ‚萶¬‚³‚ê‚é <literal>person_id</literal> ‚Æ‚¢‚¤–¼‘O‚̑㗝ƒL[‚ª‚ ‚è‚Ü‚·B
+                </para>
+                
+            </sect3>
+
+        </sect2>
+        
+        <sect2 id="mapping-declaration-compositeid" revision="3">
+            <title>composite-id</title>
+
+            <programlisting><![CDATA[<composite-id
+        name="propertyName"
+        class="ClassName"
+        mapped="true|false"
+        access="field|property|ClassName">
+        node="element-name|."
+
+        <key-property name="propertyName" type="typename" column="column_name"/>
+        <key-many-to-one name="propertyName class="ClassName" column="column_name"/>
+        ......
+</composite-id>]]></programlisting>
+
+            <para>
+                •¡‡ƒL[‚Ì‚ ‚éƒe[ƒuƒ‹‚ɑ΂µA
+                Ž¯•ÊŽqƒvƒƒpƒeƒB‚Æ‚µ‚ăNƒ‰ƒX‚Ì•¡”‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                <literal>&lt;composite-id&gt;</literal> —v‘f‚́AŽq—v‘f‚Æ‚µ‚Ä 
+                <literal>&lt;key-property&gt;</literal> ƒvƒƒpƒeƒBƒ}ƒbƒsƒ“ƒO‚Æ 
+                <literal>&lt;key-many-to-one&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚ðŽó‚¯“ü‚ê‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<composite-id>
+        <key-property name="medicareNumber"/>
+        <key-property name="dependent"/>
+</composite-id>]]></programlisting>
+
+            <para>
+                 •¡‡Ž¯•ÊŽq‚Ì“™‰¿«‚ðŽÀ‘•‚·‚邽‚߂ɂ́A‰i‘±ƒNƒ‰ƒX‚ª <literal>equals()</literal> ‚Æ 
+                <literal>hashCode()</literal> ‚ðƒI[ƒo[ƒ‰ƒCƒh <emphasis>‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ</emphasis> B
+                ‚Ü‚½ <literal>Serializable</literal> ‚àŽÀ‘•‚µ‚È‚¯‚ê‚΂¢‚¯‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                Žc”O‚È‚ª‚ç•¡‡Ž¯•ÊŽq‚Ì‚½‚ß‚Ì‚±‚Ì•û–@‚́A
+                ‰i‘±ƒIƒuƒWƒFƒNƒg‚ªŽ©g‚ÌŽ¯•ÊŽq‚Å‚ ‚邱‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
+                ƒIƒuƒWƒFƒNƒgŽ©g‚ðŽ¯•ÊŽq‚Æ‚·‚éˆÈã‚Ì•Ö—˜‚ȁuˆµ‚¢•ûv‚Í‚ ‚è‚Ü‚¹‚ñB
+                •¡‡ƒL[‚ÉŠÖ˜A‚µ‚½‰i‘±ó‘Ô‚ð <literal>load()</literal> o—ˆ‚é‚悤‚É‚È‚é‘O‚ɁA
+                ‰i‘±ƒNƒ‰ƒXŽ©g‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µAŽ¯•ÊŽqƒvƒƒpƒeƒB‚ðÝ’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                <emphasis> ‘g‚ݍž‚Ý‚Ì</emphasis> •¡‡Ž¯•ÊŽq‚ƌĂ΂ê‚邱‚̃Aƒvƒ[ƒ`‚́A
+                –{Ši“I‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍŒü‚¢‚Ä‚¢‚Ü‚¹‚ñB
+                
+                
+            </para>
+            
+            <para>
+                2‚–ڂ̕û–@‚Í <emphasis> ƒ}ƒbƒv‚³‚ꂽ</emphasis> •¡‡Ž¯•ÊŽq‚ƌĂ΂ê‚é‚à‚̂ŁA
+                <literal>&lt;composite-id&gt;</literal>ƒGƒŒƒƒ“ƒg“à‚ÅŽw’肵‚½Ž¯•ÊƒvƒƒpƒeƒB‚ª
+                ‰i‘±ƒNƒ‰ƒX‚Æ•ª—£‚µ‚½Ž¯•ÊŽqƒNƒ‰ƒX‚Ì—¼•û‚ɏd•¡‚µ‚Ä‘¶Ý‚µ‚Ü‚·B
+            </para>
+                
+            <programlisting><![CDATA[<composite-id class="MedicareId" mapped="true">
+        <key-property name="medicareNumber"/>
+        <key-property name="dependent"/>
+</composite-id>]]></programlisting>
+
+            <para>
+                ‚±‚Ì—á‚ł́A•¡‡Ž¯•ÊŽqƒNƒ‰ƒXi <literal>MedicareId</literal> j‚ƃGƒ“ƒeƒBƒeƒBƒNƒ‰ƒXŽ©g‚Ì—¼•û‚ªA
+                <literal>medicareNumber</literal> ‚Æ <literal>dependent</literal> ‚Æ‚¢‚¤–¼‘O‚̃vƒƒpƒeƒB‚ðŽ‚¿‚Ü‚·B
+                Ž¯•ÊŽqƒNƒ‰ƒX‚́A<literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚ðƒI[ƒoƒ‰ƒCƒh‚µA
+                <literal>Serializable</literal> ‚ðŽÀ‘•‚µ‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+                ‚±‚Ì•û–@‚ɂ́A–¾‚ç‚©‚ɃR[ƒh‚ªd•¡‚·‚é‚Æ‚¢‚¤•s“s‡‚ª‚ ‚è‚Ü‚·B
+            </para>
+            
+            <para>
+                ŽŸ‚Ì‘®«‚̓}ƒbƒsƒ“ƒO‚µ‚½•¡‡Ž¯•ÊŽq‚ðŽw’è‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para>
+                        <literal>mapped</literal> (ƒIƒvƒVƒ‡ƒ“AƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                        ƒ}ƒbƒsƒ“ƒO‚µ‚½•¡‡Ž¯•ÊŽq‚ªŽg—p‚³‚ê‚邱‚ƂƁA•ïŠÜ‚³‚ꂽƒvƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚ªA
+                        ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚Æ•¡‡Ž¯•ÊŽqƒNƒ‰ƒX‚Ì—¼•û‚ðŽQÆ‚·‚邱‚Æ‚ðŽ¦‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>class</literal> (ƒIƒvƒVƒ‡ƒ“,‚½‚¾‚µƒ}ƒbƒsƒ“ƒO‚µ‚½•¡‡Ž¯•ÊŽq‚É‚Í•K{): 
+                        •¡‡Ž¯•ÊŽq‚Æ‚µ‚ÄŽg—p‚·‚éƒNƒ‰ƒXB
+                        
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                3‚–ڂ̂³‚ç‚É•Ö—˜‚È•û–@‚́A•¡‡Ž¯•ÊŽq‚ð<xref linkend="components-compositeid"/>“à‚Ì
+                ƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚Æ‚µ‚ÄŽÀ‘•‚·‚邱‚Æ‚Å‚·B
+                ‰º‚Å‹Lq‚µ‚Ä‚¢‚é‘®«‚́A‚±‚Ì‘ã‘Ö•û–@‚É‚Ì‚Ý“K—p‚³‚ê‚Ü‚·B
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para>
+                        <literal>name</literal> (ƒIƒvƒVƒ‡ƒ“, ‚±‚̃Aƒvƒ[ƒ`‚Å‚Í•K{): 
+                        •¡‡Ž¯•ÊŽq‚ð•ÛŽ‚·‚éƒRƒ“ƒ|[ƒlƒ“ƒgƒ^ƒCƒv‚̃vƒƒpƒeƒB(9Í‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢).
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>access</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> ): 
+                        Hibernate‚ªƒvƒƒpƒeƒB‚Ì’l‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉŽg—p‚·‚ׂ«í—ªB
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>class</literal> 
+                        iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jF
+                        •¡‡Ž¯•ÊŽq‚Æ‚µ‚ÄŽg‚í‚ê‚éƒRƒ“ƒ|[ƒlƒ“ƒg‚̃Nƒ‰ƒXiŽŸ‚Ìß‚ðŒ©‚Ä‚­‚¾‚³‚¢jB
+                    </para>
+                </listitem>
+            </itemizedlist>
+            
+            <para>
+                ‚±‚Ì3‚–ڂ̕û–@‚Í <emphasis> Ž¯•ÊŽqƒRƒ“ƒ|[ƒlƒ“ƒg</emphasis> ‚ƌĂсA
+                ‚Ù‚Æ‚ñ‚Ç‚·‚ׂẴAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚Đ„§‚·‚é•û–@‚Å‚·B
+            </para>
+            
+        </sect2>        
+        
+        <sect2 id="mapping-declaration-discriminator" revision="3">
+            <title>discriminator</title>
+
+            <para>
+                <literal>&lt;discriminator&gt;</literal> —v‘f‚́A
+                table-per-class-hierarchyƒ}ƒbƒsƒ“ƒOí—ª‚ðŽg‚¤ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȉi‘±‰»‚É•K—v‚Å‚ ‚èA
+                ƒe[ƒuƒ‹‚ÌŽ¯•ÊƒJƒ‰ƒ€‚ð’è‹`‚µ‚Ü‚·B
+                Ž¯•ÊƒJƒ‰ƒ€‚́A‚ ‚és‚ɑ΂µ‚ĉi‘±‘w‚ª‚ǂ̃TƒuƒNƒ‰ƒX‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚·‚é‚©‚ð
+                “`‚¦‚éƒ}[ƒJ[’l‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·B
+                ˆÈ‰º‚̂悤‚ÈŒ^‚ɐ§ŒÀ‚³‚ê‚Ü‚·F <literal>string</literal> , <literal>character</literal> , 
+                <literal>integer</literal>, 
+                <literal>byte</literal> , <literal>short</literal> , <literal>boolean</literal> , 
+                <literal>yes_no</literal> , <literal>true_false</literal>. 
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="discriminator1" coords="2 60"/>
+                    <area id="discriminator2" coords="3 60" />
+                    <area id="discriminator3" coords="4 60" />
+                    <area id="discriminator4" coords="5 60" />
+                    <area id="discriminator5" coords="6 60" />
+                </areaspec>
+                <programlisting><![CDATA[<discriminator
+        column="discriminator_column"
+        type="discriminator_type"
+        force="true|false"
+        insert="true|false"
+        formula="arbitrary sql expression"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="discriminator1">
+                        <para>
+                            <literal>column</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>class</literal> jF
+                            Ž¯•ÊƒJƒ‰ƒ€‚Ì–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="discriminator2">
+                        <para>
+                            <literal>type</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>string</literal> jFHibernate‚ÌŒ^‚ðŽ¦‚·–¼‘OB
+                        </para>
+                    </callout>          
+                    <callout arearefs="discriminator3">
+                        <para>
+                            <literal>force</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> jF
+                            ƒ‹[ƒgƒNƒ‰ƒX‚Ì‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ðŒŸõ‚·‚éê‡‚Å‚ ‚Á‚Ä‚àA
+                            Hibernate‚ªŽg—p‚Å‚«‚鎯•ÊƒJƒ‰ƒ€‚ÌŽw’è‚ðu‹­§v‚µ‚Ü‚·B
+                        </para>
+                    </callout>          
+                    <callout arearefs="discriminator4">
+                        <para>
+                            <literal>insert</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> jF
+                            ‚à‚µŽ¯•ÊƒJƒ‰ƒ€‚ªƒ}ƒbƒsƒ“ƒO‚·‚é•¡‡Ž¯•ÊŽq‚̈ꕔ‚È‚ç‚΁A<literal>false</literal> ‚Ɛݒ肵‚Ä‚­‚¾‚³‚¢B
+                            (Hibernate‚ÉSQL‚Ì <literal>INSERT</literal> ‚É‚ÍŠÜ‚Ü‚ê‚È‚¢‚±‚Æ‚ð’m‚点‚é)
+                            
+                        </para>
+                    </callout>
+                    <callout arearefs="discriminator5">
+                        <para>
+                            <literal>formula</literal> (ƒIƒvƒVƒ‡ƒ“)Œ^‚ª•]‰¿‚³‚ê‚é‚Æ‚«‚ÉŽÀs‚³‚ê‚é”CˆÓ‚ÌSQLŽ®B
+                            ƒRƒ“ƒeƒ“ƒcƒx[ƒX‚ÌŽ¯•Ê‚ð‰Â”\‚É‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                Ž¯•ÊƒJƒ‰ƒ€‚ÌŽÀÛ‚Ì’l‚́A <literal>&lt;class&gt;</literal> ‚Æ 
+                <literal>&lt;subclass&gt;</literal> —v‘f‚Ì 
+                <literal>discriminator-value</literal> ‘®«‚ÅŽw’肳‚ê‚Ü‚·B
+            </para>
+            
+            <para>
+                ‰i‘±ƒNƒ‰ƒX‚Öƒ}ƒbƒsƒ“ƒO‚³‚ê‚È‚¢¢—]•ª‚ȁvŽ¯•Ê’l‚ðŽ‚Âs‚ª
+                ƒe[ƒuƒ‹‚É‚ ‚ê‚΁Ai‚»‚Ì‚Æ‚«‚ÉŒÀ‚èj<literal>force</literal> ‘®«‚Í—LŒø‚Å‚·B
+                ‚½‚¾‚µA•’Ê‚Í‚»‚¤‚¢‚¤‚±‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                <literal>formula</literal> ‘®«‚ðŽg‚¤‚ƁAs‚ÌŒ^‚ð•]‰¿‚·‚邽‚ß‚É”CˆÓ‚ÌSQLŽ®‚ðéŒ¾‚Å‚«‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<discriminator
+    formula="case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end"
+    type="integer"/>]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="mapping-declaration-version" revision="4">
+            <title>versioniƒIƒvƒVƒ‡ƒ“j</title>
+            
+            <para>
+                <literal>&lt;version&gt;</literal> —v‘f‚̓IƒvƒVƒ‡ƒ“‚Å‚ ‚èA
+                ƒe[ƒuƒ‹‚ªƒo[ƒWƒ‡ƒ“ƒf[ƒ^‚ðŠÜ‚Þ‚±‚Æ‚ðŽ¦‚µ‚Ü‚·B
+                ‚±‚ê‚Í <emphasis>ƒƒ“ƒOƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“</emphasis>  
+                ‚ðŽg‚¤‚‚à‚è‚È‚çA“Á‚ɖ𗧂¿‚Ü‚·iˆÈ‰º‚ðŒ©‚Ä‚­‚¾‚³‚¢jB
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="version1" coords="2 70"/>
+                    <area id="version2" coords="3 70"/>
+                    <area id="version3" coords="4 70"/>
+                    <area id="version4" coords="5 70"/>
+                    <area id="version5" coords="6 70"/>
+                    <area id="version6" coords="7 70"/>
+                    <area id="version7" coords="8 70"/>                    
+                </areaspec>
+                <programlisting><![CDATA[<version
+        column="version_column"
+        name="propertyName"
+        type="typename"
+        access="field|property|ClassName"
+        unsaved-value="null|negative|undefined"
+        generated="never|always"
+        insert="true|false"
+        node="element-name|@attribute-name|element/@attribute|."
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="version1">
+                        <para>
+                            <literal>column</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼j:
+                            ƒo[ƒWƒ‡ƒ“”ԍ†‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+                        </para>
+                    </callout>          
+                    <callout arearefs="version2">
+                        <para>
+                            <literal>name</literal> F‰i‘±ƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚Ì–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="version3">
+                        <para>
+                            <literal>type</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>integer</literal> jFƒo[ƒWƒ‡ƒ“”ԍ†‚ÌŒ^B
+                        </para>
+                    </callout>          
+                   <callout arearefs="version4">
+                        <para>
+                            <literal>access</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                   <callout arearefs="version5">
+                        <para>
+                            <literal>unsaved-value</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>undefined</literal> jF
+                            ƒCƒ“ƒXƒ^ƒ“ƒX‚ªV‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚±‚Æ‚ðŽ¦‚·
+                            iƒZ[ƒu‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚ðŽ¦‚·jƒo[ƒWƒ‡ƒ“ƒvƒƒpƒeƒB‚Ì’lB
+                            ˆÈ‘O‚ÌSession‚ŃZ[ƒu‚Ü‚½‚̓[ƒh‚³‚ꂽˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚Æ‹æ•Ê‚·‚邽‚ß‚É
+                            Žg‚¢‚Ü‚·B
+                            i <literal>undefined</literal> ‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì’l‚ªŽg‚í‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·Bj
+                        </para>
+                    </callout>
+                    
+                    <callout arearefs="version6">
+                        <para>
+                            <literal>generated</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>never</literal> ):
+                            ‚±‚̃o[ƒWƒ‡ƒ“‚̃vƒƒpƒeƒB‚Ì’l‚ªAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚ж¬‚³‚ꂽ‚±‚Æ‚ðŽw’肵‚Ü‚·B
+                            <xref linkend="mapping-generated">¶¬ƒvƒƒpƒeƒB</xref> ‚Ì‹c˜_‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+                        </para>
+                    </callout>
+                    <callout arearefs="version7">
+                        <para>
+                            <literal>insert</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ):
+                            SQL‚Ìinsert•¶‚Ƀo[ƒWƒ‡ƒ“EƒJƒ‰ƒ€‚ðŠÜ‚ß‚é‚ׂ«‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            ‚à‚µƒf[ƒ^ƒx[ƒXEƒJƒ‰ƒ€‚̃fƒtƒHƒ‹ƒg’l‚ª <literal>0</literal> ‚Æ’è‹`‚³‚ê‚é‚Æ‚«‚ɂ́A
+                            <literal>false</literal> ‚ɐݒ肷‚é‚Æ—Ç‚¢‚Å‚µ‚傤B
+                        </para>
+                    </callout>                    
+                </calloutlist>
+            </programlistingco>
+            
+            <para>
+                ƒo[ƒWƒ‡ƒ“”ԍ†‚Í Hibernate‚Ì <literal>long</literal> , <literal>integer</literal> , 
+                <literal>short</literal> , <literal>timestamp</literal> , 
+                <literal>calendar</literal> Œ^‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+            </para>
+            
+            <para>
+                ƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚́A•ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚Änull‚Å‚ ‚Á‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+                ‚»‚Ì‚½‚߂ǂ̂悤‚È <literal>unsaved-value</literal> í—ª‚ªŽw’肳‚ê‚Ä‚àA
+                Hibernate‚Ínull‚̃o[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðŽ‚Á‚½‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ðA
+                ˆêŽž“I‚È‚à‚Ì‚Å‚ ‚é‚Æ”»’f‚µ‚Ü‚·B
+                
+                 <emphasis> null‚ð‹–—e‚·‚éƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ð’è‹`‚·‚邱‚Ƃ́A
+                ‰ß“n“I‚ɈꎞƒIƒuƒWƒFƒNƒg‚Æ‚·‚邱‚Æ‚ð–h‚®ŠÈ’P‚È•û–@‚Å‚·B
+                “Á‚ÉŽ¯•ÊŽq‚ÌŠ„‚è“–‚Ä‚â•¡‡ƒL[‚ðŽg—p‚µ‚Ä‚¢‚é‚Æ‚«‚É‚Í“Á‚É—L—p‚Å‚·B</emphasis> 
+            </para>
+        </sect2>
+        
+        <sect2 id="mapping-declaration-timestamp" revision="4">
+            <title>timestampiƒIƒvƒVƒ‡ƒ“j</title>
+
+            <para>
+                ƒIƒvƒVƒ‡ƒ“‚Ì <literal>&lt;timestamp&gt;</literal> —v‘f‚́A
+                ƒe[ƒuƒ‹‚ªƒ^ƒCƒ€ƒXƒ^ƒ“ƒvƒf[ƒ^‚ðŠÜ‚Þ‚±‚Æ‚ðŽ¦‚µ‚Ü‚·B
+                ‚±‚ê‚̓o[ƒWƒ‡ƒ“•t‚¯‚Ì‘ã‚í‚è‚Ì•û–@‚Æ‚µ‚Ä—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B
+                ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚Í‚à‚Æ‚à‚ÆŠyŠÏ“IƒƒbƒN‚É‚¨‚¯‚éˆÀ‘S«‚Ì’á‚¢ŽÀ‘•‚Å‚·B
+                ‚µ‚©‚µƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚͈قȂé—p“r‚ÅŽg‚¤‚±‚Æ‚à‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="timestamp1" coords="2 70"/>
+                    <area id="timestamp2" coords="3 70" />
+                    <area id="timestamp3" coords="4 70" />
+                    <area id="timestamp4" coords="5 70" />
+                    <area id="timestamp5" coords="6 70" />
+                    <area id="timestamp6" coords="7 70" />                    
+                </areaspec>            
+                <programlisting><![CDATA[<timestamp
+        column="timestamp_column"
+        name="propertyName"
+        access="field|property|ClassName"
+        unsaved-value="null|undefined"
+        source="vm|db"
+        generated="never|always"
+        node="element-name|@attribute-name|element/@attribute|."
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="timestamp1">
+                        <para>
+                            <literal>column</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jF
+                            ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+                        </para>
+                    </callout>                   
+                    <callout arearefs="timestamp2">
+                        <para>
+                            <literal>name</literal> F
+                            ‰i‘±ƒNƒ‰ƒX‚Å‚ ‚éJava ‚Ì <literal>Date</literal >Œ^ ‚Ü‚½‚Í 
+                            <literal>Timestamp</literal> Œ^ ‚́AJavaBeansƒXƒ^ƒCƒ‹ƒvƒƒpƒeƒB‚Ì–¼‘OB
+                        </para>
+                    </callout>
+                   <callout arearefs="timestamp3">
+                        <para>
+                            <literal>access</literal>
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                   <callout arearefs="timestamp4">
+                        <para>
+                            <literal>unsaved-value</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>null</literal> jF
+                            ƒCƒ“ƒXƒ^ƒ“ƒX‚ªV‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ
+                            iƒZ[ƒu‚³‚ê‚Ä‚¢‚È‚¢j‚±‚Æ‚ðŽ¦‚·ƒo[ƒWƒ‡ƒ“ƒvƒƒpƒeƒB‚Ì’lB
+                            ˆÈ‘O‚ÌSession‚ŃZ[ƒu‚Ü‚½‚̓[ƒh‚³‚ꂽˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚Æ
+                            ‹æ•Ê‚·‚邽‚ß‚ÉŽg‚í‚ê‚Ü‚·B
+                            i <literal>undefined</literal> ‚ÆŽw’è‚·‚é‚ƁA
+                            Ž¯•ÊŽqƒvƒƒpƒeƒB‚Ì’l‚ªŽg‚í‚ê‚Ü‚·Bj
+                        </para>
+                    </callout>
+                    
+                    <callout arearefs="timestamp5">
+                        <para>
+                            <literal>source</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>vm</literal> ):
+                            Hibernate‚Í‚Ç‚±‚©‚çƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚Ì’l‚ðŽæ“¾‚·‚é‚ׂ«‚Å‚µ‚傤‚©H
+                            ƒf[ƒ^ƒx[ƒX‚©‚ç‚Å‚µ‚傤‚©AŒ»Ý‚ÌJVM‚©‚ç‚Å‚µ‚傤‚©H
+                            ƒf[ƒ^ƒx[ƒX‚É‚æ‚éƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚́AHibernate‚ª"ŽŸ‚Ì’l"‚ðŒˆ’è‚·‚邽‚ß‚É
+                            ƒf[ƒ^ƒx[ƒX‚ðƒqƒbƒg‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚½‚߁AƒI[ƒoƒwƒbƒh‚ðµ‚«‚Ü‚·B
+                            ‚µ‚©‚µƒNƒ‰ƒXƒ^ŠÂ‹«‚Å‚ÍJVM‚©‚çŽæ“¾‚·‚é‚æ‚èˆÀ‘S‚Å‚·B
+                            ƒf[ƒ^ƒx[ƒX‚ÌŒ»Ý‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚̎擾‚ðƒTƒ|[ƒg‚·‚é
+                            ‚·‚×‚Ä‚Ì <literal>ƒf[ƒ^ƒx[ƒX•ûŒ¾</literal> ‚ª’m‚ç‚ê‚Ä‚¢‚é‚킯‚Å‚Í‚È‚¢‚±‚Æ‚É
+                            ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚Ü‚½ˆê•û‚ŁA¸–§‚³‚ðŒ‡‚­‚½‚߂ɁA
+                            ƒƒbƒN‚ÅŽg—p‚·‚é‚ɂ͈À‘S‚Å‚È‚¢‚à‚Ì‚à‚ ‚è‚Ü‚·(—Ⴆ‚ÎOracle 8)B
+                        </para>
+                    </callout>
+                    <callout arearefs="timestamp6">
+                        <para>
+                            <literal>generated</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>never</literal> ):
+                            ‚±‚̃^ƒCƒ€ƒXƒ^ƒ“ƒvEƒvƒƒpƒeƒB‚Ì’l‚ªAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚ж¬‚³‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                            <xref linkend="mapping-generated">¶¬ƒvƒƒpƒeƒB</xref> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+            
+            <para>
+                 <literal>&lt;timestamp&gt;</literal> ‚Í 
+                <literal>&lt;version type="timestamp"&gt;</literal> ‚Æ“™‰¿‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                <literal>&lt;timestamp source="db"&gt;</literal> ‚Í
+                <literal>&lt;version type="dbtimestamp"&gt;</literal> ‚Æ“™‰¿‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+        </sect2>
+        
+        <sect2 id="mapping-declaration-property" revision="4">
+            <title>property</title>
+
+            <para>
+                <literal>&lt;property&gt;</literal> —v‘f‚́AƒNƒ‰ƒX‚̉i‘±“I‚ÈJavaBeanƒXƒ^ƒCƒ‹‚̃vƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚·B
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="property1" coords="2 70"/>
+                    <area id="property2" coords="3 70"/>
+                    <area id="property3" coords="4 70"/>
+                    <areaset id="property4-5" coords="">
+                        <area id="property4" coords='5 70'/>
+                        <area id="property5" coords='6 70'/>
+                    </areaset>
+                    <area id="property6" coords="7 70"/>
+                    <area id="property7" coords="8 70"/>
+                    <area id="property8" coords="9 70"/>
+                    <area id="property9" coords="10 70"/>
+                    <area id="property10" coords="11 70"/>
+                    <area id="property11" coords="12 70"/>
+                    <area id="property12" coords="13 70"/>
+                </areaspec>            
+                <programlisting><![CDATA[<property
+        name="propertyName"
+        column="column_name"
+        type="typename"
+        update="true|false"
+        insert="true|false"
+        formula="arbitrary SQL expression"
+        access="field|property|ClassName"
+        lazy="true|false"
+        unique="true|false"
+        not-null="true|false"
+        optimistic-lock="true|false"
+        generated="never|insert|always"
+        node="element-name|@attribute-name|element/@attribute|."
+        index="index_name"
+        unique_key="unique_key_id"
+        length="L"
+        precision="P"
+        scale="S"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="property1">
+                        <para>
+                            <literal>name</literal>F¬•¶Žš‚ÅŽn‚Ü‚éƒvƒƒpƒeƒB–¼B
+                        </para>
+                    </callout>                   
+                    <callout arearefs="property2">
+                        <para>
+                            <literal>column</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jF
+                            ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ì–¼‘OB
+                            ƒlƒXƒg‚µ‚½ <literal>&lt;column&gt;</literal> —v‘f‚Å‚àŽw’è‚Å‚«‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="property3">
+                        <para>
+                            <literal>type</literal>iƒIƒvƒVƒ‡ƒ“jFHibernate‚ÌŒ^‚ðŽ¦‚·–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="property4-5">
+                        <para>
+                            <literal>update, insert</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> jF
+                            ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì 
+                            <literal>UPDATE</literal> ‚â <literal>INSERT</literal> ‚ÉŠÜ‚Ü‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                            —¼•û‚Æ‚à <literal>false</literal> ‚ɐݒ肷‚é‚ƁA
+                            “¯‚¶ƒJƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚³‚ꂽ‘¼‚̃vƒƒpƒeƒB‚âƒgƒŠƒK‚â
+                            ‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚ú‰»‚³‚ꂽƒˆ‚ȁu“±ovƒvƒƒpƒeƒB‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="property6">
+                        <para>
+                            <literal>formula</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            <emphasis>ŒvŽZ</emphasis> ƒvƒƒpƒeƒB‚Ì‚½‚ß‚Ì’l‚ð’è‹`‚·‚éSQLŽ®B
+                            ŒvŽZ‚³‚ꂽƒvƒƒpƒeƒB‚ÍŽ©g‚̃Jƒ‰ƒ€‚ւ̃}ƒbƒsƒ“ƒO‚ª‚ ‚è‚Ü‚¹‚ñB
+                        </para>
+                    </callout>
+                    <callout arearefs="property7">
+                        <para>
+                            <literal>access</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                    <callout arearefs="property8">
+                        <para>
+                            <literal>lazy</literal> (optional - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                           ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ɍŏ‰‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ɁAƒvƒƒpƒeƒB‚ð’x‰„‚µ‚Ď擾‚·‚é‚悤Žw’肵‚Ü‚·B
+                           (ƒoƒCƒgƒR[ƒhŽÀ‘•‚ðì¬‚·‚鎞ŠÔ‚ª•K—v‚É‚È‚è‚Ü‚·)B
+                        </para>
+                    </callout>
+                    <callout arearefs="property9">
+                        <para>
+                            <literal>unique</literal> (ƒIƒvƒVƒ‡ƒ“):ƒJƒ‰ƒ€‚Ƀ†ƒj[ƒN§–ñ‚ð‚‚¯‚éDDL‚̐¶¬‚ð‰Â”\‚É‚µ‚Ü‚·B
+                            ‚Ü‚½A<literal>property-ref</literal> ‚̃^[ƒQƒbƒg‚Æ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="property10">
+                        <para>
+                            <literal>not-null</literal> (ƒIƒvƒVƒ‡ƒ“):ƒJƒ‰ƒ€‚Énull’l‚ð‹–‰Â‚·‚éDDL‚̐¶¬‚ð‰Â”\‚É‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="property11">
+                        <para>
+                            <literal>optimistic-lock</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ):
+                            ‚±‚̃vƒƒpƒeƒB‚̍XV‚ÉŠyŠÏƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            Œ¾‚¢Š·‚¦‚ê‚΁A‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚𑝂₷‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="property12">
+                        <para>
+                            <literal>generated</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>never</literal> ):
+                            ƒvƒƒpƒeƒB‚Ì’l‚ªAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚ж¬‚³‚ꂽ‚±‚Æ‚ðŽw’肵‚Ü‚·B
+                            <xref linkend="mapping-generated">¶¬ƒvƒƒpƒeƒB</xref> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                <emphasis>typename</emphasis> ‚ɂ͈ȉº‚Ì’l‚ª‰Â”\‚Å‚·F
+            </para>
+
+            <orderedlist spacing="compact">
+                <listitem>
+                    <para>
+                        Hibernate‚ÌŠî–{Œ^‚Ì–¼‘Oi—á  <literal>integer, string, character,
+                        date, timestamp, float, binary, serializable, object, blob</literal> jB
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ƒfƒtƒHƒ‹ƒg‚ÌŠî–{Œ^‚ÌJavaƒNƒ‰ƒX–¼ i—á <literal>int, float,
+                        char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</literal> jB
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ƒVƒŠƒAƒ‰ƒCƒY‰Â”\‚ÈJavaƒNƒ‰ƒX‚Ì–¼‘OB
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ƒJƒXƒ^ƒ€Œ^‚̃Nƒ‰ƒX–¼i—á <literal>com.illflow.type.MyCustomType</literal> jB
+                    </para>
+                </listitem>
+            </orderedlist>
+
+            <para>
+                Œ^‚ðŽw’肵‚È‚¯‚ê‚΁AHibernate‚͐³‚µ‚¢Hibernate‚ÌŒ^‚𐄑ª‚·‚邽‚߂ɁA
+                Žw’肳‚ꂽƒvƒƒpƒeƒB‚ɑ΂µ‚ăŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚¢‚Ü‚·B
+                Hibernate‚̓‹[ƒ‹2, 3, 4‚ð‚»‚Ì‡˜‚ÉŽg‚¢A
+                getterƒvƒƒpƒeƒB‚Ì•Ô‚è’l‚̃Nƒ‰ƒX‚Ì–¼‘O‚ð‰ðŽß‚µ‚悤‚Æ‚µ‚Ü‚·B
+                ‚µ‚©‚µ‚±‚ê‚ŏí‚ɏ\•ª‚Å‚ ‚é‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB
+                ê‡‚É‚æ‚Á‚ẮA<literal>type</literal> ‘®«‚ª•K—v‚ȏꍇ‚ª‚ ‚è‚Ü‚·B
+                i—Ⴆ‚Î <literal>Hibernate.DATE</literal> ‚Æ <literal>Hibernate.TIMESTAMP</literal> ‚ð‹æ•Ê‚·‚邽‚߁A
+                ‚Ü‚½‚̓JƒXƒ^ƒ€Œ^‚ðŽw’è‚·‚邽‚ß‚È‚Ç‚Å‚·Bj
+            </para>
+            
+            <para>
+                <literal>access</literal> ‘®«‚ŁA
+                ŽÀsŽž‚ÉHibernate‚ª‚ǂ̂悤‚ɃvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚é‚©‚𐧌ä‚Å‚«‚Ü‚·B
+                ƒfƒtƒHƒ‹ƒg‚Å‚ÍHibernate‚̓vƒƒpƒeƒB‚Ìget/set‚̃yƒA‚ðƒR[ƒ‹‚µ‚Ü‚·B
+                <literal>access="field"</literal> ‚ÆŽw’è‚·‚ê‚΁A
+                Hibernate‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚¢get/set‚̃yƒA‚ð‰î‚³‚¸‚ɁA’¼ÚƒtƒB[ƒ‹ƒh‚ɃAƒNƒZƒX‚µ‚Ü‚·B
+                ƒCƒ“ƒ^[ƒtƒFƒCƒX <literal>org.hibernate.property.PropertyAccessor</literal> ‚ð
+                ŽÀ‘•‚·‚éƒNƒ‰ƒX‚ðŽw’è‚·‚邱‚ƂŁAƒvƒƒpƒeƒB‚ւ̃AƒNƒZƒX‚É“ÆŽ©‚̐헪‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                “Á‚É‹­—Í‚È“Á’¥‚͐¶¬ƒvƒƒpƒeƒB‚Å‚·B
+                ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚Í“–‘R“Ç‚ÝŽæ‚èê—p‚Å‚ ‚èAƒvƒƒpƒeƒB‚Ì’l‚̓[ƒhŽž‚ÉŒvŽZ‚³‚ê‚Ü‚·B
+                ŒvŽZ‚ðSQLŽ®‚Æ‚µ‚Đ錾‚·‚é‚ƁA‚±‚̃vƒƒpƒeƒB‚Í
+                ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒ[ƒh‚·‚éSQLƒNƒGƒŠ‚Ì <literal>SELECT</literal> ‹å‚̃TƒuƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+            </para>
+
+        <programlisting><![CDATA[
+<property name="totalPrice"
+    formula="( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product p
+                WHERE li.productId = p.productId
+                AND li.customerId = customerId
+                AND li.orderNumber = orderNumber )"/>]]></programlisting>
+
+            <para>
+                “Á’è‚̃Jƒ‰ƒ€(—á‚Å‚Í <literal>customerId</literal> ‚ª‚»‚ê‚É‚ ‚½‚è‚Ü‚·)‚̃GƒCƒŠƒAƒX‚ðéŒ¾‚·‚邱‚Æ‚È‚­A
+                ƒGƒ“ƒeƒBƒeƒBŽ©g‚̃e[ƒuƒ‹‚ðŽQÆ‚Å‚«‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚à‚µ‘®«‚ðŽg—p‚µ‚½‚­‚È‚¯‚ê‚΁A
+                ƒlƒXƒg‚µ‚½ <literal>&lt;formula&gt;</literal> ƒ}ƒbƒsƒ“ƒO—v‘f‚ðŽg‚¦‚邱‚Æ‚É‚à’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+        <sect2 id="mapping-declaration-manytoone" revision="5">
+            <title>many-to-one</title>
+
+            <para>
+                ‘¼‚̉i‘±ƒNƒ‰ƒX‚ւ̒ʏí‚ÌŠÖ˜A‚Í <literal>many-to-one</literal> —v‘f‚ðŽg‚Á‚Ä’è‹`‚µ‚Ü‚·B
+                ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚Í‘½‘ΈêŠÖ˜A‚Å‚·B
+                ‚‚܂肠‚éƒe[ƒuƒ‹‚ÌŠO•”ƒL[‚́Aƒ^[ƒQƒbƒg‚Æ‚È‚éƒe[ƒuƒ‹‚ÌŽåƒL[ƒJƒ‰ƒ€‚ðŽQÆ‚µ‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="manytoone1" coords="2 70"/>
+                    <area id="manytoone2" coords="3 70"/>
+                    <area id="manytoone3" coords="4 70"/>
+                    <area id="manytoone4" coords="5 70"/>
+                    <area id="manytoone5" coords="6 70"/>
+                    <areaset id="manytoone6-7" coords="">
+                        <area id="manytoone6" coords='7 70'/>
+                        <area id="manytoone7" coords='8 70'/>
+                    </areaset>
+                    <area id="manytoone8" coords="9 70"/>
+                    <area id="manytoone9" coords="10 70"/>
+                    <area id="manytoone10" coords="11 70"/>
+                    <area id="manytoone11" coords="12 70"/>
+                    <area id="manytoone12" coords="13 70"/>
+                    <area id="manytoone13" coords="14 70"/>
+                    <area id="manytoone14" coords="15 70"/>
+                    <area id="manytoone15" coords="16 70"/>
+                    <area id="manytoone16" coords="17 70"/>
+                </areaspec>
+                <programlisting><![CDATA[<many-to-one
+        name="propertyName"
+        column="column_name"
+        class="ClassName"
+        cascade="cascade_style"
+        fetch="join|select"
+        update="true|false"
+        insert="true|false"
+        property-ref="propertyNameFromAssociatedClass"
+        access="field|property|ClassName"
+        unique="true|false"
+        not-null="true|false"
+        optimistic-lock="true|false"
+        lazy="proxy|no-proxy|false"
+        not-found="ignore|exception"
+        entity-name="EntityName"
+        formula="arbitrary SQL expression"
+        node="element-name|@attribute-name|element/@attribute|."
+        embed-xml="true|false"
+        index="index_name"
+        unique_key="unique_key_id"
+        foreign-key="foreign_key_name"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="manytoone1">
+                        <para>
+                            <literal>name</literal>FƒvƒƒpƒeƒB–¼B
+                        </para>                    
+                    </callout>                   
+                    <callout arearefs="manytoone2">
+                        <para>
+                            <literal>column</literal> (ƒIƒvƒVƒ‡ƒ“):ŠO•”ƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
+                            ƒlƒXƒg‚µ‚½ <literal>&lt;column&gt;</literal> —v‘f‚Å‚àŽw’è‚Å‚«‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone3">
+                        <para>
+                            <literal>class</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚́A
+                            ƒŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jFŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone4">
+                        <para>
+                            <literal>cascade</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            ‚Ç‚Ì‘€ì‚ðAeƒIƒuƒWƒFƒNƒg‚©‚çŠÖ˜AƒIƒuƒWƒFƒNƒg‚ւƃJƒXƒP[ƒh‚³‚¹‚é‚©‚ðŽw’肵‚Ü‚·B
+                        </para>                    
+                    </callout>
+                    <callout arearefs="manytoone5">
+                        <para>
+                            <literal>fetch</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>select</literal> ): 
+                               ŠO•”Œ‹‡ƒtƒFƒbƒ`‚©‡ŽŸ‘I‘ðƒtƒFƒbƒ`isequential select fetchj‚ð‘I‘ð‚µ‚Ü‚·B
+                        </para>                    
+                    </callout>
+                    <callout arearefs="manytoone6-7">
+                        <para>
+                            <literal>update, insert</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> jF
+                            ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì <literal>UPDATE</literal> ‚Ü‚½‚Í 
+                            <literal>INSERT</literal> •¶‚ÉŠÜ‚Ü‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                            —¼•û‚Æ‚à <literal>false</literal> ‚ɐݒ肷‚é‚ƁA
+                            ‚»‚Ì’l‚ª“¯‚¶ƒJƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚³‚ꂽ‘¼‚̃vƒƒpƒeƒB‚âƒgƒŠƒK‚â
+                            ‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚ú‰»‚³‚ꂽƒˆ‚ȁu“±ovƒvƒƒpƒeƒB‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+                        </para>                    
+                    </callout>
+                    <callout arearefs="manytoone8">
+                        <para>
+                            <literal>property-ref</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            ‚±‚ÌŠO•”ƒL[‚ÉŒ‹‡‚³‚ꂽŠÖ˜AƒNƒ‰ƒX‚̃vƒƒpƒeƒB–¼B
+                            ‰½‚àŽw’肵‚È‚¯‚ê‚΁AŠÖ˜AƒNƒ‰ƒX‚ÌŽåƒL[‚ªŽg‚í‚ê‚Ü‚·B
+                        </para>                
+                    </callout>                   
+                    <callout arearefs="manytoone9">
+                        <para>
+                            <literal>access</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone10">
+                        <para>
+                            <literal>unique</literal>iƒIƒvƒVƒ‡ƒ“jF
+                             ŠO•”ƒL[ƒJƒ‰ƒ€‚ɑ΂µ‚ă†ƒj[ƒN§–ñ‚ð‚‚¯‚½DDL‚̐¶¬‚ð‰Â”\‚É‚µ‚Ü‚·B
+                             ‚Ü‚½A<literal>property-ref</literal> ‚̃^[ƒQƒbƒg‚É‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                             ‚±‚ê‚É‚æ‚èŠÖ˜A‚Ì‘½d“x‚ðŒø‰Ê“I‚Ɉê‘Έê‚É‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone11">
+                        <para>
+                            <literal>not-null</literal> (ƒIƒvƒVƒ‡ƒ“):ŠO•”ƒL[ƒJƒ‰ƒ€‚ɑ΂µ‚āA
+                            null’l‚ð‹–‰Â‚·‚éDDL‚̐¶¬‚ð‰Â”\‚É‚µ‚Ü‚·
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone12">
+                        <para>
+                            <literal>optimistic-lock</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ):
+                            ‚±‚̃vƒƒpƒeƒB‚̍XV‚ÉŠyŠÏ“IƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            Œ¾‚¢Š·‚¦‚ê‚΁A‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚𑝂₷‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone13">
+                        <para>
+                            <literal>lazy</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>proxy</literal> ): 
+                            ƒfƒtƒHƒ‹ƒg‚ł́A‘½d“x‚P‚ÌŠÖ˜A‚ªƒvƒƒLƒV‚Æ‚È‚è‚Ü‚·B
+                            <literal>lazy="no-proxy"</literal> ‚́AƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ɍŏ‰‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ɁA
+                            ƒvƒƒpƒeƒB‚ð’x‰„ƒtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·
+                            (ƒrƒ‹ƒhŽž‚ɃoƒCƒgƒR[ƒhŽÀ‘•‚ª•K—v‚É‚È‚è‚Ü‚·)B
+                            <literal>lazy="false"</literal> ‚ÍŠÖ˜A‚ðí‚É‘¦Žž‚ɃtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone14">
+                        <para>
+                            <literal>not-found</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>exception</literal> ):
+                            Œ‡—Ž‚µ‚½s‚ðŽQÆ‚·‚éŠO•”ƒL[‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            <literal>ignore</literal> ‚ÍŒ‡—Ž‚µ‚½s‚ðnullŠÖ˜A‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="manytoone15">
+                        <para>
+                            <literal>entity-name</literal> (ƒIƒvƒVƒ‡ƒ“):ŠÖ˜A‚µ‚½ƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+                        </para>                   
+                    </callout>
+                </calloutlist>
+                    <callout arearefs="manytoone16">
+                        <para>
+                            <literal>formula</literal> (ƒIƒvƒVƒ‡ƒ“):
+                             <emphasis> ŒvŽZ‚³‚ꂽ</emphasis> ŠO•”ƒL[‚ɑ΂µ‚Ä’l‚ð’è‹`‚·‚éSQLŽ®
+                        </para>
+                    </callout>
+            </programlistingco>
+
+            <para>
+                <literal>cascade</literal> ‘®«‚É <literal>none</literal> ˆÈŠO‚̈Ӗ¡‚Ì‚ ‚é’l‚ð‚ðÝ’è‚·‚é‚ƁA
+                ŠÖ˜AƒIƒuƒWƒFƒNƒg‚Ö‚ ‚é‘€ì‚ª“`”d‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+                ˆÓ–¡‚Ì‚ ‚é’l‚Æ‚ÍHibernate‚ÌŠî–{‘€ì‚Ì–¼‘O‚Ì‚±‚ƂŁA
+                <literal>delete-orphan</literal> ‚Æ <literal>all</literal> A‘€ì–¼‚ðƒJƒ“ƒ}‚Å‹æØ‚Á‚½‘g‚ݍ‡‚킹
+                i—Ⴆ‚Î <literal>cascade="persist,merge,evict"</literal> ‚â
+                <literal>cascade="all,delete-orphan"</literal>jA
+                ‚Ü‚½‚»‚ꂾ‚¯‚Å‚È‚­ <literal>persist, merge, delete, save-update, evict, replicate, lock,
+                refresh</literal> ‚Ì‚±‚Æ‚ðŽw‚µ‚Ü‚·B
+                Ú‚µ‚¢à–¾‚Í <xref linkend="objectstate-transitive"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+                ’l‚ªˆê‚‚̊֘A(many-to-one‚Æone-to-oneŠÖ˜A)‚́A
+                ’P“Ƃł̍폜iorphan delete)‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            <para>
+                “TŒ^“I‚È <literal>many-to-one</literal> éŒ¾‚ÍŽŸ‚̂悤‚ɃVƒ“ƒvƒ‹‚Å‚·BF
+            </para>
+
+            <programlisting><![CDATA[<many-to-one name="product" class="Product" column="PRODUCT_ID"/>]]></programlisting>
+            
+            <para>
+                <literal>property-ref</literal> ‘®«‚́AŠO•”ƒL[‚ªŠÖ˜A•t‚¯‚ç‚ꂽƒe[ƒuƒ‹‚́AŽåƒL[‚Å‚È‚¢
+                ƒ†ƒj[ƒNƒL[‚ðŽQÆ‚µ‚Ä‚¢‚郌ƒKƒV[ƒf[ƒ^‚ðƒ}ƒbƒv‚·‚邽‚ß‚É‚¾‚¯Žg‚¤‚ׂ«‚Å‚·B
+                ‚±‚ê‚͏X‚¢ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚Å‚·B
+                —Ⴆ‚Î <literal>Product</literal> ƒNƒ‰ƒX‚ªA
+                ŽåƒL[‚Å‚È‚¢ƒ†ƒj[ƒN‚ȃVƒŠƒAƒ‹ƒiƒ“ƒo[‚ðŽ‚Á‚Ä‚¢‚é‚Ɖ¼’肵‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+                i <literal>unique</literal> ‘®«‚ÍSchemaExportƒc[ƒ‹‚ðŽg‚Á‚½Hibernate‚ÌDDL¶¬‚𐧌䂵‚Ü‚·Bj
+            </para>
+            
+            <programlisting><![CDATA[<property name="serialNumber" unique="true" type="string" column="SERIAL_NUMBER"/>]]></programlisting>
+            
+            <para>
+                ˆÈ‰º‚̂悤‚É <literal>OrderItem</literal> ‚ɑ΂µ‚ă}ƒbƒsƒ“ƒO‚ðŽg‚¦‚Ü‚·F
+            </para>
+            
+            <programlisting><![CDATA[<many-to-one name="product" property-ref="serialNumber" column="PRODUCT_SERIAL_NUMBER"/>]]></programlisting>
+            
+            <para>
+                ‚µ‚©‚µA‚±‚ê‚ÍŒˆ‚µ‚Đ„§‚Å‚«‚Ü‚¹‚ñB
+            </para>
+            
+            <para>
+                ŽQÆ‚µ‚½ƒ†ƒj[ƒNƒL[‚ªAŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚Ì‘½”‚̃vƒƒpƒeƒB‚©‚ç\¬‚³‚ê‚éê‡A
+                Žw’肵‚½ <literal>&lt;properties&gt;</literal> —v‘f“à‚ŁAŽQÆ‚·‚éƒvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‚ׂ«‚Å‚·B
+            </para>
+            
+            <para>
+                ‚à‚µŽQÆ‚µ‚½ƒ†ƒj[ƒNƒL[‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚̃vƒƒpƒeƒB‚Å‚ ‚éê‡‚́AƒvƒƒpƒeƒB‚̃pƒX‚ðŽw’è‚Å‚«‚Ü‚·B
+            </para>
+            
+           <programlisting><![CDATA[<many-to-one name="owner" property-ref="identity.ssn" column="OWNER_SSN"/>]]></programlisting>           
+            
+            
+        </sect2>
+        
+
+        <sect2 id="mapping-declaration-onetoone" revision="3">
+            <title>one-to-one</title>
+
+            <para>
+                ‘¼‚̉i‘±ƒNƒ‰ƒX‚ւ̈ê‘ΈêŠÖ˜A‚́A<literal>one-to-one</literal> —v‘f‚Å’è‹`‚µ‚Ü‚·B
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="onetoone1" coords="2 70"/>
+                    <area id="onetoone2" coords="3 70"/>
+                    <area id="onetoone3" coords="4 70"/>
+                    <area id="onetoone4" coords="5 70"/>
+                    <area id="onetoone5" coords="6 70"/>
+                    <area id="onetoone6" coords="7 70"/>
+                    <area id="onetoone7" coords="8 70"/>
+                    <area id="onetoone8" coords="9 70"/>
+                    <area id="onetoone9" coords="10 70"/>
+                    <area id="onetoone10" coords="11 70"/>
+                </areaspec>
+                <programlisting><![CDATA[<one-to-one
+        name="propertyName"
+        class="ClassName"
+        cascade="cascade_style"
+        constrained="true|false"
+        fetch="join|select"
+        property-ref="propertyNameFromAssociatedClass"
+        access="field|property|ClassName"
+        formula="any SQL expression"
+        lazy="proxy|no-proxy|false"
+        entity-name="EntityName"
+        node="element-name|@attribute-name|element/@attribute|."
+        embed-xml="true|false"
+        foreign-key="foreign_key_name"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="onetoone1">
+                        <para>
+                            <literal>name</literal>FƒvƒƒpƒeƒB–¼B
+                        </para>                
+                    </callout>                   
+                    <callout arearefs="onetoone2">
+                        <para>
+                            <literal>class</literal>iƒIƒvƒVƒ‡ƒ“ - 
+                            ƒfƒtƒHƒ‹ƒg‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jF
+                            ŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+                        </para>                   
+                    </callout>
+                    <callout arearefs="onetoone3">
+                        <para>
+                            <literal>cascade</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            eƒIƒuƒWƒFƒNƒg‚©‚çŠÖ˜AƒIƒuƒWƒFƒNƒg‚ցA‚Ç‚Ì‘€ì‚ðƒJƒXƒP[ƒh‚·‚é‚©‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="onetoone4">
+                        <para>
+                            <literal>constrained</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒe[ƒuƒ‹‚ÌŽåƒL[‚ɑ΂·‚éŠO•”ƒL[§–ñ‚ªA
+                            ŠÖ˜AƒNƒ‰ƒX‚̃e[ƒuƒ‹‚ðŽQÆ‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+                            ‚±‚̃IƒvƒVƒ‡ƒ“‚Í <literal>save()</literal> ‚Æ 
+                            <literal>delete()</literal> ‚ªƒJƒXƒP[ƒh‚³‚ê‚鏇˜‚ɉe‹¿‚µA
+                            ‚»‚µ‚ÄŠÖ˜A‚ªƒvƒƒLƒV‚³‚ê‚é‚©‚Ç‚¤‚©‚É‚à‰e‹¿‚µ‚Ü‚·
+                            i‚»‚µ‚ăXƒL[ƒ}ƒGƒNƒXƒ|[ƒgƒc[ƒ‹‚É‚àŽg‚í‚ê‚Ü‚·jB
+                        </para>                  
+                    </callout>
+                    <callout arearefs="onetoone5">
+                        <para>
+                            <literal>fetch</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>select</literal> jF
+                            ŠO•”Œ‹‡ƒtƒFƒbƒ`‚Ə‡ŽŸ‘I‘ðƒtƒFƒbƒ`isequential select fetchj‚Ì‚Ç‚¿‚ç‚©‚ð‘I‘ð‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="onetoone6">
+                        <para>
+                            <literal>property-ref</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            ‚±‚̃Nƒ‰ƒX‚ÌŽåƒL[‚ÉŒ‹‡‚³‚ꂽŠÖ˜AƒNƒ‰ƒX‚̃vƒƒpƒeƒB–¼B
+                            Žw’肳‚ê‚È‚¯‚ê‚΁AŠÖ˜AƒNƒ‰ƒX‚ÌŽåƒL[‚ªŽg‚í‚ê‚Ü‚·B
+                        </para>                
+                    </callout>                   
+                    <callout arearefs="onetoone7">
+                        <para>
+                            <literal>access</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                    <callout arearefs="onetoone8">
+                        <para>
+                            <literal>formula</literal> (ƒIƒvƒVƒ‡ƒ“):
+                            ‚Ù‚Æ‚ñ‚Ç‚·‚ׂĂ̈ê‘ΈêŠÖ˜A‚̓I[ƒi[‚̃Gƒ“ƒeƒBƒeƒB‚ÌŽåƒL[‚ւƃ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                            ‚±‚êˆÈŠO‚Ì‹H‚ȏꍇ‚́A
+                            ‘¼‚̃Jƒ‰ƒ€‚âA•¡”‚̃Jƒ‰ƒ€ASQL\•¶‚ðŽg‚Á‚½Œ‹‡‚·‚邽‚ß‚ÌŽ®‚ðŽw’è‚Å‚«‚Ü‚·B
+                            i—á‚Í <literal>org.hibernate.test.onetooneformula</literal> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢Bj
+                        </para>
+                    </callout>
+                    <callout arearefs="onetoone9">
+                        <para>
+                            <literal>lazy</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>proxy</literal> ): 
+                            ƒfƒtƒHƒ‹ƒg‚ł́A‘½d“x‚P‚ÌŠÖ˜A‚ªƒvƒƒLƒV‚Æ‚È‚è‚Ü‚·B
+                            <literal>lazy="no-proxy"</literal> ‚́AƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ɍŏ‰‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ɁA
+                            ƒvƒƒpƒeƒB‚ð’x‰„ƒtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·
+                            (ƒrƒ‹ƒhŽž‚ɃoƒCƒgƒR[ƒhŽÀ‘•‚ª•K—v‚É‚È‚è‚Ü‚·)B
+                            <literal>lazy="false"</literal> ‚ÍŠÖ˜A‚ðí‚É‘¦Žž‚ɃtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·B
+                            <emphasis>‚à‚µ <literal>constrained="false"</literal> ‚È‚ç‚΁A
+                            ƒvƒƒLƒV‚ÍŽg—p•s‰Â”\‚Æ‚È‚èAŠÖ˜A‚𑦎ž‚ɃtƒFƒbƒ`‚·‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢I</emphasis> 
+                            
+                        </para>
+                    </callout>
+                    <callout arearefs="onetoone10">
+                        <para>
+                            <literal>entity-name</literal> (ƒIƒvƒVƒ‡ƒ“):ŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼
+                        </para>                   
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+        
+            <para>
+                ˆê‘ΈêŠÖ˜A‚É‚Í2Ží—Þ‚ ‚è‚Ü‚·F
+            </para>
+            <itemizedlist>
+            <listitem><para>
+                ŽåƒL[ŠÖ˜A
+            </para></listitem>
+            <listitem><para>
+                ƒ†ƒj[ƒNŠO•”ƒL[ŠÖ˜A
+            </para></listitem>
+            </itemizedlist>
+            
+            <para>
+                ŽåƒL[ŠÖ˜A‚ɂ́A“Á•Ê‚ȃe[ƒuƒ‹ƒJƒ‰ƒ€‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
+                ‚à‚µ2‚‚̍s‚ªŠÖ˜A‚É‚æ‚èŠÖŒW‚µ‚Ä‚¢‚ê‚΁A2‚‚̃e[ƒuƒ‹‚Í“¯‚¶ŽåƒL[‚Ì’l‚ð‹¤—L‚µ‚Ü‚·B
+                ‚»‚Ì‚½‚ß2‚‚̃IƒuƒWƒFƒNƒg‚ðŽåƒL[ŠÖ˜A‚É‚æ‚Á‚ÄŠÖ˜A•t‚¯‚½‚¢‚Ì‚Å‚ ‚ê‚΁A
+                ŠmŽÀ‚É“¯‚¶Ž¯•ÊŽq‚Ì’l‚ð‘ã“ü‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+            
+            <para>
+                 ŽåƒL[ŠÖ˜A‚ðs‚¤‚½‚߂ɂ́AˆÈ‰º‚̃}ƒbƒsƒ“ƒO‚ð <literal>Employee</literal> ‚Æ 
+                <literal>Person</literal> ‚Ì‚»‚ꂼ‚ê‚ɒljÁ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[<one-to-one name="person" class="Person"/>]]></programlisting>
+            <programlisting><![CDATA[<one-to-one name="employee" class="Employee" constrained="true"/>]]></programlisting>
+
+            <para>
+                ‚±‚±‚ŁAPERSON‚ÆEMPLOYEEƒe[ƒuƒ‹‚ÌŠÖŒW‚·‚és‚ÌŽåƒL[‚ª“¯‚¶‚Å‚ ‚邱‚Æ‚ðŠmŽÀ‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚Ü‚¹‚ñB
+                ‚±‚±‚ł́A<literal>foreign</literal> ‚Æ‚¢‚¤“ÁŽê‚ÈHibernateŽ¯•ÊŽq¶¬í—ª‚ðŽg‚¢‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[<class name="person" table="PERSON">
+    <id name="id" column="PERSON_ID">
+        <generator class="foreign">
+            <param name="property">employee</param>
+        </generator>
+    </id>
+    ...
+    <one-to-one name="employee"
+        class="Employee"
+        constrained="true"/>
+</class>]]></programlisting>
+
+            <para>
+                <literal>Employee</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ªA<literal>Person</literal> ‚Ì 
+                <literal>employee</literal> ƒvƒƒpƒeƒB‚ÅŽQÆ‚³‚ê‚é‚悤‚ɁA
+                V‚µ‚­ƒZ[ƒu‚³‚ꂽ <literal>Person</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚É‚Í“¯‚¶ŽåƒL[‚Ì’l‚ª‘ã“ü‚³‚ê‚Ü‚·B
+                
+                V‚µ‚­ƒZ[ƒu‚·‚é <literal>Person</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚́A
+                ‚»‚Ì <literal>Person</literal> ‚Ì <literal>employee</literal> ƒvƒƒpƒeƒB‚ªŽQÆ‚·‚é 
+                <literal>Employee</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‚µ‚Ä“¯‚¶ŽåƒL[‚ªŠ„‚è“–‚Ä‚ç‚ê‚Ü‚·B
+            </para>
+
+            <para>
+                ‚à‚¤1‚‚̕û–@‚Æ‚µ‚āA<literal>Employee</literal> ‚©‚ç <literal>Person</literal> ‚Ö‚Ì
+                ƒ†ƒj[ƒN§–ñ‚ðŽg‚Á‚½ŠO•”ƒL[ŠÖ˜A‚͈ȉº‚̂悤‚É•\Œ»‚³‚ê‚Ü‚·F
+            </para>
+            
+            <programlisting><![CDATA[<many-to-one name="person" class="Person" column="PERSON_ID" unique="true"/>]]></programlisting>
+            
+            <para>
+                ‚»‚µ‚Ä‚±‚ÌŠÖ˜A‚́A
+                ˆÈ‰º‚Ì‹Lq‚ð <literal>Person</literal> ‚̃}ƒbƒsƒ“ƒO‚ɒljÁ‚·‚邱‚Æ‚Å‘o•ûŒü‚É‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·F
+            </para>
+            
+           <programlisting><![CDATA[<one-to-one name="employee" class="Employee" property-ref="person"/>]]></programlisting>
+
+        </sect2>
+        
+        <sect2 id="mapping-declaration-naturalid">
+            <title>natural-id</title>
+
+            <programlisting><![CDATA[<natural-id mutable="true|false"/>
+        <property ... />
+        <many-to-one ... />
+        ......
+</natural-id>]]></programlisting>
+
+            <para>
+                ŽåƒL[‚Æ‚µ‚đ㗝ƒL[‚ÌŽg—p‚𐄏§‚µ‚Ü‚·‚ªA
+                ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚ÄŽ©‘RƒL[‚ðŽ¯•Ê‚·‚é‚悤‚É‚·‚ׂ«‚Å‚·B
+                Ž©‘RƒL[‚̓†ƒj[ƒN‚©‚”ñnull‚Ȉê‚‚̃vƒƒpƒeƒBA‚Ü‚½‚̓vƒƒpƒeƒB‚̘AŒ‹‚Å‚·B
+                •s•Ï‚Å‚ ‚ê‚΂³‚ç‚É—Ç‚¢‚Å‚·B
+                <literal>&lt;natural-id&gt;</literal> —v‘f“à‚ÅŽ©‘RƒL[‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                Hibernate‚Í•K‘R“I‚Ƀ†ƒj[ƒN‚©‚Ânull’l‚ð‹–‰Â‚·‚鐧–ñ‚𐶐¬‚µA
+                ‚±‚¤‚µ‚ă}ƒbƒsƒ“ƒO‚Í‚æ‚莩ŒÈ‹Lq“I‚É‚È‚è‚Ü‚·B
+            </para>
+            
+            <para>
+                ƒGƒ“ƒeƒBƒeƒB‚ÌŽ©‘RƒL[ƒvƒƒpƒeƒB‚Ì”äŠr‚ɂ́A
+                <literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚ÌŽÀ‘•‚ð‹­‚­‚¨Š©‚ß‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚̃}ƒbƒsƒ“ƒO‚ÍŽ©‘RŽåƒL[‚ðŽg‚Á‚½ƒGƒ“ƒeƒBƒeƒB‚Å‚ÌŽg—p‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñB
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para>
+                        <literal>mutable</literal> (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ): 
+                        ƒfƒtƒHƒ‹ƒg‚ł́AŽ©‘RŽ¯•ÊŽqƒvƒƒpƒeƒB‚Í•s•Ï(’萔)‚Æ‘z’肳‚ê‚Ä‚¢‚Ü‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+            
+        </sect2>
+        
+        <sect2 id="mapping-declaration-component" revision="2">
+            <title>component, dynamic-component</title>
+
+            <para>
+                <literal>&lt;component&gt;</literal> —v‘f‚́A
+                ŽqƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚ðeƒNƒ‰ƒX‚̃e[ƒuƒ‹‚̃Jƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                ƒRƒ“ƒ|[ƒlƒ“ƒg‚ÍŽ©•ª‚̃vƒƒpƒeƒBAƒRƒ“ƒ|[ƒlƒ“ƒgAƒRƒŒƒNƒVƒ‡ƒ“‚̏‡‚É’è‹`‚Å‚«‚Ü‚·B
+                ˆÈ‰º‚́uƒRƒ“ƒ|[ƒlƒ“ƒgv‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="component1" coords="2 45"/>
+                    <area id="component2" coords="3 45"/>
+                    <area id="component3" coords="4 45"/>
+                    <area id="component4" coords="5 45"/>
+                    <area id="component5" coords="6 45"/>
+                    <area id="component6" coords="7 45"/>
+                    <area id="component7" coords="8 45"/>
+                    <area id="component8" coords="9 45"/>
+                </areaspec>            
+                <programlisting><![CDATA[<component 
+        name="propertyName" 
+        class="className"
+        insert="true|false"
+        update="true|false"
+        access="field|property|ClassName"
+        lazy="true|false"
+        optimistic-lock="true|false"
+        unique="true|false"
+        node="element-name|."
+>
+        
+        <property ...../>
+        <many-to-one .... />
+        ........
+</component>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="component1">
+                        <para>
+                            <literal>name</literal>FƒvƒƒpƒeƒB–¼B
+                        </para>               
+                    </callout>                   
+                    <callout arearefs="component2">
+                        <para>
+                            <literal>class</literal> 
+                            iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jF
+                            ƒRƒ“ƒ|[ƒlƒ“ƒgiŽqjƒNƒ‰ƒX‚Ì–¼‘OB
+                        </para>                 
+                    </callout>
+                    <callout arearefs="component3">
+                        <para>
+                            <literal>insert</literal> Fƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì 
+                            <literal>INSERT</literal> ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                        </para>               
+                    </callout>                   
+                    <callout arearefs="component4">
+                        <para>
+                            <literal>update</literal> : ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL ‚Ì 
+                            <literal>UPDATE</literal> ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                        </para>               
+                    </callout>                   
+                    <callout arearefs="component5">
+                        <para>
+                             <literal>access</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                   <callout arearefs="component6">
+                        <para>
+                            <literal>lazy</literal> (optional - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                           ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ɍŏ‰‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ɁA
+                           ƒRƒ“ƒ|[ƒlƒ“ƒg‚ð’x‰„‚µ‚ătƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·B
+                           (ƒoƒCƒgƒR[ƒhŽÀ‘•‚ðì¬‚·‚鎞ŠÔ‚ª•K—v‚É‚È‚è‚Ü‚·)
+                        </para>
+                    </callout>
+                    <callout arearefs="component7">
+                            <para>
+                                <literal>optimistic-lock</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ):
+                            ‚±‚̃vƒƒpƒeƒB‚̍XV‚ɁAŠyŠÏƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            Œ¾‚¢Š·‚¦‚ê‚΁A‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚𑝂₷‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+                            </para>
+                    </callout>
+                    <callout arearefs="component8">
+                            <para>
+                                <literal>unique</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                                ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‚·‚ׂẴ}ƒbƒsƒ“ƒO‚·‚éƒJƒ‰ƒ€‚ɁAƒ†ƒj[ƒN§–ñ‚ª‘¶Ý‚·‚é‚©‚ðŽw’肵‚Ü‚·B
+                            </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                Žq‚Ì <literal>&lt;property&gt;</literal> ƒ^ƒO‚ŁA
+                Žq‚̃Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ðƒe[ƒuƒ‹ƒJƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>&lt;component&gt;</literal> —v‘f‚́AeƒGƒ“ƒeƒBƒeƒB‚Ö–ß‚éŽQÆ‚Æ‚µ‚āA
+                ƒRƒ“ƒ|[ƒlƒ“ƒg‚̃Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚é <literal>&lt;parent&gt;</literal> ƒTƒu—v‘f‚ð‹–‰Â‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>&lt;dynamic-component&gt;</literal> —v‘f‚́A
+                <literal>Map</literal> ‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ê‚邱‚Æ‚ð‰Â”\‚É‚µ‚Ü‚·B
+                ƒvƒƒpƒeƒB–¼‚Ímap‚̃L[‚ðŽQÆ‚µ‚Ü‚·B<xref linkend="components-dynamic"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                
+            </para>
+            
+        </sect2>
+
+        <sect2 id="mapping-declaration-properties" revision="2">
+            <title>properties</title>
+
+            <para>
+                <literal>&lt;properties&gt;</literal> —v‘f‚̓Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ÌŽw’肳‚ꂽA
+                ˜_—“I‚ȃOƒ‹[ƒsƒ“ƒO‚ð‰Â”\‚É‚µ‚Ü‚·B
+                ‚±‚̍\‘¢‚̍łàd—v‚ÈŽg—p•û–@‚́A
+                <literal>property-ref</literal> ‚̃^[ƒQƒbƒg‚É‚È‚éƒvƒƒpƒeƒB‚ÌŒ‹‡‚ð‹–‰Â‚·‚邱‚Æ‚Å‚·B
+                ‚»‚ê‚Í‚Ü‚½A•¡”ƒJƒ‰ƒ€‚̃†ƒj[ƒN§–ñ‚ð’è‹`‚·‚éŠÈ’P‚È•û–@‚Å‚à‚ ‚è‚Ü‚·B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="properties1" coords="2 45"/>
+                    <area id="properties2" coords="3 45"/>
+                    <area id="properties3" coords="4 45"/>
+                    <area id="properties4" coords="5 45"/>
+                    <area id="properties5" coords="6 45"/>
+                </areaspec>            
+                <programlisting><![CDATA[<properties 
+        name="logicalName" 
+        insert="true|false"
+        update="true|false"
+        optimistic-lock="true|false"
+        unique="true|false"
+>
+        
+        <property ...../>
+        <many-to-one .... />
+        ........
+</properties>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="properties1">
+                        <para>
+                            <literal>name</literal> : ƒOƒ‹[ƒsƒ“ƒO‚̘_—–¼B
+                            ŽÀÛ‚̃vƒƒpƒeƒB–¼‚Å‚Í <emphasis>‚ ‚è‚Ü‚¹‚ñ</emphasis> B
+                        </para>               
+                    </callout>                   
+                    <callout arearefs="properties2">
+                        <para>
+                            <literal>insert</literal>Fƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì 
+                            <literal>INSERT</literal> ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                        </para>               
+                    </callout>                   
+                    <callout arearefs="properties3">
+                        <para>
+                            <literal>update</literal>Fƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì 
+                            <literal>UPDATE</literal> ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                        </para>               
+                    </callout>                   
+                    <callout arearefs="properties4">
+                            <para>
+                                <literal>optimistic-lock</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ):
+                            ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚̍XV‚ÉŠyŠÏ“IƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            Œ¾‚¢Š·‚¦‚ê‚΁A‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚𑝂₷‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+                            </para>
+                    </callout>
+                    <callout arearefs="properties5">
+                            <para>
+                                <literal>unique</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                                ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‚·‚ׂẴ}ƒbƒsƒ“ƒO‚·‚éƒJƒ‰ƒ€‚ɁAƒ†ƒj[ƒN§–ñ‚ª‘¶Ý‚·‚é‚©‚ðŽw’肵‚Ü‚·B
+                            </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+            
+            <para>
+                —Ⴆ‚΁A‚à‚µˆÈ‰º‚̂悤‚È <literal>&lt;properties&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚ª‚ ‚Á‚½ê‡F
+            </para>
+            
+            <programlisting><![CDATA[<class name="Person">
+    <id name="personNumber"/>
+    ...
+    <properties name="name" 
+            unique="true" update="false">
+        <property name="firstName"/>
+        <property name="initial"/>
+        <property name="lastName"/>
+    </properties>
+</class>]]></programlisting>
+
+            <para>
+                ŽåƒL[‚Ì‘ã‚í‚è‚É <literal>Person</literal> ƒe[ƒuƒ‹‚̃†ƒj[ƒNƒL[‚Ö‚ÌŽQÆ‚ðŽ‚ÂA
+                ƒŒƒKƒV[ƒf[ƒ^‚ÌŠÖ˜A‚ðŽ‚Â‚©‚à‚µ‚ê‚Ü‚¹‚ñBF
+            </para>
+
+            <programlisting><![CDATA[<many-to-one name="person" 
+         class="Person" property-ref="name">
+    <column name="firstName"/>
+    <column name="initial"/>
+    <column name="lastName"/>
+</many-to-one>]]></programlisting>
+            
+            <para>
+                ‚µ‚©‚µA‚±‚̂悤‚ȃŒƒKƒV[ƒf[ƒ^ƒ}ƒbƒsƒ“ƒO‚̃Rƒ“ƒeƒLƒXƒgŠO‚Ö‚ÌŽg—p‚͐„§‚µ‚Ü‚¹‚ñB
+            </para>
+            
+        </sect2>
+
+        <sect2 id="mapping-declaration-subclass" revision="4">
+            <title>subclass</title>
+
+            <para>
+                ÅŒã‚Ƀ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȉi‘±‰»‚ɂ́Aƒ‹[ƒg‚̉i‘±ƒNƒ‰ƒX‚ÌŠeƒTƒuƒNƒ‰ƒX‚Ì’è‹`‚ª•K—v‚Å‚·B
+                table-per-class-hierarchyƒ}ƒbƒsƒ“ƒOí—ª‚ł́A
+                <literal>&lt;subclass&gt;</literal> ’è‹`‚ªŽg‚í‚ê‚Ü‚·B
+            </para>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="subclass1" coords="2 55"/>
+                    <area id="subclass2" coords="3 55"/>
+                    <area id="subclass3" coords="4 55"/>
+                    <area id="subclass4" coords="5 55"/>
+                </areaspec>
+                <programlisting><![CDATA[<subclass
+        name="ClassName"
+        discriminator-value="discriminator_value"
+        proxy="ProxyInterface"
+        lazy="true|false"
+        dynamic-update="true|false"
+        dynamic-insert="true|false"
+        entity-name="EntityName"
+        node="element-name"
+        extends="SuperclassName">
+
+        <property .... />
+        .....
+</subclass>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="subclass1">
+                        <para>
+                            <literal>name</literal>FƒTƒuƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+                        </para>              
+                    </callout>                   
+                    <callout arearefs="subclass2">
+                        <para>
+                            <literal>discriminator-value</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓Nƒ‰ƒX–¼jF
+                            ŒÂX‚̃TƒuƒNƒ‰ƒX‚ð‹æ•Ê‚·‚邽‚ß‚Ì’lB
+                        </para>               
+                    </callout>
+                    <callout arearefs="subclass3">
+                        <para>
+                            <literal>proxy</literal>iƒIƒvƒVƒ‡ƒ“jF
+                            ’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg‚¤ƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+                        </para>               
+                    </callout>
+                    <callout arearefs="subclass4">
+                        <para>
+                            <literal>lazy</literal>iƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> jF 
+                            <literal>lazy="false"</literal> ‚Ɛݒ肷‚é‚ƁA’x‰„ƒtƒFƒbƒ`‚ªŽg—p‚Å‚«‚Ü‚¹‚ñB
+                        </para>
+                    </callout>    
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                ŠeƒTƒuƒNƒ‰ƒX‚ł́A‰i‘±ƒvƒƒpƒeƒB‚ƃTƒuƒNƒ‰ƒX‚ð’è‹`‚µ‚Ü‚·B  
+                <literal>&lt;version&gt;</literal> ‚Æ <literal>&lt;id&gt;</literal> ƒvƒƒpƒeƒB‚́A
+                ƒ‹[ƒgƒNƒ‰ƒX‚©‚çŒp³‚³‚ê‚é‚Ɖ¼’肳‚ê‚Ü‚·B
+                ŠK‘w\‘¢‚É‚¨‚¯‚éƒTƒuƒNƒ‰ƒX‚́A
+                ƒ†ƒj[ƒN‚È <literal>discriminator-value</literal> ‚ð’è‹`‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                none‚ªŽw’肳‚ê‚é‚ƁAŠ®‘SCü‚³‚ꂽJavaƒNƒ‰ƒX–¼‚ªŽg‚í‚ê‚Ü‚·B
+            </para>
+            
+<!--
+       <para>
+            It is possible to define <literal>subclass</literal>, <literal>union-subclass</literal>,
+            and <literal>joined-subclass</literal> mappings in separate mapping documents, directly beneath
+            <literal>hibernate-mapping</literal>. This allows you to extend a class hierachy just by adding
+            a new mapping file. You must specify an <literal>extends</literal> attribute in the subclass mapping,
+            naming a previously mapped superclass. Note: Previously this feature made the ordering of the mapping
+            documents important. Since Hibernate3, the ordering of mapping files does not matter when using the
+            extends keyword. The ordering inside a single mapping file still needs to be defined as superclasses
+            before subclasses.
+            
+            <literal>subclass</literal> A<literal>union-subclass</literal> A
+            <literal>joined-subclass</literal> ƒ}ƒbƒsƒ“ƒO‚ð 
+            <literal>hibernate-mapping</literal> ’¼‰º‚̕ʂ̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg“à‚Ő錾‚Å‚«‚Ü‚·B
+            ‚±‚ê‚É‚æ‚èAV‚µ‚¢ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð’ljÁ‚·‚邾‚¯‚ŃNƒ‰ƒXŠK‘w‚ðŠg’£‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚ ‚ç‚©‚¶‚߃}ƒbƒsƒ“ƒO‚·‚éƒX[ƒp[ƒNƒ‰ƒX‚ðŽw’肵‚½ƒTƒuƒNƒ‰ƒXƒ}ƒbƒsƒ“ƒO“à‚ŁA
+            <literal>extends</literal> ‘®«‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            ’ˆÓF‚±‚Ì“Á«‚̓}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̏‡”Ô•t‚¯‚ªd—v‚É‚È‚è‚Ü‚·B
+            Hibernate3‚ł́AŠg’£ƒL[ƒ[ƒh‚ðŽg‚¤‚Æ‚«‚ɂ́Aƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚̏‡˜•t‚¯‚Í–â‘è‚É‚È‚è‚Ü‚¹‚ñB
+            ˆê‚‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚ł̏‡˜•t‚¯‚Í–¢‚¾‚ɁAƒTƒuƒNƒ‰ƒX‚Ì‘O‚ɃX[ƒp[ƒNƒ‰ƒX‚Æ‚µ‚Ä’è‹`‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+        </para>
+        
+    
+        <programlisting><![CDATA[
+<hibernate-mapping>
+    <subclass name="DomesticCat" extends="Cat" discriminator-value="D">
+         <property name="name" type="string"/>
+    </subclass>
+</hibernate-mapping>]]></programlisting>
+-->
+
+            <para>
+                Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÖ‚·‚éî•ñ‚Í <xref linkend="inheritance"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+        
+
+         <sect2 id="mapping-declaration-joinedsubclass" revision="3">
+            <title>joined-subclass</title>
+
+            <para>
+                ‚à‚¤1‚‚̕û–@‚Æ‚µ‚āAŠeƒTƒuƒNƒ‰ƒX‚ðŽ©g‚̃e[ƒuƒ‹‚Öƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·
+                (table-per-subclass mapping strategy)B
+                Œp³‚µ‚½ó‘Ԃ̓X[ƒp[ƒNƒ‰ƒX‚̃e[ƒuƒ‹‚ðŽg‚Á‚½Œ‹‡‚ÅŒŸõ‚µ‚Ü‚·B
+                <literal>&lt;joined-subclass&gt;</literal> —v‘f‚ðŽg—p‚µ‚Ü‚·B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="joinedsubclass1" coords="2 45"/>
+                    <area id="joinedsubclass2" coords="3 45"/>
+                    <area id="joinedsubclass3" coords="4 45"/>
+                    <area id="joinedsubclass4" coords="5 45"/>
+                </areaspec>
+                <programlisting><![CDATA[<joined-subclass
+        name="ClassName"
+        table="tablename"
+        proxy="ProxyInterface"
+        lazy="true|false"
+        dynamic-update="true|false"
+        dynamic-insert="true|false"
+        schema="schema"
+        catalog="catalog"
+        extends="SuperclassName"
+        persister="ClassName"
+        subselect="SQL expression"
+        entity-name="EntityName"
+        node="element-name">
+
+        <key .... >
+
+        <property .... />
+        .....
+</joined-subclass>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="joinedsubclass1">
+                        <para>
+                            <literal>name</literal>FƒTƒuƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="joinedsubclass2">
+                        <para>
+                            <literal>table</literal> :ƒTƒuƒNƒ‰ƒXƒe[ƒuƒ‹‚Ì–¼‘OB
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="joinedsubclass3">
+                        <para>
+                            <literal>proxy</literal> (ƒIƒvƒVƒ‡ƒ“):
+                            ’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg—p‚·‚éƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+                        </para>              
+                    </callout>
+                    <callout arearefs="joinedsubclass4">
+                        <para>
+                            <literal>lazy</literal> (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ): 
+                            <literal>lazy="false"</literal> ‚Æ‚·‚é‚ƁA’x‰„ƒtƒFƒbƒ`‚ªŽg—p‚Å‚«‚Ü‚¹‚ñB
+                         </para>
+                    </callout>    
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                ‚±‚̃}ƒbƒsƒ“ƒOí—ª‚ɂ́AŽ¯•ÊƒJƒ‰ƒ€‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
+                ‚µ‚©‚µŠeƒTƒuƒNƒ‰ƒX‚Í <literal>&lt;key&gt;</literal> —v‘f‚ðŽg‚¢A
+                ƒIƒuƒWƒFƒNƒgŽ¯•ÊŽq‚ð•ÛŽ‚·‚éƒe[ƒuƒ‹ƒJƒ‰ƒ€‚ð’è‹`‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‚±‚̏͂̏‰‚߂̃}ƒbƒsƒ“ƒO‚͈ȉº‚̂悤‚ɏ‘‚«’¼‚¹‚Ü‚·F
+            </para>
+            
+        <programlisting><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+        "-//Hibernate/Hibernate Mapping DTD//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="eg">
+
+        <class name="Cat" table="CATS">
+                <id name="id" column="uid" type="long">
+                        <generator class="hilo"/>
+                </id>
+                <property name="birthdate" type="date"/>
+                <property name="color" not-null="true"/>
+                <property name="sex" not-null="true"/>
+                <property name="weight"/>
+                <many-to-one name="mate"/>
+                <set name="kittens">
+                        <key column="MOTHER"/>
+                        <one-to-many class="Cat"/>
+                </set>
+                <joined-subclass name="DomesticCat" table="DOMESTIC_CATS">
+                    <key column="CAT"/>
+                    <property name="name" type="string"/>
+                </joined-subclass>
+        </class>
+
+        <class name="eg.Dog">
+                <!-- ‚±‚±‚ÉDog‚̃}ƒbƒsƒ“ƒO‚ð‘‚«‚Ü‚· -->
+        </class>
+
+</hibernate-mapping>]]></programlisting>
+
+             <para>
+                 Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÖ‚·‚éî•ñ‚Í <xref linkend="inheritance"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+             </para>
+
+        </sect2>
+
+        <sect2 id="mapping-declaration-unionsubclass" revision="2">
+           <title>union-subclass</title>
+
+           <para>
+               3‚–ڂ̑I‘ðŽˆ‚ÍAŒp³ŠK‘w‚Ì‹ïÛƒNƒ‰ƒX‚Ì‚Ý‚ðƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚Å‚·
+               (the table-per-concrete-classí—ª)B
+               ‚»‚ꂼ‚ê‚̃e[ƒuƒ‹‚ÍŒp³‚̏ó‘Ô‚ðŠÜ‚ß‚·‚ׂẴNƒ‰ƒX‚̉i‘±ó‘Ô‚ð’è‹`‚µ‚Ü‚·B
+               Hibernate‚Å‚Í‚»‚Ì—l‚ÈŒp³ŠK‘w‚ª•K‚¸‚µ‚à•K—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+               ’Pƒ‚É‚»‚ꂼ‚ê‚̃Nƒ‰ƒX‚ðA
+               •ÊX‚Ì <literal>&lt;class&gt;</literal> éŒ¾‚ðŽg‚Á‚ă}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+               ‚µ‚©‚µƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈŠÖ˜A(—Ⴆ‚Î ŠK‘w‚̃X[ƒp[ƒNƒ‰ƒX‚Ö‚ÌŠÖ˜A)‚ðŽg‚¢‚½‚¢‚È‚çA
+               <literal>&lt;union-subclass&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚ðŽg‚¤•K—v‚ª‚ ‚è‚Ü‚·B
+               
+           </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="unionsubclass1" coords="2 45"/>
+                    <area id="unionsubclass2" coords="3 45"/>
+                    <area id="unionsubclass3" coords="4 45"/>
+                    <area id="unionsubclass4" coords="5 45"/>
+                </areaspec>
+                <programlisting><![CDATA[<union-subclass
+        name="ClassName"
+        table="tablename"
+        proxy="ProxyInterface"
+        lazy="true|false"
+        dynamic-update="true|false"
+        dynamic-insert="true|false"
+        schema="schema"
+        catalog="catalog"
+        extends="SuperclassName"
+        abstract="true|false"
+        persister="ClassName"
+        subselect="SQL expression"
+        entity-name="EntityName"
+        node="element-name">
+
+        <property .... />
+        .....
+</union-subclass>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="unionsubclass1">
+                        <para>
+                            <literal>name</literal>FƒTƒuƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="unionsubclass2">
+                        <para>
+                            <literal>table</literal> :ƒTƒuƒNƒ‰ƒXƒe[ƒuƒ‹‚Ì–¼‘OB
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="unionsubclass3">
+                        <para>
+                            <literal>proxy</literal> (ƒIƒvƒVƒ‡ƒ“):
+                            ’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg—p‚·‚éƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+                        </para>              
+                    </callout>
+                    <callout arearefs="unionsubclass4">
+                        <para>
+                            <literal>lazy</literal> (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ): 
+                            <literal>lazy="false"</literal> ‚Æ‚·‚é‚ƁA’x‰„ƒtƒFƒbƒ`‚ªŽg—p‚Å‚«‚Ü‚¹‚ñB
+                         </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                ‚±‚̃}ƒbƒsƒ“ƒOí—ª‚Å‚ÍŽ¯•ÊƒJƒ‰ƒ€‚âƒL[ƒJƒ‰ƒ€‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÖ‚·‚éî•ñ‚Í <xref linkend="inheritance"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+       <sect2 id="mapping-declaration-join" revision="3">
+            <title>join</title>
+
+            <para>
+                <literal>&lt;join&gt;</literal> —v‘f‚ðŽg‚¤‚±‚ƂŁA
+                ‚P‚‚̃Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ð‚¢‚­‚‚à‚̃e[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="join1" coords="2 50"/>
+                    <area id="join2" coords="3 50"/>
+                    <area id="join3" coords="4 50"/>
+                    <area id="join4" coords="5 50"/>
+                    <area id="join5" coords="6 50"/>
+                    <area id="join6" coords="7 50"/>
+                </areaspec>
+                <programlisting><![CDATA[<join
+        table="tablename"
+        schema="owner"
+        catalog="catalog"
+        fetch="join|select"
+        inverse="true|false"
+        optional="true|false">
+        
+        <key ... />
+        
+        <property ... />
+        ...
+</join>]]></programlisting>
+
+                <calloutlist>
+                    <callout arearefs="join1">
+                        <para>
+                            <literal>table</literal> :Œ‹‡‚µ‚½ƒe[ƒuƒ‹‚Ì–¼‘O
+                        </para>
+                    </callout>
+                    <callout arearefs="join2">
+                        <para>
+                           <literal>schema</literal> (ƒIƒvƒVƒ‡ƒ“):
+                           ƒ‹[ƒg‚Ì <literal>&lt;hibernate-mapping&gt;</literal> —v‘f‚ÅŽw’肵‚½ƒXƒL[ƒ}–¼‚ð
+                           ƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="join3">
+                        <para>
+                            <literal>catalog</literal> (ƒIƒvƒVƒ‡ƒ“):
+                            ƒ‹[ƒg‚Ì <literal>&lt;hibernate-mapping&gt;</literal> —v‘f‚ÅŽw’肵‚½ƒJƒ^ƒƒO–¼‚ð
+                            ƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="join4">
+                        <para>
+                            <literal>fetch</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>join</literal> ): 
+                            <literal>join</literal> ‚ðÝ’肵‚½ê‡A
+                            Hibernate‚̓fƒtƒHƒ‹ƒg‚ŁAƒNƒ‰ƒX‚âƒX[ƒp[ƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <literal>&lt;join&gt;</literal> 
+                            ‚ðŒŸõ‚·‚é‚Ì‚É“à•”Œ‹‡‚ðŽg‚¢AƒTƒuƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <literal>&lt;join&gt;</literal> 
+                            ‚ðŒŸõ‚·‚é‚Ì‚ÉŠO•”Œ‹‡‚ðŽg‚¢‚Ü‚·B
+                            <literal>select</literal> ‚ðÝ’肵‚½ê‡‚ɂ́A
+                            Hibernate‚̓TƒuƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <literal>&lt;join&gt;</literal> 
+                            ‚Ì‘I‘ð‚ɏ‡ŽŸ‘I‘ð‚ðŽg‚¢‚Ü‚·B‚±‚̏ꍇA
+                            s‚ªƒTƒuƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‘ã•\‚·‚邱‚Æ‚ª‚í‚©‚Á‚½ê‡‚É‚Ì‚Ý”­s‚³‚ê‚Ü‚·B
+                            “à•”Œ‹‡‚̓Nƒ‰ƒX‚â‚»‚̃X[ƒp[ƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <literal>&lt;join&gt;</literal> ‚ðŒŸõ
+                            ‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B                            
+                        </para>
+                    </callout>
+                    <callout arearefs="join5">
+                        <para>
+                            <literal>inverse</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                            ‚à‚µ‰Â”\‚Å‚ ‚ê‚΁AHibernate‚Í‚±‚ÌŒ‹‡‚Å’è‹`‚³‚ê‚Ä‚¢‚éƒvƒƒpƒeƒB‚ɑ΂µ
+                            ‘}“ü‚âXV‚ðs‚¢‚Ü‚¹‚ñB
+                        </para>
+                    </callout>
+                    <callout arearefs="join6">
+                        <para>
+                            <literal>optional</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal> ):
+                            ‚à‚µ‰Â”\‚Å‚ ‚ê‚΁AHibernate‚Í‚±‚ÌŒ‹‡‚Å’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚ªnull‚Å‚È‚¢ê‡‚É‚Ì‚Ý
+                            s‚ð‘}“ü‚µA‚»‚̃vƒƒpƒeƒB‚ÌŒŸõ‚ɂ͏í‚ÉŠO•”Œ‹‡‚ðŽg—p‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                —Ⴆ‚ΐl‚̃AƒhƒŒƒX‚̏î•ñ‚𕪗£‚µ‚½ƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‰Â”\‚Å‚·
+                (‚·‚ׂẴvƒƒpƒeƒB‚ɑ΂µ‚Ä’lŒ^‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ð•ÛŽ‚µ‚Ü‚·)B
+            </para>
+
+            <programlisting><![CDATA[<class name="Person"
+    table="PERSON">
+
+    <id name="id" column="PERSON_ID">...</id>
+
+    <join table="ADDRESS">
+        <key column="ADDRESS_ID"/>
+        <property name="address"/>
+        <property name="zip"/>
+        <property name="country"/>
+    </join>
+    ...]]></programlisting>
+
+            <para>
+                ‚±‚Ì“Á’¥‚Í‚µ‚΂µ‚΃ŒƒKƒV[ƒf[ƒ^ƒ‚ƒfƒ‹‚ɑ΂µ‚Ä‚Ì‚Ý—L—p‚Å‚·‚ªA
+                ƒNƒ‰ƒX‚æ‚è‚à­‚È‚¢ƒe[ƒuƒ‹‚ƁA‚«‚߂ׂ̍©‚¢ƒhƒƒCƒ“ƒ‚ƒfƒ‹‚𐄏§‚µ‚Ü‚·B
+                ‚µ‚©‚µŒã‚Åà–¾‚·‚é‚悤‚ɁA‚P‚‚̃Nƒ‰ƒXŠK‘w‚ÅŒp³‚̃}ƒbƒsƒ“ƒOí—ª‚ðØ‚è‘Ö‚¦‚鎞‚É‚Í—L—p‚Å‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="mapping-declaration-key">
+            <title>key</title>
+
+            <para>
+                ¡‚܂ʼn½“x‚© <literal>&lt;key&gt;</literal> —v‘f‚ªo‚Ä‚«‚Ü‚µ‚½B
+                ‚±‚Ì—v‘f‚͐V‚µ‚¢ƒe[ƒuƒ‹‚Ö‚ÌŒ‹‡‚ð’è‹`‚µ‚½‚èA
+                Œ‹‡ƒe[ƒuƒ‹‚ÅŠO•”ƒL[‚ð’è‹`‚µ‚½‚è‚·‚ée—v‘f‚Ì‚Ç‚±‚É‚Å‚àŒ»‚êA
+                ƒIƒŠƒWƒiƒ‹ƒe[ƒuƒ‹‚ÌŽåƒL[‚ðŽQÆ‚µ‚Ü‚·B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="key1" coords="2 50"/>
+                    <area id="key2" coords="3 50"/>
+                    <area id="key3" coords="4 50"/>
+                    <area id="key4" coords="5 50"/>
+                    <area id="key5" coords="6 50"/>
+                    <area id="key6" coords="7 50"/>
+                </areaspec>
+                <programlisting><![CDATA[<key
+        column="columnname"
+        on-delete="noaction|cascade"
+        property-ref="propertyName"
+        not-null="true|false"
+        update="true|false"
+        unique="true|false"
+/>]]></programlisting>
+
+                <calloutlist>
+                    <callout arearefs="key1">
+                        <para>
+                             <literal>column</literal> (ƒIƒvƒVƒ‡ƒ“):ŠO•”ƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
+                             ƒlƒXƒg‚µ‚½ <literal>&lt;column&gt;</literal> ƒJƒ‰ƒ€‚É‚æ‚Á‚Ä‚àŽw’肳‚ê‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="key2">
+                        <para>
+                             <literal>on-delete</literal> (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í <literal>noaction</literal>):
+                            ŠO•”ƒL[§–ñ‚ªƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚ŃJƒXƒP[ƒhíœ‚ª‰Â”\‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                        </para>
+                    </callout>
+                    <callout arearefs="key3">
+                        <para>
+                             <literal>property-ref</literal> (ƒIƒvƒVƒ‡ƒ“):
+                             ƒIƒŠƒWƒiƒ‹ƒe[ƒuƒ‹‚ÌŽåƒL[‚Å‚Í‚È‚¢ƒJƒ‰ƒ€‚ðŽQÆ‚·‚éŠO•”ƒL[‚ðŽw’肵‚Ü‚·
+                             (ƒŒƒKƒV[ƒf[ƒ^‚ɑ΂µ‚Ä’ñ‹Ÿ‚³‚ê‚Ü‚·)B
+                        </para>
+                    </callout>
+                    <callout arearefs="key4">
+                        <para>
+                           <literal>not-null</literal> (ƒIƒvƒVƒ‡ƒ“):
+                           ŠO•”ƒL[ƒJƒ‰ƒ€‚ªnull’l‚ð‹–—e‚µ‚È‚¢‚±‚Æ‚ðŽw’肵‚Ü‚·
+                           (‚±‚Ì‚±‚Æ‚ÍŠO•”ƒL[‚ªŽåƒL[‚̈ꕔ‚Å‚ ‚邱‚Æ‚ðˆÃ–Ù“I‚ÉŽ¦‚µ‚Ü‚·)B
+                        </para>
+                    </callout>
+                    <callout arearefs="key5">
+                        <para>
+                            <literal>update</literal> (ƒIƒvƒVƒ‡ƒ“):
+                            ŠO•”ƒL[‚ðŒˆ‚µ‚čXV‚µ‚Ä‚Í‚È‚ç‚È‚¢‚±‚Æ‚ðŽw’肵‚Ü‚·
+                            (‚±‚Ì‚±‚Æ‚ÍŠO•”ƒL[‚ªŽåƒL[‚̈ꕔ‚Å‚ ‚邱‚Æ‚ðˆÃ–Ù“I‚ÉŽ¦‚µ‚Ü‚·)B
+                            
+                        </para>
+                    </callout>
+                    <callout arearefs="key6">
+                        <para>
+                            <literal>unique</literal> (ƒIƒvƒVƒ‡ƒ“):
+                            ŠO•”ƒL[‚ªƒ†ƒj[ƒN§–ñ‚ðŽ‚Â‚×‚«‚Å‚ ‚邱‚Æ‚ðŽw’肵‚Ü‚·
+                            (‚±‚Ì‚±‚Æ‚ÍŠO•”ƒL[‚ªŽåƒL[‚̈ꕔ‚Å‚ ‚邱‚Æ‚ðˆÃ–Ù“I‚ÉŽ¦‚µ‚Ü‚·)B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+            <para>
+                íœ‚̃pƒtƒH[ƒ}ƒ“ƒX‚ªd—v‚Å‚ ‚éƒVƒXƒeƒ€‚ɂ́A
+                ‚·‚ׂẴL[‚ð <literal>on-delete="cascade"</literal> ‚Æ’è‹`‚·‚邱‚Ƃ𐄏§‚µ‚Ü‚·B
+                ‚»‚¤‚·‚邱‚Æ‚ÅHibernate‚́A<literal>DELETE</literal> •¶‚𖈉ñ”­s‚·‚é‘ã‚í‚è‚ɁA
+                ƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚Ì <literal>ON CASCADE DELETE</literal> §–ñ‚ðŽg—p‚µ‚Ü‚·B
+                ‚±‚Ì“Á’¥‚̓o[ƒWƒ‡ƒ“•t‚¯‚ç‚ꂽƒf[ƒ^‚ɑ΂·‚éHibernate‚̒ʏí‚ÌŠyŠÏ“IƒƒbƒNí—ª‚ð
+                –³Ž‹‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            <para>
+                <literal>not-null</literal> ‚Æ <literal>update</literal> ‘®«‚́A’P•ûŒüˆê‘Α½ŠÖ˜A‚ÌŽž‚É‚Í—L—p‚Å‚·B
+                ’P•ûŒüˆê‘Α½ŠÖ˜A‚ðnull‚ð‹–—e‚µ‚È‚¢ŠO•”ƒL[‚Ƀ}ƒbƒsƒ“ƒO‚·‚é‚Æ‚«‚́A
+                <literal>&lt;key not-null="true"&gt;</literal> ‚ðŽg‚Á‚ăL[ƒJƒ‰ƒ€‚ðéŒ¾
+                 <emphasis> ‚µ‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñ</emphasis> B
+            </para>
+
+        </sect2>
+
+        <sect2 id="mapping-column" revision="4">
+           <title>column ‚Æ formula —v‘f</title>
+           <para>
+               <literal>column</literal> ‘®«‚ð‹Lq‚Å‚«‚é”CˆÓ‚̃}ƒbƒsƒ“ƒO—v‘f‚Í‚Ü‚½A
+               <literal>&lt;column&gt;</literal> ƒTƒu—v‘f‚à‹Lq‚Å‚«‚Ü‚·B
+               “¯—l‚É <literal>&lt;formula&gt;</literal> ‚à <literal>formula</literal> ‘®«‚Ì‘ã‘ÖŽè’i‚Å‚·B
+           </para>
+
+           <programlisting><![CDATA[<column
+        name="column_name"
+        length="N"
+        precision="N"
+        scale="N"
+        not-null="true|false"
+        unique="true|false"
+        unique-key="multicolumn_unique_key_name"
+        index="index_name"
+        sql-type="sql_type_name"
+        check="SQL expression"
+        default="SQL expression"/>]]></programlisting>
+
+            <programlisting><![CDATA[<formula>SQL expression</formula>]]></programlisting>
+        
+            <para>
+                “¯‚¶ƒvƒƒpƒeƒB‚âŠÖ˜A‚̃}ƒbƒsƒ“ƒO‚Ì’†‚ŁA
+                <literal>column</literal> ‚Æ <literal>formula</literal> ‘®«‚ð‘g‚ݍ‡‚킹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                —Ⴆ‚΁A“ÁŽê‚ÈŒ‹‡ðŒ‚È‚Ç‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[<many-to-one name="homeAddress" class="Address"
+        insert="false" update="false">
+    <column name="person_id" not-null="true" length="10"/>
+    <formula>'MAILING'</formula>
+</many-to-one>]]></programlisting>
+
+    </sect2>  
+    
+        <sect2 id="mapping-declaration-import">
+            <title>import</title>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É“¯‚¶–¼‘O‚Ì2‚‚̉i‘±ƒNƒ‰ƒX‚ª‚ ‚èA
+                HibernateƒNƒGƒŠ‚ÅŠ®‘SCü‚³‚ꂽiƒpƒbƒP[ƒW‚́j–¼‘O‚ðŽw’肵‚½‚­‚È‚¢‚Ɖ¼’肵‚Ü‚·B
+                ‚»‚̂悤‚ȏꍇ‚Í <literal>auto-import="true"</literal> ‚É—Š‚炸A
+                ƒNƒ‰ƒX‚ªuƒCƒ“ƒ|[ƒgv‚³‚ꂽ‚à‚Ì‚Å‚ ‚é‚Æ–¾Ž¦‚Å‚«‚Ü‚·B
+                –¾Ž¦“I‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å‚³‚¦‚àƒCƒ“ƒ|[ƒg‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<import class="java.lang.Object" rename="Universe"/>]]></programlisting>
+            
+            <programlistingco>
+                <areaspec>
+                    <area id="import1" coords="2 40"/>
+                    <area id="import2" coords="3 40"/>
+                </areaspec>
+                <programlisting><![CDATA[<import
+        class="ClassName"
+        rename="ShortName"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="import1">
+                        <para>
+                            <literal>class</literal>FJavaƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+                        </para>              
+                    </callout>                   
+                    <callout arearefs="import2">
+                        <para>
+                            <literal>rename</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚͏Cü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼jF
+                            ƒNƒGƒŠŒ¾Œê‚ÅŽg‚í‚ê‚é–¼‘OB
+                        </para>               
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+            
+        </sect2>
+
+        <sect2 id="mapping-types-anymapping" revision="2">
+            <title>any</title>
+            
+            <para>
+                ƒvƒƒpƒeƒBƒ}ƒbƒsƒ“ƒO‚É‚Í‚³‚ç‚É‚à‚¤1‚‚̌^‚ª‚ ‚è‚Ü‚·B
+                <literal>&lt;any&gt;</literal> ƒ}ƒbƒsƒ“ƒO—v‘f‚́A
+                •¡”‚̃e[ƒuƒ‹‚©‚çƒNƒ‰ƒX‚ւ̃|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈŠÖ˜A‚ð’è‹`‚µ‚Ü‚·B
+                ‚±‚ÌŒ^‚̃}ƒbƒsƒ“ƒO‚É‚Í•K‚¸•¡”‚̃Jƒ‰ƒ€‚ª•K—v‚Å‚·B1”Ԗڂ̃Jƒ‰ƒ€‚ÍŠÖ˜AƒGƒ“ƒeƒBƒeƒB‚ÌŒ^‚ð•ÛŽ‚µ‚Ü‚·B
+                Žc‚è‚̃Jƒ‰ƒ€‚ÍŽ¯•ÊŽq‚ð•ÛŽ‚µ‚Ü‚·B‚±‚ÌŽí—Þ‚ÌŠÖ˜A‚É‚ÍŠO•”ƒL[§–ñ‚ðŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                ‚»‚Ì‚½‚ß‚±‚ê‚͍łàŽg‚í‚ê‚邱‚Æ‚Ì‚È‚¢iƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȁjŠÖ˜A‚̃}ƒbƒsƒ“ƒO•û–@‚Å‚·B
+                ”ñí‚É“Á•Ê‚ȏꍇi—Ⴆ‚΁AŒŸ¸ƒƒO‚⃆[ƒUƒZƒbƒVƒ‡ƒ“ƒf[ƒ^‚È‚Ç)‚ÉŒÀ‚Á‚āA‚±‚ê‚ðŽg‚¤‚ׂ«‚Å‚·B
+            </para>
+
+            <para>
+                 <literal>meta-type</literal> ‚É‚æ‚èA
+                 ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓JƒXƒ^ƒ€Œ^‚ðŽw’è‚Å‚«‚Ü‚·B‚±‚̃JƒXƒ^ƒ€Œ^‚Í
+                 ƒf[ƒ^ƒx[ƒXƒJƒ‰ƒ€‚Ì’l‚ðA<literal>id-type</literal> ‚ÅŽw’肵‚½Œ^‚Ì
+                 Ž¯•ÊŽqƒvƒƒpƒeƒB‚ðŽ‚Á‚½‰i‘±ƒNƒ‰ƒX‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                 meta-type‚Ì’l‚©‚çƒNƒ‰ƒX–¼‚ւ̃}ƒbƒsƒ“ƒO‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+
+            <programlisting><![CDATA[<any name="being" id-type="long" meta-type="string">
+    <meta-value value="TBL_ANIMAL" class="Animal"/>
+    <meta-value value="TBL_HUMAN" class="Human"/>
+    <meta-value value="TBL_ALIEN" class="Alien"/>
+    <column name="table_name"/>
+    <column name="id"/>
+</any>]]></programlisting>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="any1" coords="2 50"/>
+                    <area id="any2" coords="3 50"/>
+                    <area id="any3" coords="4 50"/>
+                    <area id="any4" coords="5 50"/>
+                    <area id="any5" coords="6 50"/>
+                    <area id="any6" coords="7 50"/>
+                </areaspec>
+                <programlisting><![CDATA[<any
+        name="propertyName"
+        id-type="idtypename"
+        meta-type="metatypename"
+        cascade="cascade_style"
+        access="field|property|ClassName"
+        optimistic-lock="true|false"
+>
+        <meta-value ... />
+        <meta-value ... />
+        .....
+        <column .... />
+        <column .... />
+        .....
+</any>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="any1">
+                        <para>
+                            <literal>name</literal>FƒvƒƒpƒeƒB–¼B
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="any2">
+                        <para>
+                            <literal>id-type</literal>FŽ¯•ÊŽq‚ÌŒ^B
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="any3">
+                        <para>
+                            <literal>meta-type</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>string</literal> jF
+                            ƒfƒBƒXƒNƒŠƒ~ƒl[ƒ^ƒ}ƒbƒsƒ“ƒO‚Å‹–‚³‚ꂽŒ^
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="any4">
+                        <para>
+                            <literal>cascade</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>none</literal> jF
+                            ƒJƒXƒP[ƒh‚̃Xƒ^ƒCƒ‹B
+                        </para>            
+                    </callout>                   
+                    <callout arearefs="any5">
+                        <para>
+                            <literal>access</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal> jF
+                            ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+                        </para>
+                    </callout>
+                    <callout arearefs="any6">
+                        <para>
+                            <literal>optimistic-lock</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal> ):
+                            ‚±‚̃vƒƒpƒeƒB‚̍XV‚ÉŠyŠÏƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            Œ¾‚¢Š·‚¦‚ê‚΁A‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚𑝂₷‚ׂ«‚©‚ð’è‹`‚µ‚Ü‚·B
+                        </para>
+                    </callout>
+                </calloutlist>
+            </programlistingco>
+
+      </sect2>
+
+    </sect1>
+
+    <sect1 id="mapping-types">
+        <title>Hibernate‚ÌŒ^</title>
+
+        <sect2 id="mapping-types-entitiesvalues" revision="1">
+            <title>ƒGƒ“ƒeƒBƒeƒB‚Æ’l</title>
+
+            <para>
+                ‰i‘±ƒT[ƒrƒX‚ÉŠÖ‚í‚é—lX‚ÈJavaŒ¾ŒêƒŒƒxƒ‹‚̃IƒuƒWƒFƒNƒg‚̐U‚é•‘‚¢‚ð—‰ð‚·‚é‚½‚߂ɂ́A
+                ƒIƒuƒWƒFƒNƒg‚ð2‚‚̃Oƒ‹[ƒv‚É•ª‚¯‚é•K—v‚ª‚ ‚è‚Ü‚·F
+            </para>
+
+            <para>
+                 <emphasis> ƒGƒ“ƒeƒBƒeƒB</emphasis> ‚̓Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚ð•ÛŽ‚·‚éA
+                ‘¼‚Ì‚·‚ׂẴIƒuƒWƒFƒNƒg‚©‚ç“Æ—§‚µ‚Ä‘¶Ý‚µ‚Ü‚·B
+                ŽQÆ‚³‚ê‚È‚¢ƒIƒuƒWƒFƒNƒg‚ªƒKƒx[ƒWƒRƒŒƒNƒg‚³‚ê‚Ä‚µ‚Ü‚¤«Ž¿‚ðŽ‚Â’Êí‚ÌJavaƒ‚ƒfƒ‹‚ƁA
+                ‚±‚ê‚ð”ä‚ׂĂ݂Ă­‚¾‚³‚¢B
+                ieƒGƒ“ƒeƒBƒeƒB‚©‚çŽq‚ցAƒZ[ƒu‚ƍ폜‚ª <emphasis>ƒJƒXƒP[ƒh</emphasis> ‚³‚ꂤ‚邱‚Æ‚ðœ‚¢‚āj
+                ƒGƒ“ƒeƒBƒeƒB‚Í–¾Ž¦“I‚ɃZ[ƒu‚Ü‚½‚͍폜‚³‚ê‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‚±‚ê‚Í“ž’B‰Â”\«‚É‚æ‚éƒIƒuƒWƒFƒNƒg‰i‘±‰»‚ÌODMGƒ‚ƒfƒ‹‚Ƃ͈قȂÁ‚Ä‚¢‚Ü‚·B
+                ‘å‹K–͂ȃVƒXƒeƒ€‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒIƒuƒWƒFƒNƒg‚ª•’ʂǂ̂悤‚ÉŽg‚í‚ê‚é‚©‚É‚æ‚è–§Ú‚ɑΉž‚µ‚Ü‚·B
+                ƒGƒ“ƒeƒBƒeƒB‚͏zŠÂ‚ÆŽQÆ‚Ì‹¤—L‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+                ‚Ü‚½‚»‚ê‚ç‚̓o[ƒWƒ‡ƒ“•t‚¯‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                
+            </para>
+
+            <para>
+                ƒGƒ“ƒeƒBƒeƒB‚̉i‘±ó‘Ô‚Í‘¼‚̃Gƒ“ƒeƒBƒeƒB‚â <emphasis>’l</emphasis> Œ^‚Ì
+                ƒCƒ“ƒXƒ^ƒ“ƒX‚Ö‚ÌŽQÆ‚©‚ç\¬‚³‚ê‚Ü‚·B
+                ’l‚̓vƒŠƒ~ƒeƒBƒuAƒRƒŒƒNƒVƒ‡ƒ“(ƒRƒŒƒNƒVƒ‡ƒ“‚Ì“à•”‚Å‚Í‚È‚­)A
+                ƒRƒ“ƒ|[ƒlƒ“ƒgA•s•ÏƒIƒuƒWƒFƒNƒg‚Å‚·B
+                ƒGƒ“ƒeƒBƒeƒB‚Ƃ͈ႢA’l‚́i“Á‚ɃRƒŒƒNƒVƒ‡ƒ“‚ƃRƒ“ƒ|[ƒlƒ“ƒg‚É‚¨‚¢‚ājA
+                “ž’B‰Â”\«‚É‚æ‚é‰i‘±‰»‚âíœ‚ª <emphasis>s‚í‚ê‚Ü‚·</emphasis> B
+                ’lƒIƒuƒWƒFƒNƒgi‚ƃvƒŠƒ~ƒeƒBƒuj‚́A•ïŠÜ‚·‚éƒGƒ“ƒeƒBƒeƒB‚ƈꏏ‚ɉi‘±‰»‚âíœ‚ªs‚í‚ê‚é‚̂ŁA
+                ‚»‚ê‚ç‚ð“Æ—§‚Ƀo[ƒWƒ‡ƒ“•t‚¯‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                ’l‚É‚Í“Æ—§‚µ‚½ƒAƒCƒfƒ“ƒeƒBƒeƒB‚ª‚È‚¢‚̂ŁA
+                •¡”‚̃Gƒ“ƒeƒBƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚ª‚±‚ê‚ð‹¤—L‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ‚±‚ê‚܂Łu‰i‘±ƒNƒ‰ƒXv‚Æ‚¢‚¤Œ¾—t‚ðƒGƒ“ƒeƒBƒeƒB‚̈Ӗ¡‚ÅŽg‚Á‚Ä‚«‚Ü‚µ‚½B
+                ‚±‚ê‚©‚ç‚à‚»‚¤‚µ‚Ä‚¢‚«‚Ü‚·B
+                Œµ–§‚ÉŒ¾‚¤‚ƁA‰i‘±ó‘Ô‚ðŽ‚Âƒ†[ƒU’è‹`‚̃Nƒ‰ƒX‚Ì‚·‚ׂĂª
+                ƒGƒ“ƒeƒBƒeƒB‚Æ‚¢‚¤‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                <emphasis>ƒRƒ“ƒ|[ƒlƒ“ƒg</emphasis> ‚Í’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚Âƒ†[ƒU’è‹`ƒNƒ‰ƒX‚Å‚·B
+                <literal>java.lang.String</literal> Œ^‚̃vƒƒpƒeƒB‚à‚Ü‚½’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚¿‚Ü‚·B
+                ’è‹`‚·‚é‚È‚çAJDK‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚·‚ׂĂÌJava‚ÌŒ^(ƒNƒ‰ƒX)‚ª’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚Â‚Æ‚¢‚¦‚Ü‚·B
+                ˆê•ûƒ†[ƒU’è‹`Œ^‚́AƒGƒ“ƒeƒBƒeƒB‚â’lŒ^‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Æ‚Æ‚à‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·B
+                ‚±‚ÌŒˆ’è‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­ŽÒŽŸ‘æ‚Å‚·B
+                ‚»‚̃Nƒ‰ƒX‚Ì‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Ö‚Ì‹¤—LŽQÆ‚́A
+                ƒhƒƒCƒ“ƒ‚ƒfƒ‹“à‚̃Gƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ɑ΂·‚é—Ç‚¢ƒqƒ“ƒg‚É‚È‚è‚Ü‚·B
+                ˆê•û‡¬W–ñ‚âW–ñ‚́A’ʏí’lŒ^‚Ö•ÏŠ·‚³‚ê‚Ü‚·B
+                
+            </para>
+
+            <para>
+                –{ƒhƒLƒ…ƒƒ“ƒg‚ð’Ê‚µ‚āA‰½“x‚à‚±‚ÌŠT”O‚ðŽæ‚èã‚°‚Ü‚·B
+            </para>
+
+            <para>
+                JavaŒ^‚̃VƒXƒeƒ€(‚à‚µ‚­‚ÍŠJ”­ŽÒ‚ª’è‹`‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚Æ’lŒ^)‚ð
+                SQL/ƒf[ƒ^ƒx[ƒXŒ^‚̃VƒXƒeƒ€‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Ƃ͓‚¢‚Å‚·B
+                Hibernate‚Í‚Q‚‚̃VƒXƒeƒ€‚̉˂¯‹´‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+                ƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä‚Í 
+                <literal>&lt;class&gt;</literal> ‚â <literal>&lt;subclass&gt;</literal> ‚È‚Ç‚ðŽg—p‚µ‚Ü‚·B
+                ’lŒ^‚ɑ΂µ‚Ä‚Í <literal>&lt;property&gt;</literal> ‚â 
+                <literal>&lt;component&gt;</literal> ‚È‚Ç‚ðA’ʏí <literal>type</literal> ‚Æ‚Æ‚à‚ÉŽg‚¢‚Ü‚·B
+                ‚±‚Ì‘®«‚Ì’l‚ÍHibernate‚Ì <emphasis>ƒ}ƒbƒsƒ“ƒOŒ^</emphasis> ‚Ì–¼‘O‚Å‚·B
+                Hibernate‚Í(•W€JDK‚Ì’lŒ^‚ɑ΂µ‚Ä)‘½‚­‚ÌŽ©—R‚ȃ}ƒbƒsƒ“ƒO‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+                Œã‚ÅŒ©‚é‚悤‚ɁAŽ©g‚̃}ƒbƒsƒ“ƒOŒ^‚ð‹Lq‚µA“¯—l‚ɃJƒXƒ^ƒ€‚Ì•ÏŠ·í—ª‚ðŽÀ‘•‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚ðœ‚­‘g‚ݍž‚Ý‚ÌHibernate‚ÌŒ^‚Í‚·‚ׂāAnullƒZƒ}ƒ“ƒeƒBƒNƒX‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="mapping-types-basictypes" revision="3">
+            <title>Šî–{“I‚ÈŒ^</title>
+
+            <para>
+                ‘g‚ݍž‚Ý‚Ì <emphasis>Šî–{“I‚ȃ}ƒbƒsƒ“ƒOŒ^</emphasis> ‚Í‘å‚Ü‚©‚Ɉȉº‚̂悤‚É•ª‚¯‚ç‚ê‚Ü‚·B
+
+                <variablelist>
+                    <varlistentry>
+                        <term><literal>integer, long, short, float, double, character, byte,
+                            boolean, yes_no, true_false</literal></term>
+                        <listitem>
+                            <para>
+                                Java‚̃vƒŠƒ~ƒeƒBƒu‚⃉ƒbƒp[ƒNƒ‰ƒX‚©‚ç“KØ‚ȁiƒxƒ“ƒ_[ŒÅ—L‚́j
+                                SQLƒJƒ‰ƒ€Œ^‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                                <literal>boolean, yes_no</literal> ‚Æ <literal>true_false</literal> ‚́A
+                                ‚·‚ׂÄJava‚Ì <literal>boolean</literal> 
+                                ‚Ü‚½‚Í <literal>java.lang.Boolean</literal> ‚Ì‘ã‘ÖƒGƒ“ƒR[ƒh‚Å‚·B
+                                
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>string</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>java.lang.String</literal> ‚©‚ç <literal>VARCHAR</literal> 
+                                i‚Ü‚½‚ÍOracle‚Ì <literal>VARCHAR2</literal> j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>date, time, timestamp</literal></term>
+                        <listitem>
+                            <para>
+                                 <literal>java.util.Date</literal> ‚Æ‚»‚̃TƒuƒNƒ‰ƒX‚©‚çSQLŒ^‚Ì <literal>DATE</literal>, 
+                                <literal>TIME</literal> , <literal>TIMESTAMP</literal> i‚Ü‚½‚Í‚»‚ê‚ç‚Æ“™‰¿‚È‚à‚́j
+                                ‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>calendar, calendar_date</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>java.util.Calendar</literal> ‚©‚çSQLŒ^ ‚́u <literal>TIMESTAMP</literal> , 
+                                 <literal>DATE</literal> (‚Ü‚½‚Í‚»‚ê‚ç‚Æ“™‰¿‚È‚à‚́j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>big_decimal, big_integer</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>java.math.BigDecimal</literal> ‚Æ <literal>java.math.BigInteger</literal> 
+                                ‚©‚ç <literal>NUMERIC</literal>i‚Ü‚½‚ÍOracle‚Ì <literal>NUMBER</literal> j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>locale, timezone, currency</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>java.util.Locale</literal> , <literal>java.util.TimeZone</literal> , 
+                                <literal>java.util.Currency</literal> ‚©‚ç <literal>VARCHAR</literal> 
+                                i‚Ü‚½‚ÍOracle‚Ì <literal>VARCHAR2</literal> j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                                <literal>Locale</literal> ‚Æ <literal>Currency</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A
+                                ‚»‚ê‚ç‚ÌISOƒR[ƒh‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B 
+                                <literal>TimeZone</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A
+                                ‚»‚ê‚ç‚Ì <literal>ID</literal> ‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>class</literal></term>
+                        <listitem>
+                            <para>
+                                <literal>java.lang.Class</literal> ‚©‚ç <literal>VARCHAR</literal> 
+                                i‚Ü‚½‚ÍOracle‚Ì <literal>VARCHAR2</literal> j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+                                <literal>Class</literal> ‚Í‚»‚ÌŠ®‘SCü‚³‚ꂽ–¼‘O‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>binary</literal></term>
+                        <listitem>
+                            <para>
+                                 ƒoƒCƒg”z—ñ‚́A“KØ‚ÈSQL‚̃oƒCƒiƒŠŒ^‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>text</literal></term>
+                        <listitem>
+                            <para>
+                                ’·‚¢Java•¶Žš—ñ‚́ASQL‚Ì <literal>CLOB</literal> ‚Ü‚½‚Í 
+                                <literal>TEXT</literal> Œ^‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>serializable</literal></term>
+                        <listitem>
+                            <para>
+                                ƒVƒŠƒAƒ‰ƒCƒY‰Â”\‚ÈJavaŒ^‚́A“KØ‚ÈSQL‚̃oƒCƒiƒŠŒ^‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                                ƒfƒtƒHƒ‹ƒg‚ÅŠî–{Œ^‚Å‚Í‚È‚¢ƒVƒŠƒAƒ‰ƒCƒY‰Â”\‚ÈJavaƒNƒ‰ƒX‚â
+                                ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Ì–¼‘O‚ðŽw’è‚·‚邱‚ƂŁA
+                                Hibernate‚ÌŒ^‚ð <literal>serializable</literal> ‚Æ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    <varlistentry>
+                        <term><literal>clob, blob</literal></term>
+                        <listitem>
+                            <para>
+                                JDBCƒNƒ‰ƒX <literal>java.sql.Clob</literal> ‚Æ <literal>java.sql.Blob</literal> 
+                                ‚ɑ΂·‚éŒ^ƒ}ƒbƒsƒ“ƒOB
+                                blob‚âclobƒIƒuƒWƒFƒNƒg‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠO‚ł͍ė˜—p‚Å‚«‚È‚¢‚½‚߁A
+                                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚Ä‚Í•s•Ö‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                                i‚³‚ç‚ɂ̓hƒ‰ƒCƒoƒTƒ|[ƒg‚ªˆêŠÑ‚µ‚Ä‚¢‚Ü‚¹‚ñBj
+                            </para>
+                        </listitem>
+                    </varlistentry>
+                    
+                    <varlistentry>
+                        <term>
+                            <literal>imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date,
+                            imm_serializable, imm_binary</literal>
+                        </term>
+                        <listitem>
+                            <para>
+                                ‚Ù‚Æ‚ñ‚ǂ̏ꍇ‚ɉ•ςł ‚éJava‚ÌŒ^‚ɑ΂·‚éŒ^ƒ}ƒbƒsƒ“ƒOB
+                                Hibernate‚Í•s•Ï‚ÈJava‚ÌŒ^‚ɑ΂µ‚Ă͍œK‰»‚ðs‚¢A
+                                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í‚»‚ê‚ð•s•ÏƒIƒuƒWƒFƒNƒg‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+                                —Ⴆ‚Î <literal>imm_timestamp</literal> ‚Æ‚µ‚ă}ƒbƒv‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚āA
+                                <literal>Date.setTime()</literal> ‚ðŒÄ‚яo‚µ‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+                                ƒvƒƒpƒeƒB‚Ì’l‚ð•ÏX‚µ‚»‚̕ύX‚ð‰i‘±‰»‚·‚邽‚߂ɂ́A
+                                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓vƒƒpƒeƒB‚ɑ΂µ‚ĐV‚µ‚¢(“¯ˆê‚Å‚È‚¢)ƒIƒuƒWƒFƒNƒg‚ðŠ„‚è“–‚Ä‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                            </para>
+                        </listitem>
+                    </varlistentry>                    
+                </variablelist>
+            
+            </para>
+
+            <para>
+                ƒGƒ“ƒeƒBƒeƒB‚ƃRƒŒƒNƒVƒ‡ƒ“‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚́A<literal>binary</literal> , <literal>blob</literal> , 
+                <literal>clob</literal> ‚ðœ‚­A‚Ç‚ñ‚ÈŠî–{Œ^‚Å‚à\‚¢‚Ü‚¹‚ñB
+                i•¡‡Ž¯•ÊŽq‚Å‚à\‚¢‚Ü‚¹‚ñBˆÈ‰º‚ðŒ©‚Ä‚­‚¾‚³‚¢Bj
+            </para>
+            
+            <para>
+                Šî–{“I‚È’lŒ^‚ɂ́A<literal>org.hibernate.Hibernate</literal> ‚Å’è‹`‚³‚ꂽ 
+                <literal>Type</literal> ’萔‚ª‚»‚ꂼ‚ê‚ ‚è‚Ü‚·B
+                —Ⴆ‚΁A<literal>Hibernate.STRING</literal> ‚Í <literal>string</literal> Œ^‚ð•\Œ»‚µ‚Ä‚¢‚Ü‚·B
+            </para>
+
+        </sect2>
+        
+        <sect2 id="mapping-types-custom" revision="2">
+            <title>ƒJƒXƒ^ƒ€Œ^</title>
+
+            <para>
+                  ŠJ”­ŽÒ‚ª“ÆŽ©‚Ì’lŒ^‚ðì¬‚·‚邱‚Ƃ́A”äŠr“IŠÈ’P‚Å‚·B
+                —Ⴆ‚΁A<literal>java.lang.BigInteger</literal> Œ^‚̃vƒƒpƒeƒB‚ð 
+                <literal>VARCHAR</literal> ƒJƒ‰ƒ€‚ɉi‘±‰»‚µ‚½‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                Hibernate‚Í‚±‚Ì‚½‚ß‚Ì‘g‚ݍž‚ÝŒ^‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚¹‚ñB
+                ‚µ‚©‚µƒJƒXƒ^ƒ€Œ^‚́AƒvƒƒpƒeƒBi‚Ü‚½‚̓RƒŒƒNƒVƒ‡ƒ“‚Ì—v‘fj‚ð1‚‚̃e[ƒuƒ‹ƒJƒ‰ƒ€‚É
+                ƒ}ƒbƒsƒ“ƒO‚·‚é‚̂ɐ§ŒÀ‚Í‚ ‚è‚Ü‚¹‚ñB
+                ‚»‚Ì‚½‚ߗႦ‚΁A<literal>java.lang.String</literal> Œ^‚Ì 
+                <literal>getName()</literal> / <literal>setName()</literal> 
+                JavaƒvƒƒpƒeƒB‚ð <literal>FIRST_NAME</literal> , <literal>INITIAL</literal>, <literal>SURNAME</literal> 
+                ƒJƒ‰ƒ€‚ɉi‘±‰»‚Å‚«‚Ü‚·B
+            </para>
+            
+            <para>
+                ƒJƒXƒ^ƒ€Œ^‚ðŽÀ‘•‚·‚é‚ɂ́A<literal>org.hibernate.UserType</literal> ‚Ü‚½‚Í 
+                <literal>org.hibernate.CompositeUserType</literal> ‚ðŽÀ‘•‚µA
+                Œ^‚ÌŠ®‘SCü‚³‚ꂽ–¼‘O‚ðŽg‚Á‚ăvƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚·B
+                ‚ǂ̂悤‚ÈŽí—Þ‚Ì‚à‚Ì‚ª‰Â”\‚©‚𒲂ׂé‚ɂ́A
+                <literal>org.hibernate.test.DoubleStringType</literal> ‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[<property name="twoStrings" type="org.hibernate.test.DoubleStringType">
+    <column name="first_string"/>
+    <column name="second_string"/>
+</property>]]></programlisting>
+
+            <para>
+                <literal>&lt;column&gt;</literal> ƒ^ƒO‚ŁA
+                ƒvƒƒpƒeƒB‚𕡐”‚̃Jƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚Å‚«‚邱‚Æ‚É’–Ú‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            <para>
+                <literal>CompositeUserType</literal> , <literal>EnhancedUserType</literal> ,
+                <literal>UserCollectionType</literal> , <literal>UserVersionType</literal> 
+                ƒCƒ“ƒ^[ƒtƒFƒCƒX‚́A‚æ‚è“ÁŽê‚ÈŽg—p–@‚ɑ΂µ‚ẴTƒ|[ƒg‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+            </para>
+            
+            <para>
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚Å <literal>UserType</literal> ‚Öƒpƒ‰ƒ[ƒ^‚ð’ñ‹Ÿ‚Å‚«‚Ü‚·B
+                ‚±‚Ì‚½‚߂ɂ́A<literal>UserType</literal> ‚Í 
+                <literal>org.hibernate.usertype.ParameterizedType</literal> ‚ðŽÀ‘•‚µ‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+                ƒJƒXƒ^ƒ€Œ^ƒpƒ‰ƒ[ƒ^‚ð’ñ‹Ÿ‚·‚邽‚߂ɁA
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚Å <literal>&lt;type&gt;</literal> —v‘f‚ðŽg—p‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<property name="priority">
+    <type name="com.mycompany.usertypes.DefaultValueIntegerType">
+        <param name="default">0</param>
+    </type>
+</property>]]></programlisting>
+
+            <para>
+                <literal>UserType</literal> ‚́A
+                ˆø”‚Æ‚µ‚Ä“n‚³‚ꂽ <literal>Properties</literal> ƒIƒuƒWƒFƒNƒg‚©‚çA
+                <literal>default</literal> ‚ÅŽw’肵‚½ƒpƒ‰ƒ[ƒ^‚ɑ΂·‚é’l‚ðŒŸõ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+            
+            <para>
+                “Á’è‚Ì <literal>UserType</literal> ‚ð•p”É‚ÉŽg—p‚·‚é‚È‚ç‚΁A’Z‚¢–¼‘O‚ð’è‹`‚·‚é‚Æ•Ö—˜‚É‚È‚é‚Å‚µ‚傤B
+                <literal>&lt;typedef&gt;</literal> —v‘f‚ðŽg‚Á‚Ä‚±‚̂悤‚È‚±‚Æ‚ªs‚¦‚Ü‚·B
+                Typedefs‚̓JƒXƒ^ƒ€Œ^‚É–¼‘O‚ðŠ„‚è“–‚Ä‚Ü‚·B
+                ‚»‚ÌŒ^‚ªƒpƒ‰ƒ[ƒ^‚ðŽ‚Â‚È‚ç‚΁A
+                ƒpƒ‰ƒ[ƒ^‚̃fƒtƒHƒ‹ƒg’l‚̃ŠƒXƒg‚ðŠÜ‚Þ‚±‚Æ‚à‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<typedef class="com.mycompany.usertypes.DefaultValueIntegerType" name="default_zero">
+    <param name="default">0</param>
+</typedef>]]></programlisting>
+
+            <programlisting><![CDATA[<property name="priority" type="default_zero"/>]]></programlisting>
+
+            <para>
+                ƒvƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚ÅŒ^ƒpƒ‰ƒ[ƒ^‚ðŽg‚¤‚±‚ƂŁA
+                typedef‚Å’ñ‹Ÿ‚³‚ꂽƒpƒ‰ƒ[ƒ^‚ð‚»‚Ì“s“xƒI[ƒo[ƒ‰ƒCƒh‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B
+                
+            </para>
+            
+            <para>
+                Hibernate‚Ì•L‚¢‘g‚ݍž‚ÝŒ^‚ƃRƒ“ƒ|[ƒlƒ“ƒg‚ɑ΂·‚éƒTƒ|[ƒg‚́A
+                ƒJƒXƒ^ƒ€Œ^‚ð‚ß‚Á‚½‚É <emphasis>Žg‚í‚È‚¢</emphasis> ‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+                ‚»‚ê‚Å‚à‚È‚¨AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å•po‚·‚é(ƒGƒ“ƒeƒBƒeƒB‚Å‚Í‚È‚¢)ƒNƒ‰ƒX‚ɑ΂·‚éƒJƒXƒ^ƒ€Œ^‚ÌŽg—p‚́A
+                ‚æ‚¢‚â‚è•û‚Å‚ ‚é‚Æ‚Ý‚È‚³‚ê‚Ü‚·B
+                —Ⴆ‚Î <literal>MonetaryAmount</literal> ƒNƒ‰ƒX‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚ÄŠÈ’P‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·‚ªA
+                <literal>CompositeUserType</literal> ‚Ì—Ç‚¢Œó•â‚Å‚·B
+                ƒJƒXƒ^ƒ€Œ^‚ðŽg—p‚·‚é“®‹@‚Ì1‚‚͒ŠÛ‰»‚Å‚·B
+                ƒJƒXƒ^ƒ€Œ^‚ðŽg‚¤‚±‚ƂŁA’ʉ݂ð‚ǂ̂悤‚É•\Œ»‚µ‚悤‚Æ‚à
+                ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Í‹N‚±‚肤‚é•Ï‰»‚ɑΉž‚Å‚«‚Ü‚·B
+            </para>
+
+        </sect2>
+        
+    </sect1>
+    
+    
+    <sect1 id="mapping-entityname">
+        <title>‚P‚‚̃Nƒ‰ƒX‚É‚P‚ˆȏã‚̃}ƒbƒsƒ“ƒO</title>
+        <para>
+            ‚ ‚é‰i‘±ƒNƒ‰ƒX‚ɁAˆê‚ˆȏã‚̃}ƒbƒsƒ“ƒO‚ð’ñ‹Ÿ‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+            ‚±‚̏ꍇAƒ}ƒbƒsƒ“ƒO‚·‚é‚Q‚‚̃Gƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚𖾊m‚É‚·‚邽‚߂ɁA
+            <emphasis>ƒGƒ“ƒeƒBƒeƒB–¼</emphasis> ‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ
+            (ƒfƒtƒHƒ‹ƒg‚ł̓Gƒ“ƒeƒBƒeƒB–¼‚̓Nƒ‰ƒX–¼‚Æ“¯‚¶‚Å‚·B)B
+            ‰i‘±ƒIƒuƒWƒFƒNƒg‚ðˆµ‚¤‚Æ‚«AƒNƒGƒŠ‚ð‘‚«ž‚Þ‚Æ‚«A
+            Žw’肳‚ꂽƒGƒ“ƒeƒBƒeƒB‚Ö‚ÌŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‚Æ‚«‚ɂ́A
+            Hibernate‚ł̓Gƒ“ƒeƒBƒeƒB–¼‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+        
+        <programlisting><![CDATA[<class name="Contract" table="Contracts" 
+        entity-name="CurrentContract">
+    ...
+    <set name="history" inverse="true" 
+            order-by="effectiveEndDate desc">
+        <key column="currentContractId"/>
+        <one-to-many entity-name="HistoricalContract"/>
+    </set>
+</class>
+
+<class name="Contract" table="ContractHistory" 
+        entity-name="HistoricalContract">
+    ...
+    <many-to-one name="currentContract" 
+            column="currentContractId" 
+            entity-name="CurrentContract"/>
+</class>]]></programlisting>
+
+        <para>
+            ŠÖ˜A‚ª<literal>class</literal> ‚Ì‘ã‚í‚è‚É <literal>entity-name</literal> ‚ðŽg‚Á‚āA
+            ‚ǂ̂悤‚ÉŽw’肳‚ê‚é‚Ì‚©‚É’–Ú‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+    </sect1>
+
+    <sect1 id="mapping-quotedidentifiers">
+            <title>ƒoƒbƒNƒNƒH[ƒg‚ň͂ñ‚¾ SQL Ž¯•ÊŽq</title>
+            <para>
+                ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Ńe[ƒuƒ‹‚âƒJƒ‰ƒ€‚Ì–¼‘O‚ðƒoƒbƒNƒNƒH[ƒg‚ň͂ނ±‚ƂŁA
+                Hibernate‚Ő¶¬‚³‚ꂽSQL’†‚ÌŽ¯•ÊŽq‚ðˆø—p‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                Hibernate‚ÍSQL‚Ì <literal>Dialect</literal> ‚ɑΉž‚·‚éA³‚µ‚¢ˆø—pƒXƒ^ƒCƒ‹‚ðŽg‚¢‚Ü‚·
+                i•’ʂ̓_ƒuƒ‹ƒNƒH[ƒg‚Å‚·‚ªASQL Server‚Å‚Í‚©‚¬Š‡ŒÊAMySQL‚ł̓oƒbƒNƒNƒH[ƒg‚Å‚·jB
+            </para>
+
+            <programlisting><![CDATA[<class name="LineItem" table="`Line Item`">
+    <id name="id" column="`Item Id`"/><generator class="assigned"/></id>
+    <property name="itemNumber" column="`Item #`"/>
+    ...
+</class>]]></programlisting>
+
+    </sect1>
+
+      
+       <sect1 id="mapping-alternatives">
+       <title>ƒƒ^ƒf[ƒ^‚Ì‘ã‘ÖŽè’i</title>
+       
+       <para>
+            XML‚Ì‹LqˆÈŠO‚ɁA
+            Hibernate‚Å‚ÍO/Rƒ}ƒbƒsƒ“ƒO‚̃ƒ^ƒf[ƒ^‚ð’è‹`‚·‚é‘ã‘Ö•û–@‚ª‚ ‚è‚Ü‚·B
+       </para>
+
+    <sect2 id="mapping-xdoclet">
+        <title>XDoclet ƒ}[ƒNƒAƒbƒv‚ÌŽg—p</title>
+
+        <para>
+            ‘½‚­‚ÌHibernateƒ†[ƒU‚ÍXDoclet‚Ì <literal>@hibernate.tags</literal> ‚ðŽg‚Á‚āA
+            ƒ\[ƒXƒR[ƒh“à‚É’¼Úƒ}ƒbƒsƒ“ƒOî•ñ‚𖄂ߍž‚Þ‚±‚Æ‚ðD‚Ý‚Ü‚·B
+            ‚±‚ê‚ÍŒµ–§‚ÉŒ¾‚¦‚ÎXDoclet‚Ì•ª–ì‚Ȃ̂ŁA–{ƒhƒLƒ…ƒƒ“ƒg‚Å‚Í‚±‚Ì•û–@‚ð‘ΏۂƂ͂µ‚Ü‚¹‚ñB
+            ‚µ‚©‚µXDoclet‚ðŽg‚Á‚½ˆÈ‰º‚Ì <literal>Cat</literal> ƒ}ƒbƒsƒ“ƒO‚Ì—á‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[package eg;
+import java.util.Set;
+import java.util.Date;
+
+/**
+ * @hibernate.class
+ *  table="CATS"
+ */
+public class Cat {
+    private Long id; // identifier
+    private Date birthdate;
+    private Cat mother;
+    private Set kittens
+    private Color color;
+    private char sex;
+    private float weight;
+
+    /*
+     * @hibernate.id
+     *  generator-class="native"
+     *  column="CAT_ID"
+     */
+    public Long getId() {
+        return id;
+    }
+    private void setId(Long id) {
+        this.id=id;
+    }
+
+    /**
+     * @hibernate.many-to-one
+     *  column="PARENT_ID"
+     */
+    public Cat getMother() {
+        return mother;
+    }
+    void setMother(Cat mother) {
+        this.mother = mother;
+    }
+
+    /**
+     * @hibernate.property
+     *  column="BIRTH_DATE"
+     */
+    public Date getBirthdate() {
+        return birthdate;
+    }
+    void setBirthdate(Date date) {
+        birthdate = date;
+    }
+    /**
+     * @hibernate.property
+     *  column="WEIGHT"
+     */
+    public float getWeight() {
+        return weight;
+    }
+    void setWeight(float weight) {
+        this.weight = weight;
+    }
+
+    /**
+     * @hibernate.property
+     *  column="COLOR"
+     *  not-null="true"
+     */
+    public Color getColor() {
+        return color;
+    }
+    void setColor(Color color) {
+        this.color = color;
+    }
+    /**
+     * @hibernate.set
+     *  inverse="true"
+     *  order-by="BIRTH_DATE"
+     * @hibernate.collection-key
+     *  column="PARENT_ID"
+     * @hibernate.collection-one-to-many
+     */
+    public Set getKittens() {
+        return kittens;
+    }
+    void setKittens(Set kittens) {
+        this.kittens = kittens;
+    }
+    // addKitten not needed by Hibernate
+    public void addKitten(Cat kitten) {
+        kittens.add(kitten);
+    }
+
+    /**
+     * @hibernate.property
+     *  column="SEX"
+     *  not-null="true"
+     *  update="false"
+     */
+    public char getSex() {
+        return sex;
+    }
+    void setSex(char sex) {
+        this.sex=sex;
+    }
+}]]></programlisting>
+
+        <para>
+            Hibernate‚̃EƒFƒuƒTƒCƒg‚ɂ́AXDoclet‚ÆHibernate‚ÉŠÖ‚·‚éƒTƒ“ƒvƒ‹‚ª‘½”‚ ‚è‚Ü‚·B
+        </para>
+
+    </sect2>
+
+    <sect2 id="mapping-annotations" revision="2">
+        <title>JDK 5.0 ƒAƒmƒe[ƒVƒ‡ƒ“‚ÌŽg—p</title>
+
+        <para>
+            JDK5.0‚ł̓^ƒCƒvƒZ[ƒt‚©‚ƒRƒ“ƒpƒCƒ‹Žž‚Ƀ`ƒFƒbƒN‚Å‚«‚éA
+            Œ¾ŒêƒŒƒxƒ‹‚ÌXDocletƒXƒ^ƒCƒ‹‚̃Aƒmƒe[ƒVƒ‡ƒ“‚𓱓ü‚µ‚Ü‚µ‚½B
+            ‚±‚̃ƒJƒjƒYƒ€‚ÍXDoclet‚̃Aƒmƒe[ƒVƒ‡ƒ“‚æ‚è‚à‹­—͂ŁAƒc[ƒ‹‚âIDE‚à‘½‚­‚ªƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            —Ⴆ‚ÎIntelliJ IDEA‚́AJDK5.0‚ɃAƒmƒe[ƒVƒ‡ƒ“‚ÌŽ©“®•âŠ®‚ƍ\•¶‚Ì‹­’²•\Ž¦‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            EJBŽd—l (JSR-220)‚̐V‚µ‚¢ƒo[ƒWƒ‡ƒ“‚ł́AƒGƒ“ƒeƒBƒeƒBƒr[ƒ“‚ɑ΂·‚éŽå—v‚ȃƒ^ƒf[ƒ^ƒƒJƒjƒYƒ€‚Æ‚µ‚Ä
+            JDK5.0‚̃Aƒmƒe[ƒVƒ‡ƒ“‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B
+            Hibernate3‚Å‚ÍJSR-220 (‰i‘±‰»API)‚Ì <literal>EntityManager</literal> ‚ðŽÀ‘•‚µA
+            ƒƒ^ƒf[ƒ^ƒ}ƒbƒsƒ“ƒO‚ɑ΂·‚éƒTƒ|[ƒg‚́A
+            •Êƒ_ƒEƒ“ƒ[ƒh‚Ì <emphasis>Hibernate Annotations</emphasis> ƒpƒbƒP[ƒW‚É‚æ‚è—˜—p‰Â”\‚Å‚·B
+            ‚±‚ê‚ÍEJB3(JSR-220)‚ÆHibernate3‚̃ƒ^ƒf[ƒ^‚ð‚Ç‚¿‚ç‚àƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            
+        </para>
+
+        <para>
+            ˆÈ‰º‚ÍEJB‚̃Gƒ“ƒeƒBƒeƒBƒr[ƒ“‚Æ‚µ‚Ä’Žß‚³‚ꂽPOJOƒNƒ‰ƒX‚Ì—á‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[@Entity(access = AccessType.FIELD)
+public class Customer implements Serializable {
+
+    @Id;
+    Long id;
+
+    String firstName;
+    String lastName;
+    Date birthday;
+
+    @Transient
+    Integer age;
+
+    @Embedded
+    private Address homeAddress;
+
+    @OneToMany(cascade=CascadeType.ALL)
+    @JoinColumn(name="CUSTOMER_ID")
+    Set<Order> orders;
+
+    // Getter/setter and business methods
+}]]></programlisting>
+
+        <para>
+            JDK5.0‚̃Aƒmƒe[ƒVƒ‡ƒ“(‚ÆJSR-220)‚̃Tƒ|[ƒg‚͐is’†‚̍ì‹Æ‚Å‚ ‚èAŠ®‘S‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚³‚ç‚ɏڂµ‚¢î•ñ‚ÍHibernate‚̃Aƒmƒe[ƒVƒ‡ƒ“Eƒ‚ƒWƒ…[ƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+    
+    </sect2>
+    
+    </sect1>
+
+
+    <sect1 id="mapping-generated" revision="1">
+        <title>¶¬ƒvƒƒpƒeƒB</title>
+        <para>
+            ¶¬ƒvƒƒpƒeƒB‚Ƃ́Aƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚ж¬‚³‚ꂽ’l‚ðŽ‚ÂƒvƒƒpƒeƒB‚Å‚·B
+            ’ʏíAHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́Aƒf[ƒ^ƒx[ƒX‚ª’l‚𐶐¬‚µ‚½ƒvƒƒpƒeƒB‚ðŠÜ‚ÞƒIƒuƒWƒFƒNƒg‚ð
+            <literal>ƒŠƒtƒŒƒbƒVƒ…</literal> ‚·‚é•K—v‚ª‚ ‚è‚Ü‚µ‚½B
+            ‚µ‚©‚µAƒvƒƒpƒeƒB‚ª¶¬‚³‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚ðƒ}[ƒN‚·‚邱‚ƂŁA
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓ŠƒtƒŒƒbƒVƒ…‚̐ӔC‚ðHibernate‚ɈϏ÷‚µ‚Ü‚·B
+            
+            Šî–{“I‚ɁA¶¬ƒvƒƒpƒeƒB‚ðŽ‚Â‚Æ’è‹`‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä
+            Hibernate‚ªINSERT‚âUPDATE‚ÌSQL‚𔭍s‚µ‚½Œã‚·‚®‚ɁA
+            ¶¬‚³‚ꂽ’l‚ð“ǂݍž‚Þ‚½‚ß‚Ì SELECT SQL ‚ª”­s‚³‚ê‚Ü‚·B
+        </para>
+        <para>
+            ¶¬ƒvƒƒpƒeƒB‚́A‘}“ü•s‰Â”\‚©‚XV•s‰Â”\‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            <xref linkend="mapping-declaration-version">versions</xref> A
+            <xref linkend="mapping-declaration-timestamp">timestamps</xref> A
+            <xref linkend="mapping-declaration-property">simple properties</xref> ‚¾‚¯‚ª¶¬‚³‚ꂽ‚ƃ}[ƒN‚Å‚«‚Ü‚·B
+        </para>
+        <para>
+            <literal>never</literal> (ƒfƒtƒHƒ‹ƒg) - —^‚¦‚ç‚ꂽƒvƒƒpƒeƒB‚Ì’l‚́A
+            ƒf[ƒ^ƒx[ƒX‚©‚琶¬‚³‚ê‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+        </para>
+        <para>
+            <literal>insert</literal> - —^‚¦‚ç‚ꂽƒvƒƒpƒeƒB‚Ì’l‚Í‘}“üŽž‚ɐ¶¬‚³‚ê‚邪A
+            ‘±‚¢‚Ä‹N‚±‚éXVŽž‚ɂ͐¶¬‚³‚ê‚È‚¢‚±‚ÆŽ¦‚µ‚Ü‚·B
+            ì¬‚³‚ꂽ“ú•t‚Ȃǂ́A‚±‚̃JƒeƒSƒŠ‚É•ª—Þ‚³‚ê‚Ü‚·B
+            <xref linkend="mapping-declaration-version">version</xref> ‚â
+            <xref linkend="mapping-declaration-timestamp">timestamp</xref> ‚Ì
+            ƒvƒƒpƒeƒB‚͐¶¬‚³‚ꂽ‚ƃ}[ƒN‚Å‚«‚Ü‚·‚ªA‚±‚̃IƒvƒVƒ‡ƒ“‚Í—˜—p‚Å‚«‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+        <para>
+            <literal>always</literal> - ‘}“üŽž‚àXVŽž‚àƒvƒƒpƒeƒB‚Ì’l‚ª¶¬‚³‚ê‚邱‚Æ‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+    </sect1>
+
+    <sect1 id="mapping-database-object" revision="0">
+        <title>•â•“I‚ȃf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg</title>
+        <para>
+            Hibernate‚̃XƒL[ƒ}EƒGƒ{ƒŠƒ…[ƒVƒ‡ƒ“ƒc[ƒ‹‚ƘA“®‚·‚邱‚ƂŁA
+            ”CˆÓ‚̃f[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒgiƒgƒŠƒK[‚âƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Ȃǁj‚ÌCREATE‚ÆDROP‚É‚æ‚èA
+            Hibernate‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚̃†[ƒUEƒXƒL[ƒ}‚ð‚·‚×‚Ä’è‹`‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+            Žå‚ɃgƒŠƒK‚âƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚̂悤‚ȃf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg‚𐶐¬‚âíœ‚·‚邱‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚·‚ªA
+            ŽÀÛ‚É‚Í <literal>java.sql.Statement.execute()</literal> ƒƒ\ƒbƒh‚É‚æ‚Á‚ÄŽÀs‚Å‚«‚é
+            ”CˆÓ‚ÌSQLƒRƒ}ƒ“ƒhiALTERAINSERT‚Ȃǁj‚ªŽÀs‚Å‚«‚Ü‚·B
+            •â•“I‚ȃf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg‚ð’è‹`‚·‚邽‚߂́A2‚‚̊î–{“I‚È•û–@‚ª‚ ‚è‚Ü‚·B
+        </para>
+        <para>
+            1‚–ڂ̕û–@‚́ACREATE‚ÆDROPƒRƒ}ƒ“ƒh‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÌŠO‚ɁA–¾Ž¦“I‚É‹LÚ‚·‚邱‚Æ‚Å‚·B
+        </para>
+        <programlisting><![CDATA[<hibernate-mapping>
+    ...
+    <database-object>
+        <create>CREATE TRIGGER my_trigger ...</create>
+        <drop>DROP TRIGGER my_trigger</drop>
+    </database-object>
+</hibernate-mapping>]]></programlisting>
+        <para>
+            2‚–ڂ̕û–@‚́ACREATE‚ÆDROPƒRƒ}ƒ“ƒh‚Ì‘g‚Ý—§‚Ä•û‚ð’m‚Á‚Ä‚¢‚éƒJƒXƒ^ƒ€ƒNƒ‰ƒX‚ð’ñ‹Ÿ‚·‚邱‚Æ‚Å‚·B
+            ‚±‚̃JƒXƒ^ƒ€ƒNƒ‰ƒX‚Í <literal>org.hibernate.mapping.AuxiliaryDatabaseObject</literal> ƒCƒ“ƒ^ƒtƒF[ƒX‚ð
+            ŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+        <programlisting><![CDATA[<hibernate-mapping>
+    ...
+    <database-object>
+        <definition class="MyTriggerDefinition"/>
+    </database-object>
+</hibernate-mapping>]]></programlisting>
+        <para>
+            ‚³‚ç‚ɁA‚ ‚éƒf[ƒ^ƒx[ƒX•ûŒ¾‚ªŽg—p‚³‚ê‚鎞‚É‚¾‚¯“K—p‚·‚é‚Æ‚¢‚Á‚½‚悤‚ɁA
+            ƒf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg‚ªŽg‚í‚ê‚éƒP[ƒX‚ðŒÀ’è‚Å‚«‚Ü‚·B
+        </para>
+        <programlisting><![CDATA[<hibernate-mapping>
+    ...
+    <database-object>
+        <definition class="MyTriggerDefinition"/>
+        <dialect-scope name="org.hibernate.dialect.Oracle9Dialect"/>
+        <dialect-scope name="org.hibernate.dialect.OracleDialect"/>
+    </database-object>
+</hibernate-mapping>]]></programlisting>
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/batch.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/batch.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/batch.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/batch.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,386 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="batch">
+    <title>ƒoƒbƒ`ˆ—</title>
+    
+    <para>
+        Hibernate‚ðŽg‚Á‚ăf[ƒ^ƒx[ƒX‚É100,000s‚ð‘}“ü‚·‚é‹ð’¼‚È•û–@‚́A‚±‚̂悤‚È‚à‚Ì‚Å‚·F
+    </para>
+
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+for ( int i=0; i<100000; i++ ) {
+    Customer customer = new Customer(.....);
+    session.save(customer);
+}
+tx.commit();
+session.close();]]></programlisting>
+
+    <para>
+        ‚±‚ê‚Í50,000”Ԗڂ̍s‚Ì‚ ‚½‚è‚Å <literal>OutOfMemoryException</literal> ‚ÅŽ¸”s‚·‚é‚Å‚µ‚傤B
+        Hibernate‚ªƒZƒbƒVƒ‡ƒ“ƒŒƒxƒ‹ƒLƒƒƒbƒVƒ…‚ŁA
+        V‚µ‚­‘}“ü‚³‚ꂽ‚·‚×‚Ä‚Ì <literal>Customer</literal> 
+        ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒLƒƒƒbƒVƒ…‚·‚é‚©‚ç‚Å‚·B
+    </para>
+
+    <para>
+        ‚±‚̏͂ł́A‚±‚Ì–â‘è‚ð‰ñ”ð‚·‚é•û–@‚ðÐ‰î‚µ‚Ü‚·B
+        ‚µ‚©‚µƒoƒbƒ`ˆ—‚ð‚·‚é‚È‚çAJDBCƒoƒbƒ`‚ªŽg—p‰Â”\‚Å‚ ‚邱‚Æ‚ª”ñí‚ɏd—v‚Å‚·B
+        ‚»‚¤‚Å‚È‚¯‚ê‚Ύ荠‚ȃpƒtƒH[ƒ}ƒ“ƒX‚ª“¾‚ç‚ê‚Ü‚¹‚ñB
+        JDBCƒoƒbƒ`ƒTƒCƒY‚ðŽè ‚Ȑ”’li—Ⴆ‚΁A10‚©‚ç50j‚ɐݒ肵‚Ä‚­‚¾‚³‚¢F
+    </para>
+    
+<programlisting><![CDATA[hibernate.jdbc.batch_size 20]]></programlisting>
+
+    <para>
+        ‚Ü‚½“ñŽŸƒLƒƒƒbƒVƒ…‚ª‘S‚­Œø‚©‚È‚¢ƒvƒƒZƒX‚ŁA
+        ‚±‚̂悤‚ȍì‹Æ‚ð‚µ‚½‚¢‚ÆŽv‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñF
+    </para>
+
+<programlisting><![CDATA[hibernate.cache.use_second_level_cache false]]></programlisting>
+
+    <para>
+        ‚µ‚©‚µA‚±‚ê‚͐â‘΂ɕK—v‚Æ‚¢‚¤‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+        ‚È‚º‚È‚ç–¾Ž¦“I‚É <literal>CacheMode</literal> ‚ðÝ’肵‚āA
+        “ñŽŸƒLƒƒƒbƒVƒ…‚Æ‚Ì‘ŠŒÝì—p‚𖳌ø‚É‚·‚邱‚Æ‚ª‚Å‚«‚é‚©‚ç‚Å‚·B
+       
+    </para>
+
+    <sect1 id="batch-inserts">
+        <title>ƒoƒbƒ`‘}“ü</title>
+
+        <para>
+            V‚µ‚¢ƒIƒuƒWƒFƒNƒg‚ð‰i‘±‰»‚·‚é‚Æ‚«AˆêŽŸƒLƒƒƒbƒVƒ…‚̃TƒCƒY‚𐧌À‚·‚邽‚߁A
+            ƒZƒbƒVƒ‡ƒ“‚ð <literal>flush()</literal> ‚µ‚Ä <literal>clear()</literal> 
+            ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+   
+for ( int i=0; i<100000; i++ ) {
+    Customer customer = new Customer(.....);
+    session.save(customer);
+    if ( i % 20 == 0 ) { //20, same as the JDBC batch size
+        //flush a batch of inserts and release memory:
+        session.flush();
+        session.clear();
+    }
+}
+   
+tx.commit();
+session.close();]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="batch-update" >
+        <title>ƒoƒbƒ`XV</title>
+
+        <para>
+            ƒf[ƒ^‚𕜌³‚µ‚½‚èXV‚µ‚½‚è‚·‚é‚É‚Í“¯‚¶ƒAƒCƒfƒBƒA‚ð“K—p‚µ‚Ü‚·B
+            ‚»‚ê‚ɉÁ‚¦‚āAƒf[ƒ^‚̍s‚𑽂­•Ô‚·ƒNƒGƒŠ‚ɑ΂µ‚Ä—LŒø‚È
+            ƒT[ƒo[ƒTƒCƒh‚̃J[ƒ\ƒ‹‚Ì—˜“_‚𐶂©‚µ‚½‚¯‚ê‚Î 
+            <literal>scroll()</literal> ‚ðŽg‚¤•K—v‚ª‚ ‚è‚Ü‚·B
+        </para>
+
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+   
+ScrollableResults customers = session.getNamedQuery("GetCustomers")
+    .setCacheMode(CacheMode.IGNORE)
+    .scroll(ScrollMode.FORWARD_ONLY);
+int count=0;
+while ( customers.next() ) {
+    Customer customer = (Customer) customers.get(0);
+    customer.updateStuff(...);
+    if ( ++count % 20 == 0 ) {
+        //flush a batch of updates and release memory:
+        session.flush();
+        session.clear();
+    }
+}
+   
+tx.commit();
+session.close();]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="batch-statelesssession">
+        <title>
+        StatelessSessionƒCƒ“ƒ^[ƒtƒFƒCƒX
+        </title>
+        
+        <para>
+            ‚Ü‚½•Ê‚Ì•û–@‚Æ‚µ‚āAHibernate‚̓Rƒ}ƒ“ƒhŽwŒü‚ÌAPI‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+            ‚±‚ê‚Í•ª—£ƒIƒuƒWƒFƒNƒg‚ÌŒ`‚ŁA
+            ƒf[ƒ^ƒx[ƒX‚Ƃ̃f[ƒ^ƒXƒgƒŠ[ƒ€‚Ì‚â‚èŽæ‚è‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            <literal>StatelessSession</literal> ‚ÍŠÖ˜A‚·‚é‰i‘±ƒRƒ“ƒeƒLƒXƒg‚ðŽ‚½‚¸A
+            ‚ƒŒƒxƒ‹‚̃‰ƒCƒtƒTƒCƒNƒ‹ƒZƒ}ƒ“ƒeƒBƒNƒX‚Ì‘½‚­‚ð’ñ‹Ÿ‚µ‚Ü‚¹‚ñB
+            “Á‚ɃXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚́AˆêŽžƒLƒƒƒbƒVƒ…‚ðŽÀ‘•‚¹‚¸A
+            ‚Ü‚½‚ǂ̂悤‚È“ñŽŸƒLƒƒƒbƒVƒ…‚âƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Æ‚à‘ŠŒÝì—p‚µ‚Ü‚¹‚ñB
+            ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒiƒ‹‚Èwrite-behind‚⎩“®ƒ_[ƒeƒBƒ`ƒFƒbƒN‚àŽÀ‘•‚µ‚Ü‚¹‚ñB
+            ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚ðŽg‚Á‚čs‚í‚ê‚é‘€ì‚ªA
+            ŠÖ˜A‚·‚éƒCƒ“ƒXƒ^ƒ“ƒX‚ÖƒJƒXƒP[ƒh‚³‚ê‚邱‚Æ‚ÍŒˆ‚µ‚Ä‚ ‚è‚Ü‚¹‚ñB
+            ƒRƒŒƒNƒVƒ‡ƒ“‚́AƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚©‚ç‚Í–³Ž‹‚³‚ê‚Ü‚·B
+            ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚ð’Ê‚µ‚čs‚í‚ê‚é‘€ì‚́A
+            Hibernate‚̃Cƒxƒ“ƒgƒ‚ƒfƒ‹‚âƒCƒ“ƒ^[ƒZƒvƒ^‚̉e‹¿‚ðŽó‚¯‚Ü‚¹‚ñB
+            ˆêŽžƒLƒƒƒbƒVƒ…‚ðŽ‚½‚È‚¢‚½‚߁A
+            ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚Í•Ê–¼‚ðŽ‚Âƒf[ƒ^‚ɏãŽè‚­‘Ώˆ‚Å‚«‚Ü‚¹‚ñB
+            ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚͒჌ƒxƒ‹‚Ì’ŠÛ‰»‚Å‚ ‚èAJDBC‚É”ñí‚É‚æ‚­Ž—‚Ä‚¢‚Ü‚·B
+            
+        </para>
+
+<programlisting><![CDATA[StatelessSession session = sessionFactory.openStatelessSession();
+Transaction tx = session.beginTransaction();
+   
+ScrollableResults customers = session.getNamedQuery("GetCustomers")
+    .scroll(ScrollMode.FORWARD_ONLY);
+while ( customers.next() ) {
+    Customer customer = (Customer) customers.get(0);
+    customer.updateStuff(...);
+    session.update(customer);
+}
+   
+tx.commit();
+session.close();]]></programlisting>
+
+        <para>
+            ‚±‚̃R[ƒh—á‚ł́AƒNƒGƒŠ‚ª•Ô‚· <literal>Customer</literal> 
+            ƒCƒ“ƒXƒ^ƒ“ƒX‚Í‘¦À‚ɁiƒZƒbƒVƒ‡ƒ“‚©‚çj•ª—£‚³‚ê‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚±‚ê‚́A‚ǂ̂悤‚ȉi‘±ƒRƒ“ƒeƒLƒXƒg‚Æ‚àŒˆ‚µ‚ÄŠÖ˜A‚µ‚Ü‚¹‚ñB
+            
+        </para>
+        
+        <para>
+            <literal>StatelessSession</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å’è‹`‚³‚ê‚Ä‚¢‚é 
+            <literal>insert(), update(), delete()</literal> ‚́A
+            ’჌ƒxƒ‹‚Ì’¼Ú“I‚ȃf[ƒ^ƒx[ƒX‘€ì‚ƍl‚¦‚ç‚ê‚Ü‚·B
+            Œ‹‰Ê‚Æ‚µ‚āASQL‚Ì <literal>INSERT, UPDATE, DELETE</literal> ‚ª‚»‚ꂼ‚ꑦÀ‚ÉŽÀs‚³‚ê‚Ü‚·B
+            ‚±‚̂悤‚ɁA‚±‚ê‚ç‚Í <literal>Session</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å’è‹`‚³‚ê‚Ä‚¢‚é 
+            <literal>save(), saveOrUpdate(), delete()</literal> 
+            ‚Æ‚Í”ñí‚ɈقȂéˆÓ–¡‚ðŽ‚¿‚Ü‚·B
+            
+        </para>
+
+    </sect1>
+
+    <sect1 id="batch-direct" revision="3">
+        <title>
+        DMLƒXƒ^ƒCƒ‹‚Ì‘€ì
+        </title>
+
+        <para>
+            ‚·‚Å‚É‹c˜_‚µ‚½‚悤‚ɁAŽ©“®“I‚©‚“§‰ß“I‚ȃIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒO‚́A
+            ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô‚ÌŠÇ—‚Å‚ ‚é‚ƍl‚¦‚ç‚ê‚Ü‚·B
+            ‚±‚ê‚̓ƒ‚ƒŠ“à‚̃IƒuƒWƒFƒNƒg‚̏ó‘Ô‚ð—˜—p‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            ‚»‚Ì‚½‚߁iSQL‚Ì <literal>ƒf[ƒ^‘€ìŒ¾Œê</literal> (DML) •¶F
+            <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal> 
+            ‚ðŽg‚Á‚ājƒf[ƒ^ƒx[ƒX“à‚̃f[ƒ^‚𒼐ڑ€ì‚µ‚Ä‚àA
+            ƒƒ‚ƒŠ“à‚̏ó‘Ԃɂ͉e‹¿‚ð—^‚¦‚Ü‚¹‚ñB
+            ‚µ‚©‚µHibernate‚́Aƒoƒ‹ƒNSQLƒXƒ^ƒCƒ‹‚ÌDML•¶ŽÀs‚ɑΉž‚·‚郁ƒ\ƒbƒh‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+            ‚±‚ê‚ÍHibernateƒNƒGƒŠŒ¾Œêi<xref linkend="queryhql">HQL</xref>j
+            ‚ð’Ê‚µ‚ÄŽÀs‚³‚ê‚Ü‚·B
+            
+        </para>
+
+        <para>
+            <literal>UPDATE</literal> ‚Æ <literal>DELETE</literal> •¶‚Ì‹^Ž—\•¶‚́F
+            <literal>( UPDATE | DELETE ) FROM? ƒGƒ“ƒeƒBƒeƒB–¼ (WHERE ðŒß)?</literal> ‚Å‚·B
+            ’ˆÓ‚·‚ׂ«“_‚ª‚¢‚­‚‚©‚ ‚è‚Ü‚·F
+            
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    fromß‚É‚¨‚¢‚āAFROMƒL[ƒ[ƒh‚̓IƒvƒVƒ‡ƒ“‚Å‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    fromß‚Å‚Í’Pˆê‚̃Gƒ“ƒeƒBƒeƒB–¼‚¾‚¯‚ª‰Â”\‚ŁA
+                    ”CˆÓ‚Å•Ê–¼‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                    ƒGƒ“ƒeƒBƒeƒB–¼‚É•Ê–¼‚ª—^‚¦‚ç‚ê‚é‚ƁA‚ǂ̂悤‚ȃvƒƒpƒeƒBŽQÆ‚àA
+                    ‚»‚Ì•Ê–¼‚ðŽg‚Á‚ďCü‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                    ‚à‚µƒGƒ“ƒeƒBƒeƒB–¼‚É•Ê–¼‚ª—^‚¦‚ç‚ê‚È‚¯‚ê‚΁A
+                    ‚ǂ̂悤‚ȃvƒƒpƒeƒBŽQÆ‚àCü‚µ‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+                    
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                iˆÃ–Ù“I‚Å‚ ‚ê–¾Ž¦“I‚Å‚ ‚êj<xref linkend="queryhql-joins-forms">Œ‹‡</xref> 
+                ‚ðƒoƒ‹ƒNHQLƒNƒGƒŠ“à‚ÅŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                ƒTƒuƒNƒGƒŠ‚Íwhereß‚ÅŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·
+                ƒTƒuƒNƒGƒŠ‚»‚Ì‚à‚̂́AŒ‹‡‚ðŠÜ‚ß‚ç‚ê‚Ü‚·B
+                
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    whereß‚̓IƒvƒVƒ‡ƒ“‚Å‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            —á‚Æ‚µ‚āAHQL‚Ì <literal>UPDATE</literal> ‚ðŽÀs‚·‚é‚ɂ́A
+            <literal>Query.executeUpdate()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+            i‚±‚̃ƒ\ƒbƒh‚Í‚¨‚È‚¶‚Ý‚ÌJDBC <literal>PreparedStatement.executeUpdate()</literal> 
+            ‚©‚ç–¼•t‚¯‚ç‚ê‚Ü‚µ‚½jF
+            d
+        </para>
+
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+
+String hqlUpdate = "update Customer c set c.name = :newName where c.name = :oldName";
+// or String hqlUpdate = "update Customer set name = :newName where name = :oldName";
+int updatedEntities = s.createQuery( hqlUpdate )
+        .setString( "newName", newName )
+        .setString( "oldName", oldName )
+        .executeUpdate();
+tx.commit();
+session.close();]]></programlisting>
+
+        <para>
+            HQL‚Ì <literal>UPDATE</literal> •¶‚́AƒfƒtƒHƒ‹ƒg‚ł́Aì—p‚·‚éƒGƒ“ƒeƒBƒeƒB‚Ì 
+            <xref linkend="mapping-declaration-version">version</xref> ‚â 
+            <xref linkend="mapping-declaration-timestamp">timestamp</xref> 
+            ƒvƒƒpƒeƒB‚Ì’l‚ɂ͉e‹¿‚µ‚Ü‚¹‚ñB
+            ‚±‚ê‚ÍEJB3‚ÌŽd—l‚É‚àŽó‚¯Œp‚ª‚ê‚Ä‚¢‚Ü‚·B
+            ‚µ‚©‚µ <literal>versioned update</literal> ‚ðŽg‚Á‚āA
+            <literal>version</literal> ‚â <literal>timestamp</literal> 
+            ƒvƒƒpƒeƒB‚Ì’l‚ð‹­§“I‚ɃŠƒZƒbƒg‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚±‚ê‚Í <literal>UPDATE</literal> ƒL[ƒ[ƒh‚ÌŒã‚É <literal>VERSIONED</literal> 
+            ƒL[ƒ[ƒh‚ð’ljÁ‚·‚邱‚Ƃōs‚¦‚Ü‚·B
+            
+        </para>
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+String hqlVersionedUpdate = "update versioned Customer set name = :newName where name = :oldName";
+int updatedEntities = s.createQuery( hqlUpdate )
+        .setString( "newName", newName )
+        .setString( "oldName", oldName )
+        .executeUpdate();
+tx.commit();
+session.close();]]></programlisting>
+
+        <para>
+            ƒJƒXƒ^ƒ€ƒo[ƒWƒ‡ƒ“Œ^i<literal>org.hibernate.usertype.UserVersionType</literal>j
+            ‚Í <literal>update versioned</literal> •¶‚ƈꏏ‚ÉŽg‚¦‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            HQL‚Ì <literal>DELETE</literal> ‚ðŽÀs‚·‚é‚ɂ́A
+            “¯‚¶ <literal>Query.executeUpdate()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢F
+            
+        </para>
+
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+
+String hqlDelete = "delete Customer c where c.name = :oldName";
+// or String hqlDelete = "delete Customer where name = :oldName";
+int deletedEntities = s.createQuery( hqlDelete )
+        .setString( "oldName", oldName )
+        .executeUpdate();
+tx.commit();
+session.close();]]></programlisting>
+
+        <para>
+            <literal>Query.executeUpdate()</literal> ƒƒ\ƒbƒh‚ª•Ô‚· <literal>int</literal> 
+            ‚Ì’l‚́A‚±‚Ì‘€ì‚ª‰e‹¿‚ð‹y‚Ú‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚̐”‚Å‚·B
+            ‚±‚ꂪ‰e‹¿‚·‚éƒf[ƒ^ƒx[ƒX“à‚̍s”‚ƁA‘ŠŒÝ‚ÉŠÖŒW‚·‚é‚©‚Ç‚¤‚©‚ðl‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+            HQLƒoƒ‹ƒN‘€ì‚́AŒ‹‰Ê‚Æ‚µ‚āAŽÀÛ‚ÌSQL•¶‚ª•¡”ŽÀs‚³‚ê‚邱‚Æ‚É‚È‚è‚Ü‚·B
+            —Ⴆ‚Îjoined-subclass‚Å‚·B
+            •Ô‚³‚ê‚鐔‚́A‚»‚Ì•¶‚É‚æ‚Á‚ĉe‹¿‚³‚ꂽŽÀÛ‚̃Gƒ“ƒeƒBƒeƒB‚̐”‚ðŽ¦‚µ‚Ü‚·B
+            joined-subclass‚Ì—á‚É–ß‚é‚ƁAƒTƒuƒNƒ‰ƒX‚̈ê‚‚ɑ΂·‚éíœ‚́A
+            ‚»‚̃TƒuƒNƒ‰ƒX‚ªƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒe[ƒuƒ‹‚¾‚¯‚Å‚Í‚È‚­A
+            uƒ‹[ƒgvƒe[ƒuƒ‹‚ÆŒp³ŠK‘w‚ð‚³‚ç‚ɉº‚Á‚½joined-subclass‚̃e[ƒuƒ‹‚̍폜‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <para>
+            <literal>INSERT</literal> •¶‚Ì‹^Ž—\•¶‚́F
+            <literal>INSERT INTO ƒGƒ“ƒeƒBƒeƒB–¼ ƒvƒƒpƒeƒBƒŠƒXƒg select•¶</literal> ‚Å‚·B
+            ’ˆÓ‚·‚ׂ«“_‚ª‚¢‚­‚‚©‚ ‚è‚Ü‚·F
+            
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    INSERT INTO ... SELECT ... ‚ÌŒ`Ž®‚¾‚¯‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚·B
+                    INSERT INTO ... VALUES ... ‚ÌŒ`Ž®‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
+                </para>
+                <para>
+                    ƒvƒƒpƒeƒBƒŠƒXƒg‚́ASQL‚Ì <literal>INSERT</literal> •¶‚É‚¨‚¯‚é <literal>ƒJƒ‰ƒ€‚ÌŽd—l</literal> 
+                    ‚É—ÞŽ—‚µ‚Ä‚¢‚Ü‚·B
+                    Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÜ‚Ü‚ê‚éƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚āA
+                    ƒNƒ‰ƒXƒŒƒxƒ‹‚Å’¼Ú’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚¾‚¯‚ªAƒvƒƒpƒeƒBƒŠƒXƒg‚ÉŽg‚¦‚Ü‚·B
+                    ƒX[ƒp[ƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚Í”F‚ß‚ç‚ꂸAƒTƒuƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ÍŒø‰Ê‚ª‚ ‚è‚Ü‚¹‚ñB
+                    Œ¾‚¢Š·‚¦‚é‚Æ <literal>INSERT</literal> •¶‚́A–{Ž¿“I‚Ƀ|ƒŠƒ‚[ƒtƒBƒbƒN‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                    
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    select•¶‚Ì•Ô‚è’l‚ÌŒ^‚ªinsert•¶‚ªŠú‘Ò‚·‚éŒ^‚ƃ}ƒbƒ`‚µ‚Ä‚¢‚ê‚΁A
+                    ‚»‚Ìselect•¶‚͑Ó–‚ÈHQL selectƒNƒGƒŠ‚ƂȂ肦‚Ü‚·B
+                    Œ»Ý‚±‚̃`ƒFƒbƒN‚ðƒf[ƒ^ƒx[ƒX‚Ö”C‚¹‚é‚Ì‚Å‚Í‚È‚­AƒNƒGƒŠ‚̃Rƒ“ƒpƒCƒ‹Žž‚Ƀ`ƒFƒbƒN‚µ‚Ü‚·B
+                    ‚±‚Ì‚±‚Ƃ́A<emphasis>equal</emphasis>‚Ƃ͈ႢA
+                    Hibernate‚Ì <literal>Type</literal> ŠÔ‚Ì <emphasis>equivalent</emphasis> ‚ÉŠÖ‚·‚é
+                    –â‘è‚ðˆø‚«‹N‚±‚·‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                    ‚±‚ê‚Í <literal>org.hibernate.type.DataType</literal> ‚Æ‚µ‚Ä’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚ƁA
+                    <literal>org.hibernate.type.TimestampType</literal> 
+                    ‚Æ‚µ‚Ä’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚̊Ԃ̃~ƒXƒ}ƒbƒ`‚Ì–â‘è‚ðˆø‚«‹N‚±‚µ‚Ü‚·B
+                    ƒf[ƒ^ƒx[ƒX‚ª‚»‚ê‚ç‚ð‹æ•Ê‚Å‚«‚È‚­‚Ä‚àA•ÏŠ·‚·‚邱‚Æ‚ª‚Å‚«‚Ä‚àA‚±‚Ì–â‘è‚Í”­¶‚µ‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    idƒvƒƒpƒeƒB‚ɑ΂µ‚āAinsert•¶‚É‚Í“ñ‚‚̑I‘ðŽˆ‚ª‚ ‚è‚Ü‚·B
+                    ƒvƒƒpƒeƒBƒŠƒXƒg‚Å–¾Ž¦“I‚ÉidƒvƒƒpƒeƒB‚ðŽw’è‚·‚é‚©
+                    i‚±‚̏ꍇA‘Ήž‚·‚éselectŽ®‚©‚ç’l‚ªŽæ‚ç‚ê‚Ü‚·jA
+                    ƒvƒƒpƒeƒBƒŠƒXƒg‚©‚珜ŠO‚·‚é‚©
+                    i‚±‚̏ꍇA¶¬‚³‚ê‚é’l‚ªŽg‚í‚ê‚Ü‚·j‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+                    ŒãŽÒ‚Ì‘I‘ðŽˆ‚ÍAƒf[ƒ^ƒx[ƒX“à‚𑀍삷‚éidƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚Æ‚«‚̂݁A—˜—p‰Â”\‚Å‚·B
+                    ‚±‚Ì‘I‘ðŽˆ‚ðÌ‚éê‡AuƒCƒ“ƒƒ‚ƒŠvŒ^‚̃WƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚ƁA\•¶‰ðÍŽž‚É—áŠO‚ª”­¶‚µ‚Ü‚·B
+                    ‚±‚Ì‹c˜_‚ł́AƒCƒ“ƒf[ƒ^ƒx[ƒXŒ^ƒWƒFƒlƒŒ[ƒ^‚Í <literal>org.hibernate.id.SequenceGenerator</literal> 
+                    i‚Æ‚»‚̃TƒuƒNƒ‰ƒXj‚ƁA<literal>org.hibernate.id.PostInsertIdentifierGenerator</literal> 
+                    ‚ÌŽÀ‘•‚Å‚ ‚é‚ƍl‚¦‚Ä‚¢‚Ü‚·B
+                    ‚±‚±‚ÅÅ‚à’ˆÓ‚·‚ׂ«—áŠO‚́A<literal>org.hibernate.id.TableHiLoGenerator</literal> ‚Å‚·B
+                    ’l‚ðŽæ“¾‚·‚é‘I‘ð‰Â”\‚È•û–@‚ª‚È‚¢‚½‚߁A‚±‚̃WƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                    
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>version</literal> ‚â <literal>timestamp</literal> ‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ê‚éƒvƒƒpƒeƒB‚ɑ΂µ‚āA
+                    insert•¶‚É‚Í“ñ‚‚̑I‘ðŽˆ‚ª‚ ‚è‚Ü‚·B
+                    ƒvƒƒpƒeƒBƒŠƒXƒg‚Å–¾Ž¦“I‚ɃvƒƒpƒeƒB‚ðŽw’è‚·‚é‚©
+                    i‚±‚̏ꍇA‘Ήž‚·‚éselectŽ®‚©‚ç’l‚ªŽæ‚ç‚ê‚Ü‚·jA
+                    ƒvƒƒpƒeƒBƒŠƒXƒg‚©‚珜ŠO‚·‚é‚©
+                    i‚±‚̏ꍇA<literal>org.hibernate.type.VersionType</literal> ‚Å’è‹`‚³‚ꂽ 
+                    <literal>ƒV[ƒh’l</literal> ‚ªŽg‚í‚ê‚Ü‚·j‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+                    
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            HQL‚Ì <literal>INSERT</literal> •¶‚ÌŽÀs—á‚Å‚·F
+            
+        </para>
+
+<programlisting><![CDATA[Session session = sessionFactory.openSession();
+Transaction tx = session.beginTransaction();
+
+String hqlInsert = "insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ...";
+int createdEntities = s.createQuery( hqlInsert )
+        .executeUpdate();
+tx.commit();
+session.close();]]></programlisting>
+
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/best_practices.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,250 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="best-practices" revision="3">
+    <title>ƒxƒXƒgƒvƒ‰ƒNƒeƒBƒX</title>
+
+    <variablelist spacing="compact">
+        <varlistentry>
+            <term>
+            ƒNƒ‰ƒX‚ׂ͍©‚¢—±“x‚ŏ‘‚« <literal>&lt;component&gt;</literal> ‚Ń}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    <literal>street</literal>i’Ê‚èj, <literal>suburb</literal>
+                    i“sŽsj, <literal>state</literal>iBj, <literal>postcode</literal> 
+                    i—X•Ö”ԍ†j‚ðƒJƒvƒZƒ‹‰»‚·‚é <literal>Address</literal>iZŠjƒNƒ‰ƒX‚ðŽg‚¢‚Ü‚µ‚傤B
+                    ‚»‚¤‚·‚ê‚΃R[ƒh‚ªÄ—˜—p‚µ‚â‚·‚­‚È‚èAƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO‚àŠÈ’P‚É‚È‚è‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>
+            ‰i‘±ƒNƒ‰ƒX‚É‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    Hibernate‚Å‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚̓IƒvƒVƒ‡ƒ“‚Å‚·‚ªA
+                    Žg—p‚·‚ׂ«——R‚ª‚½‚­‚³‚ñ‚ ‚è‚Ü‚·B
+                    Ž¯•ÊŽq‚́ulH“Ivi¶¬‚³‚ꂽA‹Æ–±“I‚ȈӖ¡‚ðŽ‚½‚È‚¢j
+                    ‚È‚à‚Ì‚É‚·‚邱‚Æ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>Ž©‘RƒL[‚ðŒ©‚Â‚¯‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚ÄŽ©‘RƒL[‚ðŒ©‚Â‚¯‚āA
+                    <literal>&lt;natural-id&gt;</literal> ‚Ń}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤B
+                    Ž©‘RƒL[‚ð\¬‚·‚éƒvƒƒpƒeƒB‚ð”äŠr‚·‚邽‚߂ɁA
+                    <literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚ðŽÀ‘•‚µ‚Ü‚µ‚傤B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ƒNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚Í‚»‚ꂼ‚ê‚̃Nƒ‰ƒXê—p‚̃tƒ@ƒCƒ‹‚ɏ‘‚«‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                     ’Pˆê‚Ì‹‘å‚ȃ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ðŽg—p‚µ‚È‚¢‚Å‚­‚¾‚³‚¢B
+                     <literal>com.eg.Foo</literal> ƒNƒ‰ƒX‚È‚ç 
+                     <literal>com/eg/Foo.hbm.xml</literal> ƒtƒ@ƒCƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤B
+                     ‚±‚Ì‚±‚Ƃ́A“Á‚Ƀ`[ƒ€‚Å‚ÌŠJ”­‚ɈӖ¡‚ª‚ ‚è‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ƒŠƒ\[ƒX‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚ðƒ[ƒh‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ƒ}ƒbƒsƒ“ƒO‚ðA‚»‚ê‚炪ƒ}ƒbƒsƒ“ƒO‚·‚é‚·‚éƒNƒ‰ƒX‚ƈꏏ‚É”z’u‚µ‚Ü‚µ‚傤B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ƒNƒGƒŠ•¶Žš—ñ‚ðŠO•”‚É’u‚­‚±‚Æ‚ðl‚¦‚Ü‚µ‚傤</term>
+            <listitem>
+                <para>
+                    ƒNƒGƒŠ‚ªANSI•W€‚Å‚È‚¢SQLŠÖ”‚ðŒÄ‚ñ‚Å‚¢‚é‚È‚çA‚±‚ê‚Í‚æ‚¢ƒvƒ‰ƒNƒeƒBƒX‚Å‚·B
+                    ƒNƒGƒŠ•¶Žš—ñ‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÖŠOo‚µ‚·‚ê‚΃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒ|[ƒ^ƒuƒ‹‚É‚È‚è‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ƒoƒCƒ“ƒh•Ï”‚ðŽg‚¢‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                     JDBC‚̏ꍇ‚Æ“¯‚¶‚悤‚ɁA’萔‚Å‚È‚¢’l‚Í•K‚¸"?"‚Å’u‚«Š·‚¦‚Ü‚µ‚傤B
+                     ’萔‚Å‚È‚¢’l‚ðƒoƒCƒ“ƒh‚·‚邽‚߂ɁAƒNƒGƒŠ‚Å•¶Žš—ñ‘€ì‚ðŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+                     –¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚ðŽg‚¤‚悤‚É‚·‚é‚Æ‚³‚ç‚É—Ç‚¢‚Å‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŠÇ—‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB</term>
+            <listitem>
+                <para>
+                    Hibernate‚ł̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŠÇ—‚·‚邱‚Æ‚ª‹–‚³‚ê‚Ä‚¢‚Ü‚·B
+                    ‚µ‚©‚µ‚±‚ê‚͍ŏIŽè’i‚¾‚ÆŽv‚Á‚Ä‚­‚¾‚³‚¢B
+                    ‘g‚ݍž‚݂̃RƒlƒNƒVƒ‡ƒ“ƒvƒƒoƒCƒ_‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚È‚¯‚ê‚΁A
+                    <literal>org.hibernate.connection.ConnectionProvider</literal> ‚ðŽÀ‘•‚·‚邱‚Æ‚ðl‚¦‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ƒJƒXƒ^ƒ€Œ^‚ÌŽg—p‚ðl‚¦‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ‚ ‚郉ƒCƒuƒ‰ƒŠ‚©‚玝‚Á‚Ä‚«‚½JavaŒ^‚ð‰i‘±‰»‚·‚é•K—v‚ª‚ ‚é‚Æ‚µ‚Ü‚µ‚傤B
+                    ‚µ‚©‚µ‚»‚ÌŒ^‚ɂ́AƒRƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚·‚邽‚ß‚É•K—v‚ȃAƒNƒZƒT‚ª‚È‚¢‚Æ‚µ‚Ü‚·B
+                    ‚±‚̂悤‚ȏꍇ‚Í <literal>org.hibernate.UserType</literal> ‚ÌŽÀ‘•‚ðl‚¦‚é‚ׂ«‚Å‚·B
+                    ‚»‚¤‚·‚ê‚ÎHibernateŒ^‚Æ‚ÌŽÀ‘••ÏŠ·‚ðS”z‚¹‚¸‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃R[ƒh‚ðˆµ‚¦‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ƒ{ƒgƒ‹ƒlƒbƒN‚ð‰ðÁ‚·‚é‚É‚ÍJDBC‚ðƒnƒ“ƒhƒR[ƒh‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ƒVƒXƒeƒ€‚̃pƒtƒH[ƒ}ƒ“ƒXƒNƒŠƒeƒBƒJƒ‹‚ȗ̈æ‚ł́A
+                    ‚ ‚éŽí‚Ì‘€ì‚ÉJDBC‚𒼐ڎg‚¤‚Æ—Ç‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                    ‚µ‚©‚µ‰½‚ªƒ{ƒgƒ‹ƒlƒbƒN‚É‚È‚Á‚Ä‚¢‚é‚© <emphasis>‚Í‚Á‚«‚è‚·‚é</emphasis> ‚Ü‚Å‚Í‘Ò‚Á‚Ä‚­‚¾‚³‚¢B
+                    ‚Ü‚½JDBC‚𒼐ڎg‚¤‚©‚ç‚Æ‚¢‚Á‚āA•K‚¸‚µ‚à‘¬‚­‚È‚é‚Æ‚ÍŒÀ‚ç‚È‚¢‚±‚Æ‚à—‰ð‚µ‚Ä‚­‚¾‚³‚¢B
+                    JDBC‚𒼐ڎg‚¤•K—v‚ª‚ ‚ê‚΁AHibernate‚Ì <literal>Session</literal> ‚ðƒI[ƒvƒ“‚µ‚āA
+                    JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽg‚¤‚Æ—Ç‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                    ˆË‘R‚Æ‚µ‚Ä“¯‚¶ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“í—ª‚ƃRƒlƒNƒVƒ‡ƒ“ƒvƒƒoƒCƒ_‚ªŽg‚¦‚é‚©‚ç‚Å‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term><literal>Session</literal> ‚̃tƒ‰ƒbƒVƒ…‚ð—‰ð‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    Session‚ª‰i‘±ó‘Ô‚ðƒf[ƒ^ƒx[ƒX‚Æ“¯Šú‚³‚¹‚邱‚Æ‚ª‚Æ‚«‚Ç‚«‚ ‚è‚Ü‚·B
+                    ‚µ‚©‚µ‚±‚ꂪ‚ ‚Ü‚è‚É•p”É‚É‹N‚±‚é‚悤‚¾‚ƁAƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚ªo‚Ä‚«‚Ü‚·B
+                    Ž©“®ƒtƒ‰ƒbƒVƒ…‚𖳌ø‚É‚µ‚½‚èA“Á’è‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃NƒGƒŠ‚â‘€ì‚̏‡”Ô‚ð•ÏX‚·‚邱‚ƂŁA
+                    •s•K—v‚ȃtƒ‰ƒbƒVƒ…‚ðÅ¬ŒÀ‚É‚Å‚«‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>3‘wƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚Í•ª—£ƒIƒuƒWƒFƒNƒg‚ÌŽg—p‚ðl‚¦‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ƒT[ƒuƒŒƒbƒg / ƒZƒbƒVƒ‡ƒ“ƒr[ƒ“ƒA[ƒLƒeƒNƒ`ƒƒ‚ðŽg‚¤‚Æ‚«A
+                    ƒT[ƒuƒŒƒbƒg‘w / JSP‘wŠÔ‚ŃZƒbƒVƒ‡ƒ“ƒr[ƒ“‚э[ƒh‚µ‚½‰i‘±ƒIƒuƒWƒFƒNƒg‚ð‚â‚èŽæ‚è‚Å‚«‚Ü‚·B
+                    ‚»‚̍ۃŠƒNƒGƒXƒg‚²‚ƂɐV‚µ‚¢Session‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+                    ‚Ü‚½ <literal>Session.merge()</literal> ‚â <literal>Session.saveOrUpdate()</literal> 
+                    ‚ðŽg‚Á‚āAƒIƒuƒWƒFƒNƒg‚ƃf[ƒ^ƒx[ƒX‚𓯊ú‚³‚¹‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>2‘wƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚Í’·‚¢‰i‘±ƒRƒ“ƒeƒLƒXƒg‚ÌŽg—p‚ðl‚¦‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    Å‚‚̃XƒP[ƒ‰ƒrƒŠƒeƒB‚𓾂é‚ɂ́A
+                    ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð‚Å‚«‚邾‚¯’Z‚­‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                    ‚µ‚©‚µ’·‚¢ŠÔŽÀs‚·‚é <emphasis>ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“</emphasis> 
+                    ‚ÌŽÀ‘•‚ª•K—v‚È‚±‚Æ‚Í‚µ‚΂µ‚΂ł·B
+                    ‚±‚ê‚̓†[ƒU‚ÌŽ‹“_‚©‚ç‚Í1ŒÂ‚̍ì‹Æ’PˆÊiunit of workj‚É‚È‚è‚Ü‚·B
+                    ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Í‚¢‚­‚‚©‚̃Nƒ‰ƒCƒAƒ“ƒg‚̃ŠƒNƒGƒXƒg/ƒŒƒXƒ|ƒ“ƒXƒTƒCƒNƒ‹‚É‚Ü‚½‚ª‚è‚Ü‚·B
+                    ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŽÀ‘•‚É•ª—£ƒIƒuƒWƒFƒNƒg‚ðŽg‚¤‚͈̂ê”Ê“I‚Å‚·B
+                    
+                    ‚»‚¤‚Å‚È‚¯‚ê‚΁A2‘wƒA[ƒLƒeƒNƒ`ƒƒ‚̏ꍇ‚Í“Á‚É“KØ‚È‚±‚Æ‚Å‚·‚ªA
+                    ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃‰ƒCƒtƒTƒCƒNƒ‹‘S‘̂ɑ΂µ‚Ä
+                    ’Pˆê‚̃I[ƒvƒ“‚ȉi‘±‰»ƒRƒ“ƒeƒLƒXƒgiƒZƒbƒVƒ‡ƒ“j‚ðˆÛŽ‚µ‚Ä‚­‚¾‚³‚¢B
+                    ‚»‚µ‚Ä’Pƒ‚ɃŠƒNƒGƒXƒg‚̍Ōã‚ÉJDBCƒRƒlƒNƒVƒ‡ƒ“‚©‚çØ’f‚µA
+                    ŽŸ‚̃ŠƒNƒGƒXƒg‚̍ŏ‰‚ɍĐڑ±‚µ‚Ü‚·B
+                    
+                    Œˆ‚µ‚Ä•¡”‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ†[ƒXƒP[ƒX‚É“n‚Á‚Ä
+                    1ŒÂ‚ÌSession‚ðŽg‚¢‰ñ‚³‚È‚¢‚Å‚­‚¾‚³‚¢B
+                    ‚»‚¤‚Å‚È‚¯‚ê‚΁AŒÃ‚¢ƒf[ƒ^‚ōì‹Æ‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>—áŠO‚𕜋A‰Â”\‚È‚à‚Ì‚Æ‚µ‚Ĉµ‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB</term>
+            <listitem>
+                <para>
+                    ‚±‚ê‚́uƒxƒXƒgvƒvƒ‰ƒNƒeƒBƒXˆÈã‚́A•K{‚̃vƒ‰ƒNƒeƒBƒX‚Å‚·B
+                    —áŠO‚ª”­¶‚µ‚½‚Æ‚«‚Í <literal>Transaction</literal> ‚ðƒ[ƒ‹ƒoƒbƒN‚µ‚āA
+                    <literal>Session</literal> ‚ðƒNƒ[ƒY‚µ‚Ä‚­‚¾‚³‚¢B
+                    ‚»‚¤‚µ‚È‚¢‚ÆHibernate‚̓ƒ‚ƒŠ‚̏ó‘Ô‚ª‰i‘±ó‘Ԃ𐳊m‚É•\Œ»‚µ‚Ä‚¢‚邱‚Æ‚ð•ÛØ‚Å‚«‚Ü‚¹‚ñB
+                    ‚±‚Ì“Á•Ê‚ȏꍇ‚Æ‚µ‚āA—^‚¦‚ç‚ꂽŽ¯•ÊŽq‚ðŽ‚ÂƒCƒ“ƒXƒ^ƒ“ƒX‚ªƒf[ƒ^ƒx[ƒX‚É‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ð”»’è‚·‚邽‚߂ɁA
+                    <literal>Session.load()</literal> ‚ðŽg‚¤‚±‚Æ‚Í‚â‚ß‚Ä‚­‚¾‚³‚¢B
+                    ‚»‚Ì‘ã‚í‚è‚É <literal>Session.get()</literal> ‚©ƒNƒGƒŠ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>ŠÖ˜A‚É‚Í‚È‚é‚ׂ­’x‰„ƒtƒFƒbƒ`‚ðŽg‚¢‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ‘¦ŽžƒtƒFƒbƒ`‚͍T‚¦‚ß‚É‚µ‚Ü‚µ‚傤B
+                    “ñŽŸƒLƒƒƒbƒVƒ…‚É‚ÍŠ®‘S‚É•ÛŽ‚³‚ê‚È‚¢‚悤‚ȃNƒ‰ƒX‚ÌŠÖ˜A‚ɂ́A
+                    ƒvƒƒLƒV‚Æ’x‰„ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+                    ƒLƒƒƒbƒVƒ…‚³‚ê‚éƒNƒ‰ƒX‚ÌŠÖ˜AA‚‚܂èƒLƒƒƒbƒVƒ…‚ªƒqƒbƒg‚·‚é‰Â”\«‚ª”ñí‚ɍ‚‚¢ŠÖ˜A‚́A
+                    <literal>lazy="false"</literal> ‚ŐϋɓI‚ȃtƒFƒbƒ`‚𖾎¦“I‚É–³Œø‚É‚µ‚Ä‚­‚¾‚³‚¢B
+                    Œ‹‡ƒtƒFƒbƒ`‚ª“KØ‚È“Á’è‚̃†[ƒXƒP[ƒX‚ɂ́A
+                    ƒNƒGƒŠ‚Å <literal>left join fetch</literal> ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>
+                ƒtƒFƒbƒ`‚³‚ê‚Ä‚¢‚È‚¢ƒf[ƒ^‚ÉŠÖ‚í‚é–â‘è‚ð”ð‚¯‚é‚½‚߂ɁA
+                <emphasis>ƒrƒ…[‚Ì’†‚ŃI[ƒvƒ“ƒZƒbƒVƒ‡ƒ“‚ðŽg‚¤(open session in view)</emphasis> 
+                ƒpƒ^[ƒ“‚©A“§‚³‚ꂽ <emphasis>‘g‚Ý—§‚ătƒF[ƒY(assembly phase)</emphasis> ‚ðŽg‚¢‚Ü‚µ‚傤B
+            </term>
+            <listitem>
+                <para>
+                    Hibernate‚Í <emphasis>Data Transfer Objects</emphasis> (DTO)‚ð‘‚­‘Þ‹ü‚ȍì‹Æ‚©‚çŠJ”­ŽÒ‚ð‰ð•ú‚µ‚Ü‚·B
+                    “`““I‚ÈEJBƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚ÍDTO‚Í“ñ‚–ړI‚ª‚ ‚è‚Ü‚·F
+                    1‚–ڂ́AƒGƒ“ƒeƒBƒeƒBƒr[ƒ“‚ªƒVƒŠƒAƒ‰ƒCƒY‚³‚ê‚È‚¢–â‘è‚ւ̑΍ô‚Å‚·B
+                    2‚–ڂ́AƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚ɐ§Œä‚ª–ß‚é‘O‚ɁA
+                    ƒrƒ…[‚ÉŽg‚í‚ê‚é‚·‚ׂẴf[ƒ^‚ªƒtƒFƒbƒ`‚³‚ê‚āADTO‚É•œŒ³‚³‚ê‚é‚悤‚È‘g‚Ý—§‚ătƒF[ƒY‚ðˆÃ–Ù“I‚É’è‹`‚µ‚Ü‚·B
+                    Hibernate‚Å‚Í1‚–ڂ̖ړI‚ª•s—v‚É‚È‚è‚Ü‚·B
+                    ‚µ‚©‚µƒrƒ…[‚̃Œƒ“ƒ_ƒŠƒ“ƒOˆ—‚̊ԁA‰i‘±ƒRƒ“ƒeƒLƒXƒgiƒZƒbƒVƒ‡ƒ“j‚ðƒI[ƒvƒ“‚É‚µ‚½‚Ü‚Ü‚É‚µ‚È‚¯‚ê‚΁A
+                    ‘g‚Ý—§‚ătƒF[ƒY‚Í‚Ü‚¾•K—v‚Å‚·i•ª—£ƒIƒuƒWƒFƒNƒg‚Ì’†‚̂ǂ̃f[ƒ^‚ª—˜—p‰Â”\‚©‚ɂ‚¢‚āA
+                    ƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚ÆŒµ–§‚ÈŽæ‚茈‚ß‚ð‚µ‚Ä‚¢‚éƒrƒWƒlƒXƒƒ\ƒbƒh‚ðl‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢jB
+                    ‚±‚ê‚ÍHibernate‘¤‚Ì–â‘è‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                    ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ““à‚ňÀ‘S‚Ƀf[ƒ^ƒAƒNƒZƒX‚·‚邽‚ß‚ÌŠî–{“I‚È—vŒ‚Å‚·B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>Hibernate‚©‚çƒrƒWƒlƒXƒƒWƒbƒN‚𒊏ۉ»‚·‚邱‚Æ‚ðl‚¦‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ŁiHibernate‚́jƒf[ƒ^ƒAƒNƒZƒXƒR[ƒh‚ð‰B•Á‚µ‚Ü‚µ‚傤B
+                    <emphasis>DAO</emphasis> ‚Æ <emphasis>Thread Local Session</emphasis> ƒpƒ^[ƒ“‚ð‘g‚ݍ‡‚킹‚Ü‚µ‚傤B
+                    <literal>UserType</literal> ‚ÅHibernate‚ÉŠÖ˜A•t‚¯‚é‚ƁA
+                    ƒnƒ“ƒhƒR[ƒh‚µ‚½JDBC‚ʼni‘±‰»‚·‚éƒNƒ‰ƒX‚ðŽ‚Â‚±‚Æ‚à‚Å‚«‚Ü‚·B
+                    i‚±‚̃AƒhƒoƒCƒX‚́u\•ª‘å‚«‚ȁvƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚Ä‚Ì‚à‚Ì‚Å‚·B
+                    ƒe[ƒuƒ‹‚ª5ŒÂ‚µ‚©‚È‚¢‚悤‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Í“–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñBj
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>’¿‚µ‚¢ŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚ÍŽg‚í‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ‚æ‚¢ƒ†[ƒXƒP[ƒX‚É–{“–‚Ì‘½‘Α½ŠÖ˜A‚ª‚ ‚邱‚Æ‚Í‹Hi‚Ü‚êj‚Å‚·B
+                    ‚Ù‚Æ‚ñ‚ǂ̏ꍇuƒŠƒ“ƒNƒe[ƒuƒ‹v‚Ì•t‰Á“I‚ȏî•ñ‚ª•K—v‚É‚È‚è‚Ü‚·B
+                    ‚±‚̏ꍇAƒŠƒ“ƒNƒNƒ‰ƒX‚É2‚‚Ì1‘Α½ŠÖ˜A‚ðŽg‚¤•û‚ª‚¸‚Á‚Æ—Ç‚¢‚Å‚·B
+                    ŽÀÛ‚Ù‚Æ‚ñ‚ǂ̏ꍇŠÖ˜A‚Í1‘Α½‚Æ‘½‘Î1‚Ȃ̂ŁA
+                    ‘¼‚̃Xƒ^ƒCƒ‹‚ÌŠÖ˜A‚ðŽg‚¤‚Æ‚«‚Í–{“–‚É•K—v‚©‚Ç‚¤‚©‚ðl‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+        </varlistentry>
+        <varlistentry>
+            <term>‚È‚é‚ׂ­‘o•ûŒüŠÖ˜A‚É‚µ‚Ü‚µ‚傤B</term>
+            <listitem>
+                <para>
+                    ’P•ûŒüŠÖ˜A‚Í‘o•ûŒü‚É”ä‚ׂČŸõ‚ª“‚­‚È‚è‚Ü‚·B
+                    ‘å‚«‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́A
+                    ‚Ù‚Æ‚ñ‚Ç‚·‚ׂĂ̊֘A‚ª‘o•ûŒü‚ɃiƒrƒQ[ƒVƒ‡ƒ“‚Å‚«‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+        </varlistentry>
+    </variablelist>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/collection_mapping.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1226 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="collections">
+    <title>ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO</title>
+
+    <sect1 id="collections-persistent" revision="3">
+        <title>ƒRƒŒƒNƒVƒ‡ƒ“‚̉i‘±‰»</title>
+        
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“Œ^‚̃tƒB[ƒ‹ƒh‚ð‰i‘±‰»‚·‚é‚ɂ́A
+            ‚»‚̃RƒŒƒNƒVƒ‡ƒ“Œ^‚ªƒCƒ“ƒ^[ƒtƒFƒCƒXŒ^‚Å‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B
+            —Ⴆ‚΁A
+        </para>
+        
+        <programlisting><![CDATA[public class Product {
+    private String serialNumber;
+    private Set parts = new HashSet();
+    
+    public Set getParts() { return parts; }
+    void setParts(Set parts) { this.parts = parts; }
+    public String getSerialNumber() { return serialNumber; }
+    void setSerialNumber(String sn) { serialNumber = sn; }
+}]]></programlisting>
+        
+        <para>
+            ŽÀÝ‚·‚éƒCƒ“ƒ^[ƒtƒFƒCƒX‚É‚Í <literal>java.util.Set</literal>A
+            <literal>java.util.Collection</literal>A<literal>java.util.List</literal>A
+            <literal>java.util.Map</literal>A<literal>java.util.SortedSet</literal>A
+            <literal>java.util.SortedMap</literal> ‚È‚Ç‚ª‚ ‚è‚Ü‚·B
+            ‚Ü‚½‚́A”CˆÓ‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ªŽg‚¦‚Ü‚·I
+            i‚½‚¾‚µA”CˆÓ‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg—p‚·‚éê‡‚́A
+            <literal>org.hibernate.usertype.UserCollectionType</literal>
+            ‚ÌŽÀ‘•ƒNƒ‰ƒX‚ðì¬‚·‚é•K—v‚ª‚ ‚è‚Ü‚·Bj
+        </para>
+        
+        <para>
+            <literal>HashSet</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽ‚ÂƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ª
+            ‚ǂ̂悤‚ɏ‰Šú‰»‚³‚ê‚é‚©‚É’–Ú‚µ‚Ä‚Ý‚Ü‚µ‚傤B
+            ‚±‚ê‚͐V‚½‚ɐ¶¬‚³‚ꂽi‰i‘±‰»‚³‚ê‚Ä‚¢‚È‚¢jƒRƒŒƒNƒVƒ‡ƒ“Œ^‚̃vƒƒpƒeƒB‚ð
+            ‰Šú‰»‚·‚éÅ“K‚È•û–@‚Å‚·B
+            i—Ⴆ‚Î <literal>persist()</literal> ‚É‚æ‚èjƒCƒ“ƒXƒ^ƒ“ƒX‚ð‰i‘±‰»‚µ‚悤‚Æ‚µ‚½‚Æ‚«A
+            Hibernate‚Í <literal>HashSet</literal> ‚ðHibernate“ÆŽ©‚Ì <literal>Set</literal>
+            ‚ÌŽÀ‘•ƒNƒ‰ƒX‚É’u‚«Š·‚¦‚Ü‚·B
+            ‚±‚Ì‚½‚߁AŽŸ‚̂悤‚ȃGƒ‰[‚É‚Í’ˆÓ‚ª•K—v‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[Cat cat = new DomesticCat();
+Cat kitten = new DomesticCat();
+....
+Set kittens = new HashSet();
+kittens.add(kitten);
+cat.setKittens(kittens);
+session.persist(cat);
+kittens = cat.getKittens(); // Okay, kittens collection is a Set
+(HashSet) cat.getKittens(); // Error!]]></programlisting>
+
+        <para>
+            Hibernate‚É‚æ‚蒍“ü‚³‚ꂽ‰i‘±«ƒRƒŒƒNƒVƒ‡ƒ“‚́AƒCƒ“ƒ^[ƒtƒFƒCƒXŒ^‚ɉž‚¶‚āA
+            <literal>HashMap</literal> ‚â <literal>HashSet</literal>A
+            <literal>TreeMap</literal>A <literal>TreeSet</literal>A
+            <literal>ArrayList</literal> ‚̂悤‚ɐU•‘‚¢‚Ü‚·B
+         </para>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒXƒ^ƒ“ƒX‚́A’lŒ^‚Æ‚µ‚Ä•’ʂɐU•‘‚¢‚Ü‚·B
+            ‰i‘±‰»ƒIƒuƒWƒFƒNƒg‚ÉŽQÆ‚³‚ꂽ‚Æ‚«‚ÉŽ©“®“I‚ɉi‘±‰»‚³‚êA
+            ŽQÆ‚ª‚È‚­‚È‚Á‚½‚Æ‚«‚ÉŽ©“®“I‚ɍ폜‚³‚ê‚Ü‚·B
+            ‚à‚µ‚ ‚é‰i‘±‰»ƒIƒuƒWƒFƒNƒg‚©‚ç•Ê‚̉i‘±‰»ƒIƒuƒWƒFƒNƒg‚É“n‚³‚ꂽ‚çA
+            ‚»‚Ì—v‘f‚ÍŒ»Ý‚̃e[ƒuƒ‹‚©‚ç•Ê‚̃e[ƒuƒ‹‚Ɉړ®‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            ‚Q‚‚̃Gƒ“ƒeƒBƒeƒB‚ª“¯‚¶ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+            ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚ðƒx[ƒX‚É‚µ‚Ä‚¢‚邽‚߁AƒRƒŒƒNƒVƒ‡ƒ“Œ^‚̃vƒƒpƒeƒB‚É
+            null’l‚ð‘ã“ü‚µ‚Ä‚àˆÓ–¡‚ª‚ ‚è‚Ü‚¹‚ñB
+            ‚‚܂èHibernate‚ÍŽQÆæ‚Ì‚È‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚Æ‹ó‚̃RƒŒƒNƒVƒ‡ƒ“‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ‚µ‚©‚µ‚»‚ê‚قǐS”z‚µ‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñB
+            •’iŽg‚Á‚Ä‚¢‚éJava‚̃RƒŒƒNƒVƒ‡ƒ“‚Æ“¯‚¶‚悤‚ɁA‰i‘±‰»ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+            ‘o•ûŒüŠÖ˜A‚̈Ӗ¡‚ð—‰ð‚·‚ê‚΂悢‚Ì‚Å‚·i‚±‚ê‚ÍŒã‚Ù‚Çà–¾‚µ‚Ü‚·jB
+        </para>
+
+    </sect1>
+
+    <sect1 id="collections-mapping" revision="4">
+        <title>ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO</title>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚ðƒ}ƒbƒsƒ“ƒO‚·‚邽‚߂̃}ƒbƒsƒ“ƒO—v‘f‚́AƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌŒ^‚Ɉˑ¶‚µ‚Ü‚·B
+            —Ⴆ‚΁A<literal>&lt;set&gt;</literal> —v‘f‚Í <literal>Set</literal> Œ^‚ð
+            ƒ}ƒbƒsƒ“ƒO‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Product">
+    <id name="serialNumber" column="productSerialNumber"/>
+    <set name="parts">
+        <key column="productSerialNumber" not-null="true"/>
+        <one-to-many class="Part"/>
+    </set>
+</class>]]></programlisting>
+
+        <para>
+            ƒ}ƒbƒsƒ“ƒO—v‘f‚É‚Í <literal>&lt;set&gt;</literal> ‚Ì‘¼‚É <literal>&lt;list&gt;</literal>A
+            <literal>&lt;map&gt;</literal>A<literal>&lt;bag&gt;</literal>A
+            <literal>&lt;array&gt;</literal>A<literal>&lt;primitive-array&gt;</literal> ‚ª‚ ‚è‚Ü‚·B
+            ‘ã•\‚Æ‚µ‚āA<literal>&lt;map&gt;</literal> —v‘f‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+        </para>
+
+        <programlistingco>
+            <areaspec>
+                <area id="mappingcollection1" coords="2 65"/>
+                <area id="mappingcollection2" coords="3 65"/>
+                <area id="mappingcollection3" coords="4 65"/>
+                <area id="mappingcollection4" coords="5 65"/>
+                <area id="mappingcollection5" coords="6 65"/>
+                <area id="mappingcollection6" coords="7 65"/>
+                <area id="mappingcollection7" coords="8 65"/>
+                <area id="mappingcollection8" coords="9 65"/>
+                <area id="mappingcollection9" coords="10 65"/>
+                <area id="mappingcollection10" coords="11 65"/>
+                <area id="mappingcollection11" coords="12 65"/>
+                <area id="mappingcollection12" coords="13 65"/>
+                <area id="mappingcollection13" coords="14 65"/>
+                <area id="mappingcollection14" coords="15 65"/>
+            </areaspec>
+            <programlisting><![CDATA[<map
+    name="propertyName"
+    table="table_name"
+    schema="schema_name"
+    lazy="true|extra|false"
+    inverse="true|false"
+    cascade="all|none|save-update|delete|all-delete-orphan|delete-orphan"
+    sort="unsorted|natural|comparatorClass"
+    order-by="column_name asc|desc"
+    where="arbitrary sql where condition"
+    fetch="join|select|subselect"
+    batch-size="N"
+    access="field|property|ClassName"
+    optimistic-lock="true|false"
+    mutable="true|false"
+    node="element-name|."
+    embed-xml="true|false"
+>
+
+    <key .... />
+    <map-key .... />
+    <element .... />
+</map>]]></programlisting>
+            <calloutlist>
+                <callout arearefs="mappingcollection1">
+                    <para>
+                        <literal>name</literal> ƒRƒŒƒNƒVƒ‡ƒ“Œ^‚Å‚ ‚éƒvƒƒpƒeƒB‚Ì–¼‘O
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection2">
+                    <para>
+                        <literal>table</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚Ì–¼‘O
+                       iˆê‘Α½ŠÖ˜A‚Å‚ÍŽg—p‚µ‚Ü‚¹‚ñjB
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection3">
+                    <para>
+                        <literal>schema</literal> iƒIƒvƒVƒ‡ƒ“jƒe[ƒuƒ‹ƒXƒL[ƒ}‚Ì–¼‘OB
+                        ƒ‹[ƒg—v‘f‚Ő錾‚³‚ê‚Ä‚¢‚éƒXƒL[ƒ}‚æ‚è—Dæ‚³‚ê‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection4">
+                    <para>
+                        <literal>lazy</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal>j
+                        ’x‰„ƒtƒFƒbƒ`‚𖳌ø‚É‚µAŠÖ˜A‚ðí‚É‘¦Žž‚ɃtƒFƒbƒ`‚É‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
+                        ‚Ü‚½‚́Auextra-lazyvƒtƒFƒbƒ`‚ð—LŒø‚É‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
+                        uextra-lazyvƒtƒFƒbƒ`‚́A‚Ù‚Æ‚ñ‚Ç‚Ì‘€ì‚ł̓RƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚µ‚Ü‚¹‚ñ
+                        i”ñí‚É‘å‚«‚ȃRƒŒƒNƒVƒ‡ƒ“‚É“K‚µ‚Ä‚¢‚Ü‚·jB
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection5">
+                    <para>
+                        <literal>inverse</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>false</literal>j
+                        ‚±‚̃RƒŒƒNƒVƒ‡ƒ“‚ª‘o•ûŒüŠÖ˜A‚́u‹tv‘¤‚Å‚ ‚é‚ƃ}[ƒN‚µ‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection6">
+                    <para>
+                        <literal>cascade</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>none</literal>j
+                        ŽqƒGƒ“ƒeƒBƒeƒB‚ւ̃JƒXƒP[ƒh‘€ì‚ð—LŒø‚É‚µ‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection7">
+                    <para>
+                        <literal>sort</literal> iƒIƒvƒVƒ‡ƒ“jƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ©‘R‚ȏ‡˜‚Ń\[ƒg‚·‚éê‡‚Í
+                        <literal>natural</literal> ‚ðŽw’肵‚Ü‚·B
+                        ‚ ‚é‚¢‚ÍComparatorƒNƒ‰ƒX‚ðŽw’肵‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection8">
+                    <para>
+                        <literal>order-by</literal> iƒIƒvƒVƒ‡ƒ“AJDK1.4‚̂݁j
+                        <literal>Map</literal>A<literal>Set</literal>Abag‚̃CƒeƒŒ[ƒVƒ‡ƒ“‡˜‚ð’è‹`‚·‚é
+                        ƒe[ƒuƒ‹ƒJƒ‰ƒ€‚ðŽw’è‚·‚é‚Æ‹¤‚ɁA
+                        ƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚Ä <literal>asc</literal>A<literal>desc</literal> ‚ðŽw’肵‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection9">
+                    <para>
+                        <literal>where</literal> iƒIƒvƒVƒ‡ƒ“jƒRƒŒƒNƒVƒ‡ƒ“‚ÌŒŸõ‚âíœ‚̍ۂɎg‚¤
+                        ”CˆÓ‚ÌSQL‚Ì<literal>WHERE</literal> ðŒ‚ðŽw’肵‚Ü‚·
+                        i—˜—p‰Â”\‚ȃf[ƒ^‚̈ꕔ•ª‚¾‚¯‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ªŠÜ‚ނׂ«‚Æ‚«‚ɁA‚±‚ê‚Í—L—p‚Å‚·jB
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection10">
+                    <para>
+                        <literal>fetch</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>select</literal>j
+                        ŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`A‡ŽŸ‘I‘ðƒtƒFƒbƒ`isequential select fetchjA
+                        ‡ŽŸƒTƒuƒZƒŒƒNƒgƒtƒFƒbƒ`isequential subselect fetchj‚Ì‚Ç‚ê‚©‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection11">
+                    <para>
+                        <literal>batch-size</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>1</literal>j
+                        ƒRƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Ì’x‰„ƒtƒFƒbƒ`‚Ì‚½‚߂́uƒoƒbƒ`ƒTƒCƒYv‚ðŽw’肵‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection12">
+                    <para>
+                        <literal>access</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>property</literal>j
+                        ƒRƒŒƒNƒVƒ‡ƒ“Œ^ƒvƒƒpƒeƒB‚Ì’l‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉŽg—p‚·‚éí—ª‚Å‚·B
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection13">
+                    <para>
+                        <literal>optimistic-lock</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal>j
+                        ƒRƒŒƒNƒVƒ‡ƒ“‚̏ó‘Ô‚ð•Ï‚¦‚邱‚Æ‚É‚æ‚Á‚āA
+                        ‚»‚̃I[ƒi[‚Å‚ ‚éƒGƒ“ƒeƒBƒeƒB‚̃o[ƒWƒ‡ƒ“‚ªƒCƒ“ƒNƒŠƒƒ“ƒg‚³‚ê‚é‚©‚ðŽw’肵‚Ü‚·B
+                        iˆê‘Α½ŠÖ˜A‚ł́A‚Ù‚Æ‚ñ‚ǂ̏ꍇ‚É‚¨‚¢‚Ä–³Œø‚ɐݒ肷‚é‚Ì‚ª‘Ó–‚Å‚·Bj
+                    </para>
+                </callout>
+                <callout arearefs="mappingcollection14">
+                    <para>
+                        <literal>mutable</literal>iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>true</literal>j
+                        <literal>false</literal> ’l‚́AƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ª•ÏX‚³‚ê‚È‚¢‚±‚Æ‚ð•\‚µ‚Ü‚·
+                        i‚ ‚éê‡‚ɂ́A­‚µƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚‚ß‚Ü‚·jB
+                    </para>
+                </callout>
+            </calloutlist>
+        </programlistingco>
+
+        <sect2 id="collections-foreignkeys" >
+           <title>ƒRƒŒƒNƒVƒ‡ƒ“‚ÌŠO•”ƒL[</title>
+    
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́Aƒf[ƒ^ƒx[ƒX“à‚ł́A
+                ‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŠ—L‚·‚éƒGƒ“ƒeƒBƒeƒB‚ÌŠO•”ƒL[‚É‚æ‚Á‚ÄŽ¯•Ê‚³‚ê‚Ü‚·B
+                ‚±‚ÌŠO•”ƒL[‚̓RƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚Ì <emphasis>ƒRƒŒƒNƒVƒ‡ƒ“ƒL[ƒJƒ‰ƒ€</emphasis> ‚ƌĂ΂ê‚Ü‚·B
+                ƒRƒŒƒNƒVƒ‡ƒ“ƒL[ƒJƒ‰ƒ€‚Í <literal>&lt;key&gt;</literal> —v‘f‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+            </para>
+    
+            <para>
+                ŠO•”ƒL[ƒJƒ‰ƒ€‚É‚ÍnullÝ’萧–ñ‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                ‚Ù‚Æ‚ñ‚ǂ̃RƒŒƒNƒVƒ‡ƒ“‚É“–‚Ä‚Í‚Ü‚é‚Å‚µ‚傤B
+                ’P•ûŒü‚̈ê‘Α½ŠÖ˜A‚É‚¨‚¢‚āAŠO•”ƒL[ƒJƒ‰ƒ€‚̓fƒtƒHƒ‹ƒg‚Ånull‚ð‹–‚·Ý’è‚É‚È‚Á‚Ä‚¢‚Ü‚·B
+                ‚æ‚Á‚āA<literal>not-null="true"</literal> ‚ðŽw’è‚·‚é•K—v‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            </para>
+    
+            <programlisting><![CDATA[<key column="productSerialNumber" not-null="true"/>]]></programlisting>
+    
+            <para>
+                ŠO•”ƒL[‚̐§–ñ‚ª <literal>ON DELETE CASCADE</literal> ‚ðŽg‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            </para>
+    
+            <programlisting><![CDATA[<key column="productSerialNumber" on-delete="cascade"/>]]></programlisting>
+            
+            <para>
+                <literal>&lt;key&gt;</literal> —v‘f‚Ì‚·‚ׂĂ̒è‹`‚ɂ‚¢‚Ä‚Í‘O‚̏͂ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+        </sect2>
+        
+        <sect2 id="collections-elements" >
+            <title>ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f</title>
+    
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚Í‘¼‚ÌHibernate‚ÌŒ^‚Ì‚Ù‚Æ‚ñ‚ǁi‚·‚ׂĂ̊î–{Œ^AƒJƒXƒ^ƒ€Œ^AƒRƒ“ƒ|[ƒlƒ“ƒgA
+                ‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆj‚ðŠi”[‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                ŽŸ‚Ì“_‚͏d—v‚ȈႢ‚É‚È‚è‚Ü‚·B
+                ƒRƒŒƒNƒVƒ‡ƒ“‚ÉŠi”[‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ªu’lvƒZƒ}ƒ“ƒeƒBƒNƒX‚Æ‚µ‚Ĉµ‚í‚ê‚é‚Ì‚©
+                iƒ‰ƒCƒtƒTƒCƒNƒ‹‚̓RƒŒƒNƒVƒ‡ƒ“‚̃I[ƒi[‚ÉŠ®‘S‚Ɉˑ¶‚µ‚Ü‚·jA
+                ‚à‚µ‚­‚Í‚»‚ꎩg‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ðŽ‚Á‚½•Ê‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚Å‚ ‚é‚©‚Ì‚©‚Æ‚¢‚¤ˆá‚¢‚Å‚·B
+                ŒãŽÒ‚́A2‚‚̃IƒuƒWƒFƒNƒgŠÔ‚́uƒŠƒ“ƒNv‚ðƒRƒŒƒNƒVƒ‡ƒ“‚É•ÛŽ‚µ‚Ä‚¢‚é‚ÆŒ©‚È‚µ‚Ä‚¢‚邾‚¯‚Å‚·B
+            </para>
+                
+            <para>
+                Ši”[‚³‚ê‚éŒ^‚Í <emphasis>ƒRƒŒƒNƒVƒ‡ƒ“—v‘fŒ^</emphasis> ‚ƌĂ΂ê‚Ü‚·B
+                ƒRƒŒƒNƒVƒ‡ƒ“—v‘f‚́A<literal>&lt;element&gt;</literal> ‚Ü‚½‚Í <literal>&lt;composite-element&gt;</literal>
+                ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚êAƒGƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚̏ꍇ‚É‚Í
+                <literal>&lt;one-to-many&gt;</literal> ‚Ü‚½‚Í <literal>&lt;many-to-many&gt;</literal>
+                ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                Å‰‚Ì“ñ‚‚͒l‚Æ‚µ‚Ä—v‘f‚ðƒ}ƒbƒsƒ“ƒO‚µAŽŸ‚Ì“ñ‚‚̓Gƒ“ƒeƒBƒeƒB‚ÌŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‚Ì‚ÉŽg‚í‚ê‚Ü‚·B
+            </para>
+            
+        </sect2>
+        
+        <sect2 id="collections-indexed">
+            <title>ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“</title>
+    
+            <para>
+                set‚Æbag‚ðœ‚­‘S‚ẴRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚ɂ́A
+                ƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚Ì’†‚É <emphasis>ƒCƒ“ƒfƒbƒNƒX—p‚̃Jƒ‰ƒ€</emphasis> ‚ª•K—v‚Å‚·B
+                ‚»‚̃Jƒ‰ƒ€‚ɁA”z—ñ‚â <literal>List</literal> ‚̃Cƒ“ƒfƒbƒNƒXA
+                ‚à‚µ‚­‚Í <literal>Map</literal> ‚̃L[‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                <literal>Map</literal> ‚̃Cƒ“ƒfƒbƒNƒX‚́A
+                <literal>&lt;map-key&gt;</literal> ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ꂽŠî–{Œ^‚©A
+                <literal>&lt;map-key-many-to-many&gt;</literal> ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒGƒ“ƒeƒBƒeƒB‚ÌŠÖ˜A‚©A
+                ‚ ‚é‚¢‚Í <literal>&lt;composite-map-key&gt;</literal> ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒRƒ“ƒ|ƒWƒbƒgŒ^‚É‚È‚è‚Ü‚·B
+                ”z—ñ‚©ƒŠƒXƒg‚̃Cƒ“ƒfƒbƒNƒX‚́Aí‚É <literal>integer</literal> Œ^‚ŁA
+                <literal>&lt;list-index&gt;</literal> —v‘f‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ɂ̓V[ƒPƒ“ƒVƒƒƒ‹‚Ȑ®”‚ðŠi”[‚µ‚Ü‚·iƒfƒtƒHƒ‹ƒg‚Å‚Í0‚©‚ç”ԍ†‚ª•t‚¯‚ç‚ê‚Ü‚·jB
+            </para>
+
+        <programlistingco>
+            <areaspec>
+                <area id="index1" coords="2 45"/>
+                <area id="index2" coords="3 45"/>
+             </areaspec>
+            <programlisting><![CDATA[<list-index 
+        column="column_name"
+        base="0|1|..."/>]]></programlisting>
+            <calloutlist>
+                <callout arearefs="index1">
+                    <para>
+                        <literal>column_name</literal>i•K{j:ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+                    </para>
+                </callout>
+                <callout arearefs="index2">
+                    <para>
+                        <literal>base</literal>iƒIƒvƒVƒ‡ƒ“AƒfƒtƒHƒ‹ƒg‚Í <literal>0</literal>j:
+                        ƒŠƒXƒg‚à‚µ‚­‚Í”z—ñ‚̍ŏ‰‚Ì—v‘f‚ÉŠY“–‚·‚éƒCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚Ì’lB
+                    </para>
+                </callout>
+            </calloutlist>
+        </programlistingco>
+
+        <programlistingco>
+            <areaspec>
+                <area id="mapkey1" coords="2 45"/>
+                <area id="mapkey2" coords="3 45"/>
+                <area id="mapkey3" coords="4 45"/>
+             </areaspec>
+            <programlisting><![CDATA[<map-key 
+        column="column_name"
+        formula="any SQL expression"
+        type="type_name"
+        node="@attribute-name"
+        length="N"/>]]></programlisting>
+            <calloutlist>
+                <callout arearefs="mapkey1">
+                    <para>
+                        <literal>column</literal>iƒIƒvƒVƒ‡ƒ“j: ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+                    </para>
+                </callout>
+                <callout arearefs="mapkey2">
+                    <para>
+                        <literal>formula</literal>iƒIƒvƒVƒ‡ƒ“j: Map‚̃L[‚ð•]‰¿‚·‚é‚Ì‚ÉŽg‚í‚ê‚éSQLŽ®B
+                    </para>
+                </callout>
+                <callout arearefs="mapkey3">
+                    <para>
+                        <literal>type</literal>i•K{j: Map‚̃L[‚ÌŒ^B
+                    </para>
+                </callout>
+            </calloutlist>
+        </programlistingco>
+
+        <programlistingco>
+            <areaspec>
+                <area id="indexmanytomany1" coords="2 45"/>
+                <area id="indexmanytomany2" coords="3 45"/>
+                <area id="indexmanytomany3" coords="4 45"/>
+             </areaspec>
+            <programlisting><![CDATA[<map-key-many-to-many
+        column="column_name"
+        formula="any SQL expression"
+        class="ClassName"
+/>]]></programlisting>
+            <calloutlist>
+                <callout arearefs="indexmanytomany1">
+                    <para>
+                        <literal>column</literal> iƒIƒvƒVƒ‡ƒ“j:
+                        ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚Ì‚½‚ß‚ÌŠO•”ƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
+                    </para>
+                </callout>
+                <callout arearefs="indexmanytomany2">
+                    <para>
+                        <literal>formula</literal> iƒIƒvƒVƒ‡ƒ“j:
+                        Map‚̃L[‚Ì‚½‚ß‚ÌŠO•”ƒL[‚ð•]‰¿‚·‚邽‚ß‚ÉŽg‚¤SQLŽ®B
+                    </para>
+                </callout>
+                <callout arearefs="indexmanytomany3">
+                    <para>
+                        <literal>class</literal> i•K{j:
+                        Map‚̃L[‚Æ‚µ‚ÄŽg‚í‚ê‚éƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒXB
+                    </para>
+                </callout>
+            </calloutlist>
+        </programlistingco>
+
+
+            <para>
+                ‚à‚µƒe[ƒuƒ‹‚ɃCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ª‚È‚­‚Ä‚àAƒvƒƒpƒeƒBŒ^‚Æ‚µ‚Ä <literal>List</literal> ‚ðŽg‚¢‚½‚¯‚ê‚΁A
+                Hibernate‚Ì <emphasis>&lt;bag&gt;</emphasis> ‚Æ‚µ‚ăvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                bag‚̓f[ƒ^ƒx[ƒX‚©‚ç•œŒ³‚³‚ê‚鎞A‡˜‚ð•ÛŽ‚µ‚Ü‚¹‚ñB
+                ‚µ‚©‚µAiƒƒ‚ƒŠã‚Łjƒ\[ƒg‚µ‚½‚èAiSQL‚Łj‡˜•t‚¯‚µ‚½‚èiorder byj‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+            </para>
+            
+        </sect2>
+
+        <para>
+            ‘½‚­‚̈ê”Ê“I‚ȃŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚ðƒJƒo[‚µ‚½‚½‚߂ɁA
+            ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚ß‚É—˜—p‚Å‚«‚éƒ}ƒbƒsƒ“ƒO‚É‚Í‚©‚È‚è‚Ì•‚ª‚ ‚è‚Ü‚·B
+            —lX‚ȃ}ƒbƒsƒ“ƒOéŒ¾‚ª‚ǂ̂悤‚Ƀf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚É•ÏŠ·‚³‚ê‚é‚©‚ð’m‚邽‚߂ɁA
+            ƒXƒL[ƒ}¶¬ƒc[ƒ‹‚ðŽg‚Á‚Ä‚Ý‚é‚Æ—Ç‚¢‚Å‚µ‚傤B
+        </para>
+
+    <sect2 id="collections-ofvalues" revision="2">
+        <title>’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Æ‘½‘Α½ŠÖ˜A</title>
+
+        <para>
+            ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚⑽‘Α½ŠÖ˜A‚́Aê—p‚Ì <emphasis>ƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹</emphasis> ‚ª•K—v‚Å‚·B
+            ‚±‚̃e[ƒuƒ‹‚́AŠO•”ƒL[ƒJƒ‰ƒ€‚ƁA
+            <emphasis>ƒRƒŒƒNƒVƒ‡ƒ“—v‘f‚̃Jƒ‰ƒ€</emphasis> ‚ƁA
+            ê‡‚É‚æ‚Á‚Ă̓Cƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ðŽ‚¿‚Ü‚·B
+        </para>
+
+        <para>
+            ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚߂ɁA<literal>&lt;element&gt;</literal>ƒ^ƒO‚ðŽg—p‚µ‚Ü‚·B
+        </para>
+
+        <programlistingco>
+            <areaspec>
+                <area id="element1b" coords="2 50"/>
+                <area id="element2b" coords="3 50"/>
+                <area id="element3b" coords="4 50"/>
+             </areaspec>
+            <programlisting><![CDATA[<element
+        column="column_name"
+        formula="any SQL expression"
+        type="typename"
+        length="L"
+        precision="P"
+        scale="S"
+        not-null="true|false"
+        unique="true|false"
+        node="element-name"
+/>]]></programlisting>
+            <calloutlist>
+                <callout arearefs="element1b">
+                    <para>
+                        <literal>column</literal> iƒIƒvƒVƒ‡ƒ“j: ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚Ì’l‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+                    </para>
+                </callout>
+                <callout arearefs="element2b">
+                    <para>
+                        <literal>formula</literal> iƒIƒvƒVƒ‡ƒ“j: —v‘f‚ð•]‰¿‚·‚邽‚ß‚ÉŽg‚¤SQLŽ®B
+                    </para>
+                </callout>
+                <callout arearefs="element3b">
+                    <para>
+                        <literal>type</literal> i•K{jƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ÌŒ^B
+                    </para>
+                </callout>
+            </calloutlist>
+        </programlistingco>
+
+        <para>
+            <emphasis>‘½‘Α½ŠÖ˜A</emphasis> ‚Í <literal>&lt;many-to-many&gt;</literal> —v‘f‚ÅŽw’肵‚Ü‚·B
+        </para>
+
+        <programlistingco>
+            <areaspec>
+                <area id="manytomany1" coords="2 60"/>
+                <area id="manytomany2" coords="3 60"/>
+                <area id="manytomany3" coords="4 60"/>
+                <area id="manytomany4" coords="5 60"/>
+                <area id="manytomany5" coords="6 60"/>
+                <area id="manytomany6" coords="7 60"/>
+                <area id="manytomany7" coords="8 60"/>
+                <area id="manytomany8" coords="9 60"/>
+            </areaspec>
+            <programlisting><![CDATA[<many-to-many
+        column="column_name"
+        formula="any SQL expression"
+        class="ClassName"
+        fetch="select|join"
+        unique="true|false"
+        not-found="ignore|exception"
+        entity-name="EntityName"
+        property-ref="propertyNameFromAssociatedClass"
+        node="element-name"
+        embed-xml="true|false"
+    />]]></programlisting>
+            <calloutlist>
+                <callout arearefs="manytomany1">
+                    <para>
+                        <literal>column</literal> iƒIƒvƒVƒ‡ƒ“j: ŠO•”ƒL[ƒJƒ‰ƒ€‚Ì—v‘f‚Ì–¼‘OB
+                    </para>
+                </callout>
+                <callout arearefs="manytomany2">
+                    <para>
+                        <literal>formula</literal> iƒIƒvƒVƒ‡ƒ“j: ŠO•”ƒL[’l‚Ì—v‘f‚ð•]‰¿‚·‚邽‚ß‚ÉŽg‚¤SQLŽ®B
+                    </para>
+                </callout>
+                <callout arearefs="manytomany3">
+                    <para>
+                        <literal>class</literal> i•K{j: ŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+                    </para>
+                </callout>
+                <callout arearefs="manytomany4">
+                    <para>
+                        <literal>fetch</literal> (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>join</literal>):
+                        ŠÖ˜A‚Ì‚½‚߂ɁAŠO•”Œ‹‡‚©‡ŽŸ‘I‘ðƒtƒFƒbƒ`‚ð—LŒø‚É‚µ‚Ü‚·B
+                        ‚±‚ê‚Í“ÁŽê‚ȃP[ƒX‚Å‚·‚ªAƒGƒ“ƒeƒBƒeƒB‚Æ‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Æ‚Ì‘½‘Α½ŠÖŒW‚ð
+                        i‚P‚Â‚Ì <literal>SELECT</literal> ‚É‚æ‚èjŠ®‘S‚É‘¦Žž‚ɃtƒFƒbƒ`‚·‚邽‚߂ɂ́A
+                        ‚»‚̃RƒŒƒNƒVƒ‡ƒ“Ž©‘Ì‚¾‚¯‚Å‚È‚­A
+                        ƒlƒXƒg‚µ‚½—v‘f‚Å‚ ‚é <literal>&lt;many-to-many&gt;</literal> ‚Ì‚±‚Ì‘®«‚ɂ‚¢‚Ä‚à
+                        <literal>join</literal> ƒtƒFƒbƒ`‚ð—LŒø‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                    </para>
+                </callout>
+                <callout arearefs="manytomany5">
+                    <para>
+                        <literal>unique</literal> iƒIƒvƒVƒ‡ƒ“j:
+                        ŠO•”ƒL[ƒJƒ‰ƒ€‚̃†ƒj[ƒN§–ñ‚ÌDDL¶¬‚ð—LŒø‚É‚µ‚Ü‚·B
+                        ‚±‚ê‚́AŠÖ˜A‚Ì‘½d“x‚ðŽ–ŽÀãˆê‘Α½‚É‚µ‚Ü‚·B
+                    </para>
+                </callout>
+                    <callout arearefs="manytomany6">
+                        <para>
+                            <literal>not-found</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>exception</literal>j
+                            ŽQÆæ‚̍s‚ª‚È‚¢ŠO•”ƒL[‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ðŽw’肵‚Ü‚·B
+                            <literal>ignore</literal> ‚É‚·‚é‚ƁAs‚ª‚È‚¢‚±‚Æ‚ðŠÖ˜A‚ª–³‚¢‚à‚Ì‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+                        </para>
+                    </callout>
+                <callout arearefs="manytomany7">
+                    <para>
+                        <literal>entity-name</literal> iƒIƒvƒVƒ‡ƒ“j:
+                        <literal>class</literal> ‚Ì‘ã‘Ö‚Å‚ ‚éŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+                        <literal>class</literal> ‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éAŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+                    </para>
+                </callout>
+                <callout arearefs="manytomany8">
+                    <para>
+                        <literal>property-ref</literal>: iƒIƒvƒVƒ‡ƒ“j
+                        ‚±‚ÌŠO•”ƒL[‚ÉŒ‹‡‚·‚éŠÖ˜AƒNƒ‰ƒX‚̃vƒƒpƒeƒB–¼B
+                        Žw’肵‚È‚©‚Á‚½ê‡‚́AŠÖ˜AƒNƒ‰ƒX‚ÌŽåƒL[‚ðŽg‚¢‚Ü‚·B
+                    </para>                
+                </callout>                   
+            </calloutlist>
+        </programlistingco>
+
+        <para>
+            ˆÈ‰º‚É‚¢‚­‚‚©—á‚ðŽ¦‚µ‚Ü‚·B
+            ‚Ü‚¸‚ÍString‚Ìset‚ÉŠÖ‚µ‚Ä‚Ì—á‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<set name="names" table="person_names">
+    <key column="person_id"/>
+    <element column="person_name" type="string"/>
+</set>]]></programlisting>
+
+        <para>
+            ®”’l‚ðŠÜ‚Þbagibag‚Í <literal>order-by</literal> ‘®«‚É‚æ‚Á‚Ä”½•œ‡˜‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚·j
+        </para>
+
+        <programlisting><![CDATA[<bag name="sizes" 
+        table="item_sizes" 
+        order-by="size asc">
+    <key column="item_id"/>
+    <element column="size" type="integer"/>
+</bag>]]></programlisting>
+
+        <para>
+            ƒGƒ“ƒeƒBƒeƒB‚Ì”z—ñ - ‚±‚̏ꍇA‘½‘Α½‚ÌŠÖ˜A‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<array name="addresses" 
+        table="PersonAddress" 
+        cascade="persist">
+    <key column="personId"/>
+    <list-index column="sortOrder"/>
+    <many-to-many column="addressId" class="Address"/>
+</array>]]></programlisting>
+
+        <para>
+            •¶Žš—ñ‚Æ“ú•t‚Ìmap
+        </para>
+
+        <programlisting><![CDATA[<map name="holidays" 
+        table="holidays" 
+        schema="dbo" 
+        order-by="hol_name asc">
+    <key column="id"/>
+    <map-key column="hol_name" type="string"/>
+    <element column="hol_date" type="date"/>
+</map>]]></programlisting>
+
+        <para>
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚ÌlistiŽŸ‚̏͂ŏڂµ‚­à–¾‚µ‚Ü‚·j
+        </para>
+
+        <programlisting><![CDATA[<list name="carComponents" 
+        table="CarComponents">
+    <key column="carId"/>
+    <list-index column="sortOrder"/>
+    <composite-element class="CarComponent">
+        <property name="price"/>
+        <property name="type"/>
+        <property name="serialNumber" column="serialNum"/>
+    </composite-element>
+</list>]]></programlisting>
+
+    </sect2>
+
+    <sect2 id="collections-onetomany">
+        <title>ˆê‘Α½ŠÖ˜A</title>
+
+        <para>
+            <emphasis>ˆê‘Α½ŠÖ˜A</emphasis> ‚́AƒRƒŒƒNƒVƒ‡ƒ“¥ƒe[ƒuƒ‹‚ð‰î‚³‚¸A
+            ŠO•”ƒL[‚É‚æ‚è2‚‚̃Nƒ‰ƒX‚̃e[ƒuƒ‹‚ðŠÖ˜A•t‚¯‚Ü‚·B
+            ‚±‚̃}ƒbƒsƒ“ƒO‚Í•W€“I‚ÈJava‚̃RƒŒƒNƒVƒ‡ƒ“‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ð‚¢‚­‚‚©Ž¸‚¢‚Ü‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A
+                    2‚ˆȏã‚̃RƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒX‚É‘®‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒRƒŒƒNƒVƒ‡ƒ“‚ÉŠÜ‚Ü‚ê‚éƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A
+                    ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚Æ‚µ‚Ä2“xˆÈãŒ»‚ê‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            <literal>Product</literal> ‚©‚ç <literal>Part</literal> ‚Ö‚ÌŠÖ˜A‚́A
+            <literal>Part</literal> ƒe[ƒuƒ‹‚Ö‚ÌŠO•”ƒL[ƒJƒ‰ƒ€‚ƁAê‡‚É‚æ‚Á‚Ă̓Cƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ª•K—v‚Å‚·B
+            <literal>&lt;one-to-many&gt;</literal> ƒ^ƒO‚́A‚±‚ꂪˆê‘Α½ŠÖ˜A‚Å‚ ‚邱‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <programlistingco>
+            <areaspec>
+                <area id="onetomany1" coords="2 60"/>
+                <area id="onetomany2" coords="3 60"/>
+                <area id="onetomany3" coords="4 60"/>
+            </areaspec>
+            <programlisting><![CDATA[<one-to-many 
+        class="ClassName"
+        not-found="ignore|exception"
+        entity-name="EntityName"
+        node="element-name"
+        embed-xml="true|false"
+    />]]></programlisting>
+            <calloutlist>
+                <callout arearefs="onetomany1">
+                    <para>
+                        <literal>class</literal> i•K{j: ŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+                    </para>
+                </callout>
+                        <callout arearefs="onetomany2">
+                            <para>
+                                <literal>not-found</literal> iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í <literal>exception</literal>j:
+                                ŽQÆæ‚̍s‚ª‚È‚¢ƒLƒƒƒbƒVƒ…‚³‚ꂽŽ¯•ÊŽq‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ðŽw’肵‚Ü‚·B
+                                <literal>ignore</literal> ‚ðŽw’è‚·‚é‚ƁAs‚ª‚È‚¢‚±‚Æ‚ðŠÖ˜A‚ª‚È‚¢‚à‚Ì‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+                            </para>
+                        </callout>
+                <callout arearefs="onetomany3">
+                    <para>
+                        <literal>entity-name</literal> iƒIƒvƒVƒ‡ƒ“j:
+                        <literal>class</literal> ‚Ì‘ã‘Ö‚Å‚ ‚éŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+                        <literal>class</literal> ‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éAŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+                    </para>
+                </callout>
+            </calloutlist>
+       </programlistingco>
+  
+        <para>
+            <literal>&lt;one-to-many&gt;</literal> —v‘f‚̓Jƒ‰ƒ€‚ðéŒ¾‚·‚é•K—v‚ª‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            “¯—l‚É <literal>ƒe[ƒuƒ‹</literal> –¼‚ðŽw’è‚·‚é•K—v‚à‚ ‚è‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            <emphasis>‚Æ‚Ä‚àd—v‚È’ˆÓ:</emphasis> ‚à‚µ <literal>&lt;one-to-many&gt;</literal>
+            ŠÖ˜A‚ÌŠO•”ƒL[ƒJƒ‰ƒ€‚ª <literal>NOT NULL</literal>‚Ɛ錾‚³‚ꂽê‡A
+            <literal>&lt;key&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚É <literal>not-null="true"</literal> ‚ðéŒ¾‚·‚é‚©A
+            ƒRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚É <literal>inverse="true"</literal> ‚ð•t‚¯‚½ã‚ŁA
+            <emphasis>‘o•ûŒüŠÖ˜A‚ðŽg‚¤</emphasis> •K—v‚ª‚ ‚è‚Ü‚·B
+            ‘o•ûŒüŠÖ˜A‚ɂ‚¢‚Ä‚Í‚±‚̏͂̌ã‚Ì‚Ù‚¤‚Åà–¾‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+            ŽŸ‚Ì—á‚́A–¼Ìi<literal>Part</literal> ‚̉i‘±“I‚ȃvƒƒpƒeƒB‚Å‚ ‚é <literal>partName</literal>j
+            ‚É‚æ‚é <literal>Part</literal> ƒGƒ“ƒeƒBƒeƒB‚Ìmap‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+            formula‚É‚æ‚éƒCƒ“ƒfƒbƒNƒX‚ðŽg‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <programlisting><![CDATA[<map name="parts"
+        cascade="all">
+    <key column="productId" not-null="true"/>
+    <map-key formula="partName"/>
+    <one-to-many class="Part"/>
+</map>]]></programlisting>
+    </sect2>
+    
+    </sect1>
+
+    <sect1 id="collections-advancedmappings">
+        <title>‚“x‚ȃRƒŒƒNƒVƒ‡ƒ“¥ƒ}ƒbƒsƒ“ƒO</title>
+
+    <sect2 id="collections-sorted" revision="2">
+        <title>ƒ\[ƒg‚³‚ꂽƒRƒŒƒNƒVƒ‡ƒ“</title>
+
+        <para>
+            Hibernate‚Í <literal>java.util.SortedMap</literal> ‚Æ <literal>java.util.SortedSet</literal>
+            ‚ðŽÀ‘•‚µ‚½ƒRƒŒƒNƒVƒ‡ƒ“‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            ŠJ”­ŽÒ‚̓}ƒbƒsƒ“ƒO’è‹`ƒtƒ@ƒCƒ‹‚ɃRƒ“ƒpƒŒ[ƒ^‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+
+        <programlisting><![CDATA[<set name="aliases" 
+            table="person_aliases" 
+            sort="natural">
+    <key column="person"/>
+    <element column="name" type="string"/>
+</set>
+
+<map name="holidays" sort="my.custom.HolidayComparator">
+    <key column="year_id"/>
+    <map-key column="hol_name" type="string"/>
+    <element column="hol_date" type="date"/>
+</map>]]></programlisting>
+
+        <para>
+            <literal>sort</literal> ‘®«‚ɐݒè‚Å‚«‚é’l‚Í <literal>unsorted</literal> ‚Æ <literal>natural</literal>
+            ‚¨‚æ‚сA<literal>java.util.Comparator</literal> ‚ðŽÀ‘•‚µ‚½ƒNƒ‰ƒX‚Ì–¼‘O‚Å‚·B
+        </para>
+
+        <para>
+            ƒ\[ƒg‚³‚ꂽƒRƒŒƒNƒVƒ‡ƒ“‚ÍŽÀŽ¿“I‚É‚Í <literal>java.util.TreeSet</literal> ‚â
+            <literal>java.util.TreeMap</literal> ‚̂悤‚ɐU•‘‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            ‚à‚µƒf[ƒ^ƒx[ƒXŽ©g‚ɃRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ð•À‚ׂ³‚¹‚½‚¢‚È‚çA
+            <literal>set</literal> ‚â <literal>bag</literal>A<literal>map</literal> ‚Ì
+            <literal>order-by</literal> ‘®«‚ðŽg‚¢‚Ü‚·B
+            ‚±‚Ì‰ðŒˆ–@‚ÍJDK1.4A‚à‚µ‚­‚Í‚»‚êˆÈã‚̃o[ƒWƒ‡ƒ“‚Å—˜—p‰Â”\‚Å‚·
+            i<literal>LinkedHashSet</literal> ‚Ü‚½‚Í <literal>LinkedHashMap</literal>‚ðŽg‚Á‚ÄŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·jB
+            ®—ñ‚̓ƒ‚ƒŠã‚Å‚Í‚È‚­ASQLƒNƒGƒŠ“à‚ÅŽÀs‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<set name="aliases" table="person_aliases" order-by="lower(name) asc">
+    <key column="person"/>
+    <element column="name" type="string"/>
+</set>
+
+<map name="holidays" order-by="hol_date, hol_name">
+    <key column="year_id"/>
+    <map-key column="hol_name" type="string"/>
+    <element column="hol_date" type="date"/>
+</map>]]></programlisting>
+
+        <para>
+            <literal>order-by</literal> ‘®«‚Ì’l‚ªSQL–½—ß‚Å‚ ‚Á‚āAHQL–½—ß‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢I
+        </para>
+
+        <para>
+            ŠÖ˜A‚́AƒRƒŒƒNƒVƒ‡ƒ“‚Ì <literal>filter()</literal> ‚ðŽg‚¤‚±‚ƂŁA
+            ŽÀsŽž‚É”CˆÓ‚Ìcriteria‚É‚æ‚Á‚ă\[ƒg‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();]]></programlisting>
+
+    </sect2>
+
+     <sect2 id="collections-bidirectional" revision="1">
+        <title>‘o•ûŒüŠÖ˜A</title>
+
+        <para>
+            <emphasis>‘o•ûŒüŠÖ˜A</emphasis> ‚ÍŠÖ˜A‚Ì‚Ç‚¿‚çu‘¤v‚©‚ç‚Å‚àƒiƒrƒQ[ƒVƒ‡ƒ“‚Å‚«‚Ü‚·B
+            2Ží—Þ‚Ì‘o•ûŒüŠÖ˜A‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚·B
+
+            <variablelist>
+                <varlistentry>
+                    <term>one-to-many</term>
+                    <listitem>
+                        <para>
+                            •Ð‘¤‚ªset‚©bagA‚à‚¤•Ð•û‚ª’Pˆê’l‚Å‚·B
+                       </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>many-to-many</term>
+                    <listitem>
+                        <para>
+                            —¼‘¤‚ªset‚©bag‚Å‚·B
+                        </para>
+                    </listitem>
+                </varlistentry>
+            </variablelist>
+
+        </para>
+
+        <para>
+            2‚‚̑½‘Α½ŠÖ˜A‚Å“¯‚¶ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ðƒ}ƒbƒsƒ“ƒO‚µA
+            •Ð•û‚ð <emphasis>inverse</emphasis> ‚Æ‚µ‚Đ錾‚·‚邱‚ƂŁA
+            ‘o•ûŒü‚Ì‘½‘Α½ŠÖ˜A‚ðŽw’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·
+            i‚Ç‚¿‚ç‚ðinverse‚É‘I‚ñ‚¾‚Æ‚µ‚Ä‚àA‚»‚¿‚瑤‚ɂ̓Cƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“‚ÍŽg‚¦‚Ü‚¹‚ñjB
+        </para>
+
+        <para>
+            ŽŸ‚É‘o•ûŒü‚Ì‘½‘Α½ŠÖ˜A‚Ì—á‚ðŽ¦‚µ‚Ü‚·B
+            ŠeƒJƒeƒSƒŠ‚Í‘½”‚̃AƒCƒeƒ€‚ðŽ‚Â‚±‚Æ‚ª‚Å‚«AŠeƒAƒCƒeƒ€‚Í‘½‚­‚̃JƒeƒSƒŠ‚É‘®‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Category">
+    <id name="id" column="CATEGORY_ID"/>
+    ...
+    <bag name="items" table="CATEGORY_ITEM">
+        <key column="CATEGORY_ID"/>
+        <many-to-many class="Item" column="ITEM_ID"/>
+    </bag>
+</class>
+
+<class name="Item">
+    <id name="id" column="ITEM_ID"/>
+    ...
+
+    <!-- inverse end -->
+    <bag name="categories" table="CATEGORY_ITEM" inverse="true">
+        <key column="ITEM_ID"/>
+        <many-to-many class="Category" column="CATEGORY_ID"/>
+    </bag>
+</class>]]></programlisting>
+
+        <para>
+            ŠÖ˜A‚Ìinverse‘¤‚ɂ̂ݍs‚í‚ꂽ•ÏX‚͉i‘±‰» <emphasis>‚³‚ê‚Ü‚¹‚ñ</emphasis>B
+            ‚±‚ê‚́AHibernate‚Í‘S‚Ä‚Ì‘o•ûŒüŠÖ˜A‚ɂ‚¢‚āAƒƒ‚ƒŠã‚É‚Q‚‚̕\Œ»‚ðŽ‚Á‚Ä‚¢‚é‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B
+            ‚‚܂èˆê‚‚ÍA‚©‚çB‚ւ̃Šƒ“ƒN‚ŁA‚à‚¤ˆê‚‚ÍB‚©‚çA‚ւ̃Šƒ“ƒN‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            Java‚̃IƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚ɂ‚¢‚čl‚¦AJava‚Å‘o•ûŒüŠÖŒW‚ð‚Ç‚¤‚â‚Á‚čì‚é‚©‚ðl‚¦‚ê‚΁A
+            ‚±‚ê‚Í—‰ð‚µ‚â‚·‚¢‚Å‚·B‰º‹L‚ɁAJava‚Å‚Ì‘o•ûŒüŠÖ˜A‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[
+category.getItems().add(item);          // The category now "knows" about the relationship
+item.getCategories().add(category);     // The item now "knows" about the relationship
+
+session.persist(item);                   // The relationship won't be saved!
+session.persist(category);               // The relationship will be saved]]></programlisting>
+
+        <para>
+            ŠÖ˜A‚Ìinverse‚Å‚Í‚È‚¢‘¤‚́Aƒƒ‚ƒŠã‚Ì•\Œ»‚ðƒf[ƒ^ƒx[ƒX‚É•Û‘¶‚·‚é‚Ì‚ÉŽg‚í‚ê‚Ü‚·B
+        </para>
+
+        <para>
+            ‘o•ûŒü‚̈ê‘Α½ŠÖ˜A‚ð’è‹`‚·‚é‚ɂ́A
+            ˆê‘Α½ŠÖ˜A‚𑽑ΈêŠÖ˜A‚Æ“¯‚¶ƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚µA
+            ‘½‘¤‚É <literal>inverse="true"</literal> ‚Ɛ錾‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Parent">
+    <id name="id" column="parent_id"/>
+    ....
+    <set name="children" inverse="true">
+        <key column="parent_id"/>
+        <one-to-many class="Child"/>
+    </set>
+</class>
+
+<class name="Child">
+    <id name="id" column="child_id"/>
+    ....
+    <many-to-one name="parent" 
+        class="Parent" 
+        column="parent_id"
+        not-null="true"/>
+</class>]]></programlisting>
+
+        <para>
+            ŠÖ˜A‚̕Б¤‚É <literal>inverse="true"</literal> ‚ðÝ’肵‚Ä‚àA
+            ƒJƒXƒP[ƒh‘€ì‚ɉe‹¿‚ð—^‚¦‚Ü‚¹‚ñB‚±‚ê‚ç‚Í’¼Œð‚µ‚½ŠT”O‚Å‚·I
+        </para>
+
+    </sect2>
+
+    <sect2 id="collections-indexedbidirectional">
+        <title>ƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚Æ‘o•ûŒüŠÖ˜A</title>
+        <para>
+            •Ð‘¤‚ª <literal>&lt;list&gt;</literal> ‚â <literal>&lt;map&gt;</literal> ‚Å‚ ‚é
+            ‘o•ûŒüŠÖ˜A‚́A“Á‚É‚æ‚­l‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B
+            ƒCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚Ƀ}ƒbƒv‚³‚ê‚éŽqƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ª‚ ‚éê‡‚́A–â‘è‚È‚¢‚Å‚·B
+            ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Å <literal>inverse="true"</literal> ‚ðŽg‚¢‘±‚¯‚ç‚ê‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[<class name="Parent">
+    <id name="id" column="parent_id"/>
+    ....
+    <map name="children" inverse="true">
+        <key column="parent_id"/>
+        <map-key column="name" 
+            type="string"/>
+        <one-to-many class="Child"/>
+    </map>
+</class>
+
+<class name="Child">
+    <id name="id" column="child_id"/>
+    ....
+    <property name="name" 
+        not-null="true"/>
+    <many-to-one name="parent" 
+        class="Parent" 
+        column="parent_id"
+        not-null="true"/>
+</class>]]></programlisting>
+
+        <para>
+            ‚µ‚©‚µAŽqƒNƒ‰ƒX‚É‚»‚̂悤‚ȃvƒƒpƒeƒB‚ª‚È‚¢ê‡‚́A
+            ŠÖ˜A‚ð^‚É‘o•ûŒü‚Å‚ ‚é‚ƍl‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñ
+            iŠÖ˜A‚̕Б¤‚É—˜—p‚Å‚«‚éî•ñ‚ª‚ ‚è‚Ü‚·‚ªA‚à‚¤ˆê•û‚É‚Í‚ ‚è‚Ü‚¹‚ñjB
+            ‚±‚̏ꍇ‚́AƒRƒŒƒNƒVƒ‡ƒ“‚É <literal>inverse="true"</literal> ‚ðƒ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚¹‚ñB
+            ‘ã‚í‚è‚ɁAŽŸ‚̂悤‚ȃ}ƒbƒsƒ“ƒO‚ªŽg‚¦‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Parent">
+    <id name="id" column="parent_id"/>
+    ....
+    <map name="children">
+        <key column="parent_id"
+            not-null="true"/>
+        <map-key column="name" 
+            type="string"/>
+        <one-to-many class="Child"/>
+    </map>
+</class>
+
+<class name="Child">
+    <id name="id" column="child_id"/>
+    ....
+    <many-to-one name="parent" 
+        class="Parent" 
+        column="parent_id"
+        insert="false"
+        update="false"
+        not-null="true"/>
+</class>]]></programlisting>
+
+       <para>
+           ’ˆÓF ‚±‚̃}ƒbƒsƒ“ƒO‚ł́AŠÖ˜A‚̃RƒŒƒNƒVƒ‡ƒ“’l‚Ì‘¤‚́A
+           ŠO•”ƒL[‚ðƒAƒbƒvƒf[ƒg‚·‚éÓ”C‚ª‚ ‚è‚Ü‚·B
+           <!-- TODO: Does this really result in some unnecessary update statements? -->
+       </para>
+
+    </sect2>
+
+    <sect2 id="collections-ternary">
+        <title>3€ŠÖ˜A</title>
+
+        <para>
+            3€ŠÖ˜A‚̃}ƒbƒsƒ“ƒO‚É‚Í3‚‚̃Aƒvƒ[ƒ`‚ª‚ ‚è‚Ü‚·B
+            1‚–ڂ͊֘A‚ðƒCƒ“ƒfƒbƒNƒX‚Æ‚µ‚Ä <literal>Map</literal> ‚ðŽg—p‚·‚éƒAƒvƒ[ƒ`‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<map name="contracts">
+    <key column="employer_id" not-null="true"/>
+    <map-key-many-to-many column="employee_id" class="Employee"/>
+    <one-to-many class="Contract"/>
+</map>]]></programlisting>
+            
+            <programlisting><![CDATA[<map name="connections">
+    <key column="incoming_node_id"/>
+    <map-key-many-to-many column="outgoing_node_id" class="Node"/>
+    <many-to-many column="connection_id" class="Connection"/>
+</map>]]></programlisting>
+            
+        <para>
+            2‚–ڂ͒Pƒ‚ÉŠÖ˜A‚ðƒGƒ“ƒeƒBƒeƒB¥ƒNƒ‰ƒX‚Æ‚µ‚ă‚ƒfƒ‹‚ðì‚è’¼‚·ƒAƒvƒ[ƒ`‚ŁA
+            •p”É‚ÉŽg‚í‚ê‚Ü‚·B
+        </para>
+        
+        <para>
+            ÅŒã‚Ícomposite—v‘f‚ðŽg‚¤ƒAƒvƒ[ƒ`‚Å‚·B‚±‚ê‚ÉŠÖ‚·‚é‹c˜_‚ÍŒã‚قǍs‚¢‚Ü‚·B
+        </para>
+        
+    </sect2>
+    
+    <sect2 id="collections-idbag" revision="1">
+        <title><literal>&lt;idbag&gt;</literal>‚ÌŽg—p</title>
+
+        <para>
+            •¡‡ƒL[‚͈«‚¢‚à‚̂ŁAƒGƒ“ƒeƒBƒeƒB‚͐lH‚ÌŽ¯•ÊŽq(‘㗝ƒL[)‚ðŽ‚Â‚×‚«‚Å‚ ‚é‚Æ‚¢‚¤l‚¦•û‚©‚ç‚́A
+            ‘½‘Α½ŠÖ˜A‚Æ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚𕡍‡ƒL[‚ð—p‚¢‚½ƒe[ƒuƒ‹‚Öƒ}ƒbƒsƒ“ƒO‚·‚é‚̂͏­‚µŠï–­‚ÉŠ´‚¶‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñI
+            Šm‚©‚É‚±‚̍l‚¦•û‚É‚Í‹c˜_‚Ì—]’n‚ª‚ ‚è‚Ü‚·B
+            ƒˆ‚ÈŠÖ˜Aƒe[ƒuƒ‹‚͑㗝ƒL[‚ðŽg‚Á‚Ä‚à—˜‰v‚𓾂ç‚ê‚È‚¢‚悤‚ÉŽv‚¦‚é‚©‚ç‚Å‚·
+            i‡¬’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Í—˜‰v‚ª‚ ‚é <emphasis>‚©‚à</emphasis> ‚µ‚ê‚Ü‚¹‚ñ‚ªjB
+            ‚Æ‚Í‚¢‚¦AHibernate‚͑㗝ƒL[‚ðŽ‚Âƒe[ƒuƒ‹‚Ö‘½‘Α½ŠÖ˜A‚Æ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚ð
+            ƒ}ƒbƒsƒ“ƒO‚·‚é‹@”\‚à”õ‚¦‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            bag‚̃Zƒ}ƒ“ƒeƒBƒbƒNƒX‚ðŽ‚Á‚½ <literal>List</literal>i‚Ü‚½‚Í <literal>Collection</literal>j‚ð
+            <literal>&lt;idbag&gt;</literal> —v‘f‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·B
+        </para>
+
+<programlisting><![CDATA[<idbag name="lovers" table="LOVERS">
+    <collection-id column="ID" type="long">
+        <generator class="sequence"/>
+    </collection-id>
+    <key column="PERSON1"/>
+    <many-to-many column="PERSON2" class="Person" fetch="join"/>
+</idbag>]]></programlisting>
+
+        <para>
+            ‚²‘¶’m‚̂悤‚É <literal>&lt;idbag&gt;</literal> ‚̓Gƒ“ƒeƒBƒeƒB¥ƒNƒ‰ƒX‚̂悤‚É
+            lH“I‚ÈidƒWƒFƒlƒŒ[ƒ^‚ðŽ‚Á‚Ä‚¢‚Ü‚·I
+            ˆÙ‚È‚é‘㗝ƒL[‚ð‚»‚ê‚¼‚ê‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì—ñ‚ÉŠ„‚è“–‚Ä‚Ü‚·B
+            ‚µ‚©‚µ‚È‚ª‚çAHibernate‚Í‚ ‚és‚̑㗝ƒL[‚Ì’l‚ðŒ©‚Â‚¯o‚·‹@\‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            <literal>&lt;idbag&gt;</literal> ‚ðXV‚·‚éƒpƒtƒH[ƒ}ƒ“ƒX‚Í
+            ’ʏí‚Ì <literal>&lt;bag&gt;</literal> ‚æ‚è‚à—Ç‚¢‚±‚Æ‚É’–Ú‚µ‚Ä‚­‚¾‚³‚¢I
+            Hibernate‚͌X‚̍s‚ðŒø‰Ê“I‚ÉŒ©‚‚¯‚邱‚Æ‚ª‚Å‚«A
+            list‚âmapAset‚̂悤‚Ɍ•ʂɂ»‚̍s‚ðXVAíœ‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            Œ»Ý‚ÌŽÀ‘•‚ł́A<literal>native</literal> ‚Æ‚¢‚¤id¶¬í—ª‚ð
+            <literal>&lt;idbag&gt;</literal> ƒRƒŒƒNƒVƒ‡ƒ“‚ÌŽ¯•ÊŽq‚ɑ΂µ‚ÄŽg‚¦‚Ü‚¹‚ñB
+        </para>
+
+    </sect2>
+
+    </sect1>
+    
+    <!--undocumenting this stuff -->
+    
+    <!--sect1 id="collections-heterogeneous">
+        <title>Heterogeneous Associations</title>
+
+        <para>
+            The <literal>&lt;many-to-any&gt;</literal> and <literal>&lt;index-many-to-any&gt;</literal>
+            elements provide for true heterogeneous associations. These mapping elements work in the
+            same way as the <literal>&lt;any&gt;</literal> element - and should also be used
+            rarely, if ever.
+        </para>
+
+    </sect1-->
+
+    <sect1 id="collections-example" revision="1">
+        <title>ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—á</title>
+
+        <para>
+            ‚±‚ê‚Ü‚Å‚Ìß‚Ìà–¾‚Å‚Í—‰ð‚µ‚É‚­‚¢‚̂ŁAˆÈ‰º‚Ì—á‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <programlisting><![CDATA[package eg;
+import java.util.Set;
+
+public class Parent {
+    private long id;
+    private Set children;
+
+    public long getId() { return id; }
+    private void setId(long id) { this.id=id; }
+
+    private Set getChildren() { return children; }
+    private void setChildren(Set children) { this.children=children; }
+
+    ....
+    ....
+}]]></programlisting>
+
+        <para>
+            ‚±‚̃Nƒ‰ƒX‚Í <literal>Child</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+            ‚à‚µŠeX‚Ìchild‚ªÅ‘å‚Å‚àˆê‚‚Ìparent‚ðŽ‚Á‚Ä‚¢‚é‚È‚ç‚΁AÅ‚àŽ©‘R‚ȃ}ƒbƒsƒ“ƒO‚͈ê‘Α½ŠÖ˜A‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="Parent">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <set name="children">
+            <key column="parent_id"/>
+            <one-to-many class="Child"/>
+        </set>
+    </class>
+
+    <class name="Child">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <property name="name"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+        <para>
+            ‚±‚ê‚͈ȉº‚̃e[ƒuƒ‹’è‹`‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[create table parent ( id bigint not null primary key )
+create table child ( id bigint not null primary key, name varchar(255), parent_id bigint )
+alter table child add constraint childfk0 (parent_id) references parent]]></programlisting>
+
+        <para>
+            ‚à‚µparent‚ª <emphasis>—v‹</emphasis> ‚³‚ê‚é‚È‚çA‘o•ûŒü‚̈ê‘Α½ŠÖ˜A‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="Parent">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <set name="children" inverse="true">
+            <key column="parent_id"/>
+            <one-to-many class="Child"/>
+        </set>
+    </class>
+
+    <class name="Child">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <property name="name"/>
+        <many-to-one name="parent" class="Parent" column="parent_id" not-null="true"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+        <para>
+            <literal>NOT NULL</literal> §–ñ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <programlisting><![CDATA[create table parent ( id bigint not null primary key )
+create table child ( id bigint not null
+                     primary key,
+                     name varchar(255),
+                     parent_id bigint not null )
+alter table child add constraint childfk0 (parent_id) references parent]]></programlisting>
+
+        <para>
+            ‚ ‚é‚¢‚́A‚à‚µ‚±‚ÌŠÖ˜A‚Í’P•ûŒü‚Å‚ ‚é‚ׂ«‚Æ‹­‚­Žå’£‚·‚é‚Ì‚Å‚ ‚ê‚΁A
+            <literal>&lt;key&gt;</literal> ‚É <literal>NOT NULL</literal> §–ñ‚ðéŒ¾‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="Parent">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <set name="children">
+            <key column="parent_id" not-null="true"/>
+            <one-to-many class="Child"/>
+        </set>
+    </class>
+
+    <class name="Child">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <property name="name"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+        <para>
+            ˆê•û‚ŁA‚à‚µchild‚ª•¡”‚Ìparent‚ðŽ‚Ä‚é‚È‚ç‚΁A‘½‘Α½ŠÖ˜A‚ª‘Ó–‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="Parent">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <set name="children" table="childset">
+            <key column="parent_id"/>
+            <many-to-many class="Child" column="child_id"/>
+        </set>
+    </class>
+
+    <class name="Child">
+        <id name="id">
+            <generator class="sequence"/>
+        </id>
+        <property name="name"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+        <para>
+            ƒe[ƒuƒ‹’è‹`‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[create table parent ( id bigint not null primary key )
+create table child ( id bigint not null primary key, name varchar(255) )
+create table childset ( parent_id bigint not null,
+                        child_id bigint not null,
+                        primary key ( parent_id, child_id ) )
+alter table childset add constraint childsetfk0 (parent_id) references parent
+alter table childset add constraint childsetfk1 (child_id) references child]]></programlisting>
+
+        <para>
+            parent/childŠÖŒW‚̃}ƒbƒsƒ“ƒO‚ɂ‚¢‚Ä‚Ì‚æ‚葽‚­‚Ì—á‚⊮‘S‚Ȏ菇‚ª•K—v‚Å‚ ‚ê‚΁A
+            <xref linkend="example-parentchild"/> ‚ð‚²——‚­‚¾‚³‚¢B
+        </para>
+        
+        <para>
+            ‚Ü‚½A‚³‚ç‚É“ÁŽê‚ÈŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚à‰Â”\‚Å‚·BŽŸ‚̏͂ŏڂµ‚­q‚ׂ܂·B
+        </para>
+
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/component_mapping.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,396 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="components">
+    <title>ƒRƒ“ƒ|[ƒlƒ“ƒg‚̃}ƒbƒsƒ“ƒO</title>
+
+    <para>
+        <emphasis>ƒRƒ“ƒ|[ƒlƒ“ƒg</emphasis> ‚ÌŠT”O‚́AHibernate‚ð’Ê‚µ‚Ä—lX‚ȏ󋵂̒†‚Å
+        ˆÙ‚È‚é–Ú“I‚Ì‚½‚߂ɍė˜—p‚³‚ê‚Ü‚·B
+    </para>
+
+    <sect1 id="components-dependentobjects" revision="2" >
+        <title>ˆË‘¶ƒIƒuƒWƒFƒNƒg</title>
+
+        <para>
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚́AƒGƒ“ƒeƒBƒeƒB‚ÌŽQÆ‚Å‚Í‚È‚­’lŒ^‚Æ‚µ‚ĉi‘±‰»‚³‚ꂽA
+            •ïŠÜ‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Å‚·BƒRƒ“ƒ|[ƒlƒ“ƒg‚Æ‚¢‚¤Œ¾—t‚ɂ‚¢‚ẮAƒRƒ“ƒ|ƒWƒVƒ‡ƒ“‚Æ‚¢‚¤
+            ƒIƒuƒWƒFƒNƒgŽwŒü‚ÌŠT”O‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢iƒA[ƒLƒeƒNƒ`ƒƒƒŒƒxƒ‹‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñjB
+            —Ⴆ‚΁AˆÈ‰º‚ÌPersonƒ‚ƒfƒ‹‚̂悤‚È‚à‚Ì‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[public class Person {
+    private java.util.Date birthday;
+    private Name name;
+    private String key;
+    public String getKey() {
+        return key;
+    }
+    private void setKey(String key) {
+        this.key=key;
+    }
+    public java.util.Date getBirthday() {
+        return birthday;
+    }
+    public void setBirthday(java.util.Date birthday) {
+        this.birthday = birthday;
+    }
+    public Name getName() {
+        return name;
+    }
+    public void setName(Name name) {
+        this.name = name;
+    }
+    ......
+    ......
+}]]></programlisting>
+
+<programlisting><![CDATA[public class Name {
+    char initial;
+    String first;
+    String last;
+    public String getFirst() {
+        return first;
+    }
+    void setFirst(String first) {
+        this.first = first;
+    }
+    public String getLast() {
+        return last;
+    }
+    void setLast(String last) {
+        this.last = last;
+    }
+    public char getInitial() {
+        return initial;
+    }
+    void setInitial(char initial) {
+        this.initial = initial;
+    }
+}]]></programlisting>
+
+        <para>
+            ‚¢‚܁A<literal>Name</literal> ‚Í <literal>Person</literal> ‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚Ä
+            ‰i‘±‰»‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B‚±‚±‚Å <literal>Name</literal> ‚͉i‘±‰»‘®«‚ɑ΂µ‚ÄgetterA
+            setterƒƒ\ƒbƒh‚ð’è‹`‚µ‚Ü‚·‚ªAƒCƒ“ƒ^[ƒtƒFƒCƒX‚⎯•ÊŽqƒvƒƒpƒeƒB‚ð’è‹`‚·‚é•K—v‚ª
+            ‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚ĉº‚³‚¢B
+        </para>
+
+        <para>
+            ƒ}ƒbƒsƒ“ƒO’è‹`‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="eg.Person" table="person">
+    <id name="Key" column="pid" type="string">
+        <generator class="uuid"/>
+    </id>
+    <property name="birthday" type="date"/>
+    <component name="Name" class="eg.Name"> <!-- class attribute optional -->
+        <property name="initial"/>
+        <property name="first"/>
+        <property name="last"/>
+    </component>
+</class>]]></programlisting>
+
+        <para>
+            Personƒe[ƒuƒ‹‚Í <literal>pid</literal>A
+            <literal>birthday</literal>A
+            <literal>initial</literal>A
+            <literal>first</literal>A
+            <literal>last</literal> ƒJƒ‰ƒ€‚ðŽ‚¿‚Ü‚·B
+        </para>
+
+        <para>
+            ‘S‚Ä‚Ì’lŒ^‚̂悤‚ɁAƒRƒ“ƒ|[ƒlƒ“ƒg‚ÍŽQÆ‚Ì‹¤—L‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB
+            Œ¾‚¢Š·‚¦‚é‚ƁA“ñl‚ÌPerson‚Í“¯‚¶–¼‘O‚ðŽ‚Â‚±‚Æ‚ª‚Å‚«‚Ü‚·‚ªA“ñ‚‚ÌPersonƒIƒuƒWƒFƒNƒg‚Í
+            "’l‚ª“¯‚¶‚¾‚¯"‚̕ʁX‚ÌnameƒIƒuƒWƒFƒNƒg‚ðŠÜ‚ñ‚Å‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ìnull’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Í <emphasis>ƒAƒhƒzƒbƒN</emphasis> ‚Å‚·B
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚̃IƒuƒWƒFƒNƒg‚ðÄ“ǂݍž‚Ý‚·‚éÛAHibernate‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚Ì‚·‚ׂẴJƒ‰ƒ€‚ª
+            null‚Å‚ ‚é‚È‚çƒRƒ“ƒ|[ƒlƒ“ƒgŽ©‘Ì‚ªnull‚Å‚ ‚é‚ƍl‚¦‚Ü‚·B
+            ‚±‚ê‚Í‘å’ï‚̏ꍇ–â‘è‚ ‚è‚Ü‚¹‚ñB
+
+        </para>
+
+        <para>
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‘®«‚Í‚Ç‚ñ‚ÈHibernate‚ÌŒ^‚Å‚à\‚¢‚Ü‚¹‚ñiƒRƒŒƒNƒVƒ‡ƒ“Amany-to-oneŠÖ˜AA
+            ‘¼‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚ȂǁjBƒlƒXƒg‚³‚ꂽƒRƒ“ƒ|[ƒlƒ“ƒg‚Í–Å‘½‚ÉŽg‚í‚È‚¢‚ƍl‚¦‚é‚ׂ«‚Å‚Í
+             <emphasis>‚ ‚è‚Ü‚¹‚ñ</emphasis> BHibernate‚Í”ñí‚É‚«‚߂ׂ̍©‚¢ƒIƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚ðƒTƒ|[ƒg‚·‚é‚悤‚ɈӐ}‚³‚ê‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            <literal>&lt;component&gt;</literal> —v‘f‚͐eƒGƒ“ƒeƒBƒeƒB‚Ö‚Ì‹tŽQÆ‚Æ‚µ‚āAƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚Ì
+            ‘®«‚ðƒ}ƒbƒsƒ“ƒO‚·‚é <literal>&lt;parent&gt;</literal> ƒTƒu—v‘f‚ðŽg—p‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="eg.Person" table="person">
+    <id name="Key" column="pid" type="string">
+        <generator class="uuid"/>
+    </id>
+    <property name="birthday" type="date"/>
+    <component name="Name" class="eg.Name" unique="true">
+        <parent name="namedPerson"/> <!-- reference back to the Person -->
+        <property name="initial"/>
+        <property name="first"/>
+        <property name="last"/>
+    </component>
+</class>]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="components-incollections" revision="1">
+        
+        <title>]‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̃RƒŒƒNƒVƒ‡ƒ“</title>
+
+        <para>
+            Hibernate‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·i—Ⴆ‚Î <literal>Name</literal> Œ^‚Ì”z—ñjB
+            <literal>&lt;element&gt;</literal> ƒ^ƒO‚ð <literal>&lt;composite-element&gt;</literal> ƒ^ƒO‚ÉŽæ‚è‘Ö‚¦‚邱‚Æ‚É‚æ‚è
+            ƒRƒ“ƒ|[ƒlƒ“ƒgƒRƒŒƒNƒVƒ‡ƒ“‚ðéŒ¾‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <programlisting><![CDATA[<set name="someNames" table="some_names" lazy="true">
+    <key column="id"/>
+    <composite-element class="eg.Name"> <!-- class attribute required -->
+        <property name="initial"/>
+        <property name="first"/>
+        <property name="last"/>
+    </composite-element>
+</set>]]></programlisting>
+
+        <para>
+            ’ˆÓ: ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Ì <literal>Set</literal> ‚ð’è‹`‚µ‚½‚È‚çA
+            <literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚𐳂µ‚­ŽÀ‘•‚·‚邱‚Æ‚ªd—v‚Å‚·B
+        </para>
+
+        <para>
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚̓RƒŒƒNƒVƒ‡ƒ“‚ðŠÜ‚Ü‚¸AƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŠÜ‚Þ‚±‚Æ‚à‚ ‚è‚Ü‚·B
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒgŽ©g‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŠÜ‚ñ‚Å‚¢‚éê‡‚Í <literal>&lt;nested-composite-element&gt;</literal> ‚ð
+            Žg—p‚µ‚Ä‚­‚¾‚³‚¢BƒRƒ“ƒ|[ƒlƒ“ƒg‚̃RƒŒƒNƒVƒ‡ƒ“Ž©g‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŽ‚Â‚Æ‚¢‚¤ƒP[ƒX‚Í‚ß‚Á‚½‚É‚ ‚è‚Ü‚¹‚ñB
+            ‚±‚Ì’iŠK‚܂łɁAone-to-manyŠÖ˜A‚Ì•û‚ª‚æ‚è“KØ‚Å‚È‚¢‚©‚Ənl‚µ‚Ä‚­‚¾‚³‚¢B
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚ðƒGƒ“ƒeƒBƒeƒB‚Æ‚µ‚čēxƒ‚ƒfƒŠƒ“ƒO‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+            ‚µ‚©‚µ‚±‚ê‚ÍJava‚̃‚ƒfƒ‹‚Æ‚µ‚Ä‚Í“¯‚¶‚Å‚·‚ªAƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚Ɖi‘±“®ì‚Í‚Ü‚¾ŽáŠ±ˆÙ‚Ȃ邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            ‚à‚µ <literal>&lt;set&gt;</literal> ‚ðŽg—p‚·‚é‚Ì‚Å‚ ‚ê‚΁AƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚̃}ƒbƒsƒ“ƒO‚ªnull’l‚ª‰Â”\‚È
+            ‘®«‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢BHibernate‚̓IƒuƒWƒFƒNƒg‚ðíœ‚·‚é‚Æ‚«A
+            ƒŒƒR[ƒh‚ðŽ¯•Ê‚·‚邽‚ß‚É‚»‚ꂼ‚ê‚̃Jƒ‰ƒ€‚Ì’l‚ðŽg—p‚·‚é•K—v‚ª‚ ‚邽‚߁Anull’l‚ðŽ‚Â‚±‚Æ‚ªo—ˆ‚Ü‚¹‚ñ
+            iƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒgƒe[ƒuƒ‹‚É‚Í•Ê‚ÌŽåƒL[ƒJƒ‰ƒ€‚Í‚ ‚è‚Ü‚¹‚ñjB
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Énot-null‚Ì‘®«‚Ì‚Ý‚ðŽg—p‚·‚é‚©A‚Ü‚½‚Í <literal>&lt;list&gt;</literal>A<literal>&lt;map&gt;</literal>A
+            <literal>&lt;bag&gt;</literal>A<literal>&lt;idbag&gt;</literal> ‚ð‘I‘ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+        </para>
+
+        <para>
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Ì“Á•Ê‚ȃP[ƒX‚Æ‚µ‚āAƒlƒXƒg‚³‚ꂽ <literal>&lt;many-to-one&gt;</literal> ‘®«‚ðŽ‚Â
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚ª‚ ‚è‚Ü‚·B
+            ‚±‚̃}ƒbƒsƒ“ƒO‚́AƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒgƒNƒ‰ƒX‚𑽑Α½ŠÖ˜Aƒe[ƒuƒ‹‚Ì
+            —]•ª‚ȃJƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+            ŽŸ‚Ì—á‚Í <literal>Order</literal> ‚©‚çA<literal>Item</literal> ‚Ö‚Ì‘½‘Α½ŠÖ˜A‚Å‚·B
+             <literal>purchaseDate</literal>A<literal>price</literal>A<literal>quantity</literal> ‚ÍŠÖ˜A‚Ì‘®«‚Æ‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="eg.Order" .... >
+    ....
+    <set name="purchasedItems" table="purchase_items" lazy="true">
+        <key column="order_id">
+        <composite-element class="eg.Purchase">
+            <property name="purchaseDate"/>
+            <property name="price"/>
+            <property name="quantity"/>
+            <many-to-one name="item" class="eg.Item"/> <!-- class attribute is optional -->
+        </composite-element>
+    </set>
+</class>]]></programlisting>
+
+        <para>
+            ‚à‚¿‚ë‚ñA‘o•ûŒüŠÖ˜A‚̃iƒrƒQ[ƒVƒ‡ƒ“‚Ì‚½‚ß‚É”½‘Α¤‚©‚çpurchase‚Ö‚ÌŽQÆ‚ðì‚邱‚Ƃ͏o—ˆ‚Ü‚¹‚ñB
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚Í’lŒ^‚Å‚ ‚èAŽQÆ‚ð‹¤—L‚Å‚«‚È‚¢‚±‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B
+            ˆê‚Â‚Ì <literal>Purchase</literal> ‚͈ê‚Â‚Ì <literal>Order</literal> ‚Ìset‚É‘¶Ý‚Å‚«‚Ü‚·‚ªA
+            “¯Žž‚É <literal>Item</literal> ‚©‚çŽQÆ‚·‚邱‚Ƃ͏o—ˆ‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+              3€ŠÖ˜Ai‚ ‚é‚¢‚Í4€‚Ȃǁj‚à‰Â”\‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="eg.Order" .... >
+    ....
+    <set name="purchasedItems" table="purchase_items" lazy="true">
+        <key column="order_id">
+        <composite-element class="eg.OrderLine">
+            <many-to-one name="purchaseDetails" class="eg.Purchase"/>
+            <many-to-one name="item" class="eg.Item"/>
+        </composite-element>
+    </set>
+</class>]]></programlisting>
+
+        <para>
+            ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Í‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŠÖ˜A‚Æ‚µ‚āA
+            “¯‚¶ƒVƒ“ƒ^ƒbƒNƒX‚ðŽg‚Á‚Ä‚¢‚éƒNƒGƒŠ“à‚ÅŽg—p‚Å‚«‚Ü‚·B
+        </para>
+
+    </sect1>
+
+    <sect1 id="components-asmapindex">
+        <title>Map‚̃Cƒ“ƒfƒbƒNƒX‚Æ‚µ‚ẴRƒ“ƒ|[ƒlƒ“ƒg</title>
+
+        <para>
+            <literal>&lt;composite-map-key&gt;</literal> —v‘f‚Í <literal>Map</literal> ‚̃L[‚Æ‚µ‚ăRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚ð
+            ƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·BƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒXã‚Å <literal>hashCode()</literal> ‚Æ <literal>equals()</literal>
+            ‚𐳊m‚ɃI[ƒo[ƒ‰ƒCƒh‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+    </sect1>
+
+    <sect1 id="components-compositeid" revision="1">
+        <title>•¡‡Ž¯•ÊŽq‚Æ‚µ‚ẴRƒ“ƒ|[ƒlƒ“ƒg</title>
+
+        <para>
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ÌŽ¯•ÊŽq‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            ƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚͈ȉº‚ÌðŒ‚ð–ž‚½‚·•K—v‚ª‚ ‚è‚Ü‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>java.io.Serializable</literal> ‚ðŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒf[ƒ^ƒx[ƒXã‚Ì•¡‡ƒL[‚Ì“™‰¿«‚Æ–µ‚‚Ì‚È‚¢‚悤‚ɁA<literal>equals()</literal> 
+                    ‚Æ <literal>hashCode()</literal> ‚ðÄŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para>
+            <emphasis>’ˆÓ: Hibernate3‚É‚¨‚¢‚āA2”Ô–Ú‚ÌðŒ‚Íâ‘ΓI‚ÈðŒ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                  ‚µ‚©‚µ‚Æ‚É‚©‚­ðŒ‚ð–ž‚½‚µ‚Ä‚­‚¾‚³‚¢B
+            </emphasis> 
+
+        </para>
+
+        <para>
+            •¡‡ƒL[‚𐶐¬‚·‚邽‚ß‚É <literal>IdentifierGenerator</literal> ‚ðŽg—p‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+            ‘ã‚í‚è‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽ¯•ÊŽq‚ðŠ„‚è“–‚Ä‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ’ʏí‚Ì <literal>&lt;id&gt;</literal> éŒ¾‚Ì‘ã‚í‚è‚É <literal>&lt;composite-id&gt;</literal> ƒ^ƒO‚ð
+            iƒlƒXƒg‚³‚ꂽ <literal>&lt;key-property&gt;</literal> ‘®«‚Æ‹¤‚ɁjŽg‚¢‚Ü‚·B
+            ˆÈ‰º‚Ì—á‚ł́A<literal>OrderLine</literal> ƒNƒ‰ƒX‚Í <literal>Order</literal> ‚́i•¡‡jŽåƒL[‚É
+            ˆË‘¶‚µ‚½ŽåƒL[‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="OrderLine">
+    
+    <composite-id name="id" class="OrderLineId">
+        <key-property name="lineId"/>
+        <key-property name="orderId"/>
+        <key-property name="customerId"/>
+    </composite-id>
+    
+    <property name="name"/>
+    
+    <many-to-one name="order" class="Order"
+            insert="false" update="false">
+        <column name="orderId"/>
+        <column name="customerId"/>
+    </many-to-one>
+    ....
+    
+</class>]]></programlisting>
+
+        <para>
+            ‚±‚Ì‚Æ‚«A<literal>OrderLine</literal> ƒe[ƒuƒ‹‚ÖŠÖ˜A‚·‚éŠO•”ƒL[‚à‚Ü‚½•¡‡‚Å‚·B
+            ‘¼‚̃Nƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚Å‚±‚ê‚ðéŒ¾‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            <literal>OrderLine</literal> ‚Ö‚ÌŠÖ˜A‚ÍŽŸ‚̂悤‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<many-to-one name="orderLine" class="OrderLine">
+<!-- the "class" attribute is optional, as usual -->
+    <column name="lineId"/>
+    <column name="orderId"/>
+    <column name="customerId"/>
+</many-to-one>]]></programlisting>
+
+        <para>
+            i<literal>&lt;column&gt;</literal> ƒ^ƒO‚Í‚Ç‚±‚Å‚ ‚Á‚Ä‚à <literal>column</literal> ‘®«‚Ì
+              ‘ã‚í‚è‚É‚È‚è‚Ü‚·Bj
+        </para>
+        
+        <para>
+            <literal>OrderLine</literal> ‚Ö‚Ì <literal>many-to-many</literal> ŠÖ˜A‚à
+            •¡‡ŠO•”ƒL[‚ðŽg‚¢‚Ü‚·B
+        </para>
+    
+    <programlisting><![CDATA[<set name="undeliveredOrderLines">
+    <key column name="warehouseId"/>
+    <many-to-many class="OrderLine">
+        <column name="lineId"/>
+        <column name="orderId"/>
+        <column name="customerId"/>
+    </many-to-many>
+</set>]]></programlisting>
+
+        <para>
+            <literal>Order</literal> ‚É‚ ‚é <literal>OrderLine</literal> ‚̃RƒŒƒNƒVƒ‡ƒ“‚Í
+            ŽŸ‚Ì‚à‚Ì‚ðŽg—p‚µ‚Ü‚·B
+        </para>
+
+    <programlisting><![CDATA[<set name="orderLines" inverse="true">
+    <key>
+        <column name="orderId"/>
+        <column name="customerId"/>
+    </key>
+    <one-to-many class="OrderLine"/>
+</set>]]></programlisting>
+
+        <para>
+            i<literal>&lt;one-to-many&gt;</literal> ‘®«‚́A—á‚É‚æ‚Á‚ăJƒ‰ƒ€‚ðéŒ¾‚µ‚Ü‚¹‚ñj
+        </para>
+        
+        <para>
+            <literal>OrderLine</literal> Ž©g‚ªƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ‚Á‚Ä‚¢‚éê‡A
+            “¯Žž‚É•¡‡ŠO•”ƒL[‚àŽ‚Á‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="OrderLine">
+    ....
+    ....
+    <list name="deliveryAttempts">
+        <key>   <!-- a collection inherits the composite key type -->
+            <column name="lineId"/>
+            <column name="orderId"/>
+            <column name="customerId"/>
+        </key>
+        <list-index column="attemptId" base="1"/>
+        <composite-element class="DeliveryAttempt">
+            ...
+        </composite-element>
+    </set>
+</class>]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="components-dynamic" revision="1">
+        <title>“®“IƒRƒ“ƒ|[ƒlƒ“ƒg</title>
+
+        <para>
+            <literal>Map</literal> Œ^‚̃vƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚à‰Â”\‚Å‚·B
+        </para>
+
+    <programlisting><![CDATA[<dynamic-component name="userAttributes">
+    <property name="foo" column="FOO" type="string"/>
+    <property name="bar" column="BAR" type="integer"/>
+    <many-to-one name="baz" class="Baz" column="BAZ_ID"/>
+</dynamic-component>]]></programlisting>
+
+        <para>
+            <literal>&lt;dynamic-component&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Í <literal>&lt;component&gt;</literal> 
+            ‚Æ“¯ˆê‚Ì‚à‚Ì‚Å‚·B‚±‚ÌŽí‚̃}ƒbƒsƒ“ƒO‚Ì—˜“_‚́Aƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̕ҏW‚É‚æ‚èA”z’uŽž‚Ébean‚Ì‘®«‚ð
+            Œˆ’è‚Å‚«‚é“_‚Å‚·B‚Ü‚½ADOMƒp[ƒT‚ð—˜—p‚µ‚āAƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̃‰ƒ“ƒ^ƒCƒ€‘€ì‚ª‰Â”\‚Å‚·B
+            ‚³‚ç‚ɁA<literal>Configuration</literal> ƒIƒuƒWƒFƒNƒgŒo—R‚ÅHibernate‚̃Rƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“Žž‚̃ƒ^ƒ‚ƒfƒ‹‚É
+            ƒAƒNƒZƒXi‚Ü‚½‚͕ύXj‚ª‰Â”\‚Å‚·B
+        </para>
+
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/configuration.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1725 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="session-configuration" revision="1">
+
+    <title>Ý’è</title>
+    
+    <para>
+        Hibernate‚Í‚³‚Ü‚´‚܂Ȋ‹«‚Å“®ì‚·‚é‚悤‚ɃfƒUƒCƒ“‚³‚ê‚Ä‚¢‚邽‚߁A”ñí‚É‘½‚­‚̐ݒè—v‘f‚ª‚ ‚è‚Ü‚·B
+        K‚¢‚È‚±‚ƂɁAHibernate‚́AŒöŠJ‚³‚ê‚Ä‚¢‚éƒpƒbƒP[ƒW‚Ì <literal>etc/</literal> ƒtƒHƒ‹ƒ_‚Ì <literal>hibernate.properties</literal> 
+        ‚ɁA‚Ù‚Æ‚ñ‚ǂ̐ݒè—v‘f‚Ì“KØ‚ȃfƒtƒHƒ‹ƒg’l‚ª‹Lq‚³‚ê‚Ä‚¢‚Ü‚·B
+        ‚±‚Ì <literal>hibernate.properties</literal> ‚ðƒNƒ‰ƒXƒpƒX‚ɐݒ肵AÝ’è—v‘f‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚邾‚¯‚Å‚·B
+    </para>
+
+    <sect1 id="configuration-programmatic" revision="1">
+        <title>ƒvƒƒOƒ‰ƒ€ã‚̐ݒè</title>
+
+        <para>
+             <literal>org.hibernate.cfg.Configuration</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A
+            Java‚ÌŒ^‚ÆSQLƒf[ƒ^ƒx[ƒX‚̃}ƒbƒsƒ“ƒOî•ñ‚ð‚·‚×‚ÄŽ‚Á‚Ä‚¢‚Ü‚·B
+            The  <literal>Configuration</literal> ‚́Ai•s•Ï‚́j <literal>SessionFactory</literal> 
+            ‚𐶐¬‚·‚é‚Æ‚«‚ÉŽg—p‚µ‚Ü‚·B
+            •¡”‚ÌXMLƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µAƒ}ƒbƒsƒ“ƒOî•ñ‚É‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            ’ʏíA<literal>Configuration</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚́A“Á’è‚ÌXMLƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹
+            ‚É‚æ‚Á‚Ä’¼Ú‰Šú‰»‚³‚ê‚Ü‚·B‚à‚µAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ªƒNƒ‰ƒXƒpƒX‚ɐݒ肳‚ê‚Ä‚¢‚éê‡A
+            ŽŸ‚̃ƒ\ƒbƒh‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B <literal>addResource()</literal> :
+        </para>
+
+        <programlisting><![CDATA[Configuration cfg = new Configuration()
+    .addResource("Item.hbm.xml")
+    .addResource("Bid.hbm.xml");]]></programlisting>
+
+        <para>
+            ‘ã‘ÖˆÄ(‚±‚¿‚ç‚Ì‚Ù‚¤‚ª—Ç‚¢‚Æ‚«‚à‚ ‚è‚Ü‚·)‚Æ‚µ‚ă}ƒbƒsƒ“ƒOƒNƒ‰ƒX‚ðŽw’è‚·‚é•û–@‚à‚ ‚è‚Ü‚·BHibernate‚ɁAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð
+            Œ©‚‚¯‚³‚¹‚Ä‚­‚¾‚³‚¢F
+        </para>
+
+        <programlisting><![CDATA[Configuration cfg = new Configuration()
+    .addClass(org.hibernate.auction.Item.class)
+    .addClass(org.hibernate.auction.Bid.class);]]></programlisting>
+
+        <para>
+            Hibernate‚́AƒNƒ‰ƒXƒpƒX‚É‚ ‚éˆÈ‰º‚̂悤‚È–¼‘O‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðŒ©‚Â‚¯‚Ü‚·B
+            <literal>/org/hibernate/auction/Item.hbm.xml</literal> A
+            <literal>/org/hibernate/auction/Bid.hbm.xml</literal> B
+            ‚±‚Ì•û–@‚¾‚ƁAƒn[ƒhƒR[ƒfƒBƒ“ƒO‚³‚ꂽƒtƒ@ƒCƒ‹–¼‚ð”rœ‚Å‚«‚Ü‚·B
+        </para>
+        
+        <para>
+            <literal>Configuration</literal> ‚́AÝ’èƒvƒƒpƒeƒB‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·F
+        </para>
+
+        <programlisting><![CDATA[Configuration cfg = new Configuration()
+    .addClass(org.hibernate.auction.Item.class)
+    .addClass(org.hibernate.auction.Bid.class)
+    .setProperty("hibernate.dialect", "org.hibernate.dialect.MySQLInnoDBDialect")
+    .setProperty("hibernate.connection.datasource", "java:comp/env/jdbc/test")
+    .setProperty("hibernate.order_updates", "true");]]></programlisting>
+    
+        <para>
+            Hibernate‚ɐݒèƒvƒƒpƒeƒB‚ð’Ê‚·•û–@‚Í1‚‚ł͂ ‚è‚Ü‚¹‚ñB
+            ‚³‚Ü‚´‚܂ȃIƒvƒVƒ‡ƒ“‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·F
+        </para>
+
+        <orderedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>java.util.Properties</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ð
+                    <literal>Configuration.setProperties()</literal> ‚É“n‚µ‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>hibernate.properties</literal> ‚ð
+                    ƒNƒ‰ƒXƒpƒX‚̃‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚É’u‚«‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>System</literal> ƒvƒƒpƒeƒB‚ª
+                    <literal>java -Dproperty=value</literal> ‚ðŽg‚¤‚悤‚ɐݒ肵‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>&lt;property&gt;</literal> —v‘f‚ð
+                    <literal>hibernate.cfg.xml</literal> iŒãqj‚ɐݒ肵‚Ü‚·B
+                </para>
+            </listitem>
+        </orderedlist>
+
+        <para>
+            ¡‚·‚®Žn‚ß‚½‚¢‚Ì‚È‚çA<literal>hibernate.properties</literal> 
+            ‚ðŽg‚¤‚Ì‚ªˆê”Ô‚Ì‹ß“¹‚Å‚·B
+        </para>
+
+        <para>
+            <literal>Configuration</literal> ‚́A‹N“®Žž‚É‚¾‚¯‚ ‚éƒIƒuƒWƒFƒNƒg‚Å‚ ‚èA
+            ˆê“x <literal>SessionFactory</literal> ‚𐶐¬‚µ‚½Œã‚́A”jŠü‚³‚ê‚邱‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+    </sect1>
+    
+    <sect1 id="configuration-sessionfactory">
+        <title>SessionFactory‚ðŽæ“¾‚·‚é</title>
+
+        <para>
+            <literal>Configuration</literal> ‚ª‚·‚ׂẴ}ƒbƒsƒ“ƒOî•ñ‚ð‰ðÍ‚µ‚½‚çA
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A <literal>Session</literal> ƒtƒ@ƒNƒgƒŠƒCƒ“ƒXƒ^ƒ“ƒX‚ðŽæ“¾‚µ‚Ü‚·B
+            ‚±‚ÌSessionFactory‚́AHibernate‚ðŽg—p‚·‚é‚·‚ׂẴXƒŒƒbƒh‚Å‹¤—L‚³‚ê‚é‚ׂ«‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]></programlisting>
+
+        <para>
+            Hibernate‚́A <literal>SessionFactory</literal> ‚𕡐”¶¬‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚±‚ê‚́A•¡”‚̃f[ƒ^ƒx[ƒX‚ðŽg—p‚·‚éê‡‚É•Ö—˜‚Å‚·B
+        </para>
+
+    </sect1>
+
+    <sect1 id="configuration-hibernatejdbc" revision="1">
+        <title>JDBCƒRƒlƒNƒVƒ‡ƒ“</title>
+
+        <para>
+            ’ʏíAŠJ”­ŽÒ‚Í <literal>SessionFactory</literal> ‚𐶐¬‚µASessionFactory‚ÅJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðƒv[ƒŠƒ“ƒO‚µ‚½‚¢‚ƍl‚¦‚Ü‚·B
+            ‚»‚̃Aƒvƒ[ƒ`‚ðÌ—p‚·‚éê‡A’Pƒ‚É <literal>Session</literal> ‚ðƒI[ƒvƒ“‚µ‚Ä‚­‚¾‚³‚¢F
+        </para>
+
+        <programlisting><![CDATA[Session session = sessions.openSession(); // open a new Session]]></programlisting>
+        
+        <para>
+            ‚±‚ꂾ‚¯‚ŁAƒv[ƒŠƒ“ƒO‚µ‚½JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä–Ú“I‚̃f[ƒ^ƒx[ƒX
+            ‚ɃAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            ‚»‚Ì‚½‚߂ɂ́AJDBCƒRƒlƒNƒVƒ‡ƒ“‚̃vƒƒpƒeƒB‚ðHibernate‚ɐݒ肷‚é•K—v‚ª‚ ‚è‚Ü‚·B
+            ‚·‚ׂĂÌHibernateƒvƒƒpƒeƒB–¼‚ƃZƒ}ƒ“ƒeƒBƒNƒX‚Í
+            <literal>org.hibernate.cfg.Environment</literal> ƒNƒ‰ƒX‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B
+            ‚±‚̐ݒè‚ÍJDBCƒRƒlƒNƒVƒ‡ƒ“Ý’è‚Ì’†‚ňê”ԏd—v‚È‚à‚Ì‚Å‚·B
+        </para>
+
+        <para>
+            ‚à‚µAˆÈ‰º‚̃vƒƒpƒeƒB‚ðÝ’è‚·‚é‚ƁAHibernate‚̓RƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚·‚éiƒv[ƒ‹‚àj‚½‚ß‚É
+            <literal>java.sql.DriverManager</literal> ‚ðŽg‚¢‚Ü‚·B
+        </para>
+
+        <table frame="topbot">
+            <title>Hibernate JDBCƒvƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+            <tbody>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.driver_class</literal>
+                </entry>
+                <entry>
+                    <emphasis>JDBCƒhƒ‰ƒCƒoƒNƒ‰ƒX</emphasis>
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.url</literal>
+                </entry>
+                <entry>
+                    <emphasis>jdbc URL</emphasis>
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.username</literal>
+                </entry>
+                <entry>
+                    <emphasis>database user</emphasis>
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.password</literal>
+                </entry>
+                <entry>
+                    <emphasis>database user password</emphasis>
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.pool_size</literal>
+                </entry>
+                <entry>
+                    <emphasis>ƒv[ƒ‹‚·‚éƒRƒlƒNƒVƒ‡ƒ“‚̍ő吔</emphasis>
+                </entry>
+            </row>
+            </tbody>
+            </tgroup>
+        </table>
+
+        <para>
+            Hibernate‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒAƒ‹ƒSƒŠƒYƒ€‚Í”ñí‚ɏ‰•à“I‚È‚à‚Ì‚Å‚·B
+            ‚±‚ê‚Í‚·‚®‚ÉŽn‚ß‚ç‚ê‚é‚悤‚É‚Æ—pˆÓ‚³‚ꂽ‚à‚̂ŁA<emphasis>»•i‚Æ‚µ‚ÄŽg—p‚·‚邱‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis> B
+            ‚Ü‚½AƒpƒtƒH[ƒ}ƒ“ƒX‚̃eƒXƒg‚Ì‚½‚ß‚Ì‚à‚Ì‚Å‚à‚ ‚è‚Ü‚¹‚ñB
+            Å‚‚̃pƒtƒH[ƒ}ƒ“ƒX‚ƈÀ’萫‚ðŽ‚Á‚½ƒv[ƒ‹‚ðŽÀŒ»‚µ‚½‚¯‚ê‚΁AƒT[ƒhƒp[ƒeƒB‚̃c[ƒ‹‚ð‚¨Š©‚ß‚µ‚Ü‚·B
+            <literal>hibernate.connection.pool_size</literal> ƒvƒƒpƒeƒB‚É
+            “KØ‚ȃRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒTƒCƒY‚ð‹Lq‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚±‚Ì‚Ü‚Ü‚¾‚ÆHibernate‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ðŽg‚¢‚Ü‚·B
+            —Ⴆ‚ÎŽŸ‚̂悤‚ÉC3P0‚ðŽg‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            C3P0‚̓I[ƒvƒ“ƒ\[ƒXJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ŁAHibernate‚Ì <literal>lib</literal> 
+            ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚è‚Ü‚·B‚à‚µA<literal>hibernate.c3p0.*</literal> ƒvƒƒpƒeƒB‚ð
+            ƒZƒbƒg‚·‚ê‚΁AHibernate‚́A <literal>C3P0ConnectionProvider</literal> ‚ðŽg‚¢‚Ü‚·B
+            ‚à‚µProxool‚ðŽg‚¢‚½‚¢ê‡‚́A <literal>hibernate.properties</literal> ƒpƒbƒP[ƒW‚ð
+            ŽQÆ‚µ‚½‚èAHibernate‚ÌWebƒTƒCƒg‚Å‚æ‚葽‚­‚̏î•ñ‚ðŽæ“¾‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            C3P0—p‚Ì <literal>hibernate.properties</literal> ƒtƒ@ƒCƒ‹‚ð—á‚Æ‚µ‚ÄŽ¦‚µ‚Ü‚·F
+        </para>
+
+        <programlisting id="c3p0-configuration" revision="1"><![CDATA[hibernate.connection.driver_class = org.postgresql.Driver
+hibernate.connection.url = jdbc:postgresql://localhost/mydatabase
+hibernate.connection.username = myuser
+hibernate.connection.password = secret
+hibernate.c3p0.min_size=5
+hibernate.c3p0.max_size=20
+hibernate.c3p0.timeout=1800
+hibernate.c3p0.max_statements=50
+hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
+
+        <para>
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒoã‚ÅŽg‚¤ê‡‚́AHibernate‚ðÝ’肵A
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚©‚çƒRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚·‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B
+            <literal>Datasource</literal> ‚ðJNDI‚É“o˜^‚µ‚Ü‚·B‚»‚µ‚Ä
+            ƒvƒƒpƒeƒB‚ðˆÈ‰º‚̂悤‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <table frame="topbot">
+            <title>Hibernate ƒf[ƒ^ƒ\[ƒXƒvƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+            <tbody>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.datasource</literal>
+                </entry>
+                <entry>
+                    <emphasis>ƒf[ƒ^ƒ\[ƒX‚ÌJNDI–¼</emphasis>
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.jndi.url</literal>
+                </entry>
+                <entry>
+                    <emphasis>JNDIƒvƒƒoƒCƒ_‚ÌURL</emphasis> (ƒIƒvƒVƒ‡ƒ“)
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.jndi.class</literal>
+                </entry>
+                <entry>
+                    <emphasis>JNDIƒNƒ‰ƒX <literal>InitialContextFactory</literal> </emphasis> (ƒIƒvƒVƒ‡ƒ“) 
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.username</literal>
+                </entry>
+                <entry>
+                    <emphasis>database user</emphasis> (ƒIƒvƒVƒ‡ƒ“)
+                </entry>
+            </row>
+            <row>
+                <entry>
+                    <literal>hibernate.connection.password</literal>
+                </entry>
+                <entry>
+                    <emphasis>database user password</emphasis> (ƒIƒvƒVƒ‡ƒ“)
+                </entry>
+            </row>
+            </tbody>
+            </tgroup>
+        </table>
+
+        <para>
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚©‚ç’ñ‹Ÿ‚³‚ꂽJNDIƒf[ƒ^ƒ\[ƒX‚ðŽg‚¤
+            <literal>hibernate.properties</literal> ƒtƒ@ƒCƒ‹‚Ì—á‚ðŽ¦‚µ‚Ü‚·F
+        </para>
+
+        <programlisting><![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test
+hibernate.transaction.factory_class = \
+    org.hibernate.transaction.JTATransactionFactory
+hibernate.transaction.manager_lookup_class = \
+    org.hibernate.transaction.JBossTransactionManagerLookup
+hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
+
+        <para>
+            JNDIƒf[ƒ^ƒ\[ƒX‚©‚çŽæ“¾‚µ‚½JDBCƒRƒlƒNƒVƒ‡ƒ“‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚Ì
+            ƒRƒ“ƒeƒiŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÉŽ©“®“I‚ÉŽQ‰Á‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            ”CˆÓ‚̃RƒlƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB‚́A—^‚¦‚ç‚ꂽh <literal>hibernate.connnection</literal> h
+            ƒvƒƒpƒeƒB–¼‚É‚æ‚Á‚Ä—^‚¦‚ç‚ê‚Ü‚·B—Ⴆ‚΁A <literal>charSet</literal> ‚ðÝ’肵‚½‚¢ê‡‚́A
+            <literal>hibernate.connection.charSet</literal> ‚ðŽg‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚·‚éí—ª‚ðŽ‚Â“ÆŽ©‚̃vƒ‰ƒOƒCƒ“‚ð’è‹`‚·‚éê‡‚́A
+            <literal>org.hibernate.connection.ConnectionProvider</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ð
+            ŽÀ‘•‚µ‚Ä‚­‚¾‚³‚¢B‚»‚µ‚āAŽÀ‘•ƒNƒ‰ƒX‚ð <literal>hibernate.connection.provider_class</literal> 
+            ‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+    </sect1>
+
+    <sect1 id="configuration-optional" revision="1">
+        <title>ƒIƒvƒVƒ‡ƒ“Ý’èƒvƒƒpƒeƒB</title>
+        
+        <para>
+            ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚ÍHibernate‚Ì‹““®‚𐧌䂷‚é‚à‚Ì‚Å‚·B
+            ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚Í‚·‚ׂđÓ–‚ȃfƒtƒHƒ‹ƒg’l‚ª‚ ‚èA”CˆÓ‚Őݒ肵‚Ü‚·B
+        </para>
+
+        <para>
+            <emphasis>’ˆÓF‚±‚ê‚ç‚̃vƒƒpƒeƒB‚Í"ƒVƒXƒeƒ€ƒŒƒxƒ‹"‚Ì‚Ý‚Å‚·B</emphasis> 
+            ƒVƒXƒeƒ€ƒŒƒxƒ‹ƒvƒƒpƒeƒB‚Í <literal>java -Dproperty=value</literal>  A‚à‚µ‚­‚Í
+            <literal>hibernate.properties</literal> ‚ł̂ݐݒè‰Â”\‚Å‚·B
+            ‚»‚êˆÈŠO‚̐ݒè•û–@‚Í <emphasis>‚ ‚è‚Ü‚¹‚ñ</emphasis> B
+        </para>
+
+        <table frame="topbot" id="configuration-optional-properties" revision="8">
+            <title>HibernateÝ’èƒvƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry>
+                            <literal>hibernate.dialect</literal>
+                        </entry>
+                        <entry>
+                            Hibernate <literal>Dialect</literal> ƒNƒ‰ƒX–¼‚ª“ü‚è‚Ü‚·B
+                            ‚±‚ê‚̓ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚²‚ƂɍœK‰»‚³‚ꂽSQL‚𐶐¬‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>full.classname.of.Dialect</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.show_sql</literal>
+                        </entry>
+                        <entry>
+                            ”­s‚³‚ꂽ‚·‚ׂĂÌSQL‚ðƒRƒ“ƒ\[ƒ‹‚ɏo—Í‚µ‚Ü‚·B
+                            ‚±‚ê‚̓ƒOƒJƒeƒSƒŠ‚Ì <literal>org.hibernate.SQL</literal> 
+                            ‚É <literal>debug</literal> ‚ðÝ’è‚·‚é•û–@‚Ì‘ã‘ÖŽè’i‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.format_sql</literal>
+                        </entry>
+                        <entry>
+                            ƒƒO‚ƃRƒ“ƒ\[ƒ‹‚ÌSQL‚ð”ü‚µ‚­•\Ž¦‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.default_schema</literal>
+                        </entry>
+                        <entry>
+                            ¶¬‚³‚ê‚éSQL•¶‚̃e[ƒuƒ‹‚ɐݒ肷‚éƒXƒL[ƒ}/ƒe[ƒuƒ‹ƒXƒy[ƒX‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>SCHEMA_NAME</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.default_catalog</literal>
+                        </entry>
+                        <entry>
+                            ¶¬‚³‚ê‚éSQL•¶‚̃e[ƒuƒ‹‚ɐݒ肷‚éƒJƒ^ƒƒO‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>CATALOG_NAME</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.session_factory_name</literal>
+                        </entry>
+                        <entry>
+                            <literal>SessionFactory</literal> ‚͐¶¬ŒãA‚±‚Ì–¼‘O‚ÅJNDI‚É“o˜^‚³‚ê‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>jndi/composite/name</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.max_fetch_depth</literal>
+                        </entry>
+                        <entry>
+                            ŠO•”Œ‹‡ƒtƒFƒbƒ`‚̍őå[“x‚ðÝ’肵‚Ü‚·BŒ‹‡‚·‚éŠÖ˜A‚Í
+                            ‘ΈêŠÖ˜A‚̂݁iˆê‘ΈêA‘½‘Έêj‚Å‚·B
+                            <literal>0</literal> ‚ðŽw’è‚·‚é‚ÆŠO•”Œ‹‡ƒtƒFƒbƒ`‚Í–³Œø‚É‚È‚è‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                „§‚·‚é’l‚Í <literal>0</literal> ‚©‚ç <literal>3</literal> ‚Å‚·B
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.default_batch_fetch_size</literal>
+                        </entry>
+                        <entry>
+                            ŠÖ˜AƒtƒFƒbƒ`‚̃fƒtƒHƒ‹ƒgƒoƒbƒ`ƒTƒCƒY‚ðŽw’肵‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                „§‚·‚é’l‚Í <literal>4</literal> , <literal>8</literal> , <literal>16</literal> ‚Å‚·B
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.default_entity_mode</literal>
+                        </entry>
+                        <entry>
+                            <literal>SessionFactory</literal> ‚©‚çƒZƒbƒVƒ‡ƒ“‚ðƒI[ƒvƒ“‚µ‚½‚Æ‚«‚É
+                            Žg—p‚·‚éƒGƒ“ƒeƒBƒeƒB‚̃fƒtƒHƒ‹ƒgƒ‚[ƒh‚ðÝ’肵‚Ü‚·B
+                            <para>
+                                <literal>dynamic-map</literal>, <literal>dom4j</literal>,
+                                <literal>pojo</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.order_updates</literal>
+                        </entry>
+                        <entry>
+                            €–Ú‚ªXV‚³‚ꂽ‚Æ‚«‚ɁA•Ê‚ÌSQL‚ÅŽåƒL[‚ðXV‚·‚邱‚Æ‚ð‹­§‚µ‚Ü‚·B
+                            ‚±‚̏ꍇA“¯ŽžŽÀs‰Â”\‚ȃVƒXƒeƒ€‚ł́A‚Ü‚ê‚ɃfƒbƒhƒƒbƒN‚ª”­¶‚·‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.generate_statistics</literal>
+                        </entry>
+                        <entry>
+                            —LŒø‚̏ꍇAHibernate‚̓pƒtƒH[ƒ}ƒ“ƒXƒ`ƒ…[ƒjƒ“ƒO‚É
+                            —LŒø‚È“Œvî•ñ‚ðŽûW‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.use_identifer_rollback</literal>
+                        </entry>
+                        <entry>
+                            —LŒø‚̏ꍇAƒIƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽ‚Æ‚«‚É
+                            Ž¯•ÊŽqƒvƒƒpƒeƒB‚ðƒŠƒZƒbƒg‚µAƒfƒtƒHƒ‹ƒg’l‚É‚µ‚½‚à‚̂𐶐¬‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.use_sql_comments</literal>
+                        </entry>
+                        <entry>
+                            —LŒø‚̏ꍇASQL“à‚ɃRƒƒ“ƒg‚𐶐¬‚µ‚Ü‚·B‚±‚ê‚̓fƒoƒbƒN‚ð—eˆÕ‚É‚µ‚Ü‚·B
+                            ƒfƒtƒHƒ‹ƒg‚Ì’l‚Í <literal>false</literal> ‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <table frame="topbot" id="configuration-jdbc-properties" revision="8">
+            <title>Hibernate JDBC ‚ƃRƒlƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.fetch_size</literal>
+                        </entry>
+                        <entry>
+                            ’l‚ª0‚Å‚È‚¢ê‡AJDBCƒtƒFƒbƒ`ƒTƒCƒY‚ðŒˆ’è‚µ‚Ü‚·
+                            ( <literal>Statement.setFetchSize()</literal> ‚ðŒÄ‚Ñ‚Ü‚·)B
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.batch_size</literal>
+                        </entry>
+                        <entry>
+                            ’l‚ª0‚Å‚È‚¢ê‡AHibernate‚ªJDBC2ƒoƒbƒ`XV‚ðŽg—p‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                „§‚·‚é’l‚Í <literal>5</literal> ‚©‚ç <literal>30</literal> ‚Å‚·B
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.batch_versioned_data</literal>
+                        </entry>
+                        <entry>
+                            ‚à‚µJDBCƒhƒ‰ƒCƒo‚ª <literal>executeBatch()</literal> ‚É‚æ‚Á‚Đ³Šm‚ȍs”‚ð
+                            •Ô‚·ê‡A‚±‚̃vƒƒpƒeƒB‚ð <literal>true</literal> ‚É‚µ‚Ä‚­‚¾‚³‚¢
+                            i’ʏí‚Í‚±‚̃IƒvƒVƒ‡ƒ“‚ðON‚É‚µ‚Ü‚·jB
+                            Hibernate‚́AŽ©“®ƒo[ƒWƒ‡ƒ“ƒf[ƒ^‚Ì‚½‚߃oƒbƒ`DML‚ðŽg‚¢‚Ü‚·B
+                            ƒfƒtƒHƒ‹ƒg‚Ì’l‚Í <literal>false</literal> ‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.factory_class</literal>
+                        </entry>
+                        <entry>
+                            ƒJƒXƒ^ƒ€ <literal>Batcher</literal> ‚ð‘I‚Ñ‚Ü‚·B
+                            ‚Ù‚Æ‚ñ‚ǂ̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ɁA‚±‚̐ݒè‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>classname.of.BatcherFactory</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.use_scrollable_resultset</literal>
+                        </entry>
+                        <entry>
+                            ƒXƒNƒ[ƒ‹‰Â”\‚ȃŠƒUƒ‹ƒgƒZƒbƒg‚ðAHibernate‚ªŽg—p‚µ‚Ü‚·B
+                            ‚±‚̃vƒƒpƒeƒB‚́AJDBCƒRƒlƒNƒVƒ‡ƒ“‚ªƒRƒlƒNƒVƒ‡ƒ“ƒƒ^ƒf[ƒ^‚ð
+                            ƒTƒ|[ƒg‚µ‚Ä‚¢‚邱‚Æ‚ª•K{ðŒ‚É‚È‚è‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.use_streams_for_binary</literal>
+                        </entry>
+                        <entry>
+                            JDBC‚Ö/‚©‚ç <literal>binary</literal> ‚â <literal>serializable</literal> 
+                            ‚̏‘‚«ž‚Ý/“ǂݍž‚݃XƒgƒŠ[ƒ€‚ðŽg‚¢‚Ü‚·(ƒVƒXƒeƒ€ƒŒƒxƒ‹‚̃vƒƒpƒeƒB)B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jdbc.use_get_generated_keys</literal>
+                        </entry>
+                        <entry>
+                            ‘}“ü‚ÌŒã‚ÉŽ©“®¶¬‚³‚ꂽŽåƒL[‚ðŽæ“¾‚·‚邽‚ß‚Ì 
+                            JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> ‚ÌŽg—p‚ð—LŒø‚É‚µ‚Ü‚·B
+                            ‚±‚ê‚ÍJDBC3+ƒhƒ‰ƒCƒo‚ÆJRE1.4+‚ð•K—v‚Æ‚µA
+                            ‚à‚µHibernate‚ÌŽ¯•ÊŽqƒWƒFƒlƒŒ[ƒ^‚É–â‘肪”­¶‚·‚é‚悤‚È‚çfalse‚ɐݒ肵‚Ä‚­‚¾‚³‚¢B
+                            ƒfƒtƒHƒ‹ƒg‚ł̓RƒlƒNƒVƒ‡ƒ“ƒƒ^ƒf[ƒ^‚ðŽg‚¢ƒhƒ‰ƒCƒo‚Ì”\—Í‚ðŒˆ’è‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true|false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.connection.provider_class</literal>
+                        </entry>
+                        <entry>
+                            JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðHibernate‚É’ñ‹Ÿ‚·‚é“ÆŽ©‚Ì <literal>ConnectionProvider</literal> ‚Ì
+                            –¼‘O‚ðŽw’肵‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>classname.of.ConnectionProvider</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                    <entry>
+                        <literal>hibernate.connection.isolation</literal>
+                    </entry>
+                    <entry>
+                        JDBCƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£ƒŒƒxƒ‹‚ðÝ’肵‚Ü‚·B
+                        ‘Ó–‚È’l‚𒲂ׂ邽‚ß‚É‚Í <literal>java.sql.Connection</literal> ‚ðƒ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
+                        ‚µ‚©‚µŽg—p‚·‚éƒf[ƒ^ƒx[ƒX‚ªA‚·‚ׂĂ̕ª—£ƒŒƒxƒ‹‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚é‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB
+                        <para>
+                            <emphasis role="strong">—áF</emphasis> 
+                            <literal>1, 2, 4, 8</literal>
+                        </para>
+                    </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.connection.autocommit</literal>
+                        </entry>
+                        <entry>
+                            ƒv[ƒ‹‚³‚ê‚Ä‚¢‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ÌŽ©“®ƒRƒ~ƒbƒg‚ð—LŒø‚É‚·‚éi”ñ„§jB
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.connection.release_mode</literal>
+                        </entry>
+                        <entry>
+                            Hibernate‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðƒŠƒŠ[ƒX‚·‚é‚©‚ðŽw’肵‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Å‚Í
+                            ƒZƒbƒVƒ‡ƒ“‚ª–¾Ž¦“I‚ɃNƒ[ƒY‚Ü‚½‚͐ؒf‚³‚ê‚Ä‚àƒRƒlƒNƒVƒ‡ƒ“‚Í•ÛŽ‚µ‚Ü‚·B
+                            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚ÌJTAƒf[ƒ^ƒ\[ƒX‚̏ꍇA
+                            ‚·‚ׂĂÌJDBCƒR[ƒ‹‚ÌŒãA‹­§“I‚ɃRƒlƒNƒVƒ‡ƒ“‚ðƒŠƒŠ[ƒX‚·‚邽‚ß‚É <literal>after_statement</literal> ‚ð
+                            Žg‚Á‚Ä‚­‚¾‚³‚¢B
+                            ”ñJTAƒRƒlƒNƒVƒ‡ƒ“‚̏ꍇAŠeƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªI—¹‚µ‚½‚Æ‚«‚É <literal>after_transaction</literal> 
+                            ‚ðŽg‚¢AƒRƒlƒNƒVƒ‡ƒ“‚ðƒŠƒŠ[ƒX‚µ‚Ä‚­‚¾‚³‚¢B
+                            <literal>auto</literal> ‚É‚·‚é‚ƁA
+                            JTA‚âCMTƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̏ꍇA <literal>after_statement</literal> ‚ŃNƒ[ƒY‚µA
+                            JDBCƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̏ꍇA <literal>after_transaction</literal> ‚ŃNƒ[ƒY‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>auto</literal> (default) | <literal>on_close</literal> |
+                                <literal>after_transaction</literal> | <literal>after_statement</literal>
+                            </para>
+                            <para>
+                                ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚±‚̐ݒè‚Í <literal>SessionFactory.openSession</literal> ‚©‚ç
+                                Žæ“¾‚µ‚½ <literal>Session</literal> ‚¾‚¯‚ÉŒø‰Ê‚ª‚ ‚è‚Ü‚·B
+                                <literal>SessionFactory.getCurrentSession</literal> ‚ð’Ê‚¶‚Ď擾‚µ‚½
+                                <literal>Session</literal> ‚ł́A<literal>CurrentSessionContext</literal> 
+                                ‚ÌŽÀ‘•‚É‚æ‚Á‚āAƒRƒlƒNƒVƒ‡ƒ“‚̃ŠƒŠ[ƒXƒ‚[ƒh‚ðÝ’肵‚Ü‚·B
+                                <xref linkend="architecture-current-session"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                    <entry>
+                        <literal>hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis></literal>
+                    </entry>
+                    <entry>
+                        JDBC‚Ì <literal>propertyName</literal> ƒvƒƒpƒeƒB‚ðA
+                        <literal>DriverManager.getConnection()</literal> ‚É“n‚µ‚Ü‚·B
+                    </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis></literal>
+                        </entry>
+                        <entry>
+                            <literal>propertyName</literal> ƒvƒƒpƒeƒB‚ðA
+                            JNDI <literal>InitialContextFactory</literal> ‚É“n‚µ‚Ü‚·B
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <table frame="topbot" id="configuration-cache-properties" revision="7">
+            <title>Hibernate ƒLƒƒƒbƒVƒ…ƒvƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+                <tbody>
+                     <row>
+                        <entry>
+                            <literal>hibernate.cache.provider_class</literal>
+                        </entry>
+                        <entry>
+                            ƒJƒXƒ^ƒ€ <literal>CacheProvider</literal> ‚̃Nƒ‰ƒX–¼‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>classname.of.CacheProvider</literal> 
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cache.use_minimal_puts</literal>
+                        </entry>
+                        <entry>
+                            ‘‚«ž‚Ý‚ðÅ¬ŒÀ‚É‚·‚邽‚߂ɁA“ñŽŸƒLƒƒƒbƒVƒ…‚Ì‘€ì‚ðÅ“K‰»‚µ‚Ü‚·B
+                            ‚»‚Ì‘ã‚í‚è‚ɁA“ǂݍž‚Ý‚ª‚æ‚è•p”É‚É”­¶‚·‚é‚悤‚É‚È‚è‚Ü‚·B
+                            ‚±‚̃ZƒbƒeƒBƒ“ƒO‚̓Nƒ‰ƒXƒ^ƒLƒƒƒbƒVƒ…‚Å–ð‚É—§‚¿‚Ü‚·B
+                            Hibernate3‚ł̓Nƒ‰ƒXƒ^ƒLƒƒƒbƒVƒ…ŽÀ‘•—p‚ɃfƒtƒHƒ‹ƒg‚Å‚Í—LŒø‚É‚È‚Á‚Ä‚¢‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true|false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cache.use_query_cache</literal>
+                        </entry>
+                        <entry>
+                            “Á’è‚̃NƒGƒŠ‚ªƒLƒƒƒbƒVƒ…‰Â”\‚ȏꍇ‚ɁAƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true|false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cache.use_second_level_cache</literal>
+                        </entry>
+                        <entry>
+                            “ñŽŸƒLƒƒƒbƒVƒ…‚ðŠ®‘S‚É–³Œø‚É‚·‚éê‡‚ÉŽg‚¢‚Ü‚·B
+                            ƒfƒtƒHƒ‹ƒg‚Å‚Í—LŒø‚ŁAƒNƒ‰ƒX‚Ì <literal>&lt;cache&gt;</literal> ƒ}ƒbƒsƒ“ƒO
+                            ‚Ő§Œä‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true|false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cache.query_cache_factory</literal>
+                        </entry>
+                        <entry>
+                            ƒJƒXƒ^ƒ€ <literal>QueryCache</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃Nƒ‰ƒX–¼‚ð
+                            Žw’肵‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Å‚Í <literal>StandardQueryCache</literal> ‚É‚È‚è‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>classname.of.QueryCache</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cache.region_prefix</literal>
+                        </entry>
+                        <entry>
+                            “ñŽŸƒLƒƒƒbƒVƒ…‚̗̈於‚̐ړªŽ«‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>prefix</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cache.use_structured_entries</literal>
+                        </entry>
+                        <entry>
+                            “ñŽŸƒLƒƒƒbƒVƒ…‚ÉŠi”[‚·‚éƒf[ƒ^‚ðAl‚ª—‰ð‚µ‚â‚·‚¢ƒtƒH[ƒ}ƒbƒg‚É‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>true|false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <table frame="topbot" id="configuration-transaction-properties" revision="9">
+            <title>Hibernate ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry>
+                            <literal>hibernate.transaction.factory_class</literal>
+                        </entry>
+                        <entry>
+                            Hibernate  <literal>Transaction</literal> API‚ƈꏏ‚ÉŽg‚í‚ê‚é 
+                            <literal>TransactionFactory</literal> ‚̃Nƒ‰ƒX–¼‚Å‚·B
+                            iƒfƒtƒHƒ‹ƒg‚Å‚Í <literal>JDBCTransactionFactory</literal> ‚Å‚·jB
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>classname.of.TransactionFactory</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>jta.UserTransaction</literal>
+                        </entry>
+                        <entry>
+                            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚©‚çJTA <literal>UserTransaction</literal> ‚ðŽæ“¾‚·‚邽‚ß‚É 
+                            <literal>JTATransactionFactory</literal> ‚ÉŽg‚í‚ê‚éJNDI–¼‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>jndi/composite/name</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.transaction.manager_lookup_class</literal>
+                        </entry>
+                        <entry>
+                            <literal>TransactionManagerLookup</literal>  ‚̃Nƒ‰ƒX–¼‚Å‚·B
+                            JTAŠÂ‹«‚É‚¨‚¢‚āAJVMƒŒƒxƒ‹‚̃LƒƒƒbƒVƒ…‚ð—LŒø‚É‚·‚邽‚ß‚É•K—v‚Å‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>classname.of.TransactionManagerLookup</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.transaction.flush_before_completion</literal>
+                        </entry>
+                        <entry>
+                            —LŒø‚̏ꍇAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌcompletionƒtƒF[ƒY‚Ì‘O‚ÉŽ©“®“I‚É
+                            ƒZƒbƒVƒ‡ƒ“‚ðƒtƒ‰ƒbƒVƒ…‚µ‚Ü‚·B“à‘Ÿ‚ÌŽ©“®ƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgŠÇ—‚É“K‚µ‚Ä‚¢‚Ü‚·B
+                            <xref linkend="architecture-current-session"/>‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.transaction.auto_close_session</literal>
+                        </entry>
+                        <entry>
+                            —LŒø‚̏ꍇAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌcompletionƒtƒF[ƒY‚ÌŒã‚É
+                            ƒZƒbƒVƒ‡ƒ“‚ðŽ©“®“I‚ɃNƒ[ƒY‚µ‚Ü‚·B“à‘Ÿ‚ÌŽ©“®ƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgŠÇ—‚É“K‚µ‚Ä‚¢‚Ü‚·B
+                            <xref linkend="architecture-current-session"/>‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <table frame="topbot" id="configuration-misc-properties" revision="10">
+            <title>‚»‚Ì‘¼‚̃vƒƒpƒeƒB</title>
+            <tgroup cols="2">
+                <colspec colname="c1" colwidth="1*"/>
+                <colspec colname="c2" colwidth="1*"/>
+                <thead>
+                    <row>
+                        <entry>ƒvƒƒpƒeƒB–¼</entry>
+                        <entry>ˆÓ–¡</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry>
+                            <literal>hibernate.current_session_context_class</literal>
+                        </entry>
+                        <entry>
+                            uŒ»Ý‚́v<literal>Session</literal> ‚Ì‚½‚߂́iƒJƒXƒ^ƒ€jí—ª‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+                            ƒrƒ‹ƒgƒCƒ“ƒXƒgƒ‰ƒeƒW[‚ÉŠÖ‚·‚é‚»‚Ì‘¼‚̏î•ñ‚ɂ‚¢‚Ä‚Í
+                            <xref linkend="architecture-current-session"/>‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis>
+                                <literal>jta</literal> | <literal>thread</literal> |
+                                <literal>managed</literal> | <literal>custom.Class</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.query.factory_class</literal>
+                        </entry>
+                        <entry>
+                            HQLƒp[ƒT[‚ÌŽÀ‘•‚ð‘I‘ð‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>org.hibernate.hql.ast.ASTQueryTranslatorFactory</literal> or
+                                <literal>org.hibernate.hql.classic.ClassicQueryTranslatorFactory</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.query.substitutions</literal>
+                        </entry>
+                        <entry>
+                            HQL‚ÆSQL‚̃g[ƒNƒ“‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                            i—Ⴆ‚΁Aƒg[ƒNƒ“‚͊֐”‚⃊ƒeƒ‰ƒ‹–¼‚Å‚·jB
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.hbm2ddl.auto</literal>
+                        </entry>
+                        <entry>
+                            <literal>SessionFactory</literal> ‚𐶐¬‚µ‚½‚Æ‚«‚ɁA
+                            Ž©“®“I‚ɃXƒL[ƒ}DDL‚ðDB‚ɏo—Í‚µ‚Ü‚·B
+                            <literal>create-drop</literal> ‚̏ꍇA <literal>SessionFactory</literal> ‚ð
+                            ƒNƒ[ƒY‚µ‚½‚Æ‚«‚ɁAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ðƒhƒƒbƒv‚µ‚Ü‚·B
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>validate</literal> | <literal>update</literal> | 
+                                <literal>create</literal> | <literal>create-drop</literal>
+                            </para>
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <literal>hibernate.cglib.use_reflection_optimizer</literal>
+                        </entry>
+                        <entry>
+                            ŽÀsŽžƒŠƒtƒŒƒNƒVƒ‡ƒ“‚Ì‘ã‚í‚è‚ÌCGLIB‚ÌŽg—p‚ð—LŒø‚É‚µ‚Ü‚·
+                            iƒVƒXƒeƒ€ƒŒƒxƒ‹‚̃vƒƒpƒeƒBj
+                            ƒŠƒtƒŒƒNƒVƒ‡ƒ“‚̓gƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒO‚Ì‚Æ‚«‚ɖ𗧂‚±‚Æ‚ª‚ ‚è‚Ü‚·B
+                            ƒIƒvƒeƒBƒ}ƒCƒU‚ðƒIƒt‚É‚µ‚Ä‚¢‚é‚Æ‚«‚Å‚³‚¦A
+                            Hibernate‚É‚Í•K‚¸CGLIB‚ª•K—v‚È‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                            ‚±‚̃vƒƒpƒeƒB‚Í <literal>hibernate.cfg.xml</literal> ‚Őݒè‚Å‚«‚Ü‚¹‚ñB
+                            <para>
+                                <emphasis role="strong">—áF</emphasis> 
+                                <literal>true</literal> | <literal>false</literal>
+                            </para>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+
+        <sect2 id="configuration-optional-dialects" revision="1">
+            <title>SQL •ûŒ¾iDialectj</title>
+
+            <para>
+                <literal>hibernate.dialect</literal> ƒvƒƒpƒeƒB‚ɂ́A
+                Žg—p‚·‚éƒf[ƒ^ƒx[ƒX‚̐³‚µ‚¢ <literal>org.hibernate.dialect.Dialect</literal> ‚̃TƒuƒNƒ‰ƒX‚ðA
+                •K‚¸Žw’è‚·‚ׂ«‚Å‚·B
+                ‚µ‚©‚µ•ûŒ¾‚ðŽw’è‚·‚ê‚΁AHibernate‚͏ãq‚µ‚½ƒvƒƒpƒeƒB‚Ì‚¢‚­‚‚©‚ɂ‚¢‚āA
+                ‚æ‚è“KØ‚ȃfƒtƒHƒ‹ƒg’l‚ðŽg‚¢‚Ü‚·B
+                ‚»‚¤‚·‚ê‚΁A‚»‚ê‚ç‚ðŽèì‹Æ‚Őݒ肷‚éŽèŠÔ‚ªÈ‚¯‚Ü‚·B
+            </para>
+
+            <table frame="topbot" id="sql-dialects" revision="2">
+                <title>Hibernate SQL Dialects (<literal>hibernate.dialect</literal>)</title>
+                <tgroup cols="2">
+                    <colspec colwidth="1*"/>
+                    <colspec colwidth="2.5*"/>
+                    <thead>
+                        <row>
+                            <entry>RDBMS</entry>
+                            <entry>Dialect</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry>DB2</entry> <entry><literal>org.hibernate.dialect.DB2Dialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>DB2 AS/400</entry> <entry><literal>org.hibernate.dialect.DB2400Dialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>DB2 OS390</entry> <entry><literal>org.hibernate.dialect.DB2390Dialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>PostgreSQL</entry> <entry><literal>org.hibernate.dialect.PostgreSQLDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>MySQL</entry> <entry><literal>org.hibernate.dialect.MySQLDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>MySQL with InnoDB</entry> <entry><literal>org.hibernate.dialect.MySQLInnoDBDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>MySQL with MyISAM</entry> <entry><literal>org.hibernate.dialect.MySQLMyISAMDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Oracle (any version)</entry> <entry><literal>org.hibernate.dialect.OracleDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Oracle 9i/10g</entry> <entry><literal>org.hibernate.dialect.Oracle9Dialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Sybase</entry> <entry><literal>org.hibernate.dialect.SybaseDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Sybase Anywhere</entry> <entry><literal>org.hibernate.dialect.SybaseAnywhereDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Microsoft SQL Server</entry> <entry><literal>org.hibernate.dialect.SQLServerDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>SAP DB</entry> <entry><literal>org.hibernate.dialect.SAPDBDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Informix</entry> <entry><literal>org.hibernate.dialect.InformixDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>HypersonicSQL</entry> <entry><literal>org.hibernate.dialect.HSQLDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Ingres</entry> <entry><literal>org.hibernate.dialect.IngresDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Progress</entry> <entry><literal>org.hibernate.dialect.ProgressDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Mckoi SQL</entry> <entry><literal>org.hibernate.dialect.MckoiDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Interbase</entry> <entry><literal>org.hibernate.dialect.InterbaseDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Pointbase</entry> <entry><literal>org.hibernate.dialect.PointbaseDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>FrontBase</entry> <entry><literal>org.hibernate.dialect.FrontbaseDialect</literal></entry>
+                        </row>
+                        <row>
+                            <entry>Firebird</entry> <entry><literal>org.hibernate.dialect.FirebirdDialect</literal></entry>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+
+        </sect2>
+
+        <sect2 id="configuration-optional-outerjoin" revision="4">
+            <title>ŠO•”Œ‹‡ƒtƒFƒbƒ`</title>
+
+            <para>
+                ‚à‚µDB‚ªANSI‚©AOracle‚©SybaseƒXƒ^ƒCƒ‹‚ÌŠO•”Œ‹‡‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éê‡A
+                <emphasis>outer join fetching</emphasis> ‚́ADB‚ÌSQL”­s‰ñ”‚ðß–ñ‚µ
+                ƒpƒtƒH[ƒ}ƒ“ƒX‚ð—Ç‚­‚µ‚Ü‚·BiDB“à‚Å‚æ‚葽‚­‚̏ˆ—ƒRƒXƒg‚ª”­¶‚µ‚Ü‚·j
+                ŠO•”Œ‹‡ƒtƒFƒbƒ`‚́A‘½‘ΈêAˆê‘Α½A‘½‘Α½Aˆê‘Έê‚̃IƒuƒWƒFƒNƒgŠÖ˜A‚Å
+                ƒOƒ‹[ƒvƒIƒuƒWƒFƒNƒg‚ð1‚‚ÌSQL‚Å <literal>SELECT</literal> ‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>hibernate.max_fetch_depth</literal> ƒvƒƒpƒeƒB‚Ì’l‚ð <literal>0</literal> ‚É‚·‚é‚Æ
+                Outer join fetching‚ð <emphasis>‚·‚ׂÄ</emphasis> –³Œø‚É‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+                <literal>1</literal> ‚â‚»‚êˆÈã‚Ì’l‚ðÝ’è‚·‚é‚ƁAŠO•”Œ‹‡ƒtƒFƒbƒ`‚ª—LŒø‚É‚È‚èA
+                ˆê‘Έê‚Æ‘½‘ΈêŠÖ˜A‚ª <literal>fetch="join"</literal> ‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+            </para>
+
+            <para>
+                See <xref linkend="performance-fetching"/> for more information.
+            </para>
+
+        </sect2>
+
+        <sect2 id="configuration-optional-binarystreams" revision="1">
+            <title>ƒoƒCƒiƒŠƒXƒgƒŠ[ƒ€</title>
+
+            <para>
+                Oracle‚ÍJDBCƒhƒ‰ƒCƒo‚Æ‚ÌŠÔ‚Å‚â‚è‚Ƃ肳‚ê‚é <literal>byte</literal>  ”z—ñ‚̃TƒCƒY‚𐧌À‚µ‚Ü‚·B
+                <literal>binary</literal> ‚â <literal>serializable</literal> Œ^‚Ì‘å‚«‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ðŽg‚¢‚½‚¯‚ê‚΁A
+                <literal>hibernate.jdbc.use_streams_for_binary</literal> ‚ð—LŒø‚É‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚½‚¾‚µ <emphasis>‚±‚ê‚̓VƒXƒeƒ€ƒŒƒxƒ‹‚̐ݒ肾‚¯‚Å‚·</emphasis> B
+            </para>
+
+        </sect2>
+
+        <sect2 id="configuration-optional-cacheprovider" revision="2">
+            <title>2ŽŸƒLƒƒƒbƒVƒ…‚ƃNƒGƒŠ[ƒLƒƒƒbƒVƒ…</title>
+
+            <para>
+                <literal>hibernate.cache</literal> ƒvƒƒpƒeƒBÚ“ªŽ«‚Í
+                Hibernate‚ŃvƒƒZƒX‚âƒNƒ‰ƒXƒ^“ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚Æ‚±‚Æ‚ð‹–‰Â‚µ‚Ü‚·B
+                <xref linkend="performance-cache"/>‚É‚æ‚葽‚­‚̏ڍׂª‚ ‚è‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="configuration-optional-querysubstitution">
+            <title>ƒNƒGƒŠ[Œ¾Œê‚Ì’u‚«Š·‚¦</title>
+
+            <para>
+                <literal>hibernate.query.substitutions</literal> ‚ðŽg‚¤‚±‚ƂŁA
+                V‚µ‚¢HibernateƒNƒGƒŠƒg[ƒNƒ“‚ð’è‹`‚Å‚«‚Ü‚·B
+                —áF
+            </para>
+
+            <programlisting>hibernate.query.substitutions true=1, false=0</programlisting>
+
+            <para>
+                ‚±‚ê‚̓g[ƒNƒ“ <literal>true</literal> ‚Æ <literal>false</literal> ‚ðA
+                ¶¬‚³‚ê‚éSQL‚É‚¨‚¢‚Đ®”ƒŠƒeƒ‰ƒ‹‚É–|–󂵂܂·B                
+            </para>
+
+            <programlisting>hibernate.query.substitutions toLowercase=LOWER</programlisting>
+
+            <para>
+                ‚±‚ê‚ÍSQL‚Ì <literal>LOWER</literal> ŠÖ”‚Ì–¼‘O‚Ì•t‚¯‘Ö‚¦‚ð‰Â”\‚É‚µ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="configuration-optional-statistics" revision="2">
+            <title>Hibernate “Œv</title>
+
+            <para>
+                <literal>hibernate.generate_statistics</literal> ‚ð—LŒø‚É‚µ‚½ê‡A
+                “®ì‚µ‚Ä‚¢‚éƒVƒXƒeƒ€‚ðƒ`ƒ…[ƒjƒ“ƒO‚·‚é‚Æ‚«‚ɁA<literal>SessionFactory.getStatistics()</literal> 
+                ‚ðŒo—R‚µ‚āAHibernate‚Í•Ö—˜‚È“Œvî•ñ‚ðo—Í‚µ‚Ü‚·B
+                JMX‚ðŒo—R‚µ‚Ä“Œvî•ñ‚ðo—Í‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+                Javadoc‚Ì <literal>org.hibernate.stats</literal> ƒpƒbƒP[ƒW“à‚Ì
+                ƒCƒ“ƒ^[ƒtƒFƒCƒX‚É‚Í‚æ‚葽‚­‚̏î•ñ‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+        </sect2>
+    </sect1>
+
+    <sect1 id="configuration-logging">
+        <title>ƒƒMƒ“ƒO</title>
+
+        <para>
+            Hibernate‚ÍApache commons-loggin‚ðŽg‚Á‚āA‚³‚Ü‚´‚܂ȃCƒxƒ“ƒg‚ðƒƒO‚Æ‚µ‚Ä
+            o—Í‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            commons-loggingƒT[ƒrƒX‚́iƒNƒ‰ƒXƒpƒX‚É <literal>log4j.jar</literal> ‚ðŠÜ‚ß‚ê‚΁jApache Log4j‚ɁA
+            ‚Ü‚½iJDK1.4‚©‚»‚êˆÈã‚ÅŽÀs‚³‚¹‚ê‚΁jJDK1.4 logging‚É’¼Úo—Í‚µ‚Ü‚·B
+            Log4j‚Í  <literal>http://jakarta.apache.org</literal> ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
+            Log4j‚ðŽg‚¤‚½‚߂ɂ́AƒNƒ‰ƒXƒpƒX‚É  <literal>log4j.properties</literal> ƒtƒ@ƒCƒ‹‚ð”z’u‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+            —á‚̃vƒƒpƒeƒBƒtƒ@ƒCƒ‹‚ÍHibernate‚ƈꏏ‚É”z•z‚³‚êA‚»‚ê‚Í <literal>src/</literal> ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚è‚Ü‚·B
+        </para>
+        
+        <para>
+            Hibernate‚̃ƒOƒƒbƒZ[ƒW‚ÉŠµ‚ê‚邱‚Æ‚ð‹­‚­‚¨‚·‚·‚ß‚µ‚Ü‚·B
+            Hibernate‚̃ƒO‚Í“Ç‚Ý‚â‚·‚­A‚Å‚«‚éŒÀ‚èÚ×‚É‚È‚é‚悤‚É“w—Í‚³‚ê‚Ä‚¢‚Ü‚·B
+            ‚±‚ê‚Í•K{‚̃gƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒOƒfƒoƒCƒX‚Å‚·B
+            ˆÈ‰º‚ɏd—v‚ȃƒO‚̃JƒeƒSƒŠ‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+        
+            <table frame="topbot" id="log-categories" revision="2">
+                <title>Hibernate ƒƒOƒJƒeƒSƒŠ</title>
+                <tgroup cols="2">
+                    <colspec colwidth="1*"/>
+                    <colspec colwidth="2.5*"/>
+                    <thead>
+                        <row>
+                            <entry>ƒJƒeƒSƒŠ</entry>
+                            <entry>‹@”\</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry><literal>org.hibernate.SQL</literal></entry>
+                            <entry>ŽÀs‚µ‚½‚·‚ׂĂÌSQLiDDLjƒXƒe[ƒgƒƒ“ƒg‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.type</literal></entry>
+                            <entry>‚·‚ׂĂÌJDBCƒpƒ‰ƒ[ƒ^‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.tool.hbm2ddl</literal></entry>
+                            <entry>ŽÀs‚µ‚½‚·‚ׂĂÌSQLiDDLjƒXƒe[ƒgƒƒ“ƒg‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.pretty</literal></entry>
+                            <entry>
+                                session‚ÉŠÖ˜A‚·‚é‚·‚ׂẴGƒ“ƒeƒBƒeƒBiÅ‘å‚Q‚Oj‚̃tƒ‰ƒbƒVƒ…ŽžŠÔ‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.cache</literal></entry>
+                            <entry>‚·‚ׂĂ̂QŽŸƒLƒƒƒbƒVƒ…‚Ì“®ì‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction</literal></entry>
+                            <entry>ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÉŠÖ˜A‚·‚é“®ì‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.jdbc</literal></entry>
+                            <entry>JDBCƒŠƒ\[ƒXŽæ“¾‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.hql.ast.AST</literal></entry>
+                            <entry>
+                                HQL‚ÆSQL‚ÌAST‚̃NƒGƒŠ[ƒp[ƒX‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.secure</literal></entry>
+                            <entry>‚·‚ׂĂÌJAAS•ªÍ‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate</literal></entry>
+                            <entry>
+                                ‚·‚×‚Ä‚ðƒƒMƒ“ƒO‚µ‚Ü‚·Biî•ñ‚ª‘å—Ê‚É‚È‚è‚Ü‚·‚ªAƒgƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒO‚É‚Í•Ö—˜‚Å‚·j
+                            </entry>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+            
+        <para>
+            Hibernate‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðì¬‚·‚é‚Æ‚«‚́A<literal>org.hibernate.SQL</literal>
+            ƒJƒeƒSƒŠ‚Ì <literal>debug</literal> ‚ðí‚É—LŒø‚É‚µ‚Ä‚¨‚¢‚½‚Ù‚¤‚ª—Ç‚¢‚Å‚µ‚傤B
+            ‘ã‘Ö•û–@‚Æ‚µ‚āA<literal>hibernate.show_sql</literal> ‚ð—LŒø‚É‚·‚é•û–@‚ª‚ ‚è‚Ü‚·B
+        </para>
+                       
+        
+    </sect1>
+
+    <sect1 id="configuration-namingstrategy">
+        <title><literal>NamingStrategy</literal> ‚ÌŽÀ‘•</title>
+
+        <para>
+            ƒCƒ“ƒ^[ƒtƒFƒCƒX <literal>net.sf.hibernate.cfg.NamingStrategy</literal> ‚ðŽg‚¤‚Æ
+            ƒf[ƒ^ƒx[ƒXƒIƒuƒWƒFƒNƒg‚ƃXƒL[ƒ}—v‘f‚Ì‚½‚߂́u–½–¼•W€v‚ðŽw’è‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            Java‚ÌŽ¯•ÊŽq‚©‚çƒf[ƒ^ƒx[ƒX‚ÌŽ¯•ÊŽq‚ðŽ©“®¶¬‚·‚邽‚߂̃‹[ƒ‹‚âA
+            ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å—^‚¦‚½u˜_—“I‚ȁvƒJƒ‰ƒ€‚ƃe[ƒuƒ‹–¼‚©‚ç
+            u•¨—“I‚ȁvƒe[ƒuƒ‹‚ƃJƒ‰ƒ€–¼‚𐶐¬‚·‚邽‚߂̃‹[ƒ‹‚ð—pˆÓ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚±‚Ì‹@”\‚ÍŒJ‚è•Ô‚µ‚ÌŽG‰¹i—Ⴆ‚Î <literal>TBL_</literal> ƒvƒŠƒtƒBƒbƒNƒXj‚ðŽæ‚菜‚«A
+            ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̏璷‚³‚ðŒ¸‚ç‚·‚±‚Ƃɖ𗧂¿‚Ü‚·B
+            Hibernate‚ªŽg‚¤ƒfƒtƒHƒ‹ƒg‚̐헪‚Í‚©‚È‚èÅ¬ŒÀ‚É‹ß‚¢‚à‚Ì‚Å‚·B
+        </para>
+
+        <para>
+            ƒ}ƒbƒsƒ“ƒO‚ð’ljÁ‚·‚é‘O‚É <literal>Configuration.setNamingStrategy()</literal> ‚ðŒÄ‚Ô‚±‚Æ‚Å
+            ˆÈ‰º‚̂悤‚ɈقȂéí—ª‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·F
+        </para>
+
+        <programlisting><![CDATA[SessionFactory sf = new Configuration()
+    .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)
+    .addFile("Item.hbm.xml")
+    .addFile("Bid.hbm.xml")
+    .buildSessionFactory();]]></programlisting>
+    
+        <para>
+            <literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> ‚Í‘g‚ݍž‚݂̐헪‚Å‚·B
+            ‚±‚ê‚Í‚¢‚­‚‚©‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Æ‚Á‚Ä—L—p‚ÈŠJŽn“_‚Æ‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+        </para>
+
+    </sect1>
+
+    <sect1 id="configuration-xmlconfig" revision="2">
+        <title>XMLÝ’èƒtƒ@ƒCƒ‹</title>
+
+        <para>
+            ‚à‚¤1‚‚̕û–@‚Í <literal>hibernate.cfg.xml</literal> ‚Æ‚¢‚¤–¼‘O‚̃tƒ@ƒCƒ‹‚Å
+            \•ª‚Ȑݒè‚ðŽw’è‚·‚é•û–@‚Å‚·B
+            ‚±‚̃tƒ@ƒCƒ‹‚Í <literal>hibernate.properties</literal> ƒtƒ@ƒCƒ‹‚Ì‘ã‚í‚è‚Æ‚È‚è‚Ü‚·B
+            ‚à‚µ—¼•û‚̃tƒ@ƒCƒ‹‚ª‚ ‚ê‚΁AƒvƒƒpƒeƒB‚ª’u‚«Š·‚¦‚ç‚ê‚Ü‚·B
+        </para>
+
+        <para>
+            XMLÝ’èƒtƒ@ƒCƒ‹‚͏‰ŠúÝ’è‚Å <literal>CLASSPATH</literal> ‚É”z’u‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚±‚ꂪ—á‚Å‚·F
+        </para>
+
+        <programlisting><![CDATA[<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+    "-//Hibernate/Hibernate Configuration DTD//EN"
+    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+
+    <!-- a SessionFactory instance listed as /jndi/name -->
+    <!-- /jndi/name‚̂悤‚ɃŠƒXƒgƒAƒbƒv‚³‚ꂽSessionFactoryƒCƒ“ƒXƒ^ƒ“ƒX -->
+    <session-factory
+        name="java:hibernate/SessionFactory">
+
+        <!-- properties -->
+        <property name="connection.datasource">java:/comp/env/jdbc/MyDB</property>
+        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
+        <property name="show_sql">false</property>
+        <property name="transaction.factory_class">
+            org.hibernate.transaction.JTATransactionFactory
+        </property>
+        <property name="jta.UserTransaction">java:comp/UserTransaction</property>
+
+        <!-- mapping files -->
+        <mapping resource="org/hibernate/auction/Item.hbm.xml"/>
+        <mapping resource="org/hibernate/auction/Bid.hbm.xml"/>
+
+        <!-- cache settings -->
+        <class-cache class="org.hibernate.auction.Item" usage="read-write"/>
+        <class-cache class="org.hibernate.auction.Bid" usage="read-only"/>
+        <collection-cache collection="org.hibernate.auction.Item.bids" usage="read-write"/>
+
+    </session-factory>
+
+</hibernate-configuration>]]></programlisting>
+
+        <para>
+            Œ©‚Ä‚Ì‚Æ‚¨‚èA‚±‚Ì•û–@‚Ì—DˆÊ«‚͐ݒè‚Ì‚½‚߂̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹–¼‚ðŠOo‚µ‚É‚Å‚«‚邱‚Æ‚Å‚·B
+            HibernateƒLƒƒƒbƒVƒ…‚ðƒ`ƒ…[ƒjƒ“ƒO‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Ì‚Å‚ ‚ê‚΁A
+            <literal>hibernate.cfg.xml</literal> ‚Í‚æ‚è•Ö—˜‚Å‚·B
+            <literal>hibernate.properties</literal> ‚Æ <literal>hibernate.cfg.xml</literal> ‚Ì
+            ‚Ç‚¿‚ç‚©‚ðŽg‚¦‚邱‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B
+            “ñ‚‚͓¯‚¶‚à‚̂ŁAˆá‚¤‚Æ‚±‚ë‚Æ‚¢‚¦‚ÎXML\•¶‚ðŽg‚¤‚±‚Æ‚Ì—˜“_‚¾‚¯‚Å‚·B
+        </para>
+
+       <para>
+           XMLÝ’è‚ðŽg‚¤‚±‚ƂŁAHibernate‚͈ȉº‚̂悤‚ɃVƒ“ƒvƒ‹‚É‚È‚è‚Ü‚·B
+       </para>
+
+       <programlisting><![CDATA[SessionFactory sf = new Configuration().configure().buildSessionFactory();]]></programlisting>
+
+       <para>
+           ˆá‚¤XMLÝ’èƒtƒ@ƒCƒ‹‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
+       </para>
+
+       <programlisting><![CDATA[SessionFactory sf = new Configuration()
+    .configure("catdb.cfg.xml")
+    .buildSessionFactory();]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="configuration-j2ee" revision="1">
+        <title>J2EEƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚Æ‚Ì“‡</title>
+
+        <para>
+            Hibernate‚ÍJ2EE\‘¢‚Æ“‡‚·‚éƒ|ƒCƒ“ƒg‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                <emphasis>ƒRƒ“ƒeƒiŠÇ—ƒf[ƒ^ƒ\[ƒX</emphasis>FHibernate‚Í
+                JNDI‚ª’ñ‹Ÿ‚µAƒRƒ“ƒeƒi‚ªŠÇ—‚·‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽg—p‚Å‚«‚Ü‚·B
+                ’ʏíAJTA€‹’‚Ì <literal>TransactionManager</literal> ‚Æ
+                <literal>ResourceManager</literal> ‚ªƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ—(CMT)A
+                “Á‚É—lX‚ȃf[ƒ^ƒ\[ƒX‚É‚Ü‚½‚ª‚镪ŽUƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðˆµ‚¢‚Ü‚·B
+                “–‘RƒvƒƒOƒ‰ƒ€‚Ńgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽw’è‚Å‚«‚Ü‚·(BMT)B
+                ‚ ‚é‚¢‚́A‹Lq‚µ‚½ƒR[ƒh‚̃|[ƒ^ƒrƒŠƒeƒB‚ð•Û‚‚½‚߂ɁA
+                ƒIƒvƒVƒ‡ƒ“‚ÌHibernate‚Ì <literal>Transaction</literal> API‚ðŽg‚¢‚½‚­‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                <emphasis>Ž©“®JNDIƒoƒCƒ“ƒfƒBƒ“ƒO</emphasis>FHibernate‚ÍJNDI‚ª—§‚¿ã‚ª‚Á‚½Œã‚É
+                <literal>SessionFactory</literal> ‚𐶐¬‚µ‚Ü‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                <emphasis>JTAƒZƒbƒVƒ‡ƒ“ƒoƒCƒ“ƒfƒBƒ“ƒO</emphasis> F
+                Hibernate <literal>Session</literal> ‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ÍJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B
+                ’Pƒ‚É <literal>SessionFactory</literal> ‚ðJNDI‚©‚çlookup‚µ‚āA
+                Œ»Ý‚Ì <literal>Session</literal> ‚ðŽæ“¾‚µ‚Ü‚·B
+                JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹‚µ‚½‚Æ‚«‚ɁAHibernate‚ª <literal>Session</literal> ‚ðƒtƒ‰ƒbƒVƒ…‚µAƒNƒ[ƒY‚µ‚Ü‚·B
+                EJBƒfƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Ì’†‚ɁAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðéŒ¾‚µ‚Ü‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                <emphasis>JMXƒfƒvƒƒC:</emphasis> ‚à‚µJMX‚ªŽg—p‰Â”\‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒoi—Ⴆ‚ÎJBOSSj
+                ‚ª‚ ‚éê‡AHibernate‚ðMBean‚Æ‚µ‚ăfƒvƒƒC‚·‚邱‚Æ‚ð‘I‚ׂ܂·B
+                ‚±‚ê‚Í <literal>Configuration</literal> ‚©‚ç <literal>SessionFactory</literal> ‚ð
+                ¶¬‚·‚éƒR[ƒh‚𖳂­‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                ƒRƒ“ƒeƒi‚Í <literal>HibernateService</literal> ‚ð‹N“®‚µA
+                ƒT[ƒrƒX‚̈ˑ¶‚𗝑z“I‚ÉŠÇ—‚µ‚Ü‚·iƒf[ƒ^ƒ\[ƒX‚ÍHibernate‚â‚»‚Ì‘¼‚ª‹N“®‚·‚é‘O‚É
+                Žg—p‚Å‚«‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñjB
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            ŠÂ‹«‚Ɉˑ¶‚µ‚Ü‚·‚ªA‚à‚µAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚ª"connection containment"‚Ì—áŠO‚ðƒXƒ[‚·‚é‚È‚ç
+            Ý’è‚̃IƒvƒVƒ‡ƒ“ <literal>hibernate.connection.aggressive_release</literal> 
+            ‚ðtrue‚É‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <sect2 id="configuration-optional-transactionstrategy" revision="3">
+            <title>ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“í—ªÝ’è</title>
+
+            <para>
+                Hibernate  <literal>Session</literal> API‚́AƒA[ƒLƒeƒNƒ`ƒƒ“à‚̃VƒXƒeƒ€‚ÌŠÇŠ‚Å‚ ‚é
+                ‚ ‚ç‚ä‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ɉˑ¶‚µ‚Ü‚¹‚ñB
+                ‚à‚µƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ÌJDBC‚𒼐ڎg‚¢‚½‚¢ê‡AJDBC API‚©‚ç
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŒÄ‚Ô‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                ‚à‚µAJ2EEƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚Å“®ì‚³‚¹‚é‚È‚çABeanŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŽg‚¢A
+                •K—v‚ɉž‚¶‚Ä <literal>UserTransaction</literal> ‚ðJTA API‚©‚çŒÄ‚Ô‚±‚Æ‚É‚È‚é‚Å‚µ‚傤B
+            </para>
+
+            <para>
+                2‚i‚»‚êˆÈãj‚̊‹«‚Ō݊·«‚Ì‚ ‚éƒR[ƒh‚ðˆÛŽ‚·‚邽‚߂ɁAƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚čª–{“I‚ȃVƒXƒeƒ€‚ð
+                ƒ‰ƒbƒsƒ“ƒO‚·‚éHibernate <literal>Transaction</literal> API‚𐄏§‚µ‚Ü‚·B
+                HibernateÝ’èƒvƒƒpƒeƒB‚Ì <literal>hibernate.transaction.factory_class</literal> ‚ðÝ’è‚·‚邱‚Æ‚Å
+                ‚ ‚é“Á’è‚Ì <literal>Transaction</literal> ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽ‚Â‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                3‚‚̊î–{“I‚ȁiŠù‚É‚ ‚éj‘I‘ð‚ð‹“‚°‚Ü‚·F
+            </para>
+
+            <variablelist spacing="compact">
+                <varlistentry>
+                    <term><literal>org.hibernate.transaction.JDBCTransactionFactory</literal></term>
+                    <listitem>
+                        <para>ƒf[ƒ^ƒx[ƒX(JDBC)ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɈϏ÷‚µ‚Ü‚·iƒfƒtƒHƒ‹ƒgj</para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term><literal>org.hibernate.transaction.JTATransactionFactory</literal></term>
+                    <listitem>
+                        <para>
+                            ‚à‚µA‚±‚̃Rƒ“ƒeƒLƒXƒgi—Ⴆ‚΁AEJBƒZƒbƒVƒ‡ƒ“Beanƒƒ\ƒbƒhj‚Őis’†‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª‘¶Ý‚·‚éA‚à‚µ‚­‚Í
+                            V‚µ‚¢ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠJŽn‚³‚ê‚Ä‚¨‚èABeanŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŽg‚í‚ê‚Ä‚¢‚éê‡A
+                            ƒRƒ“ƒeƒiŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɈϏ÷‚µ‚Ü‚·B
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term><literal>org.hibernate.transaction.CMTTransactionFactory</literal></term>
+                    <listitem>
+                        <para>ƒRƒ“ƒeƒiŠÇ—JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɈϏ÷‚µ‚Ü‚·</para>
+                    </listitem>
+                </varlistentry>
+            </variablelist>
+
+            <para>
+                Ž©•ªŽ©g‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“í—ªi—Ⴆ‚΁ACORBAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒT[ƒrƒXj‚ð’è‹`‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                Hibernate‚Ì‚¢‚­‚‚©‚Ì‹@”\i—Ⴆ‚΁A“ñŽŸƒLƒƒƒbƒVƒ…AJTA‚É‚æ‚éƒRƒ“ƒeƒLƒXƒgƒZƒbƒVƒ‡ƒ“ “™j‚Í
+                ŠÇ—‚³‚ꂽŠÂ‹«‚Ì’†‚ÌJTA <literal>TransactionManager</literal> ‚ւ̃AƒNƒZƒX‚ð—v‹‚µ‚Ü‚·B
+                J2EE‚ª‚ЂƂ‚̃ƒJƒjƒYƒ€‚É‹KŠi‰»‚³‚ê‚Ä‚¢‚È‚¢‚̂ŁA
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚É‚¨‚¢‚āAHibernate‚ª <literal>TransactionManager</literal> ‚̃Šƒtƒ@ƒŒƒ“ƒX
+                ‚ðŽæ“¾‚·‚é•û–@‚𖾊m‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <table frame="topbot" id="jtamanagerlookup" revision="1">
+                <title>JTA ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ}ƒl[ƒWƒƒ</title>
+                <tgroup cols="2">
+                    <colspec colwidth="2.5*"/>
+                    <colspec colwidth="1*"/>
+                    <thead>
+                        <row>
+                            <entry>Transaction Factory</entry>
+                            <entry align="center">Application Server</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.JBossTransactionManagerLookup</literal></entry>
+                            <entry align="center">JBoss</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.WeblogicTransactionManagerLookup</literal></entry>
+                            <entry align="center">Weblogic</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.WebSphereTransactionManagerLookup</literal></entry>
+                            <entry align="center">WebSphere</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.WebSphereExtendedJTATransactionLookup</literal></entry>
+                            <entry align="center">WebSphere 6</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.OrionTransactionManagerLookup</literal></entry>
+                            <entry align="center">Orion</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.ResinTransactionManagerLookup</literal></entry>
+                            <entry align="center">Resin</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.JOTMTransactionManagerLookup</literal></entry>
+                            <entry align="center">JOTM</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.JOnASTransactionManagerLookup</literal></entry>
+                            <entry align="center">JOnAS</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.JRun4TransactionManagerLookup</literal></entry>
+                            <entry align="center">JRun4</entry>
+                        </row>
+                        <row>
+                            <entry><literal>org.hibernate.transaction.BESTransactionManagerLookup</literal></entry>
+                            <entry align="center">Borland ES</entry>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+
+        </sect2>
+
+        <sect2 id="configuration-optional-jndi" revision="3">
+            <title><literal>SessionFactory</literal> ‚ÌJNDI‚Ö‚Ì“o˜^</title>
+
+            <para>
+                JNDI‚É“o˜^‚µ‚½Hibernate <literal>SessionFactory</literal> ‚Í’Pƒ‚É
+                ƒtƒ@ƒNƒgƒŠ‚ðƒ‹ƒbƒNƒAƒbƒv‚µAV‚µ‚¢ <literal>Session</literal> ‚ðì‚è‚Ü‚·B
+                ‚±‚ê‚ÍJNDI‚É“o˜^‚³‚ꂽ <literal>Datasource</literal> ‚É‚ÍŠÖ˜A‚¹‚¸A
+                ‚¨ŒÝ‚¢‚ɃVƒ“ƒvƒ‹‚É‚±‚ê‚ç‚Ì“o˜^‚ðŽg‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                ‚à‚µ <literal>SessionFactory</literal> ‚ðJNDIƒl[ƒ€ƒXƒy[ƒX‚É“o˜^‚µ‚½‚¢ê‡A
+                “Á•Ê‚È–¼‘Oi—Ⴆ‚΁A <literal>java:hibernate/SessionFactory</literal> j‚ð
+                <literal>hibernate.session_factory_name</literal> ƒvƒƒpƒeƒB‚ÉŽg‚Á‚Ä‚­‚¾‚³‚¢
+                ‚à‚µ‚±‚̃vƒƒpƒeƒB‚ðÈ—ª‚µ‚½ê‡A <literal>SessionFactory</literal> ‚Í
+                JNDI‚É“o˜^‚³‚ê‚Ü‚¹‚ñBi‚±‚ê‚ÍTomcat‚̂悤‚ȃfƒtƒHƒ‹ƒgŽÀ‘•‚ÅJNDI‚ª“Ç‚Ý‚æ‚èê—p‚̊‹«‚̏ꍇ“Á‚É•Ö—˜‚Å‚·Bj
+            </para>
+
+            <para>
+                <literal>SessionFactory</literal> ‚ðJNDI‚É“o˜^‚·‚é‚Æ‚«AHibernate‚Í
+                <literal>hibernate.jndi.url</literal> ‚Ì’l‚ðŽg—p‚µA<literal>hibernate.jndi.class</literal> 
+                ‚ðƒCƒjƒVƒƒƒ‹ƒRƒ“ƒeƒLƒXƒg‚Æ‚µ‚Ä‹ï‘̉»‚µ‚Ü‚·B
+                ‚à‚µ‰½‚àÝ’肵‚È‚¢ê‡‚́AƒfƒtƒHƒ‹ƒg‚Ì <literal>InitialContext</literal> ‚ðŽg—p‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>cfg.buildSessionFactory()</literal> ‚ðƒR[ƒ‹Œã
+                Hibernate‚ÍŽ©“®“I‚É <literal>SessionFactory</literal> ‚ðJNDI‚É”z’u‚µ‚Ü‚·B
+                <literal>HibernateService</literal> ‚ƈꏏ‚ÉJMXƒfƒvƒƒCƒƒ“ƒg‚ðŽg‚í‚È‚¢ŒÀ‚èA
+                ‚±‚ê‚Í‚±‚̌Ăяo‚µ‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚̉½‚ç‚©‚̃Xƒ^[ƒgƒAƒbƒvƒR[ƒhi‚à‚µ‚­‚̓†[ƒeƒBƒŠƒeƒBƒNƒ‰ƒXj
+                ‚É”z’u‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·BiŒã‚Å‹c˜_‚µ‚Ü‚·j
+            </para>
+
+            <para>
+                ‚à‚µJNDI <literal>SessionFactory</literal> ‚ðŽg‚¤ê‡AEJB‚⑼‚̃Nƒ‰ƒX‚Í
+                JNDIƒ‹ƒbƒNƒAƒbƒv‚ðŽg‚Á‚Ä <literal>SessionFactory</literal> ‚ðŽæ“¾‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ŠÇ—‚³‚ꂽŠÂ‹«‚Å‚Í <literal>SessionFactory</literal> ‚ðJNDI‚ɃoƒCƒ“ƒh‚µA
+                ‚»‚¤‚Å‚È‚¯‚ê‚Î <literal>static</literal> ƒVƒ“ƒOƒ‹ƒgƒ“‚ðŽg‚¤‚±‚Ƃ𐄏§‚µ‚Ü‚·B
+                ‚±‚¤‚¢‚Á‚½Ú×‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒR[ƒh‚ð•ÛŒì‚·‚邽‚߂ɁA
+                <literal>HibernateUtil.getSessionFactory()</literal> ‚̂悤‚ȃwƒ‹ƒp[ƒNƒ‰ƒX‚Ì’†‚ɁA
+                <literal>SessionFactory</literal> ‚ðƒ‹ƒbƒNƒAƒbƒv‚·‚éƒR[ƒh‚ð‰B‚·‚±‚Ƃ𐄏§‚µ‚Ü‚·B
+                ‚±‚̂悤‚ȃwƒ‹ƒp[ƒNƒ‰ƒX‚ÍHibernate‚ðŠJŽn‚·‚é•Ö—˜‚ÈŽè’i‚Å‚à‚ ‚è‚Ü‚·B
+                &mdash;‚PÍ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+        <sect2 id="configuration-j2ee-currentsession" revision="4">
+            <title>JTA‚É‚æ‚錻Ý‚̃ZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgƒ}ƒl[ƒWƒƒ“ƒg</title>
+
+            <para>
+                ‚à‚Á‚Æ‚àŠÈ’P‚É <literal>Session</literal> ‚ƃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðˆµ‚¤•û–@‚́A
+                Hibernate‚ªŽ©“®“I‚ɁuŒ»Ý‚́v <literal>Session</literal> ‚ðŠÇ—‚·‚邱‚Æ‚Å‚·B
+                <xref linkend="architecture-current-session">ƒJƒŒƒ“ƒgƒZƒbƒVƒ‡ƒ“</xref> ‚Ìà–¾‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚à‚µ <literal>uJTAv</literal> ƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒg‚ðŽg‚Á‚½ã‚ŁA
+                Œ»Ý‚ÌJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÆHibernate <literal>Session</literal> ‚ªŠÖ˜A‚µ‚Ä‚¢‚È‚¢ê‡‚́A
+                Å‰‚É <literal>sessionFactory.getCurrentSession()</literal> ‚ðƒR[ƒ‹‚µA
+                JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Æ‚ÌŠÖ˜A•t‚¯‚ðs‚Á‚Ä‚­‚¾‚³‚¢B
+                <literal>uJTAv</literal> ƒRƒ“ƒeƒLƒXƒg‚Ì <literal>getCurrentSession()</literal> ‚ð
+                ’Ê‚¶‚Ď擾‚µ‚½ <literal>Session</literal> ‚́Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹‚·‚é‘O‚É
+                Ž©“®“I‚Ƀtƒ‰ƒbƒVƒ…‚µAŠ®—¹‚µ‚½Œã‚É‚ÍŽ©“®“I‚ɃNƒ[ƒY‚µ‚Ü‚·B
+                ‚Ü‚½AŠeƒXƒe[ƒgƒƒ“ƒgŒã‚ÉJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðÏ‹É“I‚ɃŠƒŠ[ƒX‚µ‚Ü‚·B
+                ‚±‚ê‚É‚æ‚èJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃‰ƒCƒtƒTƒCƒNƒ‹‚Å <literal>Session</literal> ‚ðŠÇ—‚·‚邱‚Æ‚ª‚Å‚«A
+                ƒ†[ƒU[‚̃R[ƒh‚©‚ç‚»‚̂悤‚ÈŠÇ—‚ð‚·‚éƒR[ƒh‚ð”rœ‚Å‚«‚Ü‚·B
+                <literal>UserTransaction</literal> ‚ð’Ê‚¶‚ÄJTA‚ðƒvƒƒOƒ‰ƒ€‚ÅŠÇ—‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                ‚Ü‚½‚́Aiƒ|[ƒ^ƒuƒ‹‚ȃR[ƒh‚Å‚ ‚ê‚΁jHibernate <literal>Transaction</literal> API‚ð
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
+                EJBƒRƒ“ƒeƒi‚ðŽg‚¤‚Æ‚«‚́ACMT‚É‚æ‚ééŒ¾“Iƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ªD‚Ü‚µ‚¢‚Å‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="configuration-j2ee-jmx" revision="1">
+            <title>JMXƒfƒvƒƒCƒƒ“ƒg</title>
+
+            <para>
+                <literal>SessionFactory</literal> ‚ðJNDI‚©‚çŽæ“¾‚·‚邽‚ß‚É‚Í
+                <literal>cfg.buildSessionFactory()</literal> s‚ð‚Ç‚±‚©‚ÅŽÀs‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‚ ‚È‚½‚Í‚±‚ê‚ðA<literal>static</literal> ‰Šú‰»ƒuƒƒbƒN“ài <literal>HibernateUtil</literal> ‚̂悤‚ȁj‚©
+                <emphasis>managed service</emphasis> ‚Æ‚µ‚ÄHibernate‚ðƒfƒvƒƒC‚·‚é‚©A‚Ç‚¿‚ç‚©‚ÅŽÀs‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+               JBOSS‚̂悤‚ÈJMX‚Ì‹@”\‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚ɃfƒvƒƒC‚·‚邽‚ß‚É
+               <literal>org.hibernate.jmx.HibernateService</literal> ‚ðŽg‚Á‚āA”z’u‚µ‚Ü‚·B
+               ŽÀÛ‚̃fƒvƒƒCƒƒ“ƒg‚Ɛݒè‚̓xƒ“ƒ_[“Á—L‚Å‚·B
+               ‚±‚±‚Å—á‚Æ‚µ‚ÄJBOSS 4.0.x—p‚Ì <literal>jboss-service.xml</literal> ‚ðŽ¦‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<?xml version="1.0"?>
+<server>
+
+<mbean code="org.hibernate.jmx.HibernateService"
+    name="jboss.jca:service=HibernateFactory,name=HibernateFactory">
+
+    <!-- Required services -->
+    <depends>jboss.jca:service=RARDeployer</depends>
+    <depends>jboss.jca:service=LocalTxCM,name=HsqlDS</depends>
+
+    <!-- Bind the Hibernate service to JNDI -->
+    <attribute name="JndiName">java:/hibernate/SessionFactory</attribute>
+
+    <!-- Datasource settings -->
+    <attribute name="Datasource">java:HsqlDS</attribute>
+    <attribute name="Dialect">org.hibernate.dialect.HSQLDialect</attribute>
+
+    <!-- Transaction integration -->
+    <attribute name="TransactionStrategy">
+        org.hibernate.transaction.JTATransactionFactory</attribute>
+    <attribute name="TransactionManagerLookupStrategy">
+        org.hibernate.transaction.JBossTransactionManagerLookup</attribute>
+    <attribute name="FlushBeforeCompletionEnabled">true</attribute>
+    <attribute name="AutoCloseSessionEnabled">true</attribute>
+
+    <!-- Fetching options -->
+    <attribute name="MaximumFetchDepth">5</attribute>
+
+    <!-- Second-level caching -->
+    <attribute name="SecondLevelCacheEnabled">true</attribute>
+    <attribute name="CacheProviderClass">org.hibernate.cache.EhCacheProvider</attribute>
+    <attribute name="QueryCacheEnabled">true</attribute>
+
+    <!-- Logging -->
+    <attribute name="ShowSqlEnabled">true</attribute>
+
+    <!-- Mapping files -->
+    <attribute name="MapResources">auction/Item.hbm.xml,auction/Category.hbm.xml</attribute>
+
+</mbean>
+
+</server>]]></programlisting>
+
+            <para>
+                ‚±‚̃tƒ@ƒCƒ‹‚Í <literal>META-INF</literal> ƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚³‚êA
+                JARƒtƒ@ƒCƒ‹‚ðŠg’£‚µ‚½ <literal>.sar</literal>  (service archive)‚ŃpƒbƒP[ƒW‰»‚³‚ê‚Ü‚·B
+                “¯—l‚ÉHibernateƒpƒbƒP[ƒW‚à•K—v‚Å‚·B‚Ü‚½AHibernate‚̓T[ƒhƒp[ƒeƒB‚̃‰ƒCƒuƒ‰ƒŠ‚à—v‹‚µ‚Ü‚·B
+                ƒRƒ“ƒpƒCƒ‹‚µ‚½‰i‘±‰»ƒNƒ‰ƒX‚Æ‚»‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚à“¯—l‚ɃA[ƒJƒCƒui.sarƒtƒ@ƒCƒ‹j‚É“ü‚ê‚Ü‚·B
+                ƒGƒ“ƒ^[ƒvƒ‰ƒCƒYbeani’ʏí‚̓ZƒbƒVƒ‡ƒ“beanj‚ÍŽ©g‚ÌJARƒtƒ@ƒCƒ‹‚ð•ÛŽ‚µ‚Ü‚·‚ªA
+                1‰ñ‚ŁiƒzƒbƒgjƒfƒvƒƒC‰Â”\‚ȃ†ƒjƒbƒg‚Ì‚½‚߂ɃƒCƒ“ƒT[ƒrƒXƒA[ƒJƒCƒu‚Æ‚µ‚Ä‚±‚ÌEJB JARƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é
+                ‚±‚Æ‚ª‚Å‚«‚Ü‚·BJBossƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚̃hƒLƒ…ƒƒ“ƒg‚ÉJXMƒT[ƒrƒX‚Æ
+                EJBƒfƒvƒƒCƒƒ“ƒg‚Ì‚æ‚葽‚­‚̏î•ñ‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/events.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/events.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/events.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/events.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="events">
+    <title>ƒCƒ“ƒ^[ƒZƒvƒ^‚ƃCƒxƒ“ƒg</title>
+
+    <para>
+        ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªHibernate‚Ì“à•”‚Å”­¶‚·‚éƒCƒxƒ“ƒg‚ɑΉž‚Å‚«‚é‚Æ–ð‚É—§‚‚±‚Æ‚ª‚ ‚è‚Ü‚·B
+        ‚ ‚éŽí‚̈ê”Ê“I‚È‹@”\‚ðŽÀ‘•‚Å‚«‚é‚悤‚É‚È‚èA
+        ‚Ü‚½Hibernate‚Ì‹@”\‚ðŠg’£‚·‚邱‚Æ‚à‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
+    </para>
+
+    <sect1 id="objectstate-interceptors" revision="3">
+        <title>ƒCƒ“ƒ^[ƒZƒvƒ^</title>
+
+        <para>
+            <literal>Interceptor</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚Á‚āA
+            ƒZƒbƒVƒ‡ƒ“‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÖƒR[ƒ‹ƒoƒbƒN‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚±‚ê‚É‚æ‚è‰i‘±ƒIƒuƒWƒFƒNƒg‚Ì•Û‘¶AXVAíœA“ǂݍž‚Ý‚Ì‘O‚ɁA
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒvƒƒpƒeƒB‚ðŒŸ¸‚µ‚½‚è‘€ì‚µ‚½‚è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
+            ‚±‚ê‚͊踏î•ñ‚̒ǐՂɗ˜—p‚Å‚«‚Ü‚·B
+            ‰º‚Ì—á‚Å <literal>Interceptor</literal> ‚Í <literal>Auditable</literal> 
+            ‚ªì¬‚³‚ê‚é‚ÆŽ©“®“I‚É <literal>createTimestamp</literal> ‚ðÝ’肵A
+            <literal>Auditable</literal> ‚ªXV‚³‚ê‚é‚ÆŽ©“®“I‚É 
+            <literal>lastUpdateTimestamp</literal> ƒvƒƒpƒeƒB‚ðXV‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+            <literal>Interceptor</literal> ‚𒼐ڎÀ‘•‚µ‚½‚èA
+            i‚³‚ç‚É‚æ‚¢‚̂́j<literal>EmptyInterceptor</literal> ‚ðŠg’£‚µ‚½‚è‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[package org.hibernate.test;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.Iterator;
+
+import org.hibernate.EmptyInterceptor;
+import org.hibernate.Transaction;
+import org.hibernate.type.Type;
+
+public class AuditInterceptor extends EmptyInterceptor {
+
+    private int updates;
+    private int creates;
+    private int loads;
+
+    public void onDelete(Object entity,
+                         Serializable id,
+                         Object[] state,
+                         String[] propertyNames,
+                         Type[] types) {
+        // do nothing
+    }
+
+    public boolean onFlushDirty(Object entity,
+                                Serializable id,
+                                Object[] currentState,
+                                Object[] previousState,
+                                String[] propertyNames,
+                                Type[] types) {
+
+        if ( entity instanceof Auditable ) {
+            updates++;
+            for ( int i=0; i < propertyNames.length; i++ ) {
+                if ( "lastUpdateTimestamp".equals( propertyNames[i] ) ) {
+                    currentState[i] = new Date();
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public boolean onLoad(Object entity,
+                          Serializable id,
+                          Object[] state,
+                          String[] propertyNames,
+                          Type[] types) {
+        if ( entity instanceof Auditable ) {
+            loads++;
+        }
+        return false;
+    }
+
+    public boolean onSave(Object entity,
+                          Serializable id,
+                          Object[] state,
+                          String[] propertyNames,
+                          Type[] types) {
+
+        if ( entity instanceof Auditable ) {
+            creates++;
+            for ( int i=0; i<propertyNames.length; i++ ) {
+                if ( "createTimestamp".equals( propertyNames[i] ) ) {
+                    state[i] = new Date();
+                    return true;
+                }
+            }
+        }
+        return false;
+    }
+
+    public void afterTransactionCompletion(Transaction tx) {
+        if ( tx.wasCommitted() ) {
+            System.out.println("Creations: " + creates + ", Updates: " + updates, "Loads: " + loads);
+        }
+        updates=0;
+        creates=0;
+        loads=0;
+    }
+
+}]]></programlisting>
+
+        <para>
+            ƒCƒ“ƒ^[ƒZƒvƒ^‚É‚Í“ñŽí—Þ‚ ‚è‚Ü‚·F
+            <literal>Session</literal> ƒXƒR[ƒv‚Ì‚à‚Ì‚Æ 
+            <literal>SessionFactory</literal> ƒXƒR[ƒv‚Ì‚à‚Ì‚Å‚·B
+        </para>
+
+        <para>
+            <literal>Session</literal> ƒXƒR[ƒv‚̃Cƒ“ƒ^[ƒZƒvƒ^‚́A
+            ƒZƒbƒVƒ‡ƒ“‚ðƒI[ƒvƒ“‚·‚é‚Æ‚«‚ÉŽw’肵‚Ü‚·B
+            <literal>Interceptor</literal> ‚ðˆø”‚ÉŽæ‚éSessionFactory.openSession()
+            ‚̃I[ƒo[ƒ[ƒhƒƒ\ƒbƒh‚̈ê‚‚ðŽg‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]></programlisting>
+
+        <para>
+            <literal>SessionFactory</literal> ƒXƒR[ƒv‚̃Cƒ“ƒ^[ƒZƒvƒ^‚Í <literal>Configuration</literal> 
+            ƒIƒuƒWƒFƒNƒg‚ðŽg‚Á‚Ä“o˜^‚µ‚Ü‚·B
+            ‚±‚ê‚Í <literal>SessionFactory</literal> ‚̍\’z‚æ‚è‚à—Dæ‚³‚ê‚Ü‚·B
+            ‚±‚̏ꍇA’ñ‹Ÿ‚³‚ê‚éƒCƒ“ƒ^[ƒZƒvƒ^‚Í <literal>SessionFactory</literal> 
+            ‚©‚çƒI[ƒvƒ“‚³‚ꂽ‚·‚ׂẴZƒbƒVƒ‡ƒ“‚É“K—p‚³‚ê‚Ü‚·B
+            ‚±‚ê‚ÍŽg—p‚·‚éƒCƒ“ƒ^[ƒZƒvƒ^‚𖾎¦“I‚ÉŽw’肵‚ăZƒbƒVƒ‡ƒ“‚ðƒI[ƒvƒ“‚µ‚È‚¢ŒÀ‚èA‚»‚¤‚È‚è‚Ü‚·B
+            <literal>SessionFactory</literal> ƒXƒR[ƒv‚̃Cƒ“ƒ^[ƒZƒvƒ^‚̓XƒŒƒbƒhƒZ[ƒt‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            •¡”‚̃ZƒbƒVƒ‡ƒ“‚ªiöÝ“I‚Ɂj‚±‚̃Cƒ“ƒ^[ƒZƒvƒ^‚𓯎ž•Às‚ÅŽg—p‚·‚邱‚ƂɂȂ邽‚߁A
+            ƒZƒbƒVƒ‡ƒ“ŒÅ—L‚̏ó‘Ô‚ðŠi”[‚µ‚È‚¢‚悤‚É‹C‚ð‚‚¯‚Ä‚­‚¾‚³‚¢B
+        </para>
+    
+        <programlisting><![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]></programlisting>
+        
+    </sect1>
+
+     <sect1 id="objectstate-events" revision="4">
+        <title>ƒCƒxƒ“ƒgƒVƒXƒeƒ€</title>
+
+        <para>
+            ‰i‘±‰»‘w‚Å“Á’è‚̃Cƒxƒ“ƒg‚ɑΉž‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢ê‡A
+            Hibernate3‚Ì <emphasis>ƒCƒxƒ“ƒg</emphasis> ƒA[ƒLƒeƒNƒ`ƒƒ‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
+            ƒCƒxƒ“ƒgƒVƒXƒeƒ€‚̓Cƒ“ƒ^[ƒZƒvƒ^‚ƈꏏ‚ÉŽg‚¤‚©A‚Ü‚½‚̓Cƒ“ƒ^[ƒZƒvƒ^‚Ì‘ã‚í‚è‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            –{Ž¿“I‚É <literal>Session</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Ì‚·‚ׂẴƒ\ƒbƒh‚́A
+            1ŒÂ‚̃Cƒxƒ“ƒg‚Æ‘ŠŒÝ‚ÉŠÖ˜A‚µ‚Ü‚·B
+            —Ⴆ‚Î <literal>LoadEvent</literal>A<literal>FlushEvent</literal> ‚È‚Ç‚ª‚ ‚è‚Ü‚·
+            i’è‹`Ï‚݂̃Cƒxƒ“ƒgŒ^‚̈ꗗ‚ɂ‚¢‚ẮAXMLÝ’èƒtƒ@ƒCƒ‹‚ÌDTD‚â 
+            <literal>org.hibernate.event</literal> ƒpƒbƒP[ƒW‚𒲂ׂĂ­‚¾‚³‚¢jB
+            ƒŠƒNƒGƒXƒg‚ª‚±‚ê‚ç‚̃ƒ\ƒbƒh‚Ì1‚‚©‚çì‚ç‚ê‚é‚Æ‚«A
+            Hibernate‚Ì <literal>Session</literal> ‚Í“KØ‚ȃCƒxƒ“ƒg‚𐶐¬‚µA
+            ‚»‚̃Cƒxƒ“ƒgŒ^‚ɐݒ肳‚ꂽƒCƒxƒ“ƒgƒŠƒXƒi‚É“n‚µ‚Ü‚·B
+            ‚·‚΂炵‚¢‚±‚ƂɁA‚±‚ê‚ç‚̃ŠƒXƒi‚Í‚»‚̃ƒ\ƒbƒh‚Æ“¯‚¶ˆ—‚ðŽÀ‘•‚µ‚Ü‚·B
+            ‚Æ‚Í‚¢‚¦AƒŠƒXƒiƒCƒ“ƒ^[ƒtƒFƒCƒX‚̈ê‚Â‚ðŽ©—R‚ɃJƒXƒ^ƒ€ŽÀ‘•‚Å‚«‚Ü‚·
+            i‚‚܂èA<literal>LoadEvent</literal> ‚Í“o˜^‚³‚ꂽ <literal>LoadEventListener</literal> 
+            ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌŽÀ‘•‚É‚æ‚菈—‚³‚ê‚Ü‚·jB
+            ‚»‚̏ꍇA‚»‚ÌŽÀ‘•‚É‚Í <literal>Session</literal> ‚©‚çì‚ç‚ꂽ‚ǂ̂悤‚È <literal>load()</literal> 
+            ƒŠƒNƒGƒXƒg‚ð‚àˆ—‚·‚éÓ”C‚ª‚ ‚è‚Ü‚·B
+        </para>
+
+        <para>
+            ƒŠƒXƒi‚ÍŽ–ŽÀãƒVƒ“ƒOƒ‹ƒgƒ“‚Å‚ ‚é‚ÆŒ©‚È‚¹‚Ü‚·B
+            ‚‚܂胊ƒXƒi‚̓ŠƒNƒGƒXƒgŠÔ‚Å‹¤—L‚³‚ê‚邽‚߁A
+            ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚Æ‚µ‚ďó‘Ô‚ð•ÛŽ‚·‚é‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+        </para>
+
+        <para>
+            ƒJƒXƒ^ƒ€ƒŠƒXƒi‚͏ˆ—‚µ‚½‚¢ƒCƒxƒ“ƒg‚ɂ‚¢‚Ä“KØ‚ȃCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚·‚é‚ׂ«‚Å‚·B
+            •Ö—˜‚ÈŠî’êƒNƒ‰ƒX‚Ì‚¤‚¿‚̈ê‚‚ðŒp³‚µ‚Ä‚à‚æ‚¢‚Å‚·
+            i‚Ü‚½‚ÍHibernate‚ªƒfƒtƒHƒ‹ƒg‚ÅŽg—p‚·‚éƒCƒxƒ“ƒgƒŠƒXƒi‚ðŒp³‚µ‚Ä‚à‚æ‚¢‚Å‚·B
+            ‚·‚΂炵‚¢‚±‚ƂɁA‚±‚Ì–Ú“I‚Ì‚½‚ß‚É”ñfinal‚Æ‚µ‚Đ錾‚³‚ê‚Ä‚¢‚Ü‚·jB
+            ƒJƒXƒ^ƒ€ƒŠƒXƒi‚Í <literal>Configuration</literal> ƒIƒuƒWƒFƒNƒg‚ðŽg‚Á‚ăvƒƒOƒ‰ƒ€‚©‚ç“o˜^‚·‚é‚©A
+            Hibernate‚ÌXMLÝ’èƒtƒ@ƒCƒ‹‚ÅŽw’è‚Å‚«‚Ü‚·
+            iƒvƒƒpƒeƒBƒtƒ@ƒCƒ‹‚Ő錾“I‚ɐݒ肷‚é•û–@‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñjB
+            ƒJƒXƒ^ƒ€ƒ[ƒhƒCƒxƒ“ƒgƒŠƒXƒi‚Ì—á‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[public class MyLoadListener implements LoadEventListener {
+    // this is the single method defined by the LoadEventListener interface
+    public void onLoad(LoadEvent event, LoadEventListener.LoadType loadType)
+            throws HibernateException {
+        if ( !MySecurity.isAuthorized( event.getEntityClassName(), event.getEntityId() ) ) {
+            throw MySecurityException("Unauthorized access");
+        }
+    }
+}]]></programlisting>
+
+        <para>
+            ƒfƒtƒHƒ‹ƒgƒŠƒXƒiˆÈŠO‚̃ŠƒXƒi‚ðŽg‚¤‚ɂ́AHibernate‚ւ̐ݒè‚à•K—v‚Å‚·F
+        </para>
+
+<programlisting><![CDATA[<hibernate-configuration>
+    <session-factory>
+        ...
+        <event type="load">
+            <listener class="com.eg.MyLoadListener"/>
+            <listener class="org.hibernate.event.def.DefaultLoadEventListener"/>
+        </event>
+    </session-factory>
+</hibernate-configuration>]]></programlisting>
+
+        <para>
+            ‚Ü‚½‚»‚Ì‘¼‚ɁAƒvƒƒOƒ‰ƒ€‚Å“o˜^‚·‚é•û–@‚à‚ ‚è‚Ü‚·F
+        </para>
+
+        <programlisting><![CDATA[Configuration cfg = new Configuration();
+LoadEventListener[] stack = { new MyLoadListener(), new DefaultLoadEventListener() };
+cfg.EventListeners().setLoadEventListeners(stack);]]></programlisting>
+
+        <para>
+            ƒŠƒXƒi‚ðéŒ¾“I‚É“o˜^‚·‚é‚ƁA‚»‚̃ŠƒXƒi‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚Å‚«‚Ü‚¹‚ñB
+            •¡”‚Ì <literal>&lt;listener/&gt;</literal> —v‘f‚Å“¯‚¶ƒNƒ‰ƒX–¼‚ªŽg‚í‚ê‚é‚ƁA
+            ‚»‚ꂼ‚ê‚ÌŽQÆ‚Í‚»‚̃Nƒ‰ƒX‚̕ʁX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽw‚·‚±‚Æ‚É‚È‚è‚Ü‚·B
+            ƒŠƒXƒiŒ^‚̊ԂŃŠƒXƒiƒCƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚·‚é•K—v‚ª‚ ‚ê‚΁A
+            ƒvƒƒOƒ‰ƒ€‚Å“o˜^‚·‚é•û–@‚ðÌ‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ‚È‚ºƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚āA“Á‰»‚µ‚½Œ^‚ðÝ’莞‚ÉŽw’è‚·‚é‚Ì‚Å‚µ‚傤‚©H
+            ƒŠƒXƒi‚ÌŽÀ‘•ƒNƒ‰ƒX‚ɁA•¡”‚̃Cƒxƒ“ƒgƒŠƒXƒiƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚Å‚«‚é‚©‚ç‚Å‚·B
+            “o˜^Žž‚ɒljÁ‚ÅŒ^‚ðŽw’è‚·‚邱‚ƂŁAƒJƒXƒ^ƒ€ƒŠƒXƒi‚Ìon/off‚ðÝ’莞‚ÉŠÈ’P‚ɐ؂è‘Ö‚¦‚ç‚ê‚Ü‚·B
+        </para>
+
+    </sect1>
+    
+    <sect1 id="objectstate-decl-security" revision="2">
+        <title>Hibernate‚̐錾“I‚ȃZƒLƒ…ƒŠƒeƒB</title>
+        <para>
+            ˆê”Ê“I‚ÉHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̐錾“I‚ȃZƒLƒ…ƒŠƒeƒB‚́AƒZƒbƒVƒ‡ƒ“ƒtƒ@ƒT[ƒh‘w‚ÅŠÇ—‚µ‚Ü‚·B
+            Œ»ÝAHiberenate3‚ÍJACC‚Å‹–‰Â‚µ‚©‚AJAAS‚Å”FØ‚µ‚½ƒAƒNƒVƒ‡ƒ“‚ð‹–‚µ‚Ä‚¢‚Ü‚·B
+            ‚±‚ê‚̓Cƒxƒ“ƒgƒA[ƒLƒeƒNƒ`ƒƒ‚̍ŏãˆÊ‚É‘g‚ݍž‚Ü‚ê‚Ä‚¢‚éƒIƒvƒVƒ‡ƒ“‚Ì‹@”\‚Å‚·B
+        </para>
+        
+        <para>
+            ‚Ü‚¸Å‰‚ɁA“KØ‚ȃCƒxƒ“ƒgƒŠƒXƒi‚ðÝ’肵‚ÄJAAS”FØ‚ðŽg‚¦‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+        
+        <programlisting><![CDATA[<listener type="pre-delete" class="org.hibernate.secure.JACCPreDeleteEventListener"/>
+<listener type="pre-update" class="org.hibernate.secure.JACCPreUpdateEventListener"/>
+<listener type="pre-insert" class="org.hibernate.secure.JACCPreInsertEventListener"/>
+<listener type="pre-load" class="org.hibernate.secure.JACCPreLoadEventListener"/>]]></programlisting>
+
+        <para>
+            “Á’è‚̃Cƒxƒ“ƒgŒ^‚ɑ΂µ‚Ä‚¿‚傤‚Ljê‚‚̃ŠƒXƒi‚ª‚ ‚é‚Æ‚«A
+            <literal>&lt;listener type="..." class="..."/&gt;</literal> 
+            ‚Í <literal>&lt;event type="..."&gt;&lt;listener class="..."/&gt;&lt;/event&gt;</literal> 
+            ‚ÌŠÈ—ªŒ`‚ɉ߂¬‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            ŽŸ‚ɁA“¯‚¶‚­ <literal>hibernate.cfg.xml</literal> ‚э[ƒ‹‚Ƀp[ƒ~ƒbƒVƒ‡ƒ“‚ð—^‚¦‚Ä‚­‚¾‚³‚¢F
+        </para>
+        
+        <programlisting><![CDATA[<grant role="admin" entity-name="User" actions="insert,update,read"/>
+<grant role="su" entity-name="User" actions="*"/>]]></programlisting>
+        
+        <para>
+            ‚±‚̃[ƒ‹–¼‚ÍŽg—p‚·‚éJACCƒvƒƒoƒCƒ_‚É—‰ð‚³‚ê‚郍[ƒ‹‚Å‚·B
+        </para>
+       
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/example_mappings.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,659 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<chapter id="example-mappings">
+    <title>—áF‚¢‚ë‚¢‚ë‚ȃ}ƒbƒsƒ“ƒO</title>
+    
+    <para>
+        ‚±‚̏͂ł́A‚æ‚è•¡ŽG‚ÈŠÖ˜A‚̃}ƒbƒsƒ“ƒO‚ð‚¢‚­‚‚©Ð‰î‚µ‚Ü‚·B
+    </para>
+    
+    <sect1 id="example-mappings-emp">
+        <title>ŒÙ—pŽÒ/]‹Æˆõ</title>
+
+        <para>
+            <literal>Employer</literal> ‚Æ <literal>Employee</literal> ‚ÌŠÖŒW‚ð•\‚·ˆÈ‰º‚̃‚ƒfƒ‹‚́A
+            ŠÖ˜A‚Ì•\Œ»‚ÉŽÀÛ‚̃Gƒ“ƒeƒBƒeƒBƒNƒ‰ƒXi <literal>Employment</literal> j
+            ‚ðŽg‚¢‚Ü‚·B
+            ‚È‚º‚È‚çA“¯‚¶2‚‚̃p[ƒeƒB‚É•¡”‚ÌŠúŠÔŒÙ—p‚³‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚ ‚肦‚é‚©‚ç‚Å‚·B
+            ‚¨‹à‚Ì’l‚Ə]‹Æˆõ‚Ì–¼‘O‚ðƒ‚ƒfƒ‹‰»‚·‚邽‚߂ɃRƒ“ƒ|[ƒlƒ“ƒg‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="../images/EmployerEmployee.png" format="PNG" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../images/EmployerEmployee.png" format="PNG" align="center"/>
+            </imageobject>
+        </mediaobject>
+        
+        <para>
+            ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̈ê—á‚Å‚·F
+        </para>
+        
+        <programlisting><![CDATA[<hibernate-mapping>
+        
+    <class name="Employer" table="employers">
+        <id name="id">
+            <generator class="sequence">
+                <param name="sequence">employer_id_seq</param>
+            </generator>
+        </id>
+        <property name="name"/>
+    </class>
+
+    <class name="Employment" table="employment_periods">
+
+        <id name="id">
+            <generator class="sequence">
+                <param name="sequence">employment_id_seq</param>
+            </generator>
+        </id>
+        <property name="startDate" column="start_date"/>
+        <property name="endDate" column="end_date"/>
+
+        <component name="hourlyRate" class="MonetaryAmount">
+            <property name="amount">
+                <column name="hourly_rate" sql-type="NUMERIC(12, 2)"/>
+            </property>
+            <property name="currency" length="12"/>
+        </component>
+
+        <many-to-one name="employer" column="employer_id" not-null="true"/>
+        <many-to-one name="employee" column="employee_id" not-null="true"/>
+
+    </class>
+
+    <class name="Employee" table="employees">
+        <id name="id">
+            <generator class="sequence">
+                <param name="sequence">employee_id_seq</param>
+            </generator>
+        </id>
+        <property name="taxfileNumber"/>
+        <component name="name" class="Name">
+            <property name="firstName"/>
+            <property name="initial"/>
+            <property name="lastName"/>
+        </component>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+    <para>
+        <literal>SchemaExport</literal> ‚Ő¶¬‚µ‚½ƒe[ƒuƒ‹ƒXƒL[ƒ}‚Å‚·B
+    </para>
+
+    <programlisting><![CDATA[create table employers (
+    id BIGINT not null, 
+    name VARCHAR(255), 
+    primary key (id)
+)
+
+create table employment_periods (
+    id BIGINT not null,
+    hourly_rate NUMERIC(12, 2),
+    currency VARCHAR(12), 
+    employee_id BIGINT not null, 
+    employer_id BIGINT not null, 
+    end_date TIMESTAMP, 
+    start_date TIMESTAMP, 
+    primary key (id)
+)
+
+create table employees (
+    id BIGINT not null, 
+    firstName VARCHAR(255), 
+    initial CHAR(1), 
+    lastName VARCHAR(255), 
+    taxfileNumber VARCHAR(255), 
+    primary key (id)
+)
+
+alter table employment_periods 
+    add constraint employment_periodsFK0 foreign key (employer_id) references employers
+alter table employment_periods 
+    add constraint employment_periodsFK1 foreign key (employee_id) references employees
+create sequence employee_id_seq
+create sequence employment_id_seq
+create sequence employer_id_seq]]></programlisting>
+
+    </sect1>
+    
+    <sect1 id="example-mappings-authorwork">
+        <title>ìŽÒ/ì•i</title>
+
+        <para>
+            <literal>Work</literal> , <literal>Author</literal> ‚»‚µ‚Ä <literal>Person</literal> 
+            ‚ÌŠÖŒW‚ð•\‚·ˆÈ‰º‚̃‚ƒfƒ‹‚ðl‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+            <literal>Work</literal> ‚Æ <literal>Author</literal> ‚ÌŠÖŒW‚𑽑Α½ŠÖ˜A‚Å•\‚µ‚Ä‚¢‚Ü‚·B
+            <literal>Author</literal> ‚Æ <literal>Person</literal> ‚ÌŠÖŒW‚͈ê‘ΈêŠÖ˜A‚Æ‚µ‚Ä•\‚µ‚Ä‚¢‚Ü‚·B
+            ‘¼‚É‚Í <literal>Author</literal> ‚ª <literal>Person</literal> ‚ðŠg’£‚·‚é‚Æ‚¢‚¤•û–@‚à‚ ‚è‚Ü‚·B
+        </para>
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="../images/AuthorWork.png" format="PNG" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../images/AuthorWork.png" format="PNG" align="center"/>
+            </imageobject>
+        </mediaobject>
+        
+        <para>
+            ˆÈ‰º‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Í‚±‚̂悤‚ÈŠÖŒW‚𐳊m‚É•\Œ»‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="Work" table="works" discriminator-value="W">
+
+        <id name="id" column="id">
+            <generator class="native"/>
+        </id>
+        <discriminator column="type" type="character"/>
+
+        <property name="title"/>
+        <set name="authors" table="author_work">
+            <key column name="work_id"/>
+            <many-to-many class="Author" column name="author_id"/>
+        </set>
+
+        <subclass name="Book" discriminator-value="B">
+            <property name="text"/>
+        </subclass>
+
+        <subclass name="Song" discriminator-value="S">
+            <property name="tempo"/>
+            <property name="genre"/>
+        </subclass>
+
+    </class>
+
+    <class name="Author" table="authors">
+
+        <id name="id" column="id">
+            <!-- The Author must have the same identifier as the Person -->
+            <generator class="assigned"/> 
+        </id>
+
+        <property name="alias"/>
+        <one-to-one name="person" constrained="true"/>
+
+        <set name="works" table="author_work" inverse="true">
+            <key column="author_id"/>
+            <many-to-many class="Work" column="work_id"/>
+        </set>
+
+    </class>
+
+    <class name="Person" table="persons">
+        <id name="id" column="id">
+            <generator class="native"/>
+        </id>
+        <property name="name"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+    <para>
+        ‚±‚̃}ƒbƒsƒ“ƒO‚É‚Í4‚‚̃e[ƒuƒ‹‚ª‚ ‚è‚Ü‚·B
+        <literal>works</literal> , <literal>authors</literal> , <literal>persons</literal> 
+        ‚Í‚»‚ꂼ‚êAŽdŽ–AìŽÒAl‚̃f[ƒ^‚ð•ÛŽ‚µ‚Ü‚·B
+        <literal>author_work</literal> ‚͍ìŽÒ‚ƍì•i‚ðƒŠƒ“ƒN‚·‚éŠÖ˜Aƒe[ƒuƒ‹‚Å‚·B
+        ˆÈ‰º‚Í <literal>SchemaExport</literal> ‚Ő¶¬‚µ‚½ƒe[ƒuƒ‹ƒXƒL[ƒ}‚Å‚·B
+    </para>
+
+    <programlisting><![CDATA[create table works (
+    id BIGINT not null generated by default as identity, 
+    tempo FLOAT, 
+    genre VARCHAR(255), 
+    text INTEGER, 
+    title VARCHAR(255), 
+    type CHAR(1) not null, 
+    primary key (id)
+)
+
+create table author_work (
+    author_id BIGINT not null, 
+    work_id BIGINT not null, 
+    primary key (work_id, author_id)
+)
+
+create table authors (
+    id BIGINT not null generated by default as identity, 
+    alias VARCHAR(255), 
+    primary key (id)
+)
+
+create table persons (
+    id BIGINT not null generated by default as identity, 
+    name VARCHAR(255), 
+    primary key (id)
+)
+
+alter table authors 
+    add constraint authorsFK0 foreign key (id) references persons
+alter table author_work 
+    add constraint author_workFK0 foreign key (author_id) references authors
+alter table author_work
+    add constraint author_workFK1 foreign key (work_id) references works]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="example-mappings-customerorderproduct">
+        <title>ŒÚ‹q/’•¶/»•i</title>
+
+        <para>
+            ‚³‚āA <literal>Customer</literal> , <literal>Order</literal> , <literal>LineItem</literal> 
+            <literal>Product</literal> ‚ÌŠÖŒW‚ð•\‚·ƒ‚ƒfƒ‹‚ðl‚¦‚Ä‚Ý‚Ü‚µ‚傤B
+            <literal>Customer</literal> ‚Æ <literal>Order</literal> ‚͈ê‘Α½‚ÌŠÖ˜A‚Å‚·‚ªA
+            <literal>Order</literal> / <literal>LineItem</literal> / <literal>Product</literal> 
+            ‚͂ǂ̂悤‚É•\Œ»‚·‚é‚ׂ«‚Å‚µ‚傤‚©H
+            <literal>LineItem</literal> ‚ðA<literal>Order</literal> ‚Æ <literal>Product</literal> 
+            ‚Ì‘½‘Α½ŠÖ˜A‚ð•\Œ»‚·‚éŠÖ˜AƒNƒ‰ƒX‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚½B
+            Hibernate‚Å‚Í‚±‚ê‚ðƒRƒ“ƒ|ƒWƒbƒg—v‘f‚ƌĂт܂·B
+        </para>
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="../images/CustomerOrderProduct.png" format="PNG" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../images/CustomerOrderProduct.png" format="PNG" align="center"/>
+            </imageobject>
+        </mediaobject>
+        
+        <para>
+            ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒgF
+        </para>
+        
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="Customer" table="customers">
+        <id name="id">
+            <generator class="native"/>
+        </id>
+        <property name="name"/>
+        <set name="orders" inverse="true">
+            <key column="customer_id"/>
+            <one-to-many class="Order"/>
+        </set>
+    </class>
+
+    <class name="Order" table="orders">
+        <id name="id">
+            <generator class="native"/>
+        </id>
+        <property name="date"/>
+        <many-to-one name="customer" column="customer_id"/>
+        <list name="lineItems" table="line_items">
+            <key column="order_id"/>
+            <list-index column="line_number"/>
+            <composite-element class="LineItem">
+                <property name="quantity"/>
+                <many-to-one name="product" column="product_id"/>
+            </composite-element>
+        </list>
+    </class>
+
+    <class name="Product" table="products">
+        <id name="id">
+            <generator class="native"/>
+        </id>
+        <property name="serialNumber"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+    <para>
+        <literal>customers</literal> , <literal>orders</literal> , <literal>line_items</literal> , 
+        <literal>products</literal> ‚Í‚»‚ꂼ‚êAŒÚ‹qA’•¶A’•¶–¾×A»•i‚̃f[ƒ^‚ð•ÛŽ‚µ‚Ü‚·B
+        <literal>line_items</literal> ‚Í’•¶‚Ɛ»•i‚ðƒŠƒ“ƒN‚·‚éŠÖ˜Aƒe[ƒuƒ‹‚Æ‚µ‚Ä‚à“­‚«‚Ü‚·B
+    </para>
+
+    <programlisting><![CDATA[create table customers (
+    id BIGINT not null generated by default as identity, 
+    name VARCHAR(255), 
+    primary key (id)
+)
+
+create table orders (
+    id BIGINT not null generated by default as identity, 
+    customer_id BIGINT, 
+    date TIMESTAMP, 
+    primary key (id)
+)
+
+create table line_items (
+    line_number INTEGER not null, 
+    order_id BIGINT not null, 
+    product_id BIGINT, 
+    quantity INTEGER, 
+    primary key (order_id, line_number)
+)
+
+create table products (
+    id BIGINT not null generated by default as identity, 
+    serialNumber VARCHAR(255), 
+    primary key (id)
+)
+
+alter table orders 
+    add constraint ordersFK0 foreign key (customer_id) references customers
+alter table line_items
+    add constraint line_itemsFK0 foreign key (product_id) references products
+alter table line_items
+    add constraint line_itemsFK1 foreign key (order_id) references orders]]></programlisting>
+
+    </sect1>
+    
+    <sect1 id="misc">
+        <title>ŽíXŽG‘½‚ȃ}ƒbƒsƒ“ƒO—á</title>
+        
+        <para>
+            ‚±‚±‚É‚ ‚é—á‚Í‚·‚ׂÄHibernate‚̃eƒXƒgƒXƒC[ƒg‚©‚çŽæ‚è‚Ü‚µ‚½B
+            ‚»‚±‚ɂ́A‘¼‚É‚à‚½‚­‚³‚ñ‚̃}ƒbƒsƒ“ƒO‚̗Ⴊ‚ ‚è‚Ü‚·B
+            HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì <literal>test</literal> ƒtƒHƒ‹ƒ_‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <para>TODO: ‚±‚±‚É•¶Í‚ð–„‚ß‚é</para>
+        
+        <sect2 id="example-mappings-typed-onetone">
+            <title>uŒ^•t‚¯‚³‚ꂽvˆê‘ΈêŠÖ˜A</title>
+<programlisting><![CDATA[<class name="Person">
+    <id name="name"/>
+    <one-to-one name="address" 
+            cascade="all">
+        <formula>name</formula>
+        <formula>'HOME'</formula>
+    </one-to-one>
+    <one-to-one name="mailingAddress" 
+            cascade="all">
+        <formula>name</formula>
+        <formula>'MAILING'</formula>
+    </one-to-one>
+</class>
+
+<class name="Address" batch-size="2" 
+        check="addressType in ('MAILING', 'HOME', 'BUSINESS')">
+    <composite-id>
+        <key-many-to-one name="person" 
+                column="personName"/>
+        <key-property name="type" 
+                column="addressType"/>
+    </composite-id>
+    <property name="street" type="text"/>
+    <property name="state"/>
+    <property name="zip"/>
+</class>]]></programlisting>
+        </sect2>
+        
+        <sect2 id="example-mappings-composite-key">
+            <title>•¡‡ƒL[‚Ì—á</title>
+<programlisting><![CDATA[<class name="Customer">
+
+    <id name="customerId"
+        length="10">
+        <generator class="assigned"/>
+    </id>
+
+    <property name="name" not-null="true" length="100"/>
+    <property name="address" not-null="true" length="200"/>
+
+    <list name="orders"
+            inverse="true"
+            cascade="save-update">
+        <key column="customerId"/>
+        <index column="orderNumber"/>
+        <one-to-many class="Order"/>
+    </list>
+
+</class>
+
+<class name="Order" table="CustomerOrder" lazy="true">
+    <synchronize table="LineItem"/>
+    <synchronize table="Product"/>
+    
+    <composite-id name="id" 
+            class="Order$Id">
+        <key-property name="customerId" length="10"/>
+        <key-property name="orderNumber"/>
+    </composite-id>
+    
+    <property name="orderDate" 
+            type="calendar_date"
+            not-null="true"/>
+    
+    <property name="total">
+        <formula>
+            ( select sum(li.quantity*p.price) 
+            from LineItem li, Product p 
+            where li.productId = p.productId 
+                and li.customerId = customerId 
+                and li.orderNumber = orderNumber )
+        </formula>
+    </property>
+    
+    <many-to-one name="customer"
+            column="customerId"
+            insert="false"
+            update="false" 
+            not-null="true"/>
+        
+    <bag name="lineItems"
+            fetch="join" 
+            inverse="true"
+            cascade="save-update">
+        <key>
+            <column name="customerId"/>
+            <column name="orderNumber"/>
+        </key>
+        <one-to-many class="LineItem"/>
+    </bag>
+    
+</class>
+    
+<class name="LineItem">
+    
+    <composite-id name="id" 
+            class="LineItem$Id">
+        <key-property name="customerId" length="10"/>
+        <key-property name="orderNumber"/>
+        <key-property name="productId" length="10"/>
+    </composite-id>
+    
+    <property name="quantity"/>
+    
+    <many-to-one name="order"
+            insert="false"
+            update="false" 
+            not-null="true">
+        <column name="customerId"/>
+        <column name="orderNumber"/>
+    </many-to-one>
+    
+    <many-to-one name="product"
+            insert="false"
+            update="false" 
+            not-null="true"
+            column="productId"/>
+        
+</class>
+
+<class name="Product">
+    <synchronize table="LineItem"/>
+
+    <id name="productId"
+        length="10">
+        <generator class="assigned"/>
+    </id>
+    
+    <property name="description" 
+        not-null="true" 
+        length="200"/>
+    <property name="price" length="3"/>
+    <property name="numberAvailable"/>
+    
+    <property name="numberOrdered">
+        <formula>
+            ( select sum(li.quantity) 
+            from LineItem li 
+            where li.productId = productId )
+        </formula>
+    </property>
+    
+</class>]]></programlisting>
+        </sect2>
+        
+        <sect2 id="example-mappings-composite-key-manytomany">
+            <title>•¡‡ƒL[‘®«‚ð‹¤—L‚·‚鑽‘Α½</title>
+<programlisting><![CDATA[<class name="User" table="`User`">
+    <composite-id>
+        <key-property name="name"/>
+        <key-property name="org"/>
+    </composite-id>
+    <set name="groups" table="UserGroup">
+        <key>
+            <column name="userName"/>
+            <column name="org"/>
+        </key>
+        <many-to-many class="Group">
+            <column name="groupName"/>
+            <formula>org</formula>
+        </many-to-many>
+    </set>
+</class>
+    
+<class name="Group" table="`Group`">
+    <composite-id>
+        <key-property name="name"/>
+        <key-property name="org"/>
+    </composite-id>
+    <property name="description"/>
+    <set name="users" table="UserGroup" inverse="true">
+        <key>
+            <column name="groupName"/>
+            <column name="org"/>
+        </key>
+        <many-to-many class="User">
+            <column name="userName"/>
+            <formula>org</formula>
+        </many-to-many>
+    </set>
+</class>
+]]></programlisting>
+        </sect2>
+
+        <sect2 id="example-mappings-content-discrimination">
+            <title>discrimination‚ÉŠî‚­“à—e</title>
+<programlisting><![CDATA[<class name="Person"
+    discriminator-value="P">
+    
+    <id name="id" 
+        column="person_id" 
+        unsaved-value="0">
+        <generator class="native"/>
+    </id>
+    
+            
+    <discriminator 
+        type="character">
+        <formula>
+            case 
+                when title is not null then 'E' 
+                when salesperson is not null then 'C' 
+                else 'P' 
+            end
+        </formula>
+    </discriminator>
+
+    <property name="name" 
+        not-null="true"
+        length="80"/>
+        
+    <property name="sex" 
+        not-null="true"
+        update="false"/>
+    
+    <component name="address">
+        <property name="address"/>
+        <property name="zip"/>
+        <property name="country"/>
+    </component>
+    
+    <subclass name="Employee" 
+        discriminator-value="E">
+            <property name="title"
+                length="20"/>
+            <property name="salary"/>
+            <many-to-one name="manager"/>
+    </subclass>
+    
+    <subclass name="Customer" 
+        discriminator-value="C">
+            <property name="comments"/>
+            <many-to-one name="salesperson"/>
+    </subclass>
+    
+</class>]]></programlisting>
+        </sect2>
+
+        <sect2 id="example-mappings-association-alternatekeys" revision="2">
+            <title>‘ã‘ÖƒL[‚ÌŠÖ˜A</title>
+<programlisting><![CDATA[<class name="Person">
+    
+    <id name="id">
+        <generator class="hilo"/>
+    </id>
+    
+    <property name="name" length="100"/>
+    
+    <one-to-one name="address" 
+        property-ref="person"
+        cascade="all"
+        fetch="join"/>
+    
+    <set name="accounts" 
+        inverse="true">
+        <key column="userId"
+            property-ref="userId"/>
+        <one-to-many class="Account"/>
+    </set>
+    
+    <property name="userId" length="8"/>
+
+</class>
+
+<class name="Address">
+
+    <id name="id">
+        <generator class="hilo"/>
+    </id>
+
+    <property name="address" length="300"/>
+    <property name="zip" length="5"/>
+    <property name="country" length="25"/>
+    <many-to-one name="person" unique="true" not-null="true"/>
+
+</class>
+
+<class name="Account">
+    <id name="accountId" length="32">
+        <generator class="uuid"/>
+    </id>
+    
+    <many-to-one name="user"
+        column="userId"
+        property-ref="userId"/>
+    
+    <property name="type" not-null="true"/>
+    
+</class>]]></programlisting>
+        </sect2>
+
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/example_parentchild.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="example-parentchild">
+    <title>—áFe/Žq‹Ÿ
+    </title>
+
+    <para>
+        V‹Kƒ†[ƒU‚ªHibernate‚ðŽg‚Á‚Ä‚Ü‚¸Å‰‚Ɉµ‚¤ƒ‚ƒfƒ‹‚̈ê‚‚ɁAeŽqŒ^‚̃‚ƒfƒ‹‰»‚ª‚ ‚è‚Ü‚·B
+        ‚±‚̃‚ƒfƒ‹‰»‚É‚Í“ñ‚‚̃Aƒvƒ[ƒ`‚ª‘¶Ý‚µ‚Ü‚·B‚Æ‚è‚킯V‹Kƒ†[ƒU‚É‚Æ‚Á‚āA
+        ‚³‚Ü‚´‚Ü‚È——R‚©‚çÅ‚à•Ö—˜‚¾‚ÆŽv‚í‚ê‚éƒAƒvƒ[ƒ`‚́A<literal>e</literal> ‚©‚ç <literal>Žq‹Ÿ</literal> 
+        ‚Ö‚Ì <literal>&lt;one-to-many&gt;</literal> ŠÖ˜A‚É‚æ‚è <literal>e</literal> ‚Æ <literal>Žq‹Ÿ</literal> 
+        ‚Ì—¼•û‚ðƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚Æ‚µ‚ă‚ƒfƒŠƒ“ƒO‚·‚é•û–@‚Å‚·
+        i‚à‚¤ˆê‚‚̕û–@‚́A<literal>Žq‹Ÿ</literal> ‚ð <literal>&lt;composite-element&gt;</literal> ‚Æ‚µ‚Ä’è‹`‚·‚é‚à‚Ì‚Å‚·jB
+        ‚±‚ê‚ŁiHibernate‚É‚¨‚¯‚éjˆê‘Α½ŠÖ˜A‚̃fƒtƒHƒ‹ƒg‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ªA’ʏí‚Ì•¡‡—v‘f‚̃}ƒbƒsƒ“ƒO‚æ‚è‚àA
+        eŽqŠÖŒW‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚©‚牓‚¢‚±‚Æ‚ª‚í‚©‚è‚Ü‚·B
+        ‚»‚ê‚ł͐eŽqŠÖŒW‚ðŒø—¦“I‚©‚ƒGƒŒƒKƒ“ƒg‚Ƀ‚ƒfƒŠƒ“ƒO‚·‚邽‚߂ɁA
+        <emphasis>ƒJƒXƒP[ƒh‘€ì‚ðŽg‚Á‚½‘o•ûŒüˆê‘Α½ŠÖ˜A</emphasis> ‚̈µ‚¢•û‚ðà–¾‚µ‚Ü‚·B‚±‚ê‚Í‚Ü‚Á‚½‚­“‚¢‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+        
+    </para>
+    
+    <sect1 id="example-parentchild-collections">
+        <title>ƒRƒŒƒNƒVƒ‡ƒ“‚ÉŠÖ‚·‚钍ˆÓ</title>
+
+        <para>
+            Hibernate‚̃RƒŒƒNƒVƒ‡ƒ“‚ÍŽ©g‚̃Gƒ“ƒeƒBƒeƒB‚̘_—“I‚È•”•ª‚ƍl‚¦‚ç‚êA
+            Œˆ‚µ‚Ä•ïŠÜ‚·‚éƒGƒ“ƒeƒBƒeƒB‚Ì‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚±‚ê‚Í’v–½“I‚ȈႢ‚Å‚·I
+            ‚±‚ê‚͈ȉº‚̂悤‚ÈŒ‹‰Ê‚É‚È‚è‚Ü‚·F
+        </para>
+
+        <itemizedlist>
+            <listitem>
+            <para>
+                ƒIƒuƒWƒFƒNƒg‚ðƒRƒŒƒNƒVƒ‡ƒ“‚©‚çíœA‚Ü‚½‚̓RƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚·‚é‚Æ‚«A
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̃I[ƒi[‚̃o[ƒWƒ‡ƒ“”ԍ†‚̓Cƒ“ƒNƒŠƒƒ“ƒg‚³‚ê‚Ü‚·B
+            </para>
+            </listitem>
+            <listitem>
+            <para>
+                ‚à‚µƒRƒŒƒNƒVƒ‡ƒ“‚©‚çíœ‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ª’lŒ^‚̃Cƒ“ƒXƒ^ƒ“ƒX
+                i—Ⴆ‚΃Rƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg)‚¾‚Á‚½‚È‚ç‚΁A‚»‚̃IƒuƒWƒFƒNƒg‚͉i‘±“I‚Å‚Í‚È‚­‚È‚èA
+                ‚»‚̏ó‘Ԃ̓f[ƒ^ƒx[ƒX‚©‚犮‘S‚ɍ폜‚³‚ê‚Ü‚·B
+                “¯‚¶‚悤‚ɁA’lŒ^‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚·‚é‚ƁA‚»‚̏ó‘Ô‚Í‚·‚®‚ɉi‘±“I‚É‚È‚è‚Ü‚·B
+            </para>
+            </listitem>
+            <listitem>
+            <para>
+                ˆê•ûA‚à‚µƒGƒ“ƒeƒBƒeƒB‚ªƒRƒŒƒNƒVƒ‡ƒ“iˆê‘Α½‚Ü‚½‚Í‘½‘Α½ŠÖ˜A)‚©‚çíœ‚³‚ê‚Ä‚àA
+                ƒfƒtƒHƒ‹ƒg‚Å‚Í‚»‚ê‚͍폜‚³‚ê‚Ü‚¹‚ñB‚±‚Ì“®ì‚ÍŠ®‘S‚ɈêŠÑ‚µ‚Ä‚¢‚Ü‚·B
+                ‚·‚È‚í‚¿A‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ì“à•”ó‘Ô‚ð•ÏX‚µ‚Ä‚àAŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ªÁ–Å‚·‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                “¯—l‚ɁAƒGƒ“ƒeƒBƒeƒB‚ªƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚àAƒfƒtƒHƒ‹ƒg‚Å‚Í‚»‚̃Gƒ“ƒeƒBƒeƒB‚͉i‘±“I‚É‚Í‚È‚è‚Ü‚¹‚ñB
+            </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            ‚»‚Ì‘ã‚í‚è‚ɁAƒfƒtƒHƒ‹ƒg‚Ì“®ì‚ł́AƒGƒ“ƒeƒBƒeƒB‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚·‚é‚Æ’P‚É“ñ‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚̃Šƒ“ƒN‚ðì¬‚µA
+            ˆê•ûƒGƒ“ƒeƒBƒeƒB‚ðíœ‚·‚é‚ƃŠƒ“ƒN‚àíœ‚µ‚Ü‚·B‚±‚ê‚Í‚·‚ׂẴP[ƒX‚É‚¨‚¢‚Ä”ñí‚É“KØ‚Å‚·B
+            ‚±‚ꂪ“KØ‚Å‚È‚¢‚̂͐e/ŽqŠÖŒW‚̏ꍇ‚Å‚·B‚±‚̏ꍇŽq‹Ÿ‚̐¶‘¶‚͐e‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ɐ§ŒÀ‚³‚ê‚é‚©‚ç‚Å‚·B
+        </para>
+    
+    </sect1>
+
+    <sect1 id="example-parentchild-bidir">
+        <title>‘o•ûŒüˆê‘Α½
+        </title>
+
+        <para>
+            <literal>Parent</literal> ‚©‚ç <literal>Child</literal> ‚Ö‚Ì’Pƒ‚È <literal>&lt;one-to-many&gt;</literal> ŠÖ˜A‚©‚çŽn‚ß‚é‚Æ‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<set name="children">
+    <key column="parent_id"/>
+    <one-to-many class="Child"/>
+</set>]]></programlisting>
+    
+        <para>
+            ˆÈ‰º‚̃R[ƒh‚ðŽÀs‚·‚é‚ƁA
+        </para>
+
+        <programlisting><![CDATA[Parent p = .....;
+Child c = new Child();
+p.getChildren().add(c);
+session.save(c);
+session.flush();]]></programlisting>
+    
+        <para>
+            Hibernate‚Í“ñ‚‚ÌSQL•¶‚𔭍s‚µ‚Ü‚·:
+        </para>
+
+        <itemizedlist>
+        <listitem>
+            <para>
+            <literal>c</literal>‚ɑ΂·‚郌ƒR[ƒh‚𐶐¬‚·‚é<literal>INSERT</literal>
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+            <literal>p</literal>‚©‚ç<literal>c</literal>‚ւ̃Šƒ“ƒN‚ðì¬‚·‚é<literal>UPDATE</literal>
+            </para>
+        </listitem>
+        </itemizedlist>
+    
+        <para>
+            ‚±‚ê‚Í”ñŒø—¦“I‚È‚¾‚¯‚Å‚Í‚È‚­A<literal>parent_id</literal> ƒJƒ‰ƒ€‚É‚¨‚¢‚Ä <literal>NOT NULL</literal> §–ñ‚Ɉᔽ‚µ‚Ü‚·B
+            ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Å <literal>not-null="true"</literal> ‚ÆŽw’è‚·‚邱‚ƂŁAnull§–ñˆá”½‚ð‰ðŒˆ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·:
+        </para>
+
+        <programlisting><![CDATA[<set name="children">
+    <key column="parent_id" not-null="true"/>
+    <one-to-many class="Child"/>
+</set>]]></programlisting>
+    
+        <para>
+            ‚µ‚©‚µ‚±‚Ì‰ðŒˆô‚͐„§‚Å‚«‚Ü‚¹‚ñB
+        </para>
+        <para>
+            ‚±‚Ì“®ì‚̍ª–{“I‚ÈŒ´ˆö‚́A<literal>p</literal> ‚©‚ç <literal>c</literal> ‚ւ̃Šƒ“ƒN
+            iŠO•”ƒL[ <literal>parent_id</literal>)‚Í <literal>Child</literal> ƒIƒuƒWƒFƒNƒg‚̏ó‘Ԃ̈ꕔ‚Ƃ͍l‚¦‚ç‚ꂸA
+            ‚»‚Ì‚½‚ß <literal>INSERT</literal> ‚É‚æ‚Á‚ăŠƒ“ƒN‚ª¶¬‚³‚ê‚È‚¢‚±‚Æ‚Å‚·B
+            ‚Å‚·‚©‚çA‰ðŒˆô‚̓Šƒ“ƒN‚ðChildƒ}ƒbƒsƒ“ƒO‚̈ꕔ‚É‚·‚邱‚Æ‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<many-to-one name="parent" column="parent_id" not-null="true"/>]]></programlisting>
+
+        <para>
+            (‚Ü‚½ <literal>Child</literal> ƒNƒ‰ƒX‚É <literal>parent</literal> ƒvƒƒpƒeƒB‚ð’ljÁ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B)
+        </para>
+
+        <para>
+            ‚»‚ê‚Å‚Í <literal>Child</literal> ƒGƒ“ƒeƒBƒeƒB‚ªƒŠƒ“ƒN‚̏ó‘Ԃ𐧌䂷‚é‚悤‚É‚È‚Á‚½‚̂ŁA
+            ƒRƒŒƒNƒVƒ‡ƒ“‚ªƒŠƒ“ƒN‚ðXV‚µ‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤B‚»‚ê‚É‚Í <literal>inverse</literal> ‘®«‚ðŽg‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<set name="children" inverse="true">
+    <key column="parent_id"/>
+    <one-to-many class="Child"/>
+</set>]]></programlisting>
+
+        <para>
+            ˆÈ‰º‚̃R[ƒh‚ðŽg‚¦‚΁AV‚µ‚¢ <literal>Child</literal> ‚ð’ljÁ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[Parent p = (Parent) session.load(Parent.class, pid);
+Child c = new Child();
+c.setParent(p);
+p.getChildren().add(c);
+session.save(c);
+session.flush();]]></programlisting>
+
+        <para>
+            ‚±‚ê‚É‚æ‚èASQL‚Ì <literal>INSERT</literal> •¶‚ªˆê‚‚¾‚¯‚ª”­s‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½I
+        </para>
+
+        <para>
+            ‚à‚¤­‚µ‹­‰»‚·‚é‚ɂ́A<literal>Parent</literal> ‚Ì <literal>addChild()</literal> ƒƒ\ƒbƒh‚ðì¬‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[public void addChild(Child c) {
+    c.setParent(this);
+    children.add(c);
+}]]></programlisting>
+
+        <para>
+            <literal>Child</literal> ‚ð’ljÁ‚·‚éƒR[ƒh‚Í‚±‚̂悤‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[Parent p = (Parent) session.load(Parent.class, pid);
+Child c = new Child();
+p.addChild(c);
+session.save(c);
+session.flush();]]></programlisting>
+
+     </sect1>
+     
+     <sect1 id="example-parentchild-cascades">
+         <title>ƒ‰ƒCƒtƒTƒCƒNƒ‹‚̃JƒXƒP[ƒh</title>
+     
+         <para>
+              –¾Ž¦“I‚É <literal>save()</literal> ‚ðƒR[ƒ‹‚·‚é‚Ì‚Í‚Ü‚¾”ς킵‚¢‚à‚Ì‚Å‚·B‚±‚ê‚ðƒJƒXƒP[ƒh‚ðŽg‚Á‚đΏˆ‚µ‚Ü‚·B
+         </para>
+
+        <programlisting><![CDATA[<set name="children" inverse="true" cascade="all">
+    <key column="parent_id"/>
+    <one-to-many class="Child"/>
+</set>]]></programlisting>
+     
+         <para>
+             ‚±‚ê‚É‚æ‚èæ‚قǂ̃R[ƒh‚ð‚±‚Ì‚æ‚¤‚É’Pƒ‰»‚µ‚Ü‚·
+         </para>
+
+        <programlisting><![CDATA[Parent p = (Parent) session.load(Parent.class, pid);
+Child c = new Child();
+p.addChild(c);
+session.flush();]]></programlisting>
+     
+         <para>
+             “¯—l‚É <literal>Parent</literal> ‚ð•Û‘¶‚Ü‚½‚͍폜‚·‚é‚Æ‚«‚ɁAŽq‹Ÿ‚ðˆê‚ˆê‚ÂŽæ‚èo‚µ‚Ĉµ‚¤•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+             ˆÈ‰º‚̃R[ƒh‚Í <literal>p</literal> ‚ðíœ‚µA‚»‚µ‚ăf[ƒ^ƒx[ƒX‚©‚ç‚»‚ÌŽq‹Ÿ‚ð‚·‚×‚Äíœ‚µ‚Ü‚·B
+         </para>
+
+         <programlisting><![CDATA[Parent p = (Parent) session.load(Parent.class, pid);
+session.delete(p);
+session.flush();]]></programlisting>
+     
+         <para>
+             ‚µ‚©‚µ‚±‚̃R[ƒh‚Í
+         </para>
+
+         <programlisting><![CDATA[Parent p = (Parent) session.load(Parent.class, pid);
+Child c = (Child) p.getChildren().iterator().next();
+p.getChildren().remove(c);
+c.setParent(null);
+session.flush();]]></programlisting>
+     
+         <para>
+             ƒf[ƒ^ƒx[ƒX‚©‚ç <literal>c</literal> ‚ðíœ‚µ‚Ü‚¹‚ñB<literal>p</literal> ‚ւ̃Šƒ“ƒN‚ðíœ‚·‚é
+             i‚»‚µ‚Ä‚±‚̃P[ƒX‚Å‚Í <literal>NOT NULL</literal> §–ñˆá”½‚ðˆø‚«‹N‚±‚·j‚¾‚¯‚Å‚·B
+             <literal>Child</literal> ‚Ì <literal>delete()</literal> ‚𖾎¦‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+         </para>
+
+         <programlisting><![CDATA[Parent p = (Parent) session.load(Parent.class, pid);
+Child c = (Child) p.getChildren().iterator().next();
+p.getChildren().remove(c);
+session.delete(c);
+session.flush();]]></programlisting>
+
+         <para>
+             ¡‚±‚̃P[ƒX‚Å‚ÍŽÀÛ‚É <literal>Child</literal> ‚ªe‚È‚µ‚Å‚Í‘¶Ý‚Å‚«‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½B
+             ‚»‚Ì‚½‚߁A‚à‚µƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç <literal>Child</literal> ‚ðŽæ‚菜‚­ê‡A‚±‚ê‚àíœ‚µ‚½‚¢‚Å‚·B
+             ‚»‚Ì‚½‚ß‚É‚Í <literal>cascade="all-delete-orphan"</literal> ‚ðŽg‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+         </para>
+
+        <programlisting><![CDATA[<set name="children" inverse="true" cascade="all-delete-orphan">
+    <key column="parent_id"/>
+    <one-to-many class="Child"/>
+</set>]]></programlisting>
+
+         <para>
+             ’ˆÓFƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Å <literal>inverse="true"</literal> ‚ÆŽw’肵‚Ä‚àA
+             ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚̃CƒeƒŒ[ƒVƒ‡ƒ“‚É‚æ‚Á‚āAˆË‘RƒJƒXƒP[ƒh‚ªŽÀs‚³‚ê‚Ü‚·B
+             ‚»‚Ì‚½‚ß‚à‚µƒJƒXƒP[ƒh‚ŃIƒuƒWƒFƒNƒg‚ðƒZ[ƒuAíœAXV‚·‚é•K—v‚ª‚ ‚é‚È‚çA
+             ‚»‚ê‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB’P‚É <literal>setParent()</literal> ‚ðŒÄ‚Ô‚¾‚¯‚Å‚Í•s\•ª‚Å‚·B
+         </para>
+               
+     </sect1>
+     
+     <sect1 id="example-parentchild-update">
+         <title>ƒJƒXƒP[ƒh‚Æ <literal>unsaved-value</literal></title>
+     
+         <para>
+             <literal>Parent</literal> ‚ªA‚ ‚é <literal>Session</literal> ‚э[ƒh‚³‚êAUI‚̃AƒNƒVƒ‡ƒ“‚ŕύX‚ª‰Á‚¦‚ç‚êA
+             <literal>update()</literal> ‚ðŒÄ‚ñ‚Å‚±‚̕ύX‚ðV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ʼni‘±‰»‚µ‚½‚¢‚Æ‚µ‚Ü‚·B
+             <literal>Parent</literal> ‚ªŽq‹Ÿ‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŽ‚¿AƒJƒXƒP[ƒhXV‚ª—LŒø‚É‚È‚Á‚Ä‚¢‚邽‚߁A
+             Hibernate‚Í‚Ç‚ÌŽq‹Ÿ‚ªV‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚©A‚ǂꂪƒf[ƒ^ƒx[ƒX‚ÌŠù‘¶‚̍s‚É‘Š“–‚·‚é‚Ì‚©‚ð’m‚é•K—v‚ª‚ ‚è‚Ü‚·B
+              <literal>Parent</literal> ‚Æ <literal>Child</literal> ‚Ì—¼•û‚ª <literal>java.lang.Long</literal> 
+             Œ^‚ÌŽ¯•ÊƒvƒƒpƒeƒB‚𐶐¬‚µ‚½‚Æ‚µ‚Ü‚µ‚傤B
+             Hibernate‚Í‚Ç‚ÌŽq‹Ÿ‚ªV‚µ‚¢‚à‚Ì‚©‚ðŒˆ’è‚·‚邽‚ß‚ÉŽ¯•ÊƒvƒƒpƒeƒB‚Ì’l‚ðŽg‚¢‚Ü‚·(version‚âtimestampƒvƒƒpƒeƒB‚àŽg‚¦‚Ü‚·B
+             <xref linkend="manipulatingdata-updating-detached"/> ŽQÆ)BHibernate3‚É‚È‚Á‚āA
+             –¾Ž¦“I‚É <literal>unsaved-value</literal> ‚ðŽw’è‚·‚é•K—v‚Í‚È‚­‚È‚è‚Ü‚µ‚½B
+         </para>
+
+         <para>
+             ˆÈ‰º‚̃R[ƒh‚Í <literal>parent</literal> ‚Æ <literal>child</literal> ‚ðXV‚µA<literal>newChild</literal> ‚ð‘}“ü‚µ‚Ü‚·B
+         </para>
+
+         <programlisting><![CDATA[//parent and child were both loaded in a previous session
+//parent‚Æchild‚Í—¼•û‚Æ‚àAˆÈ‘O‚ÌSession‚э[ƒh‚³‚ê‚Ä‚¢‚Ü‚·
+parent.addChild(child);
+Child newChild = new Child();
+parent.addChild(newChild);
+session.update(parent);
+session.flush();]]></programlisting>
+     
+         <para>
+             ‚±‚ê‚ç‚͐¶¬‚³‚ꂽŽ¯•ÊŽq‚̏ꍇ‚É‚Í”ñí‚É—Ç‚¢‚Ì‚Å‚·‚ªAŠ„‚è“–‚Ä‚ç‚ꂽŽ¯•ÊŽq‚Æ•¡‡Ž¯•ÊŽq‚̏ꍇ‚Í‚Ç‚¤‚Å‚µ‚傤‚©H
+             ‚±‚ê‚ÍHibernate‚ªAiƒ†[ƒU‚É‚æ‚芄‚è“–‚Ä‚ç‚ꂽŽ¯•ÊŽq‚ðŽ‚ÂjV‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ƁA
+             ˆÈ‘O‚ÌSession‚э[ƒh‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ð‹æ•Ê‚Å‚«‚È‚¢‚½‚߁A‚æ‚è“‚¢‚Å‚·B
+             ‚±‚̏ꍇAHibernate‚̓^ƒCƒ€ƒXƒ^ƒ“ƒv‚©ƒo[ƒWƒ‡ƒ“‚̃vƒƒpƒeƒB‚Ì‚Ç‚¿‚ç‚©‚ðŽg‚¤‚©A“ñŽŸƒLƒƒƒbƒVƒ…‚É–â‚¢‡‚킹‚Ü‚·B
+             Åˆ«‚̏ꍇAs‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©ƒf[ƒ^ƒx[ƒX‚ðŒ©‚Ü‚·B
+         </para>
+         
+         <!-- undocumenting
+         <para>
+             There is one further possibility. The <literal>Interceptor</literal> method named 
+             <literal>isUnsaved()</literal> lets the application implement its own strategy for distinguishing
+             newly instantiated objects. For example, you could define a base class for your persistent classes.
+         </para>
+
+         <programlisting><![CDATA[public class Persistent {
+    private boolean _saved = false;
+    public void onSave() {
+        _saved=true;
+    }
+    public void onLoad() {
+        _saved=true;
+    }
+    ......
+    public boolean isSaved() {
+        return _saved;
+    }
+}]]></programlisting>
+     
+         <para>
+             (The <literal>saved</literal> property is non-persistent.)
+             Now implement <literal>isUnsaved()</literal>, along with <literal>onLoad()</literal>
+             and <literal>onSave()</literal> as follows.
+         </para>
+
+         <programlisting><![CDATA[public Boolean isUnsaved(Object entity) {
+    if (entity instanceof Persistent) {
+        return new Boolean( !( (Persistent) entity ).isSaved() );
+    }
+    else {
+        return null;
+    }
+}
+
+public boolean onLoad(Object entity, 
+    Serializable id,
+    Object[] state,
+    String[] propertyNames,
+    Type[] types) {
+
+    if (entity instanceof Persistent) ( (Persistent) entity ).onLoad();
+    return false;
+}
+
+public boolean onSave(Object entity,
+    Serializable id,
+    Object[] state,
+    String[] propertyNames,
+    Type[] types) {
+        
+    if (entity instanceof Persistent) ( (Persistent) entity ).onSave();
+    return false;
+}]]></programlisting>
+
+        <para>
+            Don't worry; in Hibernate3 you don't need to write any of this kind of code if you don't want to.
+        </para>
+     -->
+     </sect1>
+
+     <sect1 id="example-parentchild-conclusion">
+         <title>Œ‹˜_
+         </title>
+
+         <para>
+             ‚±‚±‚Å‚Í‚©‚È‚è‚Ì—Ê‚ð—v–ñ‚µ‚½‚̂ŁAÅ‰‚̍ ‚͍¬—‚µ‚Ä‚¢‚é‚悤‚ÉŽv‚í‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+             ‚µ‚©‚µŽÀÛ‚́A‚·‚ׂĔñí‚É—Ç‚­“®ì‚µ‚Ü‚·B‚Ù‚Æ‚ñ‚Ç‚ÌHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́A‘½‚­‚̏ê–ʂŐeŽqƒpƒ^[ƒ“‚ðŽg—p‚µ‚Ü‚·B
+         </para>
+
+         <para>
+             Å‰‚Ì’i—Ž‚Å‘ã‘Ö•û–@‚ɂ‚¢‚ĐG‚ê‚Ü‚µ‚½Bã‹L‚̂悤‚È–â‘è‚Í <literal>&lt;composite-element&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚̏ꍇ‚Í‘¶Ý‚¹‚¸A
+             ‚É‚à‚©‚©‚í‚炸‚»‚ê‚ÍŠm‚©‚ɐeŽqŠÖŒW‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚¿‚Ü‚·B
+             ‚µ‚©‚µŽc”O‚È‚ª‚çA•¡‡—v‘fƒNƒ‰ƒX‚É‚Í“ñ‚‚̑傫‚Ȑ§ŒÀ‚ª‚ ‚è‚Ü‚·F
+             1‚‚͕¡‡—v‘f‚̓RƒŒƒNƒVƒ‡ƒ“‚ðŽ‚Â‚±‚Æ‚ª‚Å‚«‚È‚¢‚±‚Æ‚Å‚·B‚à‚¤‚ЂƂ‚́A
+             ƒ†ƒj[ƒN‚Ȑe‚Å‚Í‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚ÌŽq‹Ÿ‚Æ‚È‚é‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·
+         </para>
+     
+     </sect1>
+     
+</chapter>
\ No newline at end of file

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_weblog.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/example_weblog.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_weblog.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/example_weblog.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,433 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="example-weblog">
+    <title>—á: WeblogƒAƒvƒŠƒP[ƒVƒ‡ƒ“</title>
+
+    <sect1 id="example-weblog-classes">
+        <title>‰i‘±ƒNƒ‰ƒX
+        </title>
+
+        <para>
+            ‰i‘±ƒNƒ‰ƒX‚ªƒEƒFƒuƒƒO‚ƁAƒEƒFƒuƒƒO‚ÉŒfŽ¦‚³‚ꂽ€–Ú‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+            ‚»‚ê‚ç‚͒ʏí‚̐eŽqŠÖŒW‚Æ‚µ‚ă‚ƒfƒŠƒ“ƒO‚³‚ê‚Ü‚·‚ªA
+            set‚Å‚Í‚È‚­‡˜‚ðŽ‚Á‚½bag‚ðŽg—p‚·‚邱‚Æ‚É‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[package eg;
+
+import java.util.List;
+
+public class Blog {
+    private Long _id;
+    private String _name;
+    private List _items;
+
+    public Long getId() {
+        return _id;
+    }
+    public List getItems() {
+        return _items;
+    }
+    public String getName() {
+        return _name;
+    }
+    public void setId(Long long1) {
+        _id = long1;
+    }
+    public void setItems(List list) {
+        _items = list;
+    }
+    public void setName(String string) {
+        _name = string;
+    }
+}]]></programlisting>
+
+        <programlisting><![CDATA[package eg;
+
+import java.text.DateFormat;
+import java.util.Calendar;
+
+public class BlogItem {
+    private Long _id;
+    private Calendar _datetime;
+    private String _text;
+    private String _title;
+    private Blog _blog;
+
+    public Blog getBlog() {
+        return _blog;
+    }
+    public Calendar getDatetime() {
+        return _datetime;
+    }
+    public Long getId() {
+        return _id;
+    }
+    public String getText() {
+        return _text;
+    }
+    public String getTitle() {
+        return _title;
+    }
+    public void setBlog(Blog blog) {
+        _blog = blog;
+    }
+    public void setDatetime(Calendar calendar) {
+        _datetime = calendar;
+    }
+    public void setId(Long long1) {
+        _id = long1;
+    }
+    public void setText(String string) {
+        _text = string;
+    }
+    public void setTitle(String string) {
+        _title = string;
+    }
+}]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="example-weblog-mappings">
+        <title>Hibernate‚̃}ƒbƒsƒ“ƒO
+        </title>
+
+        <para>
+            XMLƒ}ƒbƒsƒ“ƒO‚́A¡‚Å‚Í‚Æ‚Ä‚àŠÈ’P‚È‚Í‚¸‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="eg">
+
+    <class
+        name="Blog"
+        table="BLOGS">
+
+        <id
+            name="id"
+            column="BLOG_ID">
+
+            <generator class="native"/>
+
+        </id>
+
+        <property
+            name="name"
+            column="NAME"
+            not-null="true"
+            unique="true"/>
+
+        <bag
+            name="items"
+            inverse="true"
+            order-by="DATE_TIME"
+            cascade="all">
+
+            <key column="BLOG_ID"/>
+            <one-to-many class="BlogItem"/>
+
+        </bag>
+
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+        <programlisting><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping package="eg">
+
+    <class
+        name="BlogItem"
+        table="BLOG_ITEMS"
+        dynamic-update="true">
+
+        <id
+            name="id"
+            column="BLOG_ITEM_ID">
+
+            <generator class="native"/>
+
+        </id>
+
+        <property
+            name="title"
+            column="TITLE"
+            not-null="true"/>
+
+        <property
+            name="text"
+            column="TEXT"
+            not-null="true"/>
+
+        <property
+            name="datetime"
+            column="DATE_TIME"
+            not-null="true"/>
+
+        <many-to-one
+            name="blog"
+            column="BLOG_ID"
+            not-null="true"/>
+
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+    </sect1>
+    
+    <sect1 id="example-weblog-code">
+        <title>Hibernate‚̃R[ƒh</title>
+
+        <para>
+            ˆÈ‰º‚̃Nƒ‰ƒX‚́A
+            Hibernate‚Å‚±‚ê‚ç‚̃Nƒ‰ƒX‚ðŽg‚Á‚Ä‚Å‚«‚邱‚Æ‚ð‚¢‚­‚‚©Ž¦‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[package eg;
+
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Iterator;
+import java.util.List;
+
+import org.hibernate.HibernateException;
+import org.hibernate.Query;
+import org.hibernate.Session;
+import org.hibernate.SessionFactory;
+import org.hibernate.Transaction;
+import org.hibernate.cfg.Configuration;
+import org.hibernate.tool.hbm2ddl.SchemaExport;
+
+public class BlogMain {
+    
+    private SessionFactory _sessions;
+    
+    public void configure() throws HibernateException {
+        _sessions = new Configuration()
+            .addClass(Blog.class)
+            .addClass(BlogItem.class)
+            .buildSessionFactory();
+    }
+    
+    public void exportTables() throws HibernateException {
+        Configuration cfg = new Configuration()
+            .addClass(Blog.class)
+            .addClass(BlogItem.class);
+        new SchemaExport(cfg).create(true, true);
+    }
+    
+    public Blog createBlog(String name) throws HibernateException {
+        
+        Blog blog = new Blog();
+        blog.setName(name);
+        blog.setItems( new ArrayList() );
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        try {
+            tx = session.beginTransaction();
+            session.persist(blog);
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+        return blog;
+    }
+    
+    public BlogItem createBlogItem(Blog blog, String title, String text)
+                        throws HibernateException {
+        
+        BlogItem item = new BlogItem();
+        item.setTitle(title);
+        item.setText(text);
+        item.setBlog(blog);
+        item.setDatetime( Calendar.getInstance() );
+        blog.getItems().add(item);
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        try {
+            tx = session.beginTransaction();
+            session.update(blog);
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+        return item;
+    }
+    
+    public BlogItem createBlogItem(Long blogid, String title, String text)
+                        throws HibernateException {
+        
+        BlogItem item = new BlogItem();
+        item.setTitle(title);
+        item.setText(text);
+        item.setDatetime( Calendar.getInstance() );
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        try {
+            tx = session.beginTransaction();
+            Blog blog = (Blog) session.load(Blog.class, blogid);
+            item.setBlog(blog);
+            blog.getItems().add(item);
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+        return item;
+    }
+    
+    public void updateBlogItem(BlogItem item, String text)
+                    throws HibernateException {
+        
+        item.setText(text);
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        try {
+            tx = session.beginTransaction();
+            session.update(item);
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+    }
+    
+    public void updateBlogItem(Long itemid, String text)
+                    throws HibernateException {
+    
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        try {
+            tx = session.beginTransaction();
+            BlogItem item = (BlogItem) session.load(BlogItem.class, itemid);
+            item.setText(text);
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+    }
+    
+    public List listAllBlogNamesAndItemCounts(int max)
+                    throws HibernateException {
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        List result = null;
+        try {
+            tx = session.beginTransaction();
+            Query q = session.createQuery(
+                "select blog.id, blog.name, count(blogItem) " +
+                "from Blog as blog " +
+                "left outer join blog.items as blogItem " +
+                "group by blog.name, blog.id " +
+                "order by max(blogItem.datetime)"
+            );
+            q.setMaxResults(max);
+            result = q.list();
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+        return result;
+    }
+    
+    public Blog getBlogAndAllItems(Long blogid)
+                    throws HibernateException {
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        Blog blog = null;
+        try {
+            tx = session.beginTransaction();
+            Query q = session.createQuery(
+                "from Blog as blog " +
+                "left outer join fetch blog.items " +
+                "where blog.id = :blogid"
+            );
+            q.setParameter("blogid", blogid);
+            blog  = (Blog) q.uniqueResult();
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+        return blog;
+    }
+    
+    public List listBlogsAndRecentItems() throws HibernateException {
+        
+        Session session = _sessions.openSession();
+        Transaction tx = null;
+        List result = null;
+        try {
+            tx = session.beginTransaction();
+            Query q = session.createQuery(
+                "from Blog as blog " +
+                "inner join blog.items as blogItem " +
+                "where blogItem.datetime > :minDate"
+            );
+
+            Calendar cal = Calendar.getInstance();
+            cal.roll(Calendar.MONTH, false);
+            q.setCalendar("minDate", cal);
+            
+            result = q.list();
+            tx.commit();
+        }
+        catch (HibernateException he) {
+            if (tx!=null) tx.rollback();
+            throw he;
+        }
+        finally {
+            session.close();
+        }
+        return result;
+    }
+}]]></programlisting>
+
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/filters.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/filters.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/filters.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/filters.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="filters">
+    <title>ƒf[ƒ^‚̃tƒBƒ‹ƒ^ƒŠƒ“ƒO</title>
+    
+    <para>
+        Hibernate3‚ł́u‰ÂŽ‹«vƒ‹[ƒ‹‚ÉŠî‚¢‚ăf[ƒ^‚ðˆµ‚¤‚½‚߂̉æŠú“I‚È•û–@‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+        <emphasis>Hibernate filter</emphasis> ‚̓Oƒ[ƒoƒ‹‚ŁA–¼‘O•t‚«‚ŁAƒpƒ‰ƒ[ƒ^‰»‚³‚ꂽƒtƒBƒ‹ƒ^‚Å‚·B
+        ‚±‚ê‚ÍHibernateƒZƒbƒVƒ‡ƒ“‚²‚Æ‚É—LŒø–³Œø‚ðØ‚è‘Ö‚¦‚ç‚ê‚Ü‚·B
+    </para>
+
+    <sect1 id="objectstate-filters">
+        <title>Hibernate‚̃tƒBƒ‹ƒ^</title>
+
+        <para>
+            Hibernate3‚̓tƒBƒ‹ƒ^ƒNƒ‰ƒCƒeƒŠƒA‚ð‚ ‚ç‚©‚¶‚ß’è‹`‚µA
+            ‚±‚ê‚ç‚̃tƒBƒ‹ƒ^‚ðƒNƒ‰ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“ƒŒƒxƒ‹‚ɉÁ‚¦‚é‹@”\‚ð‰Á‚¦‚Ü‚µ‚½B
+            ƒtƒBƒ‹ƒ^ƒNƒ‰ƒCƒeƒŠƒA‚͐§–ñß‚ð’è‹`‚·‚é‹@”\‚Å‚·B
+            ‚±‚ê‚ç‚̃tƒBƒ‹ƒ^ðŒ‚̓pƒ‰ƒ[ƒ^‰»‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ðœ‚«A
+            ƒNƒ‰ƒX‚₳‚Ü‚´‚܂ȃRƒŒƒNƒVƒ‡ƒ“—v‘f‚Å—˜—p‰Â”\‚È¢where£‹å‚É”ñí‚É‚æ‚­Ž—‚Ä‚¢‚Ü‚·B
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A—^‚¦‚ç‚ꂽƒtƒBƒ‹ƒ^‚ð‰Â”\‚É‚·‚ׂ«‚©A
+            ‚»‚µ‚Ä‚»‚̃pƒ‰ƒ[ƒ^’l‚ð‰½‚É‚·‚ׂ«‚©‚ðŽÀsŽž‚ÉŒˆ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ƒtƒBƒ‹ƒ^‚̓f[ƒ^ƒx[ƒXƒrƒ…[‚̂悤‚ÉŽg—p‚³‚ê‚Ü‚·‚ªAƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚ł̓pƒ‰ƒ[ƒ^‰»‚³‚ê‚Ü‚·B
+            
+        </para>
+
+        <para>
+            ƒtƒBƒ‹ƒ^‚ðŽg‚¤‚½‚ß‚É‚Í‚Ü‚¸A“KØ‚ȃ}ƒbƒsƒ“ƒO—v‘f‚É’è‹`A’ljÁ‚µ‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+            ƒtƒBƒ‹ƒ^‚ð’è‹`‚·‚邽‚߂ɂ́A
+            <literal>&lt;hibernate-mapping/&gt;</literal> —v‘f“à‚Å <literal>&lt;filter-def/&gt;</literal> —v‘f‚ðŽg—p‚µ‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[<filter-def name="myFilter">
+    <filter-param name="myFilterParam" type="string"/>
+</filter-def>]]></programlisting>
+
+        <para>
+            ‚»‚¤‚µ‚ătƒBƒ‹ƒ^‚̓Nƒ‰ƒX‚Ö‚ÆŒ‹‚Ñ•t‚¯‚ç‚ê‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[<class name="myClass" ...>
+    ...
+    <filter name="myFilter" condition=":myFilterParam = MY_FILTERED_COLUMN"/>
+</class>]]></programlisting>
+
+        <para>
+            ‚Ü‚½AƒRƒŒƒNƒVƒ‡ƒ“‚ɑ΂µ‚Ä‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[<set ...>
+    <filter name="myFilter" condition=":myFilterParam = MY_FILTERED_COLUMN"/>
+</set>]]></programlisting>
+
+        <para>
+            ‚Ç‚¿‚ç‚ɑ΂µ‚Ä‚à(‚Ü‚½A‚»‚ꂼ‚ê‚𕡐”)“¯Žž‚ɐݒ肷‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            <literal>Session</literal> ã‚̃ƒ\ƒbƒh‚Í <literal>enableFilter(String filterName)</literal>,
+            <literal>getEnabledFilter(String filterName)</literal>, <literal>disableFilter(String filterName)</literal> ‚Å‚·B
+            ƒfƒtƒHƒ‹ƒg‚ł́AƒtƒBƒ‹ƒ^‚Í—^‚¦‚ç‚ꂽƒZƒbƒVƒ‡ƒ“‚ɑ΂µ‚ÄŽg—p <emphasis>‚Å‚«‚Ü‚¹‚ñ</emphasis> B
+            <literal>Filter</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚è’l‚Æ‚·‚é <literal>Session.enabledFilter()</literal> ƒƒ\ƒbƒh‚ðŽg‚¤‚±‚ƂŁA
+            ƒtƒBƒ‹ƒ^‚Í–¾Ž¦“I‚ÉŽg—p‰Â”\‚Æ‚È‚è‚Ü‚·B
+            ã‚Å’è‹`‚µ‚½’Pƒ‚ȃtƒBƒ‹ƒ^‚ÌŽg—p‚́A‚±‚̂悤‚É‚È‚è‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[session.enableFilter("myFilter").setParameter("myFilterParam", "some-value");]]></programlisting>
+
+        <para>
+            org.hibernate.FilterƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃ƒ\ƒbƒh‚́A
+            Hibernate‚Ì‘½‚­‚É‹¤’Ê‚µ‚Ä‚¢‚郁ƒ\ƒbƒh˜A½‚ð‹–‚µ‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            —LŒø‚ȃŒƒR[ƒhƒf[ƒ^ƒpƒ^[ƒ“‚ðŽ‚ÂˆêŽžƒf[ƒ^‚ðŽg‚Á‚½Š®‘S‚È—á‚Å‚·F
+        </para>
+
+        <programlisting><![CDATA[<filter-def name="effectiveDate">
+    <filter-param name="asOfDate" type="date"/>
+</filter-def>
+
+<class name="Employee" ...>
+...
+    <many-to-one name="department" column="dept_id" class="Department"/>
+    <property name="effectiveStartDate" type="date" column="eff_start_dt"/>
+    <property name="effectiveEndDate" type="date" column="eff_end_dt"/>
+...
+    <!--
+        Note that this assumes non-terminal records have an eff_end_dt set to
+        a max db date for simplicity-sake
+        
+
+    -->
+    <filter name="effectiveDate"
+            condition=":asOfDate BETWEEN eff_start_dt and eff_end_dt"/>
+</class>
+
+<class name="Department" ...>
+...
+    <set name="employees" lazy="true">
+        <key column="dept_id"/>
+        <one-to-many class="Employee"/>
+        <filter name="effectiveDate"
+                condition=":asOfDate BETWEEN eff_start_dt and eff_end_dt"/>
+    </set>
+</class>]]></programlisting>
+
+        <para>
+            í‚ÉŒ»Ý‚Ì—LŒøƒŒƒR[ƒh‚ð•Ô‹p‚·‚邱‚Æ‚ð•ÛØ‚·‚邽‚߂ɁA
+            ’Pƒ‚ɁAŽÐˆõƒf[ƒ^‚ÌŒŸõ‚æ‚è‘O‚ɃZƒbƒVƒ‡ƒ“ã‚̃tƒBƒ‹ƒ^‚ð—LŒø‚É‚µ‚Ü‚·B
+            
+            
+        </para>
+
+<programlisting><![CDATA[Session session = ...;
+session.enabledFilter("effectiveDate").setParameter("asOfDate", new Date());
+List results = session.createQuery("from Employee as e where e.salary > :targetSalary")
+         .setLong("targetSalary", new Long(1000000))
+         .list();
+]]></programlisting>
+
+        <para>
+            ã‹L‚ÌHQL‚ł́AŒ‹‰Ê‚Ì‹‹—¿‚̐§–ñ‚ɂ‚¢‚Ä–¾Ž¦“I‚ɐG‚ꂽ‚¾‚¯‚Å‚·‚ªA
+            —LŒø‚É‚È‚Á‚Ä‚¢‚éƒtƒBƒ‹ƒ^‚Ì‚¨‚©‚°‚ŁA‚±‚̃NƒGƒŠ‚Í‹‹—¿‚ª100–œƒhƒ‹ˆÈã‚ÌŒ»–ð‚̎Јõ‚¾‚¯‚ð•Ô‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            (HQL‚©ƒ[ƒhƒtƒFƒbƒ`‚ŁjŠO•”Œ‹‡‚ðŽ‚ÂƒtƒBƒ‹ƒ^‚ðŽg‚¤‚‚à‚è‚È‚çA
+            ðŒŽ®‚Ì•ûŒü‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            
+            ‚±‚ê‚͍¶ŠO•”Œ‹‡‚Ì‚½‚߂ɐݒ肷‚é‚Ì‚ªÅ‚àˆÀ‘S‚Å‚·B
+            ˆê”Ê“I‚ɁA‰‰ŽZŽq‚ÌŒãƒJƒ‰ƒ€–¼‚É‘±‚¯‚čŏ‰‚̃pƒ‰ƒ[ƒ^‚ð”z’u‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/inheritance_mapping.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/inheritance_mapping.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/inheritance_mapping.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/inheritance_mapping.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,487 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="inheritance">
+    <title>Œp³ƒ}ƒbƒsƒ“ƒO</title>
+
+    <sect1 id="inheritance-strategies" revision="3">
+        <title>3‚‚̐헪</title>
+
+        <para>
+            Hibernate‚Í3‚‚̊î–{“I‚ÈŒp³‚̃}ƒbƒsƒ“ƒOí—ª‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+        <listitem>
+        <para>
+            ƒNƒ‰ƒXŠK‘w‚²‚Ƃ̃e[ƒuƒ‹itable-per-class-hierarchyj
+        </para>
+        </listitem>
+        <listitem>
+        <para>
+            ƒTƒuƒNƒ‰ƒX‚²‚Ƃ̃e[ƒuƒ‹itable-per-subclassj
+        </para>
+        </listitem>
+        <listitem>
+        <para>
+            ‹ïÛƒNƒ‰ƒX‚²‚Ƃ̃e[ƒuƒ‹itable-per-concrete-classj
+        </para>
+        </listitem>
+        </itemizedlist>
+        
+        <para>
+            ‰Á‚¦‚Ä4‚–ڂɁAHibernate‚͂킸‚©‚ɈقȂ鐫Ž¿‚ðŽ‚Á‚½ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+        <listitem>
+        <para>
+            ˆÃ–Ù“Iƒ|ƒŠƒ‚[ƒtƒBƒYƒ€
+        </para>
+        </listitem>
+        </itemizedlist>
+        
+        <para>
+            “¯ˆê‚ÌŒp³ŠK‘w‚̈قȂéƒuƒ‰ƒ“ƒ`‚ɑ΂µ‚ĈقȂéƒ}ƒbƒsƒ“ƒOí—ª‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚»‚̏ꍇ‚É‚Í‘S‘Ì‚ÌŠK‘w‚É“n‚éƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽÀŒ»‚·‚邽‚߂ɈÖٓIƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽg—p‚µ‚Ü‚·B
+            ‚µ‚©‚µAHibernate‚Í“¯‚¶ƒ‹[ƒg <literal>&lt;class&gt;</literal> —v‘f“à‚Å
+            <literal>&lt;subclass&gt;</literal> ƒ}ƒbƒsƒ“ƒOA<literal>&lt;joined-subclass&gt;</literal> ƒ}ƒbƒsƒ“ƒOA
+            <literal>&lt;union-subclass&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚Ì“¯ŽžŽg—p‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñB
+            <literal>&lt;subclass&gt;</literal> —v‘f‚Æ <literal>&lt;join&gt;</literal> —v‘f‚ð‘g‚ݍ‡‚킹‚邱‚ƂŁA
+            “¯ˆê <literal>&lt;class&gt;</literal> —v‘f“à‚Å‚Ì table-per-hierarchy í—ª‚Æ
+            table-per-subclass í—ª‚Ì“¯ŽžŽg—p‚͉”\‚Å‚·BŽŸ‚Ì—á‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+             <literal>subclass</literal>, <literal>union-subclass</literal> ‚Æ 
+             <literal>joined-subclass</literal> ƒ}ƒbƒsƒ“ƒO‚𕡐”‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚É’è‹`‚·‚邱‚Æ‚ªo—ˆA
+             <literal>hibernate-mapping</literal> ‚Ì’¼‰º‚É”z’u‚µ‚Ü‚·B
+             ‚±‚ê‚͐V‚µ‚¢ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð’ljÁ‚·‚邾‚¯‚ŁAƒNƒ‰ƒXŠK‘w‚ðŠg’£‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+             ‚ ‚ç‚©‚¶‚߃}ƒbƒv‚µ‚½ƒX[ƒp[ƒNƒ‰ƒX‚ðŽw’肵‚āAƒTƒuƒNƒ‰ƒXƒ}ƒbƒsƒ“ƒO‚É <literal>extends</literal> 
+             ‘®«‚ð‹Lq‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+             ’ˆÓF‚±‚Ì“Á’¥‚É‚æ‚èAˆÈ‘O‚̓}ƒbƒsƒ“ƒOEƒhƒLƒ…ƒƒ“ƒg‚̏‡”Ô‚ªd—v‚Å‚µ‚½B
+             Hibernate3‚©‚ç‚́AextendsƒL[ƒ[ƒh‚ðŽg‚¤ê‡Aƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̏‡”Ô‚Í–â‘è‚É‚È‚è‚Ü‚¹‚ñB
+             
+             ‚P‚‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚ŏ‡”Ô•t‚¯‚ðs‚¤‚Æ‚«‚́A
+             ˆË‘R‚Æ‚µ‚āAƒTƒuƒNƒ‰ƒX‚ð’è‹`‚·‚é‘O‚ɃX[ƒp[ƒNƒ‰ƒX‚ð’è‹`‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B)
+         </para>
+
+         <programlisting><![CDATA[
+ <hibernate-mapping>
+     <subclass name="DomesticCat" extends="Cat" discriminator-value="D">
+          <property name="name" type="string"/>
+     </subclass>
+ </hibernate-mapping>]]></programlisting>
+
+
+        <sect2 id="inheritance-tableperclass" >
+        <title>ƒNƒ‰ƒXŠK‘w‚²‚Ƃ̃e[ƒuƒ‹itable-per-class-hierarchyj</title>
+
+        <para>
+            —Ⴆ‚΁AƒCƒ“ƒ^[ƒtƒFƒCƒX <literal>Payment</literal> ‚ƁA‚»‚ê‚ðŽÀ‘•‚µ‚½
+            <literal>CreditCardPayment</literal>A<literal>CashPayment</literal>A
+            <literal>ChequePayment</literal> ‚ª‚ ‚é‚Æ‚µ‚Ü‚·BŠK‘w‚²‚Ƃ̃e[ƒuƒ‹ƒ}ƒbƒsƒ“ƒO‚Í
+            ˆÈ‰º‚̂悤‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Payment" table="PAYMENT">
+    <id name="id" type="long" column="PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <discriminator column="PAYMENT_TYPE" type="string"/>
+    <property name="amount" column="AMOUNT"/>
+    ...
+    <subclass name="CreditCardPayment" discriminator-value="CREDIT">
+        <property name="creditCardType" column="CCTYPE"/>
+        ...
+    </subclass>
+    <subclass name="CashPayment" discriminator-value="CASH">
+        ...
+    </subclass>
+    <subclass name="ChequePayment" discriminator-value="CHEQUE">
+        ...
+    </subclass>
+</class>]]></programlisting>
+
+        <para>
+            ‚¿‚傤‚Ljê‚‚̃e[ƒuƒ‹‚ª•K—v‚Å‚·B
+            ‚±‚̃}ƒbƒsƒ“ƒOí—ª‚ɂ͈ê‚‘傫‚Ȑ§ŒÀ‚ª‚ ‚è‚Ü‚·B
+            <literal>CCTYPE</literal> ‚̂悤‚ȁAƒTƒuƒNƒ‰ƒX‚Ő錾‚³‚ꂽƒJƒ‰ƒ€‚Í <literal>NOT NULL</literal> 
+            §–ñ‚ðŽ‚Ä‚Ü‚¹‚ñB
+        </para>
+        
+        </sect2>
+
+        <sect2 id="inheritance-tablepersubclass">
+        <title>ƒTƒuƒNƒ‰ƒX‚²‚Ƃ̃e[ƒuƒ‹itable-per-subclassj</title>
+
+        <para>
+            table-per-subclass ƒ}ƒbƒsƒ“ƒO‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Payment" table="PAYMENT">
+    <id name="id" type="long" column="PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <property name="amount" column="AMOUNT"/>
+    ...
+    <joined-subclass name="CreditCardPayment" table="CREDIT_PAYMENT">
+        <key column="PAYMENT_ID"/>
+        <property name="creditCardType" column="CCTYPE"/>
+        ...
+    </joined-subclass>
+    <joined-subclass name="CashPayment" table="CASH_PAYMENT">
+        <key column="PAYMENT_ID"/>
+        ...
+    </joined-subclass>
+    <joined-subclass name="ChequePayment" table="CHEQUE_PAYMENT">
+        <key column="PAYMENT_ID"/>
+        ...
+    </joined-subclass>
+</class>]]></programlisting>
+
+        <para>
+            ‚±‚̃}ƒbƒsƒ“ƒO‚É‚Í4‚‚̃e[ƒuƒ‹‚ª•K—v‚Å‚·B3‚‚̃TƒuƒNƒ‰ƒXƒe[ƒuƒ‹‚Í
+            ƒX[ƒp[ƒNƒ‰ƒXƒe[ƒuƒ‹‚Æ‚ÌŠÖ˜A‚ðŽ¦‚·ŽåƒL[‚ðŽ‚Á‚Ä‚¢‚Ü‚·
+            iŽÀÛAŠÖŒWƒ‚ƒfƒ‹ã‚͈ê‘ΈêŠÖ˜A‚Å‚·jB
+        </para>
+
+        </sect2>
+
+        <sect2 id="inheritance-tablepersubclass-discriminator" revision="2">
+        <title>•Ù•ÊŽq‚ð—p‚¢‚½ table-per-subclass</title>
+
+        <para>
+            Hibernate‚Ì table-per-subclass ŽÀ‘•‚́AdiscriminatorƒJƒ‰ƒ€‚ð•K—v‚Æ‚µ‚È‚¢‚±‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B
+            HibernateˆÈŠO‚ÌO/Rƒ}ƒbƒp[‚́Atable-per-subclass ‚ɈقȂéŽÀ‘•‚ð—p‚¢‚Ü‚·B
+            ‚»‚ê‚́AƒX[ƒp[ƒNƒ‰ƒX‚̃e[ƒuƒ‹‚Ƀ^ƒCƒvdiscriminatorƒJƒ‰ƒ€‚ð•K—v‚Æ‚µ‚Ü‚·B
+            ‚±‚̃Aƒvƒ[ƒ`‚ÍŽÀ‘•‚ª¢“ï‚É‚È‚è‚Ü‚·‚ªAŠÖŒW‚ÌŽ‹“_‚©‚猩‚é‚ƁA‚æ‚萳Šm‚È‚à‚Ì‚Å‚·B
+            table-per-subclass í—ª‚ÅdiscriminatorƒJƒ‰ƒ€‚ðŽg‚¢‚½‚¯‚ê‚΁A
+            <literal>&lt;subclass&gt;</literal> ‚Æ <literal>&lt;join&gt;</literal> 
+            ‚ðˆÈ‰º‚̂悤‚É‘g‚ݍ‡‚킹‚ÄŽg‚Á‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <programlisting><![CDATA[<class name="Payment" table="PAYMENT">
+    <id name="id" type="long" column="PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <discriminator column="PAYMENT_TYPE" type="string"/>
+    <property name="amount" column="AMOUNT"/>
+    ...
+    <subclass name="CreditCardPayment" discriminator-value="CREDIT">
+        <join table="CREDIT_PAYMENT">
+            <key column="PAYMENT_ID"/>
+            <property name="creditCardType" column="CCTYPE"/>
+            ...
+        </join>
+    </subclass>
+    <subclass name="CashPayment" discriminator-value="CASH">
+        <join table="CASH_PAYMENT">
+            <key column="PAYMENT_ID"/>
+            ...
+        </join>
+    </subclass>
+    <subclass name="ChequePayment" discriminator-value="CHEQUE">
+        <join table="CHEQUE_PAYMENT" fetch="select">
+            <key column="PAYMENT_ID"/>
+            ...
+        </join>
+    </subclass>
+</class>]]></programlisting>
+
+        <para>
+            ƒIƒvƒVƒ‡ƒ“‚Ì <literal>fetch="select"</literal> éŒ¾‚́A
+            ƒX[ƒp[ƒNƒ‰ƒX‚̃NƒGƒŠŽÀsŽž‚ÉŠO•”Œ‹‡‚ðŽg‚Á‚āA
+            ƒTƒuƒNƒ‰ƒX‚Ì <literal>ChequePayment</literal> ƒf[ƒ^‚ðŽæ“¾‚µ‚È‚¢‚悤‚ÉŽw’è‚·‚邽‚ß‚Ì‚à‚Ì‚Å‚·B
+        </para>
+
+        </sect2>
+
+        <sect2 id="inheritance-mixing-tableperclass-tablepersubclass">
+        <title>table-per-subclass ‚Æ table-per-class-hierarchy ‚̍¬‡</title>
+
+        <para>
+            ‚±‚̃Aƒvƒ[ƒ`‚ðŽg—p‚·‚é‚ƁAtable-per-hierarchy ‚Æ table-per-subclass í—ª‚ð
+            ‘g‚ݍ‡‚킹‚鎖‚à‰Â”\‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Payment" table="PAYMENT">
+    <id name="id" type="long" column="PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <discriminator column="PAYMENT_TYPE" type="string"/>
+    <property name="amount" column="AMOUNT"/>
+    ...
+    <subclass name="CreditCardPayment" discriminator-value="CREDIT">
+        <join table="CREDIT_PAYMENT">
+            <property name="creditCardType" column="CCTYPE"/>
+            ...
+        </join>
+    </subclass>
+    <subclass name="CashPayment" discriminator-value="CASH">
+        ...
+    </subclass>
+    <subclass name="ChequePayment" discriminator-value="CHEQUE">
+        ...
+    </subclass>
+</class>]]></programlisting>
+
+        <para>
+            ‚¢‚¸‚ê‚̃}ƒbƒsƒ“ƒOí—ª‚Å‚ ‚Á‚Ä‚àAƒ‹[ƒg‚Å‚ ‚é <literal>Payment</literal> ƒNƒ‰ƒX‚Ö‚Ì
+            ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈŠÖ˜A‚Í <literal>&lt;many-to-one&gt;</literal> ‚ðŽg‚Á‚ă}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<many-to-one name="payment" column="PAYMENT_ID" class="Payment"/>]]></programlisting>
+    
+        </sect2>
+
+        <sect2 id="inheritance-tableperconcrete" revision="2">
+        <title>‹ïÛƒNƒ‰ƒX‚²‚Ƃ̃e[ƒuƒ‹itable-per-concrete-classj</title>
+
+        <para>
+            table-per-concrete-class í—ª‚̃}ƒbƒsƒ“ƒO‚ɑ΂·‚éƒAƒvƒ[ƒ`‚́A2‚‚ ‚è‚Ü‚·B
+            1‚Â–Ú‚Í <literal>&lt;union-subclass&gt;</literal> ‚ð—˜—p‚·‚é•û–@‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="Payment">
+    <id name="id" type="long" column="PAYMENT_ID">
+        <generator class="sequence"/>
+    </id>
+    <property name="amount" column="AMOUNT"/>
+    ...
+    <union-subclass name="CreditCardPayment" table="CREDIT_PAYMENT">
+        <property name="creditCardType" column="CCTYPE"/>
+        ...
+    </union-subclass>
+    <union-subclass name="CashPayment" table="CASH_PAYMENT">
+        ...
+    </union-subclass>
+    <union-subclass name="ChequePayment" table="CHEQUE_PAYMENT">
+        ...
+    </union-subclass>
+</class>]]></programlisting>
+
+        <para>
+            ƒTƒuƒNƒ‰ƒX‚²‚Æ‚É3‚‚̃e[ƒuƒ‹‚ª•K—v‚Å‚·B‚»‚ꂼ‚ê‚̃e[ƒuƒ‹‚́AŒp³ƒvƒƒpƒeƒB‚ðŠÜ‚ñ‚¾A
+            ƒNƒ‰ƒX‚Ì‘S‚ẴvƒƒpƒeƒB‚ɑ΂·‚éƒJƒ‰ƒ€‚ð’è‹`‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+            ‚±‚̃Aƒvƒ[ƒ`‚ɂ͐§ŒÀ‚ª‚ ‚è‚Ü‚·B
+            ‚»‚ê‚́AƒvƒƒpƒeƒB‚ªƒX[ƒp[ƒNƒ‰ƒX‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚½ê‡A
+            ‘S‚ẴTƒuƒNƒ‰ƒX‚É‚¨‚¢‚ăJƒ‰ƒ€–¼‚ª“¯‚¶‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Æ‚¢‚¤‚à‚Ì‚Å‚·B
+           iHibernate‚̍¡Œã‚̃ŠƒŠ[ƒX‚Ŋɘa‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñjB
+            &lt;union-subclass&gt; ‚ðŽg‚Á‚½ table-per-concrete-class í—ª‚Å‚ÍŽ¯•ÊŽq¶¬í—ª‚ðŽg—p‚Å‚«‚Ü‚¹‚ñB
+            ŽåƒL[‚𐶐¬‚·‚邽‚߂̃V[ƒh‚́A‘S‚Ä‚Ì union subclass ‚ÌŠK‘w“à‚Å‹¤—L‚·‚é•K—v‚ª‚ ‚é‚©‚ç‚Å‚·B
+        </para>
+
+        <para>
+            ‚à‚µƒX[ƒp[ƒNƒ‰ƒX‚ª’ŠÛƒNƒ‰ƒX‚È‚çA<literal>abstract="true"</literal>‚ƃ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+            ‚à‚¿‚ë‚ñAƒX[ƒp[ƒNƒ‰ƒX‚ª’ŠÛƒNƒ‰ƒX‚Å‚È‚¢‚È‚çAƒX[ƒp[ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð
+            •ÛŽ‚·‚邽‚߂̃e[ƒuƒ‹‚̒ljÁ‚ª•K—v‚Æ‚È‚è‚Ü‚·(ã‚Ì—á‚ł̃fƒtƒHƒ‹ƒg‚Í <literal>PAYMENT</literal> )B
+        </para>
+
+        </sect2>
+
+        <sect2 id="inheritance-tableperconcreate-polymorphism">
+        <title>ˆÃ–Ù“Iƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ð—p‚¢‚½ table-per-concrete-class</title>
+
+        <para>
+            ‚à‚¤ˆê‚‚̃Aƒvƒ[ƒ`‚͈ÖٓIƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ÌŽg—p‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="CreditCardPayment" table="CREDIT_PAYMENT">
+    <id name="id" type="long" column="CREDIT_PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <property name="amount" column="CREDIT_AMOUNT"/>
+    ...
+</class>
+
+<class name="CashPayment" table="CASH_PAYMENT">
+    <id name="id" type="long" column="CASH_PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <property name="amount" column="CASH_AMOUNT"/>
+    ...
+</class>
+
+<class name="ChequePayment" table="CHEQUE_PAYMENT">
+    <id name="id" type="long" column="CHEQUE_PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <property name="amount" column="CHEQUE_AMOUNT"/>
+    ...
+</class>]]></programlisting>
+           
+        <para>
+            <literal>Payment</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ª‚Ç‚±‚É‚à–¾Ž¦“I‚ÉŽ¦‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚»‚µ‚āA<literal>Payment</literal> ƒvƒƒpƒeƒB‚ª‚»‚ꂼ‚ê‚̃TƒuƒNƒ‰ƒX‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚邱‚Æ‚É‚à’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚à‚µd•¡‚ð”ð‚¯‚½‚¢‚Ì‚Å‚ ‚ê‚΁AXMLƒGƒ“ƒeƒBƒeƒB‚Ì—˜—p‚ðl‚¦‚Ä‚­‚¾‚³‚¢B
+            i—áF <literal>DOCTYPE</literal> éŒ¾‚É‚¨‚¯‚é <literal>[ &lt;!ENTITY allproperties SYSTEM "allproperties.xml"&gt; ]</literal>
+              ‚ƁAƒ}ƒbƒsƒ“ƒO‚É‚¨‚¯‚é <literal>&amp;allproperties;</literal>j
+        </para>
+        
+        <para>
+            ‚±‚̃Aƒvƒ[ƒ`‚ÌŒ‡“_‚́AHibernate‚ªƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȃNƒGƒŠ‚ÌŽÀsŽž‚ÉSQL <literal>UNION</literal> 
+            ‚𐶐¬‚µ‚È‚¢“_‚Å‚·B
+        </para>
+
+        <para>
+            ‚±‚̃}ƒbƒsƒ“ƒOí—ª‚ɑ΂µ‚ẮA<literal>Payment</literal> ‚ւ̃|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈŠÖ˜A‚Í
+            ’ʏíA<literal>&lt;any&gt;</literal> ‚ðŽg‚Á‚ă}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<any name="payment" meta-type="string" id-type="long">
+    <meta-value value="CREDIT" class="CreditCardPayment"/>
+    <meta-value value="CASH" class="CashPayment"/>
+    <meta-value value="CHEQUE" class="ChequePayment"/>
+    <column name="PAYMENT_CLASS"/>
+    <column name="PAYMENT_ID"/>
+</any>]]></programlisting>
+           
+        </sect2>
+
+        <sect2 id="inheritace-mixingpolymorphism">
+        <title>‘¼‚ÌŒp³ƒ}ƒbƒsƒ“ƒO‚ƈÖٓIƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚Ì‘g‚ݍ‡‚킹</title>
+
+        <para>
+            ‚±‚̃}ƒbƒsƒ“ƒO‚ɂ‚¢‚Ă̍X‚Ȃ钍ˆÓ“_‚ª‚ ‚è‚Ü‚·B
+            ƒTƒuƒNƒ‰ƒX‚ªŽ©g‚ð <literal>&lt;class&gt;</literal> —v‘f‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚µ‚Ä‚¢‚é‚̂ŁA
+            i‚©‚ <literal>Payment</literal> ‚Í’P‚È‚éƒCƒ“ƒ^[ƒtƒFƒCƒX‚Ȃ̂ŁjA
+            ‚»‚ꂼ‚ê‚̃TƒuƒNƒ‰ƒX‚ÍŠÈ’P‚É‚»‚Ì‘¼‚ÌŒp³ŠK‘w‚̈ꕔ‚Æ‚È‚è‚Ü‚·B
+            i‚µ‚©‚àA¡‚Ü‚Å‚Ç‚¨‚è <literal>Payment</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ɑ΂·‚éƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȃNƒGƒŠ
+            ‚ðŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·j
+       </para>
+
+        <programlisting><![CDATA[<class name="CreditCardPayment" table="CREDIT_PAYMENT">
+    <id name="id" type="long" column="CREDIT_PAYMENT_ID">
+        <generator class="native"/>
+    </id>
+    <discriminator column="CREDIT_CARD" type="string"/>
+    <property name="amount" column="CREDIT_AMOUNT"/>
+    ...
+    <subclass name="MasterCardPayment" discriminator-value="MDC"/>
+    <subclass name="VisaPayment" discriminator-value="VISA"/>
+</class>
+
+<class name="NonelectronicTransaction" table="NONELECTRONIC_TXN">
+    <id name="id" type="long" column="TXN_ID">
+        <generator class="native"/>
+    </id>
+    ...
+    <joined-subclass name="CashPayment" table="CASH_PAYMENT">
+        <key column="PAYMENT_ID"/>
+        <property name="amount" column="CASH_AMOUNT"/>
+        ...
+    </joined-subclass>
+    <joined-subclass name="ChequePayment" table="CHEQUE_PAYMENT">
+        <key column="PAYMENT_ID"/>
+        <property name="amount" column="CHEQUE_AMOUNT"/>
+        ...
+    </joined-subclass>
+</class>]]></programlisting>
+
+        <para>
+            ‚à‚¤ˆê“xq‚ׂ܂·‚ªA<literal>Payment</literal> ‚Í–¾Ž¦“I‚É’è‹`‚³‚ê‚Ü‚¹‚ñB
+            ‚à‚µA<literal>Payment</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ɑ΂µ‚ăNƒGƒŠ‚ðŽÀs‚·‚é‚È‚ç
+            i—Ⴆ‚Î <literal>from Payment</literal> ß‚ðŽg‚Á‚ājA
+            Hibernate‚ÍŽ©“®“I‚É <literal>CreditCardPayment</literal> 
+            i‚ÆCreditCardPayment‚̃TƒuƒNƒ‰ƒXA<literal>Payment</literal> ‚ÌŽÀ‘•‚Å‚ ‚邽‚߁jA
+            ‚¨‚æ‚сA<literal>CashPayment</literal> A<literal>ChequePayment</literal> 
+            ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚µ‚Ü‚·B
+            <literal>NonelectronicTransaction</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚Í•Ô‚µ‚Ü‚¹‚ñB
+        </para>
+        
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="inheritance-limitations">
+        <title>§ŒÀ</title>
+
+        <para>
+            table-per-concrete-class ƒ}ƒbƒsƒ“ƒOí—ª‚ւ́uˆÃ–Ù“Iƒ|ƒŠƒ‚[ƒtƒBƒYƒ€vƒAƒvƒ[ƒ`‚É‚Í
+            ‚¢‚­‚‚©‚̐§ŒÀ‚ª‚ ‚è‚Ü‚·B<literal>&lt;union-subclass&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚ɑ΂µ‚Ä‚à
+            ­‚µŽã‚߂̐§ŒÀ‚ª‚ ‚è‚Ü‚·B
+        </para>
+
+        <para>
+            ŽŸ‚̃e[ƒuƒ‹‚ɁAHibernate‚É‚¨‚¯‚étable-per-concrete-classƒ}ƒbƒsƒ“ƒO‚Ì
+            §ŒÀ‚âˆÃ–Ù“Iƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚̐§ŒÀ‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+            
+        <table frame="topbot">
+            <title>Œp³ƒ}ƒbƒsƒ“ƒO‚Ì‹@”\</title>
+            <tgroup cols='8' align='left' colsep='1' rowsep='1'>
+            <colspec colname='c1' colwidth="1*"/>
+            <colspec colname='c2' colwidth="1*"/>
+            <colspec colname='c3' colwidth="1*"/>
+            <colspec colname='c4' colwidth="1*"/>
+            <colspec colname='c5' colwidth="1*"/>
+            <colspec colname='c6' colwidth="1*"/>
+            <colspec colname='c7' colwidth="1*"/>
+            <colspec colname='c8' colwidth="1*"/>
+            <thead>
+            <row>
+              <entry>Œp³í—ª</entry>
+              <entry>‘½‘Έê‚̃|ƒŠƒ‚[ƒtƒBƒYƒ€</entry>
+              <entry>ˆê‘Έê‚̃|ƒŠƒ‚[ƒtƒBƒYƒ€</entry>
+              <entry>ˆê‘Α½‚̃|ƒŠƒ‚[ƒtƒBƒYƒ€</entry>
+              <entry>‘½‘Α½‚̃|ƒŠƒ‚[ƒtƒBƒYƒ€</entry>
+              <entry>ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽg‚Á‚½<literal>load()/get()</literal></entry>
+              <entry>ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽg‚Á‚½ƒNƒGƒŠ</entry>
+              <entry>ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽg‚Á‚½Œ‹‡</entry>
+              <entry>ŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`</entry>
+            </row>
+            </thead>
+            <tbody>
+            <row>
+                <entry>table per class-hierarchy</entry>
+                <entry><literal>&lt;many-to-one&gt;</literal></entry>
+                <entry><literal>&lt;one-to-one&gt;</literal></entry>
+                <entry><literal>&lt;one-to-many&gt;</literal></entry>
+                <entry><literal>&lt;many-to-many&gt;</literal></entry>
+                <entry><literal>s.get(Payment.class, id)</literal></entry>
+                <entry><literal>from Payment p</literal></entry>
+                <entry><literal>from Order o join o.payment p</literal></entry>
+                <entry><emphasis>ƒTƒ|[ƒg</emphasis></entry>
+            </row>
+            <row>
+                <entry>table per subclass</entry>
+                <entry><literal>&lt;many-to-one&gt;</literal></entry>
+                <entry><literal>&lt;one-to-one&gt;</literal></entry>
+                <entry><literal>&lt;one-to-many&gt;</literal></entry>
+                <entry><literal>&lt;many-to-many&gt;</literal></entry>
+                <entry><literal>s.get(Payment.class, id)</literal></entry>
+                <entry><literal>from Payment p</literal></entry>
+                <entry><literal>from Order o join o.payment p</literal></entry>
+                <entry><emphasis>ƒTƒ|[ƒg</emphasis></entry>
+            </row>
+            <row>
+                <entry>table per concrete-class (union-subclass)</entry>
+                <entry><literal>&lt;many-to-one&gt;</literal></entry>
+                <entry><literal>&lt;one-to-one&gt;</literal></entry>
+                <entry><literal>&lt;one-to-many&gt;</literal> (for <literal>inverse="true"</literal> only)</entry>
+                <entry><literal>&lt;many-to-many&gt;</literal></entry>
+                <entry><literal>s.get(Payment.class, id)</literal></entry>
+                <entry><literal>from Payment p</literal></entry>
+                <entry><literal>from Order o join o.payment p</literal></entry>
+                <entry><emphasis>ƒTƒ|[ƒg</emphasis></entry>
+            </row>
+            <row>
+                <entry>table per concrete class (implicit polymorphism)</entry>
+                <entry><literal>&lt;any&gt;</literal></entry>
+                <entry><emphasis>ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis></entry>
+                <entry><emphasis>ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis></entry>
+                <entry><literal>&lt;many-to-any&gt;</literal></entry>
+                <entry><literal>s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()</literal></entry>
+                <entry><literal>from Payment p</literal></entry>
+                <entry><emphasis>ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis></entry>
+                <entry><emphasis>ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis></entry>
+            </row>
+            </tbody>
+            </tgroup>
+        </table>
+
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/performance.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/performance.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/performance.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/performance.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1378 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="performance">
+    <title>ƒpƒtƒH[ƒ}ƒ“ƒX‚̉ü‘P</title>
+
+    <sect1 id="performance-fetching" revision="2">
+        <title>ƒtƒFƒbƒ`í—ª</title>
+
+        <para>
+            <emphasis>ƒtƒFƒbƒ`í—ª</emphasis> ‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŠÖ˜A‚ðƒiƒrƒQ[ƒg‚·‚é•K—v‚ª‚ ‚é
+            ‚Æ‚«‚ɁAHibernate‚ªŠÖ˜AƒIƒuƒWƒFƒNƒg‚𕜌³‚·‚邽‚ß‚ÉŽg—p‚·‚éí—ª‚Å‚·BƒtƒFƒbƒ`í—ª‚ÍO/Rƒ}ƒbƒsƒ“ƒO‚Ì
+            ƒƒ^ƒf[ƒ^‚ɐ錾‚·‚é‚©A“Á’è‚ÌHQLA <literal>Criteria</literal> ƒNƒGƒŠ‚ŃI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            Hibernate3‚ÍŽŸ‚ÉŽ¦‚·ƒtƒFƒbƒ`í—ª‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+             <listitem>
+                <para>
+                    <emphasis>Œ‹‡ƒtƒFƒbƒ`</emphasis> - Hibernate‚Í <literal>OUTER JOIN</literal> ‚ðŽg‚Á‚āA
+                    ŠÖ˜A‚·‚éƒCƒ“ƒXƒ^ƒ“ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“‚ð‚P‚Â‚Ì <literal>SELECT</literal> 
+                    ‚Å•œŒ³‚µ‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>ƒZƒŒƒNƒgƒtƒFƒbƒ`</emphasis> - 2‰ñ–Ú‚Ì <literal>SELECT</literal>
+                    ‚ÅŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚𕜌³‚µ‚Ü‚·B <literal>lazy="false"</literal> 
+                    ‚Å–¾Ž¦“I‚É’x‰„ƒtƒFƒbƒ`‚𖳌ø‚É‚µ‚È‚¯‚ê‚΁A‚±‚Ì2‰ñ–Ú‚Ìselect‚ÍŽÀÛ‚É
+                    ŠÖ˜A‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚Ì‚ÝŽÀs‚³‚ê‚é‚Å‚µ‚傤B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>ƒTƒuƒZƒŒƒNƒgƒtƒFƒbƒ`</emphasis> - 2‰ñ–Ú‚Ì <literal>SELECT</literal> 
+                    ‚ŁA’¼‘O‚̃NƒGƒŠ‚âƒtƒFƒbƒ`‚Å•œŒ³‚µ‚½‚·‚ׂĂ̗v‘f‚ÉŠÖ˜A‚·‚éƒRƒŒƒNƒVƒ‡ƒ“‚ð
+                    •œŒ³‚µ‚Ü‚·B <literal>lazy="false"</literal> 
+                    ‚Å–¾Ž¦“I‚É’x‰„ƒtƒFƒbƒ`‚𖳌ø‚É‚µ‚È‚¯‚ê‚΁A‚±‚Ì2‰ñ–Ú‚Ìselect‚ÍŽÀÛ‚É
+                    ŠÖ˜A‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚Ì‚ÝŽÀs‚³‚ê‚é‚Å‚µ‚傤B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>ƒoƒbƒ`ƒtƒFƒbƒ`</emphasis> - ƒZƒŒƒNƒgƒtƒFƒbƒ`‚Ì‚½‚߂̍œK‰»‚³‚ꂽí—ª
+                     - Hibernate‚̓Gƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“‚̈êŒQ‚ð1‰ñ‚Ì
+                    <literal>SELECT</literal> ‚Å•œŒ³‚µ‚Ü‚·B‚±‚ê‚ÍŽåƒL[‚âŠO•”ƒL[‚̃ŠƒXƒg‚ðŽw’è‚·‚邱‚Æ‚É
+                    ‚É‚æ‚ès‚¢‚Ü‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para>
+            Hibernate‚ÍŽŸ‚ÉŽ¦‚·í—ª‚Æ‚à‹æ•Ê‚ð‚µ‚Ü‚·B
+        </para>
+
+        <itemizedlist>
+             <listitem>
+                <para>
+                    <emphasis>‘¦ŽžƒtƒFƒbƒ`</emphasis> - Š—LŽÒ‚̃IƒuƒWƒFƒNƒg‚ªƒ[ƒh‚³‚ꂽ‚Æ‚«‚ɁA
+                    ŠÖ˜AAƒRƒŒƒNƒVƒ‡ƒ“‚Í‘¦Žž‚ɃtƒFƒbƒ`‚³‚ê‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>’x‰„ƒRƒŒƒNƒVƒ‡ƒ“ƒtƒFƒbƒ`</emphasis> - ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒRƒŒƒNƒVƒ‡ƒ“‚É
+                    ‘΂µ‚Ä‘€ì‚ðs‚Á‚½‚Æ‚«‚ɃRƒŒƒNƒVƒ‡ƒ“‚ðƒtƒFƒbƒ`‚µ‚Ü‚·B
+                    (‚±‚ê‚̓RƒŒƒNƒVƒ‡ƒ“‚ɑ΂·‚éƒfƒtƒHƒ‹ƒg‚Ì“®ì‚Å‚·)
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>"“Á•Ê‚È’x‰„"ƒRƒŒƒNƒVƒ‡ƒ“ƒtƒFƒbƒ`</emphasis> - ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f
+                    ‚P‚‚P‚‚ª“Æ—§‚µ‚āA•K—v‚È‚Æ‚«‚Ƀf[ƒ^ƒx[ƒX‚©‚çŽæ“¾‚³‚ê‚Ü‚·B
+                    Hibernate‚Í•K—v‚È‚¢‚È‚ç‚΁AƒRƒŒƒNƒVƒ‡ƒ“‘S‘Ì‚ðƒƒ‚ƒŠ‚ɃtƒFƒbƒ`‚·‚邱‚Æ‚Í
+                    ”ð‚¯‚Ü‚·i‚Æ‚Ä‚à‘å‚«‚ȃRƒŒƒNƒVƒ‡ƒ“‚É“K‚µ‚Ä‚¢‚Ü‚·jB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>ƒvƒƒLƒVƒtƒFƒbƒ`</emphasis> - ’Pˆê’lŠÖ˜A‚́AŽ¯•ÊŽq‚ÌgetterˆÈŠO‚Ì
+                    ƒƒ\ƒbƒh‚ªŠÖ˜AƒIƒuƒWƒFƒNƒg‚ŌĂяo‚³‚ê‚é‚Æ‚«‚ɃtƒFƒbƒ`‚³‚ê‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>"ƒvƒƒLƒV‚È‚µ"ƒtƒFƒbƒ`</emphasis> - ’Pˆê’lŠÖ˜A‚́AƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚É
+                    ƒAƒNƒZƒX‚³‚ꂽ‚Æ‚«‚ɃtƒFƒbƒ`‚³‚ê‚Ü‚·BƒvƒƒLƒVƒtƒFƒbƒ`‚Æ”äŠr‚·‚é‚ƁA‚±‚Ì•û–@‚Í
+                    ’x‰„‚Ì“x‡‚¢‚ª­‚È‚¢iŠÖ˜A‚ÍŽ¯•ÊŽq‚ɃAƒNƒZƒX‚µ‚½‚¾‚¯‚Å‚àƒtƒFƒbƒ`‚³‚ê‚Ü‚·j
+                    ‚Å‚·‚ªA‚æ‚蓧‰ß“I‚ŁAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɃvƒƒLƒV‚ª‘¶Ý‚µ‚È‚¢‚悤‚ÉŒ©‚¹‚Ü‚·B
+                    ‚±‚Ì•û–@‚̓rƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚ݍž‚Ý‚ª•K—v‚É‚È‚èAŽg‚¤ê–Ê‚Í‚Ü‚ê‚Å‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <emphasis>’x‰„‘®«ƒtƒFƒbƒ`</emphasis> - ‘®«‚â’Pˆê’lŠÖ˜A‚́AƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ɃAƒNƒZƒX‚µ‚½
+                    ‚Æ‚«‚ɃtƒFƒbƒ`‚³‚ê‚Ü‚·B‚±‚Ì•û–@‚̓rƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚ݍž‚Ý‚ª•K—v‚É‚È‚èA
+                    Žg‚¤ê–Ê‚Í‚Ü‚ê‚Å‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para>
+            “ñ‚‚̒¼s‚·‚éŠT”O‚ª‚ ‚è‚Ü‚·: <emphasis>‚¢‚Â</emphasis> ŠÖ˜A‚ðƒtƒFƒbƒ`‚·‚é‚©A
+            ‚»‚µ‚āA <emphasis>‚Ç‚¤‚â‚Á‚Ä</emphasis> ƒtƒFƒbƒ`‚·‚é‚©i‚Ç‚ñ‚ÈSQL‚ðŽg‚Á‚ājB
+            ‚±‚ê‚ç‚ð¬“¯‚µ‚È‚¢‚Å‚­‚¾‚³‚¢I <literal>fetch</literal> ‚̓pƒtƒH[ƒ}ƒ“ƒXƒ`ƒ…[ƒjƒ“ƒO‚ÉŽg‚¢‚Ü‚·B
+            <literal>lazy</literal> ‚Í‚ ‚éƒNƒ‰ƒX‚Ì•ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚Ì‚¤‚¿A‚ǂ̃f[ƒ^‚ðí‚É
+            Žg—p‰Â”\‚É‚·‚é‚©‚ÌŽæ‚茈‚ß‚ð’è‹`‚µ‚Ü‚·B
+        </para>
+ 
+        <sect2 id="performance-fetching-lazy">
+            <title>’x‰„ŠÖ˜A‚Ì“­‚«</title>
+            
+            <para>
+                ƒfƒtƒHƒ‹ƒg‚ł́AHibernate3‚̓RƒŒƒNƒVƒ‡ƒ“‚ɑ΂µ‚Ä‚Í’x‰„ƒZƒŒƒNƒgƒtƒFƒbƒ`‚ðŽg‚¢A
+                ’Pˆê’lŠÖ˜A‚É‚Í’x‰„ƒvƒƒLƒVƒtƒFƒbƒ`‚ðŽg‚¢‚Ü‚·B‚±‚ê‚ç‚̃fƒtƒHƒ‹ƒg“®ì‚Í‚Ù‚Ú‚·‚ׂĂÌ
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚Ù‚Ú‚·‚ׂĂ̊֘A‚ňӖ¡‚ª‚ ‚è‚Ü‚·B
+            </para>
+            
+            <para>
+                <emphasis>’:</emphasis>
+                <literal>hibernate.default_batch_fetch_size</literal> ‚ðƒZƒbƒg‚µ‚½‚Æ‚«‚́AHibernate‚Í
+                ’x‰„ƒtƒFƒbƒ`‚Ì‚½‚߂̃oƒbƒ`ƒtƒFƒbƒ`Å“K‰»‚ðŽg‚¤‚Å‚µ‚傤
+                i‚±‚̍œK‰»‚Í‚æ‚è×‚©‚¢ƒŒƒxƒ‹‚Å—LŒø‚É‚·‚邱‚Æ‚ào—ˆ‚Ü‚·jB
+            </para>
+            
+            <para>
+                ‚µ‚©‚µA’x‰„ƒtƒFƒbƒ`‚Í’m‚Á‚Ä‚¨‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢ˆê‚‚̖â‘肪‚ ‚è‚Ü‚·B
+                Hibernate‚Ìsession‚ðƒI[ƒvƒ“‚µ‚Ä‚¢‚éƒRƒ“ƒeƒLƒXƒg‚ÌŠO‚©‚ç’x‰„ŠÖ˜A‚ɃAƒNƒZƒX‚·‚é‚ƁA
+                —áŠO‚ª”­¶‚µ‚Ü‚·B—áF
+            </para>
+        
+            <programlisting><![CDATA[s = sessions.openSession();
+Transaction tx = s.beginTransaction();
+            
+User u = (User) s.createQuery("from User u where u.name=:userName")
+    .setString("userName", userName).uniqueResult();
+Map permissions = u.getPermissions();
+
+tx.commit();
+s.close();
+
+Integer accessLevel = (Integer) permissions.get("accounts");  // Error!]]></programlisting>
+
+            <para>
+                <literal>Session</literal> ‚ªƒNƒ[ƒY‚³‚ꂽ‚Æ‚«ApermissionsƒRƒŒƒNƒVƒ‡ƒ“‚Í
+                ‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢‚½‚߁A‚±‚̃RƒŒƒNƒVƒ‡ƒ“‚ÍŽ©g‚̏ó‘Ô‚ðƒ[ƒh‚Å‚«‚Ü‚¹‚ñB
+                <emphasis>Hibernate‚͐؂藣‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Ì’x‰„‰Šú‰»‚̓Tƒ|[ƒg
+                ‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis> BC³•û–@‚Æ‚µ‚āAƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç“ǂݍž‚Ý‚ðs‚¤ƒR[ƒh‚ð
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒRƒ~ƒbƒg‚·‚é’¼‘O‚Ɉړ®‚³‚¹‚Ü‚·B
+            </para>
+    
+            <para>
+                ˆê•û‚ŁA <literal>lazy="false"</literal> ‚ðŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚ÉŽw’è‚·‚邱‚ƂŁA
+                ’x‰„ˆ—‚ð‚µ‚È‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚âŠÖ˜A‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B 
+                ‚µ‚©‚µ‚È‚ª‚çA’x‰„‰Šú‰»‚Í‚Ù‚Ú‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚âŠÖ˜A‚ÅŽg‚í‚ê‚邱‚Æ‚ð
+                ˆÓ}‚µ‚Ä‚¢‚Ü‚·B‚à‚µ‚ ‚È‚½‚̃IƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚Ì’†‚É’x‰„ˆ—‚ð‚µ‚È‚¢ŠÖ˜A‚ð
+                ‘½‚­’è‹`‚µ‚Ä‚µ‚Ü‚¤‚ƁAHibernate‚͍ŏI“I‚ɂ̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“–ˆ‚É
+                ‚Ù‚ÚŠ®‘S‚ȃf[ƒ^ƒx[ƒX‚ðƒƒ‚ƒŠ‚Ì’†‚ɃtƒFƒbƒ`‚·‚邱‚Æ‚É‚È‚é‚Å‚µ‚傤I
+            </para>
+    
+            <para>
+                ‘¼•û‚ł́A“Á’è‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚¨‚¢‚ăZƒŒƒNƒgƒtƒFƒbƒ`‚Ì‘ã‚í‚è‚É
+                Œ‹‡ƒtƒFƒbƒ`i“–‘R‚±‚ê‚Í’x‰„ˆ—‚Å‚Í‚È‚­‚È‚è‚Ü‚·j‚ð‘I‘ð‚µ‚½‚¢‚±‚Æ‚ª
+                ŽžX‚ ‚è‚Ü‚·B‚±‚ê‚©‚çƒtƒFƒbƒ`í—ª‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚é•û–@‚ð‚¨Œ©‚¹‚µ‚Ü‚·B
+                Hibernate3‚ł́AƒtƒFƒbƒ`í—ª‚ð‘I‘ð‚·‚éŽd‘g‚Ý‚Í’Pˆê’lŠÖ˜A‚ƃRƒŒƒNƒVƒ‡ƒ“‚Å
+                •Ï‚í‚è‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+        
+        </sect2>
+        
+        <sect2 id="performance-fetching-custom" revision="4">
+            <title>ƒtƒFƒbƒ`í—ª‚̃`ƒ…[ƒjƒ“ƒO</title>
+            
+            <para>
+                ƒZƒŒƒNƒgƒtƒFƒbƒ`iƒfƒtƒHƒ‹ƒgj‚ÍN+1ƒZƒŒƒNƒg–â‘è‚Æ‚¢‚¤‘å‚«‚ÈŽã“_‚ª‚ ‚邽‚߁A
+                ƒ}ƒbƒsƒ“ƒO’è‹`‚ÅŒ‹‡ƒtƒFƒbƒ`‚ð—LŒø‚É‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<set name="permissions" 
+            fetch="join">
+    <key column="userId"/>
+    <one-to-many class="Permission"/>
+</set]]></programlisting>
+
+           <programlisting><![CDATA[<many-to-one name="mother" class="Cat" fetch="join"/>]]></programlisting>
+
+            <para>
+                ƒ}ƒbƒsƒ“ƒO’è‹`‚Å’è‹`‚µ‚½ <literal>ƒtƒFƒbƒ`</literal> í—ª‚ÍŽŸ‚Ì‚à‚̂ɉe‹¿‚µ‚Ü‚·B
+            </para>
+            
+        <itemizedlist>
+             <listitem>
+                <para>
+                    <literal>get()</literal> ‚â <literal>load()</literal> ‚É‚æ‚é•œŒ³
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+
+                    ŠÖ˜A‚ɃiƒrƒQ[ƒg‚µ‚½‚Æ‚«‚É”­¶‚·‚éˆÃ–Ù“I‚È•œŒ³
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>Criteria</literal> ƒNƒGƒŠ
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>ƒTƒuƒZƒŒƒNƒg</literal> ƒtƒFƒbƒ`‚ðŽg‚¤HQLƒNƒGƒŠ
+                </para>
+            </listitem>
+        </itemizedlist>
+
+            <para>
+                ‚½‚Æ‚¦‚Ç‚ñ‚ȃtƒFƒbƒ`í—ª‚ðŽg‚Á‚½‚Æ‚µ‚Ä‚àA’x‰„‚Å‚Í‚È‚¢ƒOƒ‰ƒt‚̓ƒ‚ƒŠ‚ɓǂݍž‚Ü‚ê‚邱‚Æ‚ª
+                •ÛØ‚³‚ê‚Ü‚·B‚‚܂èA“Á’è‚ÌHQLƒNƒGƒŠ‚ðŽÀs‚·‚邽‚ß‚É‚¢‚­‚‚©‚ÌSELECT•¶‚ª‘¦ŽžŽÀs‚³‚ê‚é
+                ‚±‚Æ‚ª‚ ‚é‚Ì‚Å’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                ’ʏí‚́Aƒ}ƒbƒsƒ“ƒO’è‹`‚ŃtƒFƒbƒ`‚̃JƒXƒ^ƒ}ƒCƒY‚͍s‚¢‚Ü‚¹‚ñB
+                ‘ã‚í‚è‚ɁAƒfƒtƒHƒ‹ƒg‚Ì“®ì‚Ì‚Ü‚Ü‚É‚µ‚Ä‚¨‚¢‚āAHQL‚Å <literal>left join fetch</literal> ‚ð
+                Žw’è‚·‚邱‚Æ‚Å“Á’è‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Å“®ì‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+                ‚±‚ê‚ÍHibernate‚ɏ‰‰ñ‚̃ZƒŒƒNƒg‚ÅŠO•”Œ‹‡‚ðŽg‚Á‚ÄŠÖ˜A‚ðæ‚ɃtƒFƒbƒ`‚·‚é‚悤‚ÉŽw’肵‚Ä‚¢‚Ü‚·B
+                <literal>Criteria</literal> ƒNƒGƒŠ‚ÌAPI‚ł́A
+                <literal>setFetchMode(FetchMode.JOIN)</literal> ‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B
+            </para>
+            
+            <para>
+                ‚à‚µ <literal>get()</literal> ‚â <literal>load()</literal> ‚ÅŽg‚í‚ê‚é
+                ƒtƒFƒbƒ`í—ª‚ð•Ï‚¦‚½‚¢‚ÆŠ´‚¶‚½‚Æ‚«‚ɂ́A’Pƒ‚É
+                <literal>Criteria</literal> ƒNƒGƒŠ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B—áF
+            </para>
+            
+            <programlisting><![CDATA[User user = (User) session.createCriteria(User.class)
+                .setFetchMode("permissions", FetchMode.JOIN)
+                .add( Restrictions.idEq(userId) )
+                .uniqueResult();]]></programlisting>
+                
+            <para>
+                i‚±‚ê‚Í‚¢‚­‚‚©‚ÌORMƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚ª"fetch plan"‚ƌĂñ‚Å‚¢‚é‚à‚Ì‚Æ“¯‚¶‚Å‚·Bj
+            </para>
+
+            <para>
+                N+1ƒZƒŒƒNƒg–â‘è‚ð”ð‚¯‚é‚½‚ß‚Ì‚Ü‚Á‚½‚­ˆá‚¤•û–@‚́A‘æ2ƒŒƒxƒ‹ƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚±‚Æ‚Å‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-fetching-proxies" revision="2">
+            <title>’Pˆê’[ŠÖ˜AƒvƒƒLƒV</title>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚Ì’x‰„ƒtƒFƒbƒ`‚́AHibernateŽ©g‚ÌŽÀ‘•‚É‚æ‚é‰i‘±ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä
+                ŽÀŒ»‚µ‚Ä‚¢‚Ü‚·B‚µ‚©‚µA’Pˆê’[ŠÖ˜A‚É‚¨‚¯‚é’x‰„ˆ—‚ł́Aˆá‚¤Žd‘g‚Ý‚ª
+                •K—v‚Å‚·B‘Ώۂ̊֘AƒGƒ“ƒeƒBƒeƒB‚̓vƒƒLƒV‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñBHibernate‚Í
+                i‚·‚΂炵‚¢CGLIBƒ‰ƒCƒuƒ‰ƒŠ‚É‚æ‚éjŽÀsŽž‚̃oƒCƒgƒR[ƒhŠg’£‚ð
+                Žg‚Á‚ĉi‘±ƒIƒuƒWƒFƒNƒg‚Ì’x‰„‰Šú‰»ƒvƒƒLƒV‚ðŽÀŒ»‚µ‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                ƒfƒtƒHƒ‹ƒg‚ł́AHibernate3‚́iŠJŽnŽž‚Ɂj‚·‚ׂẲi‘±ƒNƒ‰ƒX‚̃vƒƒLƒV‚𐶐¬‚µA
+                ‚»‚ê‚ç‚ðŽg‚Á‚āA <literal>many-to-one</literal> ‚â <literal>one-to-one</literal> ŠÖ˜A‚Ì
+                ’x‰„ƒtƒFƒbƒ`‚ð‰Â”\‚É‚µ‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å <literal>proxy</literal> ‘®«‚É‚æ‚Á‚āAƒNƒ‰ƒX‚̃vƒƒLƒVƒCƒ“ƒ^[ƒtƒFƒCƒX‚Æ‚µ‚Ä
+                Žg‚¤ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðéŒ¾‚Å‚«‚Ü‚·BƒfƒtƒHƒ‹ƒg‚ł́AHibernate‚Í‚»‚̃Nƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚ðŽg‚¢‚Ü‚·B
+                <emphasis>ƒvƒƒLƒVƒNƒ‰ƒX‚͏­‚È‚­‚Æ‚àƒpƒbƒP[ƒW‰ÂŽ‹‚ŃfƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðŽÀ‘•‚µ‚È‚¯‚ê‚Î
+                ‚È‚ç‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚·‚ׂẲi‘±ƒNƒ‰ƒX‚É‚±‚̃Rƒ“ƒXƒgƒ‰ƒNƒ^‚𐄏§‚µ‚Ü‚·I</emphasis>
+            </para>
+
+            <para>
+                ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚̃Nƒ‰ƒX‚ɑ΂µ‚Ä‚±‚Ì•û–@‚ð“K—p‚·‚é‚Æ‚«‚É‚¢‚­‚‚©l—¶‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·B
+                —áF
+            </para>
+
+            <programlisting><![CDATA[<class name="Cat" proxy="Cat">
+    ......
+    <subclass name="DomesticCat">
+        .....
+    </subclass>
+</class>]]></programlisting>
+
+            <para>
+                ‘æˆê‚ɁA <literal>Cat</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Í <literal>DomesticCat</literal> 
+                ‚ɃLƒƒƒXƒg‚Å‚«‚Ü‚¹‚ñB‚½‚Æ‚¦Šî‚Æ‚È‚éƒCƒ“ƒXƒ^ƒ“ƒX‚ª <literal>DomesticCat</literal> 
+                ‚Å‚ ‚Á‚½‚Æ‚µ‚Ä‚à‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[Cat cat = (Cat) session.load(Cat.class, id);  // instantiate a proxy (does not hit the db)
+if ( cat.isDomesticCat() ) {                  // hit the db to initialize the proxy
+    DomesticCat dc = (DomesticCat) cat;       // Error!
+    ....
+}]]></programlisting>
+
+            <para>
+                ‘æ“ñ‚ɁAƒvƒƒLƒV‚Ì <literal>==</literal> ‚͐¬—§‚µ‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[Cat cat = (Cat) session.load(Cat.class, id);            // instantiate a Cat proxy
+DomesticCat dc = 
+        (DomesticCat) session.load(DomesticCat.class, id);  // acquire new DomesticCat proxy!
+System.out.println(cat==dc);                            // false]]></programlisting>
+
+            <para>
+                ‚µ‚©‚µA‚±‚ê‚ÍŒ©‚©‚¯‚قLj«‚¢ó‹µ‚Æ‚¢‚¤‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚½‚Æ‚¦ˆÙ‚È‚Á‚½ƒvƒƒLƒVƒIƒuƒWƒFƒNƒg‚Ö‚Ì
+                “ñ‚‚̎QÆ‚ª‚ ‚Á‚½‚Æ‚µ‚Ä‚àAŠî‚Æ‚È‚éƒCƒ“ƒXƒ^ƒ“ƒX‚Í“¯‚¶ƒIƒuƒWƒFƒNƒg‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[cat.setWeight(11.0);  // hit the db to initialize the proxy
+System.out.println( dc.getWeight() );  // 11.0]]></programlisting>
+
+            <para>
+                ‘æŽO‚ɁA <literal>final</literal> ƒNƒ‰ƒX‚â <literal>final</literal> ƒƒ\ƒbƒh‚ðŽ‚ÂƒNƒ‰ƒX‚É
+                CGLIBƒvƒƒLƒV‚ðŽg‚¦‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ÅŒã‚ɁA‚à‚µ‰i‘±ƒIƒuƒWƒFƒNƒg‚̃Cƒ“ƒXƒ^ƒ“ƒX‰»Žž(—Ⴆ‚΁A‰Šú‰»ˆ—‚âƒfƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Ì’†‚Å)
+                ‚É‚È‚ñ‚ç‚©‚̃Šƒ\[ƒX‚ª•K—v‚Æ‚È‚é‚È‚çA‚»‚̃Šƒ\[ƒX‚à‚Ü‚½ƒvƒƒLƒV‚ð’Ê‚µ‚Ď擾‚³‚ê‚Ü‚·B
+                ŽÀÛ‚ɂ́AƒvƒƒLƒVƒNƒ‰ƒX‚͉i‘±ƒNƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚Å‚·B 
+            </para>
+
+            <para>
+                ‚±‚ê‚ç‚Ì–â‘è‚ÍJava‚Ì’PˆêŒp³ƒ‚ƒfƒ‹‚ÌŒ´—ã‚̐§ŒÀ‚Ì‚½‚ß‚Å‚·B‚à‚µ‚±‚ê‚ç‚Ì–â‘è‚ð”ð‚¯‚½‚¢‚Ì‚È‚çA
+                ƒrƒWƒlƒXƒƒ\ƒbƒh‚ðéŒ¾‚µ‚½ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ð‚»‚ê‚¼‚ê‰i‘±ƒNƒ‰ƒX‚ÅŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å‚±‚ê‚ç‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B—áF
+            </para>
+
+            <programlisting><![CDATA[<class name="CatImpl" proxy="Cat">
+    ......
+    <subclass name="DomesticCatImpl" proxy="DomesticCat">
+        .....
+    </subclass>
+</class>]]></programlisting>
+
+            <para>
+                <literal>CatImpl</literal> ‚Í <literal>Cat</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚·‚é‚̂ɑ΂µA
+                <literal>DomesticCatImpl</literal> ‚Í <literal>DomesticCat</literal> ‚ðŽÀ‘•‚µ‚Ü‚·B
+                ‚·‚é‚ƁA <literal>load()</literal> ‚â <literal>iterate()</literal> ‚́A
+                <literal>Cat</literal> ‚â <literal>DomesticCat</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̃vƒƒLƒV‚ð
+                •Ô‚µ‚Ü‚·Bi <literal>list()</literal> ‚͒ʏí‚̓vƒƒLƒV‚ð•Ô‚³‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢Bj
+            </para>
+
+            <programlisting><![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);
+Iterator iter = session.createQuery("from CatImpl as cat where cat.name='fritz'").iterate();
+Cat fritz = (Cat) iter.next();]]></programlisting>
+
+            <para>
+                ŠÖ˜A‚à’x‰„‰Šú‰»‚³‚ê‚Ü‚·B‚±‚ê‚̓vƒƒpƒeƒB‚ð <literal>Cat</literal> Œ^‚Ő錾‚µ‚È‚¯‚ê‚Î
+                ‚È‚ç‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B <literal>CatImpl</literal> ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ƒvƒƒLƒV‚̏‰Šú‰»‚ð <emphasis>•K—v‚Æ‚µ‚È‚¢</emphasis> ‘€ì‚à‘¶Ý‚µ‚Ü‚·B
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para>
+                        <literal>equals()</literal> i‰i‘±ƒNƒ‰ƒX‚ª <literal>equals()</literal> ‚ð
+                        ƒI[ƒo[ƒ‰ƒCƒh‚µ‚È‚¢‚Æ‚«j
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>hashCode()</literal> i‰i‘±ƒNƒ‰ƒX‚ª <literal>hashCode()</literal> ‚ð
+                        ƒI[ƒo[ƒ‰ƒCƒh‚µ‚È‚¢‚Æ‚«j
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        Ž¯•ÊŽq‚Ìgetterƒƒ\ƒbƒh
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                Hibernate‚Í <literal>equals()</literal> ‚â <literal>hashCode()</literal> ‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚½
+                ‰i‘±ƒNƒ‰ƒX‚ðŒŸo‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ƒfƒtƒHƒ‹ƒg‚Ì <literal>lazy="proxy"</literal> ‚Ì‘ã‚í‚è‚ɁA <literal>lazy="no-proxy"</literal> ‚ð
+                ‘I‚ñ‚¾‚±‚ƂŁAŒ^•ÏŠ·‚ÉŠÖ˜A‚·‚é–â‘è‚ð‰ñ”ð‚·‚é‚±‚Æ‚ªo—ˆ‚Ü‚·B
+                ‚µ‚©‚µAƒrƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚ݍž‚Ý‚ª•K—v‚É‚È‚èA‚ǂ̂悤‚È‘€ì‚Å‚ ‚Á‚Ä‚àA
+                ‚½‚¾‚¿‚ɃvƒƒLƒV‚̏‰Šú‰»‚ðs‚¤‚±‚Æ‚É‚È‚é‚Å‚µ‚傤B
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-fetching-initialization" revision="1">
+            <title>ƒRƒŒƒNƒVƒ‡ƒ“‚ƃvƒƒLƒV‚̏‰Šú‰»</title>
+
+            <para>
+                <literal>LazyInitializationException</literal> ‚́A <literal>Session</literal> ‚̃XƒR[ƒvŠO‚©‚ç
+                ‰Šú‰»‚µ‚Ä‚¢‚È‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚âƒvƒƒLƒV‚ɃAƒNƒZƒX‚³‚ꂽ‚Æ‚«‚ɁAHibernate‚É‚æ‚Á‚ăXƒ[‚³‚ê‚Ü‚·B
+                ‚·‚È‚í‚¿AƒRƒŒƒNƒVƒ‡ƒ“‚âƒvƒƒLƒV‚Ö‚ÌŽQÆ‚ðŽ‚ÂƒGƒ“ƒeƒBƒeƒB‚ª•ª—£‚³‚ꂽó‘Ô‚ÌŽž‚Å‚·B
+            </para>
+
+            <para>
+                <literal>Session</literal> ‚ðƒNƒ[ƒY‚·‚é‘O‚ɃvƒƒLƒV‚âƒRƒŒƒNƒVƒ‡ƒ“‚̏‰Šú‰»‚ðŠmŽÀ‚É
+                s‚¢‚½‚¢‚Æ‚«‚ª‚ ‚è‚Ü‚·B‚à‚¿‚ë‚ñA <literal>cat.getSex()</literal> 
+                ‚â <literal>cat.getKittens().size()</literal> ‚È‚Ç‚ðí‚ɌĂяo‚·‚±‚Ƃŏ‰Šú‰»‚ð‹­§‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚·B
+                ‚µ‚©‚µ‚±‚ê‚̓R[ƒh‚ð“ǂސl‚ð¬—‚³‚¹A”Ä—p“I‚ȃR[ƒh‚Æ‚¢‚¤“_‚©‚ç‚à•s•Ö‚Å‚·B
+            </para>
+
+            <para>
+                staticƒƒ\ƒbƒh‚Ì <literal>Hibernate.initialize()</literal> ‚â <literal>Hibernate.isInitialized()</literal> 
+                ‚Í’x‰„‰Šú‰»‚̃RƒŒƒNƒVƒ‡ƒ“‚âƒvƒƒLƒV‚ðˆµ‚¤‚Æ‚«‚É•Ö—˜‚È•û–@‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É’ñ‹Ÿ‚µ‚Ü‚·B
+                <literal>Hibernate.initialize(cat)</literal> ‚́A <literal>Session</literal> ‚ªƒI[ƒvƒ“‚µ‚Ä‚¢‚éŒÀ‚è‚Í
+                <literal>cat</literal> ƒvƒƒLƒV‚ð‹­§“I‚ɏ‰Šú‰»‚µ‚Ü‚·B
+                <literal>Hibernate.initialize( cat.getKittens() )</literal> ‚ÍkittensƒRƒŒƒNƒVƒ‡ƒ“‚ɑ΂µ‚Ä“¯—l‚Ì
+                Œø‰Ê‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <para>
+                •Ê‚Ì‘I‘ðŽˆ‚Æ‚µ‚āA•K—v‚È‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚âƒvƒƒLƒV‚ªƒ[ƒh‚³‚ê‚é‚Ü‚Å
+                <literal>Session</literal> ‚ðƒI[ƒvƒ“‚É‚µ‚Ä‚¨‚­•û–@‚ª‚ ‚è‚Ü‚·B‚¢‚­‚‚©‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì
+                ƒA[ƒLƒeƒNƒ`ƒƒ‚ł́A“Á‚ÉHibernate‚É‚æ‚éƒf[ƒ^ƒAƒNƒZƒX‚ðs‚¤ƒR[ƒh‚ƁA‚»‚ê‚ðŽg‚¤
+                ƒR[ƒh‚ªˆÙ‚È‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃ŒƒCƒ„[‚âA•¨—“I‚ɈقȂéƒvƒƒZƒbƒT‚Ì‚Æ‚«‚ɂ́A
+                ƒRƒŒƒNƒVƒ‡ƒ“‚ª‰Šú‰»‚³‚ê‚é‚Æ‚«‚É <literal>Session</literal> ‚ªƒI[ƒvƒ“‚µ‚Ä‚¢‚邱‚Æ‚ð
+                •ÛØ‚·‚é–â‘肪‚ ‚è‚Ü‚·B‚±‚Ì–â‘è‚ɑ΂µ‚Ä‚Í2‚‚̊î–{“I‚È•û–@‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <itemizedlist>
+                <listitem>
+                    <para>
+
+                        Webƒx[ƒX‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́A
+                        ƒrƒ…[‚̃Œƒ“ƒ_ƒŠƒ“ƒO‚ªŠ®—¹‚µAƒŠƒNƒGƒXƒg‚ªI‚í‚éˆê”ԍŌã‚Å <literal>Session</literal> 
+                        ‚ðƒNƒ[ƒY‚·‚邽‚߂ɁAƒT[ƒuƒŒƒbƒgƒtƒBƒ‹ƒ^‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·i <emphasis>Open Session in View</emphasis> 
+                        ƒpƒ^[ƒ“‚Å‚·jB‚à‚¿‚ë‚ñAƒAƒvƒŠƒP[ƒVƒ‡ƒ“Šî”Õ‚Ì—áŠOˆ—‚̐³Šm«‚ª”ñí‚ɏd—v‚É‚È‚è‚Ü‚·B
+                        ƒrƒ…[‚̃Œƒ“ƒ_ƒŠƒ“ƒO’†‚É—áŠO‚ª”­¶‚µ‚½‚Æ‚«‚Å‚³‚¦Aƒ†[ƒU‚ɏˆ—‚ª–ß‚é‘O‚É
+                        <literal>Session</literal> ‚̃Nƒ[ƒY‚ƃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̏I—¹‚ðs‚¤
+                        ‚±‚Æ‚ª•s‰ÂŒ‡‚É‚È‚è‚Ü‚·B
+                        Hibernate‚ÌWiki‚ɍڂÁ‚Ä‚¢‚é"Open Session in View"ƒpƒ^[ƒ“‚Ì—á‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ƒrƒWƒlƒX‘w‚ª•ª—£‚µ‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́AƒrƒWƒlƒXƒƒWƒbƒN‚Í
+                        Web‘w‚Å•K—v‚É‚È‚é‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚ðŽ–‘O‚É"€”õ"‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                        ‚±‚ê‚Í“Á’è‚̃†[ƒXƒP[ƒX‚Å•K—v‚Æ‚È‚éƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“/Web‘w‚ɑ΂µA
+                        ƒrƒWƒlƒX‘w‚ª‚·‚ׂẴf[ƒ^‚ðƒ[ƒh‚µA‚·‚ׂẴf[ƒ^‚ð‰Šú‰»‚µ‚Ä•Ô‚·‚ׂ«‚Æ
+                        ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B’ʏí‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍWeb‘w‚Å•K—v‚ȃRƒŒƒNƒVƒ‡ƒ“
+                        ‚»‚ꂼ‚ê‚ɑ΂µ‚Ä <literal>Hibernate.initialize()</literal> ‚ðŒÄ‚яo‚·‚©
+                        i‚±‚̌Ăяo‚µ‚̓ZƒbƒVƒ‡ƒ“‚ðƒNƒ[ƒY‚·‚é‘O‚ɍs‚¤•K—v‚ª‚ ‚è‚Ü‚·jA
+                        HibernateƒNƒGƒŠ‚Ì <literal>FETCH</literal> ß‚â <literal>Criteria</literal> 
+                        ‚Ì <literal>FetchMode.JOIN</literal> ‚ðŽg‚Á‚ăRƒŒƒNƒVƒ‡ƒ“‚ðæ‚É•œŒ³‚µ‚Ü‚·B
+                        •’Ê‚Í <emphasis>Session Facade</emphasis> ƒpƒ^[ƒ“‚Ì‘ã‚í‚è‚É
+                        <emphasis>Command</emphasis> ƒpƒ^[ƒ“‚ðÌ—p‚·‚é‚Ù‚¤‚ª‚æ‚èŠÈ’P‚Å‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢ƒRƒŒƒNƒVƒ‡ƒ“i‚à‚µ‚­‚Í‘¼‚̃vƒƒLƒVj‚ɃAƒNƒZƒX‚·‚é‘O‚ɁA
+                        <literal>merge()</literal> ‚â <literal>lock()</literal> ‚ðŽg‚Á‚ĐV‚µ‚¢
+                        <literal>Session</literal> ‚ɈȑO‚Ƀ[ƒh‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ð’ljÁ‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B
+                        ƒAƒhƒzƒbƒN‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚𓱓ü‚µ‚½‚̂ŁAHibernate‚Í
+                        ‚±‚ê‚ðŽ©“®“I‚ɍs‚킸A <emphasis>s‚¤‚ׂ«‚Å‚à‚ ‚è‚Ü‚¹‚ñ</emphasis> I
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                ‘å‚«‚ȃRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚µ‚½‚­‚Í‚È‚¢‚ªAƒRƒŒƒNƒVƒ‡ƒ“‚ɂ‚¢‚Ä‚Ì‚È‚ñ‚ç‚©‚̏î•ñiƒTƒCƒY‚̂悤‚ȁj
+                ‚âƒf[ƒ^‚̃TƒuƒZƒbƒg‚ð•K—v‚Æ‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“ƒtƒBƒ‹ƒ^‚ðŽg‚¤‚±‚ƂŁA‰Šú‰»‚¹‚¸‚ɃRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚ðŽæ“¾‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[( (Integer) s.createFilter( collection, "select count(*)" ).list().get(0) ).intValue()]]></programlisting>
+
+            <para>
+                <literal>createFilter()</literal> ƒƒ\ƒbƒh‚́AƒRƒŒƒNƒVƒ‡ƒ“‘S‘Ì‚ð‰Šú‰»‚·‚é•K—v‚È‚µ‚ɁAƒRƒŒƒNƒVƒ‡ƒ“‚Ì
+                ƒTƒuƒZƒbƒg‚𕜌³‚·‚邽‚ß‚ÉŒø‰Ê“I‚ÉŽg‚¦‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[s.createFilter( lazyCollection, "").setFirstResult(0).setMaxResults(10).list();]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="performance-fetching-batch">
+            <title>ƒoƒbƒ`ƒtƒFƒbƒ`‚ÌŽg—p</title>
+
+            <para>
+                Hibernate‚̓oƒbƒ`ƒtƒFƒbƒ`‚ðŒø—¦“I‚ÉŽg—p‚Å‚«‚Ü‚·Bˆê‚‚̃vƒƒLƒVi‚à‚µ‚­‚̓RƒŒƒNƒVƒ‡ƒ“j‚ªƒAƒNƒZƒX
+                ‚³‚ê‚é‚ƁAHibernate‚Í‚¢‚­‚‚©‚̏‰Šú‰»‚µ‚Ä‚¢‚È‚¢ƒvƒƒLƒV‚ðƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·Bƒoƒbƒ`ƒtƒFƒbƒ`‚Í
+                ’x‰„ƒZƒŒƒNƒgƒtƒFƒbƒ`í—ª‚ɑ΂·‚éÅ“K‰»‚Å‚·Bƒoƒbƒ`ƒtƒFƒbƒ`‚Ì’²®‚É‚Í‚Q‚‚̕û–@‚ª‚ ‚è‚Ü‚·B
+                ƒNƒ‰ƒXƒŒƒxƒ‹‚ƃRƒŒƒNƒVƒ‡ƒ“ƒŒƒxƒ‹‚Å‚·B
+            </para>
+
+            <para>
+                ƒNƒ‰ƒXA—v‘f‚̃oƒbƒ`ƒtƒFƒbƒ`‚Í—‰ð‚ªŠÈ’P‚Å‚·BŽÀsŽž‚ÌŽŸ‚̏ê–Ê‚ð‘z‘œ‚µ‚Ä‚­‚¾‚³‚¢B
+                <literal>Session</literal> ‚Ƀ[ƒh‚³‚ꂽ25ŒÂ‚Ì <literal>Cat</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‘¶Ý‚µA
+                ‚»‚ꂼ‚ê‚Ì <literal>Cat</literal> ‚Í <literal>owner</literal> ‚Å‚ ‚é <literal>Person</literal> ‚Ö‚ÌŠÖ˜A‚ðŽ‚¿‚Ü‚·B
+                <literal>Person</literal> ƒNƒ‰ƒX‚Í <literal>lazy="true"</literal> ‚̃vƒƒLƒV‚Ń}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚Ü‚·B
+                ‚à‚µ¡‚·‚ׂĂÌCat‚ɑ΂µ‚ÄŒJ‚è•Ô‚µ <literal>getOwner()</literal> ‚ðŒÄ‚яo‚·‚ƁAHibernate‚Í
+                ƒfƒtƒHƒ‹ƒg‚Å‚Í25‰ñ‚Ì <literal>SELECT</literal> ‚ðŽÀs‚µAownerƒvƒƒLƒV‚Ì•œŒ³‚ð‚µ‚Ü‚·B
+                ‚±‚̐U‚é•‘‚¢‚ð <literal>Person</literal> ‚̃}ƒbƒsƒ“ƒO‚Ì <literal>batch-size</literal> 
+                ‚ÌŽw’è‚Å’²®‚Å‚«‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<class name="Person" batch-size="10">...</class>]]></programlisting>
+
+            <para>
+                Hibernate‚̓NƒGƒŠ‚ð‚R‰ñ‚¾‚¯‚ðŽÀs‚·‚é‚悤‚É‚È‚è‚Ü‚·Bƒpƒ^[ƒ“‚Í10, 10, 5‚Å‚·B
+            </para>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̃oƒbƒ`ƒtƒFƒbƒ`‚à—LŒø‚É‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B—á‚Æ‚µ‚āA‚»‚ꂼ‚ê‚Ì
+                <literal>Person</literal> ‚ª <literal>Cat</literal> ‚Ì’x‰„ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ‚Á‚Ä‚¨‚èA
+                10ŒÂ‚ÌPerson‚ª <literal>Sesssion</literal> ‚Ƀ[ƒh‚³‚ꂽ‚Æ‚·‚é‚ƁA‚·‚ׂĂÌPerson‚É
+                ‘΂µ‚ÄŒJ‚è•Ô‚µ <literal>getCats()</literal> ‚ðŒÄ‚яo‚·‚±‚ƂŁAŒv10‰ñ‚Ì <literal>SELECT</literal> 
+                ‚ª”­¶‚µ‚Ü‚·B‚à‚µ <literal>Person</literal> ‚̃}ƒbƒsƒ“ƒO‚Å <literal>cats</literal> 
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̃oƒbƒ`ƒtƒFƒbƒ`‚ð—LŒø‚É‚·‚ê‚΁AHibernate‚̓RƒŒƒNƒVƒ‡ƒ“‚ÌŽ–‘OƒtƒFƒbƒ`‚ªo—ˆ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<class name="Person">
+    <set name="cats" batch-size="3">
+        ...
+    </set>
+</class>]]></programlisting>
+
+            <para>
+                <literal>batch-size</literal> ‚ª3‚Ȃ̂ŁAHibernate‚Í4‰ñ‚Ì <literal>SELECT</literal> 
+                ‚Å3ŒÂA3ŒÂA3ŒÂA1ŒÂ‚ðƒ[ƒh‚µ‚Ü‚·BŒJ‚è•Ô‚·‚ƁA‘®«‚Ì’l‚Í“Á’è‚Ì <literal>Session</literal> 
+                ‚Ì’†‚̏‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚ÌŠú‘Ґ”‚Ɉˑ¶‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̃oƒbƒ`ƒtƒFƒbƒ`‚̓AƒCƒeƒ€‚̃lƒXƒg‚µ‚½ƒcƒŠ[A ‚·‚È‚í‚¿A‘ã•\“I‚È•”•i•\‚̃pƒ^[ƒ“‚ª
+                ‚ ‚éê‡‚É“Á‚É—L—p‚Å‚·Bi‚µ‚©‚µA“ǂݍž‚Ý‚ª‘½‚¢ƒcƒŠ[‚Å‚Í <emphasis>ƒlƒXƒg‚µ‚½set</emphasis> 
+                ‚â <emphasis>‹ï‘̉»‚µ‚½ƒpƒX</emphasis> ‚ª‚æ‚è‚æ‚¢‘I‘ð‚É‚È‚è‚Ü‚·Bj
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-fetching-subselect">
+            <title>ƒTƒuƒZƒŒƒNƒgƒtƒFƒbƒ`‚ÌŽg—p</title>
+
+            <para>
+                ˆê‚‚̒x‰„ƒRƒŒƒNƒVƒ‡ƒ“‚â’Pˆê’lƒvƒƒLƒV‚ªƒtƒFƒbƒ`‚³‚ê‚È‚¯‚ê‚΂¢‚¯‚È‚¢‚Æ‚«AHibernate‚Í
+                ‚»‚ê‚ç‚·‚×‚Ä‚ðƒ[ƒh‚µAƒTƒuƒZƒŒƒNƒg‚̃IƒŠƒWƒiƒ‹ƒNƒGƒŠ‚ªÄ“xŽÀs‚³‚ê‚Ü‚·B‚±‚ê‚Í
+                ƒoƒbƒ`ƒtƒFƒbƒ`‚Æ“¯‚¶•û–@‚Å“®‚«A­‚µ‚¸‚‚̃[ƒh‚͍s‚¢‚Ü‚¹‚ñB
+            </para>
+            
+            <!-- TODO: Write more about this -->
+            <!-- ‘‚­‘‚¯‚æ -->
+        </sect2>
+        
+        <sect2 id="performance-fetching-lazyproperties">
+            <title>’x‰„ƒvƒƒpƒeƒBƒtƒFƒbƒ`‚ÌŽg—p</title>
+
+            <para>
+                Hibernate3‚̓vƒƒpƒeƒB‚²‚Æ‚Ì’x‰„ƒtƒFƒbƒ`‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B‚±‚̍œK‰»Žè–@‚Í
+                <emphasis>ƒOƒ‹[ƒv‚̃tƒFƒbƒ`</emphasis> ‚Æ‚µ‚Ä‚à’m‚ç‚ê‚Ä‚¢‚Ü‚·B‚±‚ê‚Í‚Ù‚Æ‚ñ‚Ç
+                —v–]‚©‚ço‚½‹@”\‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢BŽÀÛ‚É‚Í—ñ“ǂݍž‚݂̍œK‰»‚æ‚è‚àA
+                s“ǂݍž‚݂̍œK‰»‚ª”ñí‚ɏd—v‚Å‚·B
+                ‚µ‚©‚µAƒNƒ‰ƒX‚Ì‚¢‚­‚‚©‚̃vƒƒpƒeƒB‚¾‚¯‚ð“ǂݍž‚Þ‚±‚Ƃ́AŠù‘¶‚̃e[ƒuƒ‹‚ª‰½•S‚à‚Ì—ñ‚ðŽ‚¿A
+                ƒf[ƒ^ƒ‚ƒfƒ‹‚ð‰ü‘P‚Å‚«‚È‚¢‚È‚Ç‚Ì‹É’[‚ȏꍇ‚É‚Í—L—p‚Å‚·B
+            </para>
+
+            <para>
+                ’x‰„ƒvƒƒpƒeƒB“ǂݍž‚Ý‚ð—LŒø‚É‚·‚é‚ɂ́A‘Ώۂ̃vƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚Å <literal>lazy</literal> 
+                ‘®«‚ðƒZƒbƒg‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[<class name="Document">
+       <id name="id">
+        <generator class="native"/>
+    </id>
+    <property name="name" not-null="true" length="50"/>
+    <property name="summary" not-null="true" length="200" lazy="true"/>
+    <property name="text" not-null="true" length="2000" lazy="true"/>
+</class>]]></programlisting>
+
+            <para>
+                ’x‰„ƒvƒƒpƒeƒB“ǂݍž‚݂̓rƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚ݍž‚Ý‚ð•K—v‚Æ‚µ‚Ü‚·I‚à‚µ
+                ‰i‘±ƒNƒ‰ƒX‚É‘g‚ݍž‚Ý‚ª‚³‚ê‚Ä‚¢‚È‚¢‚È‚çAHibernate‚Í–Ù‚Á‚Ä’x‰„ƒvƒƒpƒeƒB‚̐ݒè‚𖳎‹‚µ‚āA
+                ‘¦ŽžƒtƒFƒbƒ`‚É–ß‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ƒoƒCƒgƒR[ƒh‘g‚ݍž‚݂͈ȉº‚ÌAntƒ^ƒXƒN‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[<target name="instrument" depends="compile">
+    <taskdef name="instrument" classname="org.hibernate.tool.instrument.InstrumentTask">
+        <classpath path="${jar.path}"/>
+        <classpath path="${classes.dir}"/>
+        <classpath refid="lib.class.path"/>
+    </taskdef>
+
+    <instrument verbose="true">
+        <fileset dir="${testclasses.dir}/org/hibernate/auction/model">
+            <include name="*.class"/>
+        </fileset>
+    </instrument>
+</target>]]></programlisting>
+
+            <para>
+                •s—v‚È—ñ‚ð“ǂݍž‚Ü‚È‚¢‚½‚߂́A•Ê‚́i‚æ‚è‚æ‚¢Hj•û–@‚́A­‚È‚­‚Æ‚à
+                “ǂݍž‚݂݂̂̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚¨‚¢‚ẮAHQL‚âCriteriaƒNƒGƒŠ‚̎ˉe
+                ‹@”\‚ðŽg‚¤‚±‚Æ‚Å‚·B‚±‚Ì•û–@‚̓rƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚ݍž‚Ý‚ª•s—v‚É‚È‚èA
+                ‚æ‚è—Ç‚¢‰ðŒˆ•û–@‚Å‚·B
+            </para>
+            
+            <para>
+                HQL‚Å <literal>fetch all properties</literal> ‚ðŽg‚¤‚±‚ƂŁA•’Ê‚Ç‚¨‚è‚Ì
+                ƒvƒƒpƒeƒB‚Ì‘¦ŽžƒtƒFƒbƒ`ƒ“ƒO‚ð‹­§‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="performance-cache" revision="1">
+        <title>‘æ2ƒŒƒxƒ‹ƒLƒƒƒbƒVƒ…</title>
+
+        <para>
+            Hibernate‚Ì <literal>Session</literal> ‚͉i‘±ƒf[ƒ^‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒŒƒxƒ‹‚̃LƒƒƒbƒVƒ…‚Å‚·B
+            class-by-class‚Æcollection-by-collection‚²‚Ƃ́AƒNƒ‰ƒXƒ^ƒŒƒxƒ‹‚âJVMƒŒƒxƒ‹
+            i <literal>SessionFactory</literal> ƒŒƒxƒ‹j‚̃LƒƒƒbƒVƒ…‚ðÝ’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+            ƒNƒ‰ƒXƒ^‰»‚³‚ꂽƒLƒƒƒbƒVƒ…‚ɂ‚Ȃ®‚±‚Æ‚³‚¦o—ˆ‚Ü‚·B‚µ‚©‚µ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ƒLƒƒƒbƒVƒ…‚Í‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚é‰i‘±‘w‚̕ύX‚ð
+            l—¶‚µ‚Ü‚¹‚ñiƒLƒƒƒbƒVƒ…ƒf[ƒ^‚ð’èŠú“I‚ÉŠúŒÀØ‚ê‚É‚·‚éÝ’è‚͏o—ˆ‚Ü‚·jB
+        </para>
+        
+        <para revision="1">
+            Hibernate‚ªŽg—p‚·‚éƒLƒƒƒbƒVƒ…ŽÀ‘•‚́A<literal>hibernate.cache.provider_class</literal> ƒvƒƒpƒeƒB‚É
+            <literal>org.hibernate.cache.CacheProvider</literal> ‚ðŽÀ‘•‚µ‚½ƒNƒ‰ƒX–¼‚ðŽw’è‚·‚邱‚ƂŕύX‚Å‚«‚Ü‚·B
+            Hibernate‚Í‘½‚­‚̃I[ƒvƒ“ƒ\[ƒX‚̃LƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚ðƒrƒ‹ƒgƒCƒ“ŽÀ‘•‚ÅŽ‚Á‚Ä‚¢‚Ü‚·iŒã‚ɃŠƒXƒg‚ª‚ ‚è‚Ü‚·jB
+            ‰Á‚¦‚āA‘O‚Éà–¾‚µ‚½‚悤‚ɁA‚ ‚È‚½Ž©g‚ª“ÆŽ©‚ÌŽÀ‘•‚ð‚µ‚ÄA‚»‚ê‚ð‘g‚ݍž‚Þ‚±‚Æ‚ào—ˆ‚Ü‚·B
+            ƒo[ƒWƒ‡ƒ“3.2‚æ‚è‘O‚Å‚ÍEhCache‚ªƒfƒtƒHƒ‹ƒg‚̃LƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ƒo[ƒWƒ‡ƒ“3.2‚Å‚Í‚±‚ê‚Í“–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñB
+        </para>
+
+        <table frame="topbot" id="cacheproviders" revision="1">
+            <title>ƒLƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_</title>
+            <tgroup cols='5' align='left' colsep='1' rowsep='1'>
+            <colspec colname='c1' colwidth="1*"/>
+            <colspec colname='c2' colwidth="3*"/>
+            <colspec colname='c3' colwidth="1*"/>
+            <colspec colname='c4' colwidth="1*"/>
+            <colspec colname='c5' colwidth="1*"/>
+            <thead>
+            <row>
+              <entry>ƒLƒƒƒbƒVƒ…</entry>
+              <entry>ƒvƒƒoƒCƒ_ƒNƒ‰ƒX</entry>
+              <entry>ƒ^ƒCƒv</entry>
+              <entry>ƒNƒ‰ƒXƒ^ƒZ[ƒt</entry>
+              <entry>ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚̃Tƒ|[ƒg</entry>
+            </row>
+            </thead>
+            <tbody>
+            <row>
+                <entry>Hashtablei»•i—p‚Æ‚µ‚ĈӐ}‚µ‚Ä‚¢‚Ü‚¹‚ñj</entry>
+                <entry><literal>org.hibernate.cache.HashtableCacheProvider</literal></entry>
+                <entry>ƒƒ‚ƒŠ</entry>
+                <entry></entry>
+                <entry>yes</entry>
+            </row>
+            <row>
+                <entry>EHCache</entry>
+                <entry><literal>org.hibernate.cache.EhCacheProvider</literal></entry>
+                <entry>ƒƒ‚ƒŠAƒfƒBƒXƒN</entry>
+                <entry></entry>
+                <entry>yes</entry>
+            </row>
+            <row>
+                <entry>OSCache</entry>
+                <entry><literal>org.hibernate.cache.OSCacheProvider</literal></entry>
+                <entry>ƒƒ‚ƒŠAƒfƒBƒXƒN</entry>
+                <entry>yesiƒNƒ‰ƒXƒ^–³Œø‰»j</entry>
+                <entry>yes</entry>
+            </row>
+            <row>
+                <entry>SwarmCache</entry>
+                <entry><literal>org.hibernate.cache.SwarmCacheProvider</literal></entry>
+                <entry>ƒNƒ‰ƒXƒ^iipƒ}ƒ‹ƒ`ƒLƒƒƒXƒgj</entry>
+                <entry>yesiƒNƒ‰ƒXƒ^–³Œø‰»j</entry>
+                <entry></entry>
+            </row>
+            <row>
+                <entry>JBoss TreeCache</entry>
+                <entry><literal>org.hibernate.cache.TreeCacheProvider</literal></entry>
+                <entry>ƒNƒ‰ƒXƒ^iipƒ}ƒ‹ƒ`ƒLƒƒƒXƒgjAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒiƒ‹</entry>
+                <entry>yesi•¡»j</entry>
+                <entry>yesiŽž“¯Šú‚ª•K—vj</entry>
+            </row>
+            </tbody>
+            </tgroup>
+        </table>
+
+        <sect2 id="performance-cache-mapping" revision="2">
+            <title>ƒLƒƒƒbƒVƒ…‚̃}ƒbƒsƒ“ƒO</title>
+
+            <para>
+                ƒNƒ‰ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Ì <literal>&lt;cache&gt;</literal> —v‘f‚͈ȉº‚ÌŒ`Ž®‚Å‚·B
+            </para>
+
+            <programlistingco>
+                <areaspec>
+                    <area id="cache1" coords="2 70"/>
+                    <area id="cache2" coords="3 70"/>
+                    <area id="cache3" coords="4 70"/>
+                </areaspec>
+                <programlisting><![CDATA[<cache 
+    usage="transactional|read-write|nonstrict-read-write|read-only"
+    region="RegionName"
+    include="all|non-lazy"
+/>]]></programlisting>
+                <calloutlist>
+                    <callout arearefs="cache1">
+                        <para>
+                            <literal>usage</literal> (required) specifies the caching strategy:
+                            <literal>transactional</literal>,
+                            <literal>read-write</literal>,
+                            <literal>nonstrict-read-write</literal> or
+                            <literal>read-only</literal>
+                        </para>
+                    </callout>                   
+                    <callout arearefs="cache2">
+                        <para>
+                            <literal>region</literal> (optional, defaults to the class or
+                            collection role name) specifies the name of the second level cache 
+                            region
+                        </para>
+                    </callout>                   
+                    <callout arearefs="cache3">
+                        <para>
+                            <literal>include</literal> (optional, defaults to <literal>all</literal>) 
+                            <literal>non-lazy</literal> specifies that properties of the entity mapped
+                            with <literal>lazy="true"</literal> may not be cached when attribute-level
+                            lazy fetching is enabled
+                        </para>
+                    </callout>                   
+                </calloutlist>
+            </programlistingco>
+            
+            <para>
+                ‚Ü‚½‚́i‚æ‚è‚æ‚¢•û–@‚Æ‚µ‚āHjA <literal>hibernate.cfg.xml</literal> ‚É <literal>&lt;class-cache&gt;</literal> 
+                ‚Æ <literal>&lt;collection-cache&gt;</literal> —v‘f‚ðŽw’è‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B
+            </para>
+            
+            <para>
+                <literal>usage</literal> ‘®«‚Í <emphasis>ƒLƒƒƒbƒVƒ…‚Ì•À—ñ«í—ª</emphasis> ‚ðŽw’肵‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-cache-readonly">
+            <title>read onlyí—ª</title>
+
+            <para>
+                ‚à‚µƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“ǂݍž‚Ý‚Ì‚Ý•K—v‚ŁA‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•ÏX‚µ‚È‚¢‚È‚çA
+                <literal>read-only</literal> ƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B‚±‚ê‚Í‚à‚Á‚Æ‚à’Pƒ‚Å
+                ‚à‚Á‚Æ‚àƒpƒtƒH[ƒ}ƒ“ƒX‚Ì—Ç‚¢í—ª‚Å‚·BƒNƒ‰ƒXƒ^‚Å‚ÌŽg—p‚àŠ®‘S‚ɈÀ‘S‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[<class name="eg.Immutable" mutable="false">
+    <cache usage="read-only"/>
+    ....
+</class>]]></programlisting>
+
+        </sect2>
+
+
+        <sect2 id="performance-cache-readwrite">
+            <title>read/writeí—ª</title>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒf[ƒ^‚ðXV‚·‚é•K—v‚ª‚ ‚é‚È‚çA <literal>read-write</literal> ƒLƒƒƒbƒVƒ…‚ª“K“–‚©‚à
+                ‚µ‚ê‚Ü‚¹‚ñB‚±‚̃LƒƒƒbƒVƒ…í—ª‚́AƒVƒŠƒAƒ‰ƒCƒUƒuƒ‹‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£ƒŒƒxƒ‹‚ª—v‹‚³‚ê‚é‚È‚çA
+                Œˆ‚µ‚ÄŽg‚¤‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚à‚µƒLƒƒƒbƒVƒ…‚ªJTAŠÂ‹«‚ÅŽg‚í‚ê‚é‚È‚çAJTA <literal>TransactionManager</literal> 
+                ‚ðŽæ“¾‚·‚邽‚ß‚Ì•û–@‚ðŽ¦‚· <literal>hibernate.transaction.manager_lookup_class</literal> 
+                ƒvƒƒpƒeƒB‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‘¼‚̊‹«‚ł́A <literal>Session.close()</literal> 
+                ‚â <literal>Session.disconnect()</literal> ‚ªŒÄ‚΂ꂽ‚Æ‚«‚ɁAŠmŽÀ‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹
+                ‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‚à‚µƒNƒ‰ƒXƒ^‚Å‚±‚̐헪‚ðŽg‚¢‚½‚¢‚È‚çAŠî‚Æ‚È‚éƒLƒƒƒbƒVƒ…‚ÌŽÀ‘•‚ªƒƒbƒN‚ðƒTƒ|[ƒg
+                ‚µ‚Ä‚¢‚邱‚Æ‚ð•ÛØ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‘g‚ݍž‚݂̃LƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚Í <emphasis>ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ</emphasis> B
+            </para>
+
+            <programlisting><![CDATA[<class name="eg.Cat" .... >
+    <cache usage="read-write"/>
+    ....
+    <set name="kittens" ... >
+        <cache usage="read-write"/>
+        ....
+    </set>
+</class>]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="performance-cache-nonstrict">
+            <title>Œµ–§‚Å‚Í‚È‚¢read/writeí—ª</title>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚½‚Ü‚É‚µ‚©ƒf[ƒ^‚ðXV‚·‚é•K—v‚Í‚È‚­i‚·‚È‚í‚¿“ñ‚‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª
+                “¯Žž‚É“¯‚¶ƒAƒCƒeƒ€‚ðXV‚µ‚悤‚Æ‚·‚邱‚Æ‚Í‚Ù‚Æ‚ñ‚Ç‹N‚±‚ç‚È‚¢jAŒµ–§‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£‚ª
+                —v‹‚³‚ê‚È‚¢‚È‚çA <literal>nonstrict-read-write</literal> ƒLƒƒƒbƒVƒ…‚ª“K“–‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                ‚à‚µƒLƒƒƒbƒVƒ…‚ªJTAŠÂ‹«‚ÅŽg‚í‚ê‚é‚È‚çA <literal>hibernate.transaction.manager_lookup_class</literal> 
+                ‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‘¼‚̊‹«‚ł́A <literal>Session.close()</literal> 
+                ‚â <literal>Session.disconnect()</literal> ‚ªŒÄ‚΂ꂽ‚Æ‚«‚ɁAŠmŽÀ‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹
+                ‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-cache-transactional">
+            <title>transactionalí—ª</title>
+
+            <para>
+                <literal>transactional</literal> ƒLƒƒƒbƒVƒ…í—ª‚ÍJBoss TreeCache‚̂悤‚ÈŠ®‘S‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒiƒ‹
+                ƒLƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚̃Tƒ|[ƒg‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+                ‚±‚̂悤‚ȃLƒƒƒbƒVƒ…‚ÍJTAŠÂ‹«‚Å‚Ì‚ÝŽg—p‰Â”\‚ŁA <literal>hibernate.transaction.manager_lookup_class</literal> 
+                ‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+
+        </sect2>
+        
+        <para>
+            ‚·‚ׂĂ̓¯Žž•Às«ƒLƒƒƒbƒVƒ…í—ª‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒLƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚Í‚ ‚è‚Ü‚¹‚ñB
+            ˆÈ‰º‚Ì•\‚͂ǂ̃vƒƒoƒCƒ_‚ª‚Ç‚Ì“¯Žž•À—ñ«í—ª‚ɑΉž‚·‚é‚©‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <table frame="topbot">
+            <title>“¯Žž•Às«ƒLƒƒƒbƒVƒ…í—ª‚̃Tƒ|[ƒg</title>
+            <tgroup cols='5' align='left' colsep='1' rowsep='1'>
+            <colspec colname='c1' colwidth="1*"/>
+            <colspec colname='c2' colwidth="1*"/>
+            <colspec colname='c3' colwidth="1*"/>
+            <colspec colname='c4' colwidth="1*"/>
+            <colspec colname='c5' colwidth="1*"/>
+            <thead>
+            <row>
+              <entry>ƒLƒƒƒbƒVƒ…</entry>
+              <entry>read-only</entry>
+              <entry>Œµ–§‚Å‚Í‚È‚¢read-write</entry>
+              <entry>read-write</entry>
+              <entry>transactional</entry>
+            </row>
+            </thead>
+            <tbody>
+            <row>
+                <entry>Hashtablei»•i—p‚Æ‚µ‚ĈӐ}‚µ‚Ä‚¢‚Ü‚¹‚ñj</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry></entry>
+            </row>
+            <row>
+                <entry>EHCache</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry></entry>
+            </row>
+            <row>
+                <entry>OSCache</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry></entry>
+            </row>
+            <row>
+                <entry>SwarmCache</entry>
+                <entry>yes</entry>
+                <entry>yes</entry>
+                <entry></entry>
+                <entry></entry>
+            </row>
+            <row>
+                <entry>JBoss TreeCache</entry>
+                <entry>yes</entry>
+                <entry></entry>
+                <entry></entry>
+                <entry>yes</entry>
+            </row>
+            </tbody>
+            </tgroup>
+        </table>
+
+    </sect1>
+
+    <sect1 id="performance-sessioncache" revision="2">
+        <title>ƒLƒƒƒbƒVƒ…‚ÌŠÇ—</title>
+
+        <para>
+            ƒIƒuƒWƒFƒNƒg‚ð <literal>save()</literal> A <literal>update()</literal> A <literal>saveOrUpdate()</literal> 
+            ‚É“n‚·‚Æ‚«A‚»‚µ‚Ä <literal>load()</literal> A <literal>get()</literal> A <literal>list()</literal> A
+            <literal>iterate()</literal> A <literal>scroll()</literal> ‚ðŽg‚Á‚ăIƒuƒWƒFƒNƒg‚𕜌³‚·‚é‚Æ‚«‚ɂ͏í‚ɁA
+            ‚»‚̃IƒuƒWƒFƒNƒg‚Í <literal>Session</literal> ‚Ì“à•”ƒLƒƒƒbƒVƒ…‚ɒljÁ‚³‚ê‚Ü‚·B
+        </para>
+        <para>
+            ŽŸ‚É <literal>flush()</literal> ‚ªŒÄ‚΂ê‚é‚ƁAƒIƒuƒWƒFƒNƒg‚̏ó‘Ԃ̓f[ƒ^ƒx[ƒX‚Æ“¯Šú‰»‚³‚ê‚Ü‚·B
+            ‚à‚µ‚±‚Ì“¯Šú‚ª‹N‚±‚邱‚Æ‚ð–]‚Ü‚È‚¢‚Æ‚«‚âA–c‘å‚Ȑ”‚̃IƒuƒWƒFƒNƒg‚ðˆ—‚µ‚Ä‚¢‚ăƒ‚ƒŠ‚ðŒø—¦“I‚É
+            ˆµ‚¤•K—v‚ª‚ ‚é‚Æ‚«‚́A <literal>evict()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚ĈꎟƒLƒƒƒbƒVƒ…‚©‚ç
+            ƒIƒuƒWƒFƒNƒg‚âƒRƒŒƒNƒVƒ‡ƒ“‚ðíœ‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[ScrollableResult cats = sess.createQuery("from Cat as cat").scroll(); //a huge result set
+while ( cats.next() ) {
+    Cat cat = (Cat) cats.get(0);
+    doSomethingWithACat(cat);
+    sess.evict(cat);
+}]]></programlisting>
+        
+        <para>
+            <literal>Session</literal> ‚̓Cƒ“ƒXƒ^ƒ“ƒX‚ªƒZƒbƒVƒ‡ƒ“ƒLƒƒƒbƒVƒ…‚ÉŠÜ‚Ü‚ê‚é‚©‚Ç‚¤‚©‚ð”»’f‚·‚邽‚ß‚Ì
+            <literal>contains()</literal> ƒƒ\ƒbƒh‚à’ñ‹Ÿ‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+            ‚·‚ׂẴIƒuƒWƒFƒNƒg‚ðƒZƒbƒVƒ‡ƒ“ƒLƒƒƒbƒVƒ…‚©‚犮‘S‚ÉŽæ‚菜‚­‚ɂ́A<literal>Session.clear()</literal> 
+            ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <para>
+            “ñŽŸƒLƒƒƒbƒVƒ…‚Ì‚½‚߂ɁA <literal>SessionFactory</literal> ‚É‚Í
+            ƒCƒ“ƒXƒ^ƒ“ƒXAƒNƒ‰ƒX‘S‘́AƒRƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒXAƒRƒŒƒNƒVƒ‡ƒ“‘S‘Ì‚ðƒLƒƒƒbƒVƒ…‚©‚ç
+            íœ‚·‚邽‚߂̃ƒ\ƒbƒh‚ª‚»‚ꂼ‚ê’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular Cat
+sessionFactory.evict(Cat.class);  //evict all Cats
+sessionFactory.evictCollection("Cat.kittens", catId); //evict a particular collection of kittens
+sessionFactory.evictCollection("Cat.kittens"); //evict all kitten collections]]></programlisting>
+
+        <para>
+            <literal>CacheMode</literal> ‚Í“Á’è‚̃ZƒbƒVƒ‡ƒ“‚ª“ñŽŸƒLƒƒƒbƒVƒ…‚Ƃǂ̂悤‚É‘ŠŒÝì—p‚·‚é‚©‚ð
+            Žw’肵‚Ü‚·B
+        </para>
+        
+        <itemizedlist>
+        <listitem>
+        <para>
+            <literal>CacheMode.NORMAL</literal> - ƒAƒCƒeƒ€‚̓ǂݍž‚݂Ə‘‚«ž‚Ý‚Å“ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚¢‚Ü‚·
+        </para>
+        </listitem>
+        <listitem>
+        <para>
+            <literal>CacheMode.GET</literal> - “ǂݍž‚Ý‚Í“ñŽŸƒLƒƒƒbƒVƒ…‚©‚çs‚¢‚Ü‚·‚ªAƒf[ƒ^‚ð
+            XV‚µ‚½ê‡‚ðœ‚¢‚Ä“ñŽŸƒLƒƒƒbƒVƒ…‚ɏ‘‚«ž‚Ý‚ð‚µ‚Ü‚¹‚ñB
+        </para>
+        </listitem>
+        <listitem>
+        <para>
+            <literal>CacheMode.PUT</literal> - “ñŽŸƒLƒƒƒbƒVƒ…‚ɃAƒCƒeƒ€‚ð‘‚«ž‚Ý‚Ü‚·‚ªA“ǂݍž‚Ý‚É‚Í
+            “ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚¢‚Ü‚¹‚ñB
+        </para>
+        </listitem>
+        <listitem>
+        <para>
+            <literal>CacheMode.REFRESH</literal> - “ñŽŸƒLƒƒƒbƒVƒ…‚ɃAƒCƒeƒ€‚ð‘‚«ž‚Ý‚Ü‚·‚ªA“ǂݍž‚Ý‚É‚Í
+            “ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚킸A <literal>hibernate.cache.use_minimal_puts</literal> 
+            ‚̉e‹¿‚ðŽó‚¯‚¸‚ɁAƒf[ƒ^ƒx[ƒX‚©‚ç“ǂݍž‚Þ‚·‚ׂẴAƒCƒeƒ€‚Ì“ñŽŸƒLƒƒƒbƒVƒ…‚ð‹­§“I‚ɃŠƒtƒŒƒbƒVƒ…‚µ‚Ü‚·B
+        </para>
+        </listitem>
+        </itemizedlist>
+        
+        <para>
+            “ñŽŸƒLƒƒƒbƒVƒ…‚Ì“à—e‚âƒNƒGƒŠƒLƒƒƒbƒVƒ…—̈æ‚ðŒ©‚é‚½‚߂ɁA <literal>Statistics</literal> API‚ð
+            Žg‚Á‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <programlisting><![CDATA[Map cacheEntries = sessionFactory.getStatistics()
+        .getSecondLevelCacheStatistics(regionName)
+        .getEntries();]]></programlisting>
+        
+        <para>
+            “Œvî•ñ‚ð—LŒø‚É‚µ‚āA‚³‚ç‚ɃIƒvƒVƒ‡ƒ“‚Æ‚µ‚āAƒLƒƒƒbƒVƒ…ƒGƒ“ƒgƒŠ‚ð
+            l‚ª‚æ‚藝‰ð‰Â”\‚ÈŒ`Ž®‚Å•ÛŽ‚·‚邱‚Æ‚ðHibernate‚É‹­§‚µ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[hibernate.generate_statistics true
+hibernate.cache.use_structured_entries true]]></programlisting>       
+                
+    </sect1>
+    
+    <sect1 id="performance-querycache" revision="1">
+        <title>ƒNƒGƒŠƒLƒƒƒbƒVƒ…</title>
+
+        <para>
+            ƒNƒGƒŠ‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚àƒLƒƒƒbƒVƒ…o—ˆ‚Ü‚·B‚±‚ê‚Í“¯‚¶ƒpƒ‰ƒ[ƒ^‚ʼn½“x‚àŽÀs‚³‚ê‚é
+            ƒNƒGƒŠ‚ɑ΂µ‚Ä‚Ì‚Ý—L—p‚Å‚·BƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚ɂ́A‚Ü‚¸Ý’è‚Å—LŒø‚É‚µ‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+        </para>
+
+        <programlisting><![CDATA[hibernate.cache.use_query_cache true]]></programlisting>       
+        
+        <para>
+            ‚±‚̐ݒè‚͐V‚½‚É“ñ‚‚̃LƒƒƒbƒVƒ…—̈æ‚̍쐬‚ðs‚¢‚Ü‚·Bˆê‚‚̓NƒGƒŠ‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚Ì
+            ƒLƒƒƒbƒVƒ…i <literal>org.hibernate.cache.StandardQueryCache</literal> j‚ð•ÛŽ‚µA
+            ‚à‚¤1‚‚̓NƒGƒŠ‰Â”\‚ȃe[ƒuƒ‹‚ւ̍ŐV‚̍XVƒ^ƒCƒ€ƒXƒ^ƒ“ƒv
+           i <literal>org.hibernate.cache.UpdateTimestampsCache</literal> j‚ð•ÛŽ‚µ‚Ü‚·B
+            ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ÌŽÀÛ‚Ì—v‘f‚̏ó‘Ԃ̓LƒƒƒbƒVƒ…‚µ‚È‚¢‚±‚Æ‚É
+            ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢BƒLƒƒƒbƒVƒ…‚·‚é‚Ì‚ÍŽ¯•ÊŽq‚Ì’l‚ƁA’lŒ^‚ÌŒ‹‰Ê‚Ì‚Ý‚Å‚·B
+            ‚»‚Ì‚½‚߁AƒNƒGƒŠƒLƒƒƒbƒVƒ…‚͏í‚É“ñŽŸƒLƒƒƒbƒVƒ…‚ƈꏏ‚ÉŽg‚¤‚ׂ«‚Å‚·B
+        </para>
+        
+        <para>
+            ‚Ù‚Æ‚ñ‚ǂ̃NƒGƒŠ‚̓LƒƒƒbƒVƒ…‚̉¶Œb‚ðŽó‚¯‚È‚¢‚̂ŁAƒfƒtƒHƒ‹ƒg‚ł̓NƒGƒŠ‚̓LƒƒƒbƒVƒ…‚³‚ê‚Ü‚¹‚ñB
+            ƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚·‚é‚ɂ́A <literal>Query.setCacheable(true)</literal> ‚ðŒÄ‚яo‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚»‚¤‚·‚ê‚΃NƒGƒŠ‚ªŠù‘¶‚̃LƒƒƒbƒVƒ…Œ‹‰Ê‚ð’T‚µAƒNƒGƒŠŽÀsŽž‚É‚»‚ÌŒ‹‰Ê‚ðƒLƒƒƒbƒVƒ…‚ɒljÁ‚·‚é
+            ‚悤‚É‚È‚è‚Ü‚·B
+        </para>
+        
+        <para>
+            ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Ì”jŠüƒ|ƒŠƒV[‚ð×‚©‚­§Œä‚µ‚½‚¢‚Æ‚«‚́A <literal>Query.setCacheRegion()</literal> 
+            ‚ðŒÄ‚яo‚µ‚Ä“Á’è‚̃NƒGƒŠ‚ɑ΂·‚éƒLƒƒƒbƒVƒ…—̈æ‚ðŽw’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[List blogs = sess.createQuery("from Blog blog where blog.blogger = :blogger")
+    .setEntity("blogger", blogger)
+    .setMaxResults(15)
+    .setCacheable(true)
+    .setCacheRegion("frontpages")
+    .list();]]></programlisting>
+
+        <para>
+            ƒNƒGƒŠ‚ªŽ©g‚̃NƒGƒŠƒLƒƒƒbƒVƒ…—̈æ‚̃ŠƒtƒŒƒbƒVƒ…‚ð‹­§‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚È‚çA
+            <literal>Query.setCacheMode(CacheMode.REFRESH)</literal> ‚ðŒÄ‚яo‚·‚ׂ«‚Å‚·B‚±‚ê‚Í
+            Œ³‚Æ‚È‚éƒf[ƒ^‚ª•Ê‚̃vƒƒZƒX‚É‚æ‚Á‚čXV‚³‚ꂽ‚èi‚·‚È‚í‚¿Hibernate‚ð’Ê‚¶‚čXV‚³‚ê‚È‚¢jA
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É“Á’è‚̃NƒGƒŠƒŠƒUƒ‹ƒgƒZƒbƒg‚ð‘I‘ð‚µ‚ÄƒŠƒtƒŒƒbƒVƒ…‚³‚¹‚éê‡‚É“Á‚É—L—p‚Å‚·B
+            ‚³‚ç‚É—L—p‚È‚à‚¤ˆê‚‚̕û–@‚́A <literal>SessionFactory.evictQueries()</literal> 
+            ‚É‚æ‚Á‚ăNƒGƒŠƒLƒƒƒbƒVƒ…—̈æ‚ðÁ‹Ž‚·‚邱‚Æ‚Å‚·B
+        </para>
+
+    </sect1>
+™14.1
+    <sect1 id="performance-collections">
+        <title>ƒRƒŒƒNƒVƒ‡ƒ“‚̃pƒtƒH[ƒ}ƒ“ƒX‚Ì—‰ð</title>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚̘b‘è‚É‚Í‚·‚Å‚É‘½‚­‚ÌŽžŠÔ‚ðŽg‚¢‚Ü‚µ‚½B‚±‚̐߂łÍ
+            ƒRƒŒƒNƒVƒ‡ƒ“‚ªŽÀsŽž‚ɂǂ̂悤‚ɐU•‘‚¤‚©‚ɂ‚¢‚Ă̘b‘è‚ð2A3Žæ‚èã‚°‚Ü‚·B
+        </para>
+
+        <sect2 id="performance-collections-taxonomy">
+            <title>•ª—Þ</title>
+
+            <para>Hibernate‚Í3‚‚̊î–{“I‚ȃRƒŒƒNƒVƒ‡ƒ“‚ÌŽí—Þ‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
+                  </para>
+
+            <itemizedlist>
+            <listitem>
+                <para>’l‚̃RƒŒƒNƒVƒ‡ƒ“</para>
+            </listitem>
+            <listitem>
+                <para>ˆê‘Α½ŠÖ˜A</para>
+            </listitem>
+            <listitem>
+                <para>‘½‘Α½ŠÖ˜A</para>
+            </listitem>
+            </itemizedlist>
+
+            <para>
+                ‚±‚Ì•ª—Þ‚Í‚³‚Ü‚´‚܂ȃe[ƒuƒ‹‚âŠO•”ƒL[ŠÖ˜A‚ð‹æ•Ê‚µ‚Ü‚·‚ªAŽ„‚½‚¿‚ª’m‚é•K—v‚Ì‚ ‚é
+                ŠÖ˜Aƒ‚ƒfƒ‹‚ɂ‚¢‚Ä‚Ù‚Æ‚ñ‚Ç‚È‚É‚à‹³‚¦‚Ä‚­‚ê‚Ü‚¹‚ñBŠÖ˜A\‘¢‚âƒpƒtƒH[ƒ}ƒ“ƒX‚Ì“Á’¥‚ð
+                Š®‘S‚É—‰ð‚·‚é‚ɂ́AHibernate‚ªƒRƒŒƒNƒVƒ‡ƒ“‚̍s‚ðXVAíœ‚·‚邽‚ß‚ÉŽg‚¤ŽåƒL[‚Ì
+                \‘¢‚à‚Ü‚½l‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚±‚ê‚͈ȉº‚Ì•ª—Þ‚ð’ñŽ¦‚µ‚Ü‚·B
+            </para>
+
+            <itemizedlist>
+            <listitem>
+                <para>ƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“</para>
+            </listitem>
+            <listitem>
+                <para>set</para>
+            </listitem>
+            <listitem>
+                <para>bag</para>
+            </listitem>
+            </itemizedlist>
+
+            <para>
+                ‚·‚ׂẴCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“imapAlistA”z—ñj‚Í <literal>&lt;key&gt;</literal> 
+                ‚Æ <literal>&lt;index&gt;</literal> ƒJƒ‰ƒ€‚©‚ç‚È‚éŽåƒL[‚ðŽ‚Á‚Ä‚¢‚Ü‚·B‚±‚̏ꍇ‚Í
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̍XV‚Í”ñí‚ÉŒø—¦“I‚Å‚·BŽåƒL[‚Í—L—p‚ȃCƒ“ƒfƒbƒNƒX‚É‚È‚èAHibernate‚ª
+                “Á’è‚̍s‚ðXV‚Ü‚½‚͍폜‚·‚é‚Æ‚«‚ɁA‚»‚̍s‚ðŒø—¦“I‚ÉŒ©‚‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+                        
+            <para>
+                set‚Í <literal>&lt;key&gt;</literal> ‚©‚ç‚È‚éŽåƒL[‚Æ—v‘f‚̃Jƒ‰ƒ€‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+                ‚±‚ê‚̓RƒŒƒNƒVƒ‡ƒ“—v‘f‚Ì‚¢‚­‚‚©‚ÌŒ^‚ɂ‚¢‚Ä‚ÍŒø—¦“I‚Å‚Í‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                “Á‚É•¡‡—v‘fA‘å‚«‚ȃeƒLƒXƒgAƒoƒCƒiƒŠƒtƒB[ƒ‹ƒh‚Å‚Í”ñŒø—¦‚Å‚·Bƒf[ƒ^ƒx[ƒX‚Í
+                •¡‡ŽåƒL[‚ÉŒø—¦“I‚ɃCƒ“ƒfƒbƒNƒX‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚È‚¢‚©‚ç‚Å‚·Bˆê•ûA1‘Α½‚⑽‘Α½ŠÖ˜A‚É‚¨‚¢‚āA
+                “Á‚ɐlHŽ¯•ÊŽq‚̏ꍇ‚Í“¯‚¶‚®‚ç‚¢Œø—¦“I‚Å‚·Bi—]’kF <literal>SchemaExport</literal> 
+                ‚ÅŽÀÛ‚É <literal>&lt;set&gt;</literal> ‚ÌŽåƒL[‚ðì‚肽‚¢‚È‚çA‚·‚ׂẴJƒ‰ƒ€‚Å
+                 <literal>not-null="true"</literal> ‚ðéŒ¾‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñBj
+            </para>
+
+            <para>
+                <literal>&lt;idbag&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚͑㗝ƒL[‚ð’è‹`‚µ‚Ü‚·B‚»‚Ì‚½‚ß
+                XV‚͏í‚É”ñí‚ÉŒø—¦“I‚Å‚·BŽ–ŽÀãA‚±‚ê‚͍őP‚̃P[ƒX‚Å‚·B
+            </para>
+            
+            <para>
+                bag‚͍ň«‚̃P[ƒX‚Å‚·Bbag‚Í—v‘f‚Ì’l‚̏d•¡‚ª‰Â”\‚ŁAƒCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ðŽ‚½‚È‚¢‚½‚߁A
+                ŽåƒL[‚Í’è‹`‚³‚ê‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñBHibernate‚ɂ͏d•¡‚µ‚½s‚ð‹æ•Ê‚·‚é•û–@‚ª‚ ‚è‚Ü‚¹‚ñB
+                Hibernate‚Í‚±‚Ì–â‘è‚Ì‰ðŒˆ‚Ì‚½‚߂ɁA•ÏX‚ª‚ ‚Á‚½‚Æ‚«‚ɂ͏í‚ÉŠ®‘S‚ȍ폜
+                iˆê‚Â‚Ì <literal>DELETE</literal> ‚É‚æ‚éj‚ðs‚¢AƒRƒŒƒNƒVƒ‡ƒ“‚̍č쐬‚ðs‚¢‚Ü‚·B
+                ‚±‚ê‚Í”ñí‚É”ñŒø—¦“I‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                1‘Α½ŠÖ˜A‚ł́AuŽåƒL[v‚̓f[ƒ^ƒx[ƒX‚̃e[ƒuƒ‹‚Ì•¨—“I‚È
+                ŽåƒL[‚Å‚Í‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚µ‚©‚µ‚±‚̏ꍇ‚Å‚³‚¦Aã‹L‚Ì•ª—Þ‚Í‚Ü‚¾—L—p‚Å‚·B
+                iHibernate‚ªƒRƒŒƒNƒVƒ‡ƒ“‚̌X‚̍s‚ð‚Ç‚¤‚â‚Á‚āuŒ©‚‚¯‚é‚©v‚ð•\‚µ‚Ä‚¢‚Ü‚·Bj
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-collections-mostefficientupdate">
+            <title>XV‚É‚à‚Á‚Æ‚àŒø—¦“I‚ȃRƒŒƒNƒVƒ‡ƒ“ listAmapAidbagAset</title>
+
+            <para>
+                ã‚Å‚Ì‹c˜_‚©‚çAƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚Ɓi•’ʂ́jset‚Í—v‘f‚̒ljÁAíœA
+                XV‚Å‚à‚Á‚Æ‚àŒø—¦“I‚È‘€ì‚ªo—ˆ‚邱‚Æ‚Í–¾‚ç‚©‚Å‚·B
+            </para>
+
+            <para>
+                ‚قڊԈႢ‚È‚­A‘½‘Α½ŠÖ˜A‚â’l‚̃RƒŒƒNƒVƒ‡ƒ“‚É‚¨‚¢‚āAƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚ª
+                set‚æ‚è‚à—D‚ê‚Ä‚¢‚é“_‚ªˆê‚ˆȏ゠‚è‚Ü‚·B <literal>Set</literal> ‚Í‚»‚Ì
+                \‘¢‚Ì‚½‚߂ɁAHibernate‚Í—v‘f‚ªu•ÏXv‚³‚ꂽ‚Æ‚«‚ɍs‚ðŒˆ‚µ‚Ä <literal>UPDATE</literal> 
+                ‚µ‚Ü‚¹‚ñB <literal>Set</literal> ‚ւ̕ύX‚͏í‚ɁiŒÂX‚̍s‚́j<literal>INSERT</literal> 
+                ‚Æ <literal>DELETE</literal> ‚É‚æ‚Á‚čs‚¢‚Ü‚·BŒJ‚è•Ô‚µ‚Ü‚·‚ªA‚±‚ê‚͈ê‘Α½ŠÖ˜A‚É‚Í
+                “–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ”z—ñ‚Í’x‰„ˆ—‚ª‚Å‚«‚È‚¢‚Æ‚¢‚¤Œˆ‚Ü‚è‚Ȃ̂ŁAŒ‹˜_‚Æ‚µ‚āAlistAmapAidbag‚ª‚à‚Á‚Æ‚à
+                ƒpƒtƒH[ƒ}ƒ“ƒX‚Ì—Ç‚¢iinverse‚Å‚Í‚È‚¢jƒRƒŒƒNƒVƒ‡ƒ“ƒ^ƒCƒv‚Æ‚È‚è‚Ü‚·Bset‚à
+                ‚»‚ê‚قLjႢ‚Í‚ ‚è‚Ü‚¹‚ñBHibernate‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́Aset‚̓RƒŒƒNƒVƒ‡ƒ“‚Ì‚à‚Á‚Æ‚à
+                ‹¤’Ê‚ÌŽí—Þ‚Æ‚µ‚ÄŠú‘Ò‚³‚ê‚Ü‚·Bset‚Ì•\Œ»‚ÍŠÖ˜Aƒ‚ƒfƒ‹‚Å‚Í‚à‚Á‚Æ‚àŽ©‘R‚¾‚©‚ç‚Å‚·B
+            </para>
+
+            <para>
+                ‚µ‚©‚µA‚æ‚­ƒfƒUƒCƒ“‚³‚ꂽHibernate‚̃hƒƒCƒ“ƒ‚ƒfƒ‹‚ł́A’ʏí‚à‚Á‚Æ‚à‘½‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚Í
+                Ž–ŽÀã <literal>inverse="true"</literal> ‚ðŽw’肵‚½1‘Α½ŠÖ˜A‚Å‚·B‚±‚ê‚ç‚ÌŠÖ˜A‚ł́A
+                XV‚Í‘½‘Έê‚ÌŠÖ˜A’[‚ňµ‚í‚êAƒRƒŒƒNƒVƒ‡ƒ“‚̍XVƒpƒtƒH[ƒ}ƒ“ƒX‚Ì–â‘è‚Í“–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñB
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-collections-mostefficentinverse">
+            <title>inverseƒRƒŒƒNƒVƒ‡ƒ“‚É‚à‚Á‚Æ‚àÅ“K‚Èbag‚Ælist</title>
+
+            <para>
+                bag‚ðŒ©•ú‚µ‚Ä‚µ‚Ü‚¤‘O‚ɁAbagi‚»‚µ‚Älist‚àj‚ªset‚æ‚è‚à‚¸‚Á‚ƃpƒtƒH[ƒ}ƒ“ƒX‚ª—Ç‚¢“Á•Ê‚ȃP[ƒX‚ð
+                Ð‰î‚µ‚Ü‚·B <literal>inverse="true"</literal> ‚̃RƒŒƒNƒVƒ‡ƒ“iˆê”Ê“I‚È1‘Α½ŠÖ˜A‚ÌŽg‚¢•û‚Ȃǁj‚ŁA
+                bag‚Ì—v‘f‚ð‰Šú‰»iƒtƒFƒbƒ`j‚·‚é•K—v‚È‚­bag‚âlist‚É—v‘f‚ð’ljÁ‚Å‚«‚Ü‚·I
+                ‚±‚ê‚Í <literal>Collection.add()</literal> ‚â <literal>Collection.addAll()</literal> 
+                ‚Íbag‚â <literal>List</literal> ‚ł͏í‚Étrue‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃç‚È‚¢‚©‚ç‚Å‚·
+                i <literal>Set</literal> ‚Ƃ͈قȂè‚Ü‚·jB
+                ‚±‚ê‚͈ȉº‚Ì‹¤’ʏˆ—‚ð‚æ‚葬‚­‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[Parent p = (Parent) sess.load(Parent.class, id);
+Child c = new Child();
+c.setParent(p);
+p.getChildren().add(c);  //no need to fetch the collection!
+sess.flush();]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="performance-collections-oneshotdelete">
+            <title>ˆêŠ‡íœ</title>
+
+            <para>
+                ŽžXAƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ðˆê‚ˆê‚폜‚·‚邱‚Æ‚Í‹É‚ß‚Ä”ñŒø—¦“I‚ɂȂ邱‚Æ‚ª‚ ‚è‚Ü‚·B
+                Hibernate‚Í‹ð‚©‚Å‚Í‚È‚¢‚̂ŁAV‚µ‚¢‹ó‚̃RƒŒƒNƒVƒ‡ƒ“‚̏ꍇi <literal>list.clear()</literal> 
+                ‚ðŒÄ‚яo‚µ‚½ê‡‚Ȃǁj‚Å‚Í‚±‚ê‚ð‚·‚×‚«‚Å‚È‚¢‚±‚Æ‚ð’m‚Á‚Ä‚¢‚Ü‚·B‚±‚̏ꍇ‚́AHibernate‚Í
+                 <literal>DELETE</literal> ‚ðˆê‰ñ”­s‚µ‚āA‚»‚ê‚Å‚·‚ׂďI‚í‚è‚Ü‚·I
+            </para>
+
+            <para>
+                ƒTƒCƒY20‚̃RƒŒƒNƒVƒ‡ƒ“‚Ɉê‚‚̗v‘f‚ð’ljÁ‚µA‚»‚ê‚©‚ç“ñ‚‚̗v‘f‚ðíœ‚·‚é‚Æ‚µ‚Ü‚·B
+                Hibernate‚͈ê‚Â‚Ì <literal>INSERT</literal> •¶‚Æ“ñ‚Â‚Ì <literal>DELETE</literal> •¶‚𔭍s‚µ‚Ü‚·
+                iƒRƒŒƒNƒVƒ‡ƒ“‚ªbag‚Å‚È‚¯‚ê‚΁jB‚±‚ê‚ÍŠm‚©‚É–]‚Ü‚µ‚¢“®ì‚Å‚·B
+            </para>
+
+            <para>
+                ‚µ‚©‚µA18ŒÂ‚Ì—v‘f‚ðíœ‚µ‚Ä2‚‚ðŽc‚µA‚»‚ê‚©‚ç3‚V‚µ‚¢—v‘f‚ð’ljÁ‚·‚é‚Æ‚µ‚Ü‚·B
+                ‚±‚Ì‚Æ‚«“ñ‚‚̕û–@‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <itemizedlist>
+            <listitem>
+                <para>
+                18s‚ðˆê‚ˆê‚폜‚µ‚āA3s‚ð’ljÁ‚·‚é
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‘S‘Ì‚ðíœi <literal>DELETE</literal> ‚ÌSQL‚ðˆê‰ñj‚µA‚»‚µ‚Ä5‚‚̗v‘f‚·‚ׂĂð
+                iˆê‚‚¸‚j’ljÁ‚·‚é
+                </para>
+            </listitem>
+            </itemizedlist>
+
+            <para>
+                Hibernate‚Í‚±‚̏ꍇ‚É2”Ô–Ú‚Ì•û–@‚ª‚æ‚葬‚¢‚¾‚낤‚Æ‚í‚©‚é‚Ù‚ÇŒ«‚­‚Í‚ ‚è‚Ü‚¹‚ñB
+                i‚»‚µ‚ÄHibernate‚ª‚±‚̂悤‚ÉŒ«‚¢‚±‚Æ‚à–]‚Ü‚µ‚­‚È‚¢‚Å‚µ‚傤B‚±‚̂悤‚ȐU‚é•‘‚¢‚Í
+                ƒf[ƒ^ƒx[ƒX‚̃gƒŠƒK‚È‚Ç‚ð¬—‚³‚¹‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBj
+            </para>
+
+            <para>
+                K‚¢‚É‚àAŒ³‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŽÌ‚āi‚‚܂èŽQÆ‚ð‚â‚߂ājAŒ»Ý‚Ì—v‘f‚ð‚·‚×‚ÄŽ‚V‚µ‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚Ì
+                ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚·‚±‚ƂŁA‚¢‚Â‚Å‚à‚±‚̐U‚é•‘‚¢i2”Ԗڂ̐헪j‚ð‹­§‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+                Žž‚É‚±‚ê‚Í‚Æ‚Ä‚à•Ö—˜‚Å‹­—Í‚Å‚·B
+            </para>
+            
+            <para>
+                ‚à‚¿‚ë‚ñAˆêŠ‡íœ‚Í <literal>inverse="true"</literal> ‚ðŽw’肵‚½ƒRƒŒƒNƒVƒ‡ƒ“‚ɂ͍s‚¢‚Ü‚¹‚ñB
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="performance-monitoring" revision="1">
+        <title>ƒpƒtƒH[ƒ}ƒ“ƒX‚̃‚ƒjƒ^ƒŠƒ“ƒO</title>
+
+        <para>
+            Å“K‰»‚̓‚ƒjƒ^ƒŠƒ“ƒO‚âƒpƒtƒH[ƒ}ƒ“ƒX‚ðŽ¦‚·”’l‚ª‚È‚¯‚ê‚Ώ\•ª‚ɍs‚¦‚Ü‚¹‚ñB
+            Hibernate‚Í“à•”ˆ—‚Ì‚·‚ׂĂ͈̔͂̐”’l‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+            Hibernate‚Ì“Œvî•ñ‚Í <literal>SessionFactory</literal> ’PˆÊ‚Ŏ擾‰Â”\‚Å‚·B
+        </para>
+
+        <sect2 id="performance-monitoring-sf" revision="2">
+            <title>SessionFactory‚̃‚ƒjƒ^ƒŠƒ“ƒO</title>
+
+            <para>
+                <literal>SessionFactory</literal> ‚̃ƒgƒŠƒNƒX‚ɃAƒNƒZƒX‚·‚é‚É‚Í2‚‚̕û–@‚ª‚ ‚è‚Ü‚·B
+                Å‰‚Ì•û–@‚́A <literal>sessionFactory.getStatistics()</literal> ‚ðŒÄ‚яo‚µA
+                Ž©•ª‚Å <literal>Statistics</literal> ‚̓ǂݍž‚Ý‚â•\Ž¦‚ðs‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>StatisticsService</literal> MBean‚ð—LŒø‚É‚µ‚Ä‚¢‚ê‚΁AHibernate‚ÍJMX‚ðŽg‚Á‚Ä
+                ƒƒgƒŠƒNƒX‚𔭍s‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B1‚‚ÌMBean‚ð‚·‚×‚Ä‚Ì <literal>SessionFactory</literal> 
+                ‚ɑ΂µ‚Ä—LŒø‚É‚·‚é‚©ASessionFactory‚²‚ƂɈê‚‚ÌMBean‚ð—LŒø‚É‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+                Å¬ŒÀ‚̐ݒè—á‚Å‚ ‚éˆÈ‰º‚̃R[ƒh‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[// MBean service registration for a specific SessionFactory
+Hashtable tb = new Hashtable();
+tb.put("type", "statistics");
+tb.put("sessionFactory", "myFinancialApp");
+ObjectName on = new ObjectName("hibernate", tb); // MBean object name
+
+StatisticsService stats = new StatisticsService(); // MBean implementation
+stats.setSessionFactory(sessionFactory); // Bind the stats to a SessionFactory
+server.registerMBean(stats, on); // Register the Mbean on the server]]></programlisting>
+
+
+<programlisting><![CDATA[// MBean service registration for all SessionFactory's
+Hashtable tb = new Hashtable();
+tb.put("type", "statistics");
+tb.put("sessionFactory", "all");
+ObjectName on = new ObjectName("hibernate", tb); // MBean object name
+
+StatisticsService stats = new StatisticsService(); // MBean implementation
+server.registerMBean(stats, on); // Register the MBean on the server]]></programlisting>
+
+            <para>
+                TODO: ‚±‚ê‚͈Ӗ¡‚ª‚ ‚è‚Ü‚¹‚ñBÅ‰‚̃P[ƒX‚́AMBean‚𒼐ڕœŒ³‚µ‚ÄŽg—p‚µ‚Ü‚·B2”Ԗڂ̃P[ƒX‚́A
+                Žg‚¤‘O‚Ésession factory‚ªŽ‚Á‚Ä‚¢‚éJNDI–¼‚ð“n‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                <literal>hibernateStatsBean.setSessionFactoryJNDIName("my/JNDI/Name")</literal> ‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+            </para>
+            <para>
+                <literal>SessionFactory</literal> ‚ɑ΂µ‚ă‚ƒjƒ^ƒŠƒ“ƒO‚ÌŠJŽniI—¹j‚ðs‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B
+            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        Ý’莞‚ɂ́A <literal>hibernate.generate_statistics</literal> ‚ð <literal>false</literal> ‚É‚µ‚Ü‚·
+                    </para>
+                </listitem>
+            </itemizedlist>
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        ŽÀsŽž‚ɁA <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> ‚Ü‚½‚Í
+                         <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal> ‚ðŒÄ‚яo‚µ‚Ü‚·
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                “Œv‚Í <literal>clear()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚ÄŽè“®‚ŃŠƒZƒbƒg‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+                ƒTƒ}ƒŠ‚Í <literal>logSummary()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚Älogger‚É‘—‚邱‚Æ‚ªo—ˆ‚Ü‚·
+                iinfoƒŒƒxƒ‹‚Å‚·jB
+            </para>
+
+        </sect2>
+
+        <sect2 id="performance-monitoring-metrics" revision="1">
+            <title>ƒƒgƒŠƒNƒX</title>
+
+            <para>
+                ‘½‚­‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B‚·‚ׂĂ̎g—p‰Â”\‚ȃJƒEƒ“ƒ^‚Í <literal>Statistics</literal> 
+                ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌAPI‚ɏ‘‚©‚ê‚Ä‚¨‚èA3‚‚̕ª—Þ‚ª‚ ‚è‚Ü‚·B
+            </para>
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        ƒƒgƒŠƒNƒX‚͈ê”Ê“I‚È <literal>Session</literal> ‚ÌŽg‚¢•û‚ÆŠÖŒW‚µ‚Ä‚¢‚Ü‚·B
+                        ƒI[ƒvƒ“‚µ‚½ƒZƒbƒVƒ‡ƒ“‚̐”‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ÆŠÖ˜A‚µ‚Ä‚¢‚é‚Ì‚Æ“¯‚¶‚Å‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ƒƒgƒŠƒNƒX‚Í—v‘fAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠ‚âƒLƒƒƒbƒVƒ…‚È‚Ç‘S‘Ì‚É
+                        ŠÖŒW‚µ‚Ä‚¢‚Ü‚·i•Ê–¼‚̓Oƒ[ƒoƒ‹ƒƒgƒŠƒNƒX‚Å‚·jB
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ƒƒgƒŠƒNƒX‚̏ڍׂ͓Á’è‚̃Gƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠAƒLƒƒƒbƒVƒ…—̈æ‚ÉŠÖŒW‚µ‚Ä‚¢‚Ü‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                —á‚Æ‚µ‚āAƒLƒƒƒbƒVƒ…‚̃qƒbƒgAƒqƒbƒgƒ~ƒX‚âA—v‘fAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠ‚ÌŠ„‡AƒNƒGƒŠ‚ÌŽÀs‚É
+                •K—v‚È•½‹ÏŽžŠÔ‚ðŠm”F‚Å‚«‚Ü‚·Bƒ~ƒŠ•b‚̐”’l‚ÍJava‚̋ߎ—‚ðŽó‚¯‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                Hibernate‚ÍJVM‚̐¸“x‚ɐ§ŒÀ‚³‚êAƒvƒ‰ƒbƒgƒtƒH[ƒ€‚É‚æ‚Á‚Ä‚Í10•b’PˆÊ‚Å‚µ‚©³Šm‚Å‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ’Pƒ‚Ègetter‚̓Oƒ[ƒoƒ‹ƒƒgƒŠƒNƒXi‚·‚È‚í‚¿“Á’è‚̃Gƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒLƒƒƒbƒVƒ…—̈æ‚È‚Ç‚É”›‚ç‚ê‚È‚¢j
+                ‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B“Á’è‚̃Gƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒLƒƒƒbƒVƒ…—̈æ‚̃ƒgƒŠƒNƒX‚́A
+                ‚»‚ê‚ç‚Ì–¼‘O‚âAƒNƒGƒŠ‚ÌHQLASQL•\Œ»‚É‚æ‚Á‚ăAƒNƒZƒX‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B‚³‚ç‚ɏڂµ‚¢î•ñ‚́A
+                <literal>Statistics</literal> A <literal>EntityStatistics</literal> A <literal>CollectionStatistics</literal> 
+                A <literal>SecondLevelCacheStatistics</literal> A <literal>QueryStatistics</literal> API‚Ìjavadoc‚ð
+                ŽQÆ‚µ‚Ä‚­‚¾‚³‚¢BˆÈ‰º‚̃R[ƒh‚ÍŠÈ’P‚È—á‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[Statistics stats = HibernateUtil.sessionFactory.getStatistics();
+
+double queryCacheHitCount  = stats.getQueryCacheHitCount();
+double queryCacheMissCount = stats.getQueryCacheMissCount();
+double queryCacheHitRatio =
+  queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);
+
+log.info("Query Hit ratio:" + queryCacheHitRatio);
+
+EntityStatistics entityStats =
+  stats.getEntityStatistics( Cat.class.getName() );
+long changes =
+        entityStats.getInsertCount()
+        + entityStats.getUpdateCount()
+        + entityStats.getDeleteCount();
+log.info(Cat.class.getName() + " changed " + changes + "times"  );]]></programlisting>
+
+            <para>
+                ‚·‚ׂẴGƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠAƒLƒƒƒbƒVƒ…—̈æ‚ɑ΂µ‚čs‚¤ê‡‚́A
+                <literal>getQueries()</literal> A <literal>getEntityNames()</literal>A 
+                <literal>getCollectionRoleNames()</literal> A <literal>getSecondLevelCacheRegionNames()</literal> ƒƒ\ƒbƒh‚Å
+                ‚»‚ꂼ‚ê‚Ì–¼‘O‚̃ŠƒXƒg‚ðŽæ“¾‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+</chapter>
\ No newline at end of file

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/persistent_classes.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,539 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="persistent-classes" revision="2">
+    <title>‰i‘±ƒNƒ‰ƒX</title>
+
+    <para>
+        ‰i‘±ƒNƒ‰ƒX‚̓rƒWƒlƒXã‚Ì–â‘è‚̃Gƒ“ƒeƒBƒeƒBi—Ⴆ‚΁AEƒRƒ}[ƒXƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̌ڋq‚⒍•¶j
+        ‚ðŽÀ‘•‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Nƒ‰ƒX‚Å‚·B
+        ‰i‘±ƒNƒ‰ƒX‚Ì‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ª‰i‘±ó‘Ô‚Å‚ ‚é‚ÆŒ©‚È‚³‚ê‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+        ƒCƒ“ƒXƒ^ƒ“ƒX‚Í‹t‚Ɉꎞ“Iitransientj‚Å‚ ‚Á‚½‚èA•ª—£ó‘ԁidetachedj‚Å‚ ‚Á‚½‚è‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+    </para>
+
+    <para>
+        Plain Old Java Object (POJO)ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚Æ‚µ‚Ä‚à’m‚ç‚ê‚é
+        ‚¢‚­‚‚©‚Ì’Pƒ‚ȃ‹[ƒ‹‚ɏ]‚¤‚È‚çAHibernate‚͍łà‚æ‚­“­‚«‚Ü‚·B
+        ‚µ‚©‚µ‚±‚ê‚ç‚̃‹[ƒ‹‚͓‚¢‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+        ŽÀÛHibernate3‚͉i‘±ƒIƒuƒWƒFƒNƒg‚̐«Ž¿‚É‚Ù‚Æ‚ñ‚lj½‚Ì‘O’ñ‚à’u‚¢‚Ä‚¢‚Ü‚¹‚ñB
+        ƒhƒƒCƒ“ƒ‚ƒfƒ‹‚Í‘¼‚Ì•û–@‚Å•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+        —Ⴆ‚Î <literal>Map</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚̃cƒŠ[‚ðŽg‚¤•û–@‚ª‚ ‚è‚Ü‚·B
+    </para>
+
+    <sect1 id="persistent-classes-pojo">
+        <title>’Pƒ‚ÈPOJO‚Ì—á</title>
+
+        <para>
+            ‚Ù‚Æ‚ñ‚Ç‚ÌJavaƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɂ̓lƒR‰È‚Ì“®•¨‚ð•\Œ»‚·‚é‰i‘±ƒNƒ‰ƒX‚ª•K—v‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[package eg;
+import java.util.Set;
+import java.util.Date;
+
+public class Cat {
+    private Long id; // identifier
+
+    private Date birthdate;
+    private Color color;
+    private char sex;
+    private float weight;
+    private int litterId;
+
+    private Cat mother;
+    private Set kittens = new HashSet();
+
+    private void setId(Long id) {
+        this.id=id;
+    }
+    public Long getId() {
+        return id;
+    }
+
+    void setBirthdate(Date date) {
+        birthdate = date;
+    }
+    public Date getBirthdate() {
+        return birthdate;
+    }
+
+    void setWeight(float weight) {
+        this.weight = weight;
+    }
+    public float getWeight() {
+        return weight;
+    }
+
+    public Color getColor() {
+        return color;
+    }
+    void setColor(Color color) {
+        this.color = color;
+    }
+
+    void setSex(char sex) {
+        this.sex=sex;
+    }
+    public char getSex() {
+        return sex;
+    }
+
+    void setLitterId(int id) {
+        this.litterId = id;
+    }
+    public int getLitterId() {
+        return litterId;
+    }
+
+    void setMother(Cat mother) {
+        this.mother = mother;
+    }
+    public Cat getMother() {
+        return mother;
+    }
+    void setKittens(Set kittens) {
+        this.kittens = kittens;
+    }
+    public Set getKittens() {
+        return kittens;
+    }
+    
+    // addKitten not needed by Hibernate
+    public void addKitten(Cat kitten) {
+        kitten.setMother(this);
+        kitten.setLitterId( kittens.size() ); 
+        kittens.add(kitten);
+    }
+}]]></programlisting>
+
+        <para>
+            ]‚¤‚ׂ«4‚‚̃‹[ƒ‹‚ª‚ ‚è‚Ü‚·F
+        </para>
+        
+        <sect2 id="persistent-classes-pojo-constructor" revision="1">
+            <title>ˆø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðŽÀ‘•‚·‚é</title>
+
+            <para>
+                <literal>Cat</literal> ‚ɂ͈ø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ª‚ ‚è‚Ü‚·B
+                Hibernate‚ª <literal>Constructor.newInstance()</literal> ‚ðŽg‚Á‚ĉi‘±ƒNƒ‰ƒX‚Ì
+                ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚ðs‚¦‚é‚悤‚ɁA‚·‚ׂẲi‘±ƒNƒ‰ƒX‚ɂ̓fƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^
+                ipublic‚Å‚È‚­‚Ä‚à\‚¢‚Ü‚¹‚ñj‚ª‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                Hibernate‚ÌŽÀsŽžƒvƒƒLƒV¶¬‚Ì‚½‚߂ɁA­‚È‚­‚Æ‚à <emphasis>package</emphasis> 
+                ‚̉Ž‹«‚ðŽ‚ÂƒfƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ð‹­‚­‚¨Š©‚ß‚µ‚Ü‚·B
+            </para>
+        </sect2>
+
+        <sect2 id="persistent-classes-pojo-identifier" revision="2">
+            <title>Ž¯•ÊŽqƒvƒƒpƒeƒB‚ð—pˆÓ‚·‚éiƒIƒvƒVƒ‡ƒ“j</title>
+
+            <para>
+                <literal>Cat</literal> ‚É‚Í <literal>id</literal> ‚Æ‚¢‚¤ƒvƒƒpƒeƒB‚ª‚ ‚è‚Ü‚·B
+                ‚±‚̃vƒƒpƒeƒB‚̓f[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ÌŽåƒL[ƒJƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+                ‚±‚̃vƒƒpƒeƒB‚Ì–¼‘O‚͉½‚Å‚à\‚¢‚Ü‚¹‚ñ‚µAŒ^‚͂ǂ̂悤‚ȃvƒŠƒ~ƒeƒBƒuŒ^‚Å‚àA
+                ƒvƒŠƒ~ƒeƒBƒu‚́uƒ‰ƒbƒp[vŒ^‚Å‚àA<literal>java.lang.String</literal> ‚â 
+                <literal>java.util.Date</literal> ‚Å‚à\‚¢‚Ü‚¹‚ñB
+                i‚à‚µƒŒƒKƒV[ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ª•¡‡ƒL[‚ðŽ‚Â‚È‚ç‚΁A
+                ¡q‚ׂ½‚悤‚ÈŒ^‚̃vƒƒpƒeƒB‚ðŽ‚Âƒ†[ƒU’è‹`‚̃Nƒ‰ƒX‚ðŽg‚¤‚±‚Æ‚³‚¦‰Â”\‚Å‚·B
+                Œã‚Å•¡‡Ž¯•ÊŽq‚Ìß‚ðŒ©‚Ä‚­‚¾‚³‚¢Bj
+            </para>
+
+            <para>
+                Ž¯•ÊŽqƒvƒƒpƒeƒB‚ÍŒµ–§‚ɂ̓IƒvƒVƒ‡ƒ“‚Å‚·B
+                ‚±‚ê‚ðÈ—ª‚µ‚āAHibernate‚É“à•”“I‚ɃIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ð’ǐՂ³‚¹‚邱‚Ƃ͉”\‚Å‚·B
+                ‚µ‚©‚µ‚¨‚·‚·‚ß‚Í‚µ‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ŽÀÛ‚ɁAŽ¯•ÊŽqƒvƒƒpƒeƒB‚ðéŒ¾‚·‚éƒNƒ‰ƒX‚¾‚¯‚ª—˜—p‰Â”\‚È‹@”\‚ª‚¢‚­‚‚©‚ ‚è‚Ü‚·F
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para>
+                        •ª—£ƒIƒuƒWƒFƒNƒg‚̘A½“I‚ȍĒljÁiƒJƒXƒP[ƒhXV‚âƒJƒXƒP[ƒhƒ}[ƒWjB
+                         <xref linkend="objectstate-transitive"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>Session.saveOrUpdate()</literal>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>Session.merge()</literal>
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                ‰i‘±ƒNƒ‰ƒX‚ɂ́AˆêŠÑ‚µ‚½–¼‘O‚ÌŽ¯•ÊŽqƒvƒƒpƒeƒB‚ð’è‹`‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B
+                ‚³‚ç‚Énull’l‚ðŽæ‚ê‚é(‚‚܂èƒvƒŠƒ~ƒeƒBƒu‚Å‚Í‚È‚¢)Œ^‚ðŽg‚Á‚½•û‚ª‚æ‚¢‚Å‚µ‚傤B
+            </para>
+        </sect2>
+
+        <sect2 id="persistent-classes-pojo-final">
+            <title>finalƒNƒ‰ƒX‚É‚µ‚È‚¢iƒIƒvƒVƒ‡ƒ“j</title>
+            <para>
+                Hibernate‚Ì’†S“I‚È“Á’¥‚Å‚ ‚é <emphasis>ƒvƒƒLƒV</emphasis> ‚́A
+                ‰i‘±ƒNƒ‰ƒX‚ªfinal‚Å‚È‚¢‚±‚ƁA‚Ü‚½‚̓ƒ\ƒbƒh‚ð‘S•”public‚Ő錾‚µ‚Ä‚¢‚é
+                ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚é‚©‚Ɉˑ¶‚µ‚Ä‚¢‚Ü‚·B
+            </para>
+            <para>
+                Hibernate‚ŃCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚Ä‚¢‚È‚¢ <literal>final</literal> ƒNƒ‰ƒX‚ð‰i‘±‰»‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚·‚ªA
+                ’x‰„ŠÖ˜AƒtƒFƒbƒ`‚ɑ΂µ‚ăvƒƒLƒV‚ðŽg‚¤‚±‚Æ‚Í‚Å‚«‚È‚­‚È‚è‚Ü‚·B
+                ‚±‚ê‚̓pƒtƒH[ƒ}ƒ“ƒXƒ`ƒ…[ƒjƒ“ƒO‚Ö‚Ì‘I‘ðŽˆ‚ð‹·‚ß‚é‚±‚Æ‚É‚È‚è‚Ü‚·B
+            </para>
+            <para>
+                final‚Å‚Í‚È‚¢ƒNƒ‰ƒX‚Å <literal>public final</literal> ƒƒ\ƒbƒh‚ð’è‹`‚·‚邱‚Æ‚à”ð‚¯‚é‚ׂ«‚Å‚·B
+                <literal>public final</literal> ƒƒ\ƒbƒh‚ðŽ‚ÂƒNƒ‰ƒX‚ðŽg‚¢‚½‚¯‚ê‚΁A
+                <literal>lazy="false"</literal> ‚Ɛݒ肵‚Ä–¾Ž¦“I‚ɃvƒƒLƒV‚𖳌ø‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+        </sect2>
+
+        <sect2 id="persistent-classes-pojo-accessors" revision="2">
+            <title>‰i‘±ƒtƒB[ƒ‹ƒh‚ɑ΂·‚éƒAƒNƒZƒT‚ƃ~ƒ…[ƒe[ƒ^‚ð’è‹`‚·‚éiƒIƒvƒVƒ‡ƒ“j</title>
+
+            <para>
+                <literal>Cat</literal> ‚Å‚Í‚·‚ׂẲi‘±ƒtƒB[ƒ‹ƒh‚ɑ΂µ‚ăAƒNƒZƒTƒƒ\ƒbƒh‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
+                ‘¼‚Ì‘½‚­‚ÌORMƒc[ƒ‹‚́A‰i‘±ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚𒼐ډi‘±‰»‚µ‚Ü‚·B
+                Ž„‚½‚¿‚̓ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒXƒL[ƒ}‚ƃNƒ‰ƒX‚Ì“à•”\‘¢‚𕪗£‚·‚é•û‚ª—Ç‚¢‚ƐM‚¶‚Ä‚¢‚Ü‚·B
+                ƒfƒtƒHƒ‹ƒg‚ł́AHibernate‚ÍJavaBeanƒXƒ^ƒCƒ‹‚̃vƒƒpƒeƒB‚ð‰i‘±‰»‚µA
+                <literal>getFoo</literal>, <literal>isFoo</literal>, <literal>setFoo</literal> 
+                Œ`Ž®‚̃ƒ\ƒbƒh–¼‚ð”FŽ¯‚µ‚Ü‚·B
+                ‚µ‚©‚µ•K—v‚È‚çA“Á’è‚̃vƒƒpƒeƒB‚ɑ΂µ‚āA’¼Ú‚̃tƒB[ƒ‹ƒhƒAƒNƒZƒX‚ɐ؂è‘Ö‚¦‚邱‚Ƃ͉”\‚Å‚·B
+            </para>
+
+            <para>
+                ƒvƒƒpƒeƒB‚Ípublic‚Ő錾‚·‚é•K—v‚Í <emphasis>‚ ‚è‚Ü‚¹‚ñ</emphasis> B
+                Hibernate‚̓fƒtƒHƒ‹ƒgA<literal>protected</literal> ‚à‚µ‚­‚Í <literal>private</literal> 
+                ‚Ìget / set‚̃yƒA‚ðŽ‚ÂƒvƒƒpƒeƒB‚ð‰i‘±‰»‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="persistent-classes-inheritance">
+        <title>Œp³‚ÌŽÀ‘•</title>
+
+        <para>
+            ƒTƒuƒNƒ‰ƒX‚à1”Ô–Ú‚Æ2”Ԗڂ̃‹[ƒ‹‚ðŽç‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            ƒTƒuƒNƒ‰ƒX‚̓X[ƒp[ƒNƒ‰ƒX <literal>Cat</literal> ‚©‚环•ÊŽqƒvƒƒpƒeƒB‚ðŒp³‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[package eg;
+
+public class DomesticCat extends Cat {
+        private String name;
+
+        public String getName() {
+                return name;
+        }
+        protected void setName(String name) {
+                this.name=name;
+        }
+}]]></programlisting>
+    </sect1>
+
+    <sect1 id="persistent-classes-equalshashcode" revision="1">
+        <title><literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚ÌŽÀ‘•</title>
+
+        <para>
+            ˆÈ‰º‚ÌðŒ‚Ìê‡A
+            <literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ƒƒ\ƒbƒh‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñA
+        </para>
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð <literal>Set</literal> ‚É’u‚­ê‡B
+                    i‚±‚ê‚Í‘½’l‚ÌŠÖ˜A‚ð•\Œ»‚·‚邨‚·‚·‚ß‚Ì•û–@‚Å‚·j
+                    <emphasis>‚»‚µ‚Ä“¯Žž‚É</emphasis>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    •ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒZƒbƒVƒ‡ƒ“‚֍ĒljÁ‚·‚éê‡B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Hibernate‚́A‰i‘±IDiƒf[ƒ^ƒx[ƒX‚̍sj‚ƁA“Á’è‚̃ZƒbƒVƒ‡ƒ“ƒXƒR[ƒv“à‚É
+            ŒÀ’è‚Å‚·‚ªJavaID‚Æ‚ª“™‰¿‚Å‚ ‚邱‚Æ‚ð•ÛØ‚µ‚Ü‚·B
+            ‚Å‚·‚©‚çˆÙ‚È‚éƒZƒbƒVƒ‡ƒ“‚ÅŒŸõ‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‘g‚ݍ‡‚킹‚éê‡A
+            <literal>Set</literal> ‚ɈӖ¡‚Ì‚ ‚éƒZƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚½‚¹‚悤‚ÆŽv‚Á‚Ä‚¢‚é‚È‚ç
+            ‚·‚®‚É<literal>equals()</literal> ‚Æ <literal>hashCode()</literal> 
+            ‚ðŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            Å‚à–¾”’‚È•û–@‚́A—¼•û‚̃IƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚Ì’l‚Ì”äŠr‚É‚æ‚Á‚Ä <literal>equals()</literal>‚Æ
+            <literal>hashCode()</literal> ‚ðŽÀ‘•‚·‚é•û–@‚Å‚·B
+            ’l‚ª“¯‚¶‚È‚çA—¼ŽÒ‚̓f[ƒ^ƒx[ƒX‚Ì“¯‚¶s‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢‚½‚ß“™‚µ‚­‚È‚è‚Ü‚·B
+            i—¼ŽÒ‚ª <literal>Set</literal> ‚ɒljÁ‚³‚ê‚Ä‚àA
+            <literal>Set</literal> ‚É‚Í1ŒÂ‚Ì—v‘f‚µ‚©‚È‚¢‚±‚Æ‚É‚È‚è‚Ü‚·j
+            Žc”O‚È‚±‚ƂɁA¶¬‚³‚ꂽŽ¯•ÊŽq‚É‚Í‚±‚̃Aƒvƒ[ƒ`‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB
+            Hibernate‚͉i‘±‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÖŽ¯•ÊŽq‚Ì’l‚ð‘ã“ü‚·‚邾‚¯‚Å‚ ‚èA
+            V‚µ‚­ì¬‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚͂ǂ̂悤‚ÈŽ¯•ÊŽq‚Ì’l‚àŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
+            ‚³‚ç‚ɁAƒCƒ“ƒXƒ^ƒ“ƒX‚ªƒZ[ƒu‚³‚ê‚Ä‚¨‚炸AŒ»Ý <literal>Set</literal> ‚Ì’†‚É‚ ‚ê‚΁A
+            ƒZ[ƒu‚·‚é‚ƃIƒuƒWƒFƒNƒg‚ÖŽ¯•ÊŽq‚Ì’l‚ð‘ã“ü‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+            ‚à‚µ <literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚ªŽ¯•ÊŽq‚Ì’l‚ÉŠî‚¢‚Ä‚¢‚é‚È‚çA
+            ƒnƒbƒVƒ…ƒR[ƒh‚ª•ÏX‚³‚ê‚é‚Æ <literal>Set</literal> ‚Ì‹K–ñ‚ª”j‚ç‚ê‚Ü‚·B
+            ‚±‚Ì–â‘è‚ɂ‚¢‚Ä‚ÌŠ®‘S‚È‹c˜_‚́AHibernate‚̃EƒFƒuƒTƒCƒg‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            ‚±‚ê‚ÍHibernate‚Ì–â‘è‚Å‚Í‚È‚­AƒIƒuƒWƒFƒNƒg‚Ì“¯ˆê«‚Æ“™‰¿«‚ɂ‚¢‚ẮA
+            ’ʏí‚ÌJava‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            <emphasis>ƒrƒWƒlƒXƒL[‚Ì“™‰¿«</emphasis> ‚ðŽg‚Á‚āA
+            <literal>equals()</literal> ‚Æ <literal>hashCode()</literal> ‚ðŽÀ‘•‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B
+            ƒrƒWƒlƒXƒL[‚Ì“™‰¿«‚Ƃ́A<literal>equals()</literal> ƒƒ\ƒbƒh‚ªAƒrƒWƒlƒXƒL[A
+            ‚‚܂茻ŽÀ‚̐¢ŠE‚É‚¨‚¢‚ăCƒ“ƒXƒ^ƒ“ƒX‚ð“Á’è‚·‚éƒL[i<emphasis>Ž©‘R</emphasis> Œó•âƒL[j
+            ‚ðŒ`¬‚·‚éƒvƒƒpƒeƒB‚¾‚¯‚ð”äŠr‚·‚邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[public class Cat {
+
+    ...
+    public boolean equals(Object other) {
+        if (this == other) return true;
+        if ( !(other instanceof Cat) ) return false;
+
+        final Cat cat = (Cat) other;
+
+        if ( !cat.getLitterId().equals( getLitterId() ) ) return false;
+        if ( !cat.getMother().equals( getMother() ) ) return false;
+
+        return true;
+    }
+
+    public int hashCode() {
+        int result;
+        result = getMother().hashCode();
+        result = 29 * result + getLitterId();
+        return result;
+    }
+
+}]]></programlisting>
+
+        <para>
+            ƒrƒWƒlƒXƒL[‚̓f[ƒ^ƒx[ƒX‚ÌŽåƒL[Œó•â‚قLjÀ’è‚Å‚ ‚é•K—v‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢
+            i<xref linkend="transactions-basics-identity"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢jB
+            XV•s‰Â‚ȃvƒƒpƒeƒB‚⃆ƒj[ƒN‚ȃvƒƒpƒeƒB‚́A’ʏíƒrƒWƒlƒXƒL[‚Ì‚æ‚¢Œó•â‚Å‚·B
+        </para>
+
+    </sect1>
+
+    <sect1 id="persistent-classes-dynamicmodels">
+        <title>“®“Iƒ‚ƒfƒ‹</title>
+
+        <para>
+            <emphasis>ˆÈ‰º‚Ì‹@”\‚ÍŒ»ÝŽÀŒ±’iŠK‚É‚ ‚é‚ÆŒ©‚È‚³‚ê‚Ä‚¨‚èA
+            ‹ß‚¢«—ˆ•ÏX‚³‚ê‚é‰Â”\«‚ª‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B</emphasis>
+        </para>
+
+        <para>
+            ‰i‘±ƒGƒ“ƒeƒBƒeƒB‚́A•K‚¸‚µ‚àŽÀsŽž‚ÉPOJOƒNƒ‰ƒX‚âJavaBeanƒIƒuƒWƒFƒNƒg‚Å•\Œ»‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            Hibernate‚́iŽÀsŽž‚É <literal>Map</literal> ‚Ì <literal>Map</literal> ‚ðŽg‚¤j“®“Iƒ‚ƒfƒ‹‚ƁA
+            DOM4JƒcƒŠ[‚Æ‚µ‚ẴGƒ“ƒeƒBƒeƒB‚Ì•\Œ»‚àƒTƒ|[ƒg‚µ‚Ü‚·B
+            ‚±‚̃Aƒvƒ[ƒ`‚ðŽg‚¤‚Ɖi‘±ƒNƒ‰ƒX‚ð‘‚©‚¸Aƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚¾‚¯‚ð‘‚­‚±‚Æ‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <para>
+            ƒfƒtƒHƒ‹ƒg‚ł́AHibernate‚͒ʏí‚ÌPOJOƒ‚[ƒh‚Å“®ì‚µ‚Ü‚·B
+            <literal>default_entity_mode</literal> Ý’èƒIƒvƒVƒ‡ƒ“‚ðŽg‚Á‚āA
+            “Á’è‚Ì <literal>SessionFactory</literal> ‚ɑ΂·‚éƒfƒtƒHƒ‹ƒg‚̃Gƒ“ƒeƒBƒeƒB•\Œ»ƒ‚[ƒh‚ðÝ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·
+            i<xref linkend="configuration-optional-properties"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢jB
+        </para>
+
+        <para>
+            ˆÈ‰º‚Ì—á‚Å‚Í <literal>Map</literal> ‚ðŽg‚Á‚½•\Œ»‚ðÐ‰î‚µ‚Ü‚·B
+            ‚Ü‚¸ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ŁAƒNƒ‰ƒX–¼‚Ì‘ã‚í‚è‚Ɂi‚Ü‚½‚Í‚»‚ê‚ɉÁ‚¦‚āj
+            <literal>entity-name</literal> ‚ð’è‹`‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñF
+        </para>
+
+        <programlisting><![CDATA[<hibernate-mapping>
+
+    <class entity-name="Customer">
+
+        <id name="id"
+            type="long"
+            column="ID">
+            <generator class="sequence"/>
+        </id>
+
+        <property name="name"
+            column="NAME"
+            type="string"/>
+
+        <property name="address"
+            column="ADDRESS"
+            type="string"/>
+
+        <many-to-one name="organization"
+            column="ORGANIZATION_ID"
+            class="Organization"/>
+
+        <bag name="orders"
+            inverse="true"
+            lazy="false"
+            cascade="all">
+            <key column="CUSTOMER_ID"/>
+            <one-to-many class="Order"/>
+        </bag>
+
+    </class>
+    
+</hibernate-mapping>]]></programlisting>
+
+        <para>
+            ŠÖ˜A‚ªƒ^[ƒQƒbƒg‚̃Nƒ‰ƒX–¼‚ðŽg‚Á‚Ä’è‹`‚µ‚Ä‚¢‚½‚Æ‚µ‚Ä‚àA
+            ŠÖ˜A‚̃^[ƒQƒbƒgŒ^‚àPOJO‚Å‚Í‚È‚­“®“I‚ȃGƒ“ƒeƒBƒeƒB‚Å‚à\‚í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            <literal>SessionFactory</literal> ‚ɑ΂µ‚ăfƒtƒHƒ‹ƒg‚̃Gƒ“ƒeƒBƒeƒBƒ‚[ƒh‚ð 
+            <literal>dynamic-map</literal> ‚ɐݒ肵‚½ŒãA
+            ŽÀsŽž‚É <literal>Map</literal> ‚Ì <literal>Map</literal> ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·F
+        </para>
+
+        <programlisting><![CDATA[Session s = openSession();
+Transaction tx = s.beginTransaction();
+Session s = openSession();
+
+// Create a customer
+Map david = new HashMap();
+david.put("name", "David");
+
+// Create an organization
+Map foobar = new HashMap();
+foobar.put("name", "Foobar Inc.");
+
+// Link both
+david.put("organization", foobar);
+
+// Save both
+s.save("Customer", david);
+s.save("Organization", foobar);
+
+tx.commit();
+s.close();]]></programlisting>
+
+        <para>
+            “®“I‚ȃ}ƒbƒsƒ“ƒO‚Ì—˜“_‚́AƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ÌŽÀ‘•‚ð•K—v‚Æ‚µ‚È‚¢‚½‚߁A
+            ƒvƒƒgƒ^ƒCƒsƒ“ƒO‚É—v‚·‚éƒ^[ƒ“ƒAƒ‰ƒEƒ“ƒhƒ^ƒCƒ€‚ª‘‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            ‚µ‚©‚µƒRƒ“ƒpƒCƒ‹Žž‚ÌŒ^ƒ`ƒFƒbƒN‚ª‚È‚¢‚̂ŁAŽÀsŽž‚É”ñí‚É‘½‚­‚Ì—áŠOˆ—‚ðˆµ‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Å‚µ‚傤B
+            Hibernateƒ}ƒbƒsƒ“ƒO‚Ì‚¨‚©‚°‚ŁAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Í—eˆÕ‚ɐ³‹K‰»‚Å‚«AŒ’‘S‚É‚È‚èA
+            Œã‚Å“KØ‚ȃhƒƒCƒ“ƒ‚ƒfƒ‹‚ÌŽÀ‘•‚ð’ljÁ‚·‚邱‚Æ‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+        </para>
+
+        <para>
+            ƒGƒ“ƒeƒBƒeƒB•\Œ»ƒ‚[ƒh‚Í <literal>Session</literal> ‚²‚Ƃɐݒ肷‚邱‚Æ‚à‰Â”\‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[Session dynamicSession = pojoSession.getSession(EntityMode.MAP);
+
+// Create a customer
+Map david = new HashMap();
+david.put("name", "David");
+dynamicSession.save("Customer", david);
+...
+dynamicSession.flush();
+dynamicSession.close()
+...
+// Continue on pojoSession
+]]></programlisting>
+
+
+        <para>
+            <literal>EntityMode</literal> ‚ðŽg‚Á‚½ <literal>getSession()</literal> 
+            ‚̌Ăяo‚µ‚Í <literal>SessionFactory</literal> ‚Å‚Í‚È‚­ <literal>Session</literal> 
+            API‚É‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚»‚Ì•û–@‚ł́AV‚µ‚¢ <literal>Session</literal> ‚́Aƒx[ƒX‚Æ‚È‚éJDBCƒRƒlƒNƒVƒ‡ƒ“A
+            ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“A‚»‚Ì‘¼‚̃Rƒ“ƒeƒLƒXƒgî•ñ‚ð‹¤—L‚µ‚Ü‚·B
+            ‚±‚ê‚Í2”Ô–Ú‚Ì <literal>Session</literal> ‚Å‚Í <literal>flush()</literal> ‚Æ <literal>close()</literal> 
+            ‚ðŒÄ‚Ô•K—v‚ª‚È‚¢‚Æ‚¢‚¤‚±‚ƁA‚»‚Ì‚½‚߃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ƃRƒlƒNƒVƒ‡ƒ“‚ÌŠÇ—‚ð
+            1”Ԗڂ̍ì‹Æ’PˆÊ(Unit of Work)‚É”C‚¹‚邱‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+        </para>
+
+        <para>
+            XML•\Œ»‚Ì”\—͂ɂ‚¢‚Ä‚Ì‚³‚ç‚È‚éî•ñ‚Í <xref linkend="xml"/> ‚ÅŒ©‚‚©‚è‚Ü‚·B
+        </para>
+
+    </sect1>
+
+    <sect1 id="persistent-classes-tuplizers" revision="1">
+        <title>Tuplizer</title>
+
+        <para>
+            <literal>org.hibernate.tuple.Tuplizer</literal> ‚Æ‚»‚̃TƒuƒCƒ“ƒ^[ƒtƒFƒCƒX‚́A
+            •\Œ»‚Ì <literal>org.hibernate.EntityMode</literal> ‚ð—˜—p‚µ‚āA
+            ƒf[ƒ^’f•Ð‚Ì‚ ‚é•\Œ»‚ÌŠÇ—‚ɐӔC‚ðŽ‚¿‚Ü‚·B
+            —^‚¦‚ç‚ꂽƒf[ƒ^’f•Ð‚ðƒf[ƒ^\‘¢‚Æ‚µ‚čl‚¦‚é‚È‚çATuplizer‚Í‚»‚̂悤‚ȃf[ƒ^\‘¢‚ð
+            ‚ǂ̂悤‚ɍ쐬‚·‚é‚©‚ð’m‚èA‚»‚̂悤‚ȃf[ƒ^\‘¢‚©‚ç‚ǂ̂悤‚É’l‚𒊏o‚µA
+            ’“ü‚·‚é‚©‚ð’m‚Á‚Ä‚¢‚Ü‚·B
+            —Ⴆ‚ÎPOJOƒGƒ“ƒeƒBƒeƒBƒ‚[ƒh‚ł́A‘Ήž‚·‚éTuplizer‚̓Rƒ“ƒXƒgƒ‰ƒNƒ^‚ð’Ê‚µ‚āA
+            POJO‚ð‚ǂ̂悤‚ɍ쐬‚·‚é‚©A’è‹`‚³‚ꂽƒvƒƒpƒeƒBƒAƒNƒZƒT‚ðŽg‚¢A
+            POJOƒvƒƒpƒeƒB‚ɂǂ̂悤‚ɃAƒNƒZƒX‚·‚é‚©‚ð’m‚è‚Ü‚·B
+            Tuplizer‚É‚Í“ñ‚‚̃nƒCƒŒƒxƒ‹‚ÌŒ^‚ª‚ ‚è‚Ü‚·B
+            ‚»‚ê‚ç‚́A<literal>org.hibernate.tuple.EntityTuplizer</literal> ‚Æ 
+            <literal>org.hibernate.tuple.ComponentTuplizer</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å•\Œ»‚³‚ê‚Ü‚·B
+            <literal>EntityTuplizer</literal> ‚͏ã‚ŏq‚ׂ½‚悤‚ȃGƒ“ƒeƒBƒeƒB‚ÉŠÖ‚·‚éŒ_–ñ‚ÌŠÇ—‚ɐӔC‚ðŽ‚¿‚Ü‚·B
+            ˆê•ûA<literal>ComponentTuplizer</literal> ‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚ÉŠÖ‚·‚éŒ_–ñ‚ÌŠÇ—‚ɐӔC‚ðŽ‚¿‚Ü‚·B
+        </para>
+
+        <para>
+            ƒ†[ƒU‚Í“ÆŽ©‚ÌTuplizer‚ɍ·‚µ‘Ö‚¦‚邱‚Æ‚à‰Â”\‚Å‚·B
+            ‚¨‚»‚ç‚­dynamic-map entity-mode‚ÌÛ‚É <literal>java.util.HashMap</literal> ‚ðŽg‚¤‚Ì‚Å‚Í‚È‚­A
+            <literal>java.util.Map</literal> ‚ÌŽÀ‘•‚ª•K—v‚Å‚µ‚傤B
+            ‚à‚µ‚­‚́A‚¨‚»‚ç‚­ƒfƒtƒHƒ‹ƒg‚Ì‚à‚Ì‚Å‚Í‚È‚­A•Ê‚̃vƒƒLƒV¶¬í—ª‚Ì’è‹`‚ª•K—v‚Å‚µ‚傤B
+            —¼ŽÒ‚Æ‚àAƒJƒXƒ^ƒ€‚ÌTuplizerŽÀ‘•‚ð’è‹`‚·‚邱‚Æ‚Å’B¬‚³‚ê‚Ü‚·B
+            Tuplizer‚Ì’è‹`‚́AŠÇ—‚µ‚悤‚Æ‚·‚éƒGƒ“ƒeƒBƒeƒB‚âƒRƒ“ƒ|[ƒlƒ“ƒg‚̃}ƒbƒsƒ“ƒO‚ÉŒ‹‚Ñ•t‚¯‚ç‚ê‚Ü‚·B
+            ŒÚ‹qƒGƒ“ƒeƒBƒeƒB‚Ì—á‚É–ß‚é‚ƁF
+        </para>
+
+        <programlisting><![CDATA[<hibernate-mapping>
+    <class entity-name="Customer">
+        <!--
+            Override the dynamic-map entity-mode
+            tuplizer for the customer entity
+        -->
+        <tuplizer entity-mode="dynamic-map"
+                class="CustomMapTuplizerImpl"/>
+
+        <id name="id" type="long" column="ID">
+            <generator class="sequence"/>
+        </id>
+
+        <!-- other properties -->
+        ...
+    </class>
+</hibernate-mapping>
+
+
+public class CustomMapTuplizerImpl
+        extends org.hibernate.tuple.entity.DynamicMapEntityTuplizer {
+    // override the buildInstantiator() method to plug in our custom map...
+    protected final Instantiator buildInstantiator(
+            org.hibernate.mapping.PersistentClass mappingInfo) {
+        return new CustomMapInstantiator( mappingInfo );
+    }
+
+    private static final class CustomMapInstantiator
+            extends org.hibernate.tuple.DynamicMapInstantitor {
+        // override the generateMap() method to return our custom map...
+        protected final Map generateMap() {
+            return new CustomMap();
+        }
+    }
+}]]></programlisting>
+
+
+    </sect1>
+
+    <para>
+        TODO: ƒvƒƒpƒeƒB‚ƃvƒƒLƒVƒpƒbƒP[ƒW‚̃†[ƒUŠg’£ƒtƒŒ[ƒ€ƒ[ƒN‚𕶏‘‰»‚·‚邱‚Æ
+    </para>
+
+</chapter>
+
+

Added: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/preface.xml
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/preface.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/preface.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+
+<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+    <preface id="preface" revision="2">
+        <title>‘O‘‚«</title>
+
+        <para>
+            ¡“ú‚ÌŠé‹ÆŠÂ‹«‚É‚¨‚¢‚āAƒIƒuƒWƒFƒNƒgŽwŒüƒ\ƒtƒgƒEƒFƒA‚ƃŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚ÉŠÖ‚í‚éì‹Æ‚Í
+            ”ÏŽG‚Å–c‘å‚ÈŽžŠÔ‚ð•K—v‚Æ‚µ‚Ü‚·B
+            Hibernate‚ÍJavaŠÂ‹«‚̃IƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOƒc[ƒ‹‚Å‚·B
+            ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOiORMj‚Ƃ́A
+            ƒIƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚©‚çSQLƒx[ƒXƒXƒL[ƒ}‚̃ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒ‚ƒfƒ‹‚ւƁA
+            ƒf[ƒ^•\Œ»‚ðƒ}ƒbƒsƒ“ƒO‚·‚éi‘Ήž•t‚¯‚éj‹Zp‚Ì‚±‚Æ‚Å‚·B
+        </para>
+
+        <para>
+            Hibernate‚ÍJavaƒNƒ‰ƒX‚©‚çƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ցi‚»‚µ‚ÄJavaƒf[ƒ^Œ^‚©‚çSQLƒf[ƒ^Œ^‚ցj
+            ‚̃}ƒbƒsƒ“ƒO‚ðˆ—‚·‚邾‚¯‚Å‚Í‚È‚­Aƒf[ƒ^‚̃NƒGƒŠ‚Æ•œŒ³‚ÌŽd‘g‚Ý‚à’ñ‹Ÿ‚µ‚Ü‚·B
+            ‚±‚Ì‚¨‚©‚°‚ÅSQL‚ÆJDBC‚ðŽg‚Á‚½Žèì‹Æ‚ł̃f[ƒ^ˆ—‚É”ï‚₳‚ê‚Ä‚¢‚½ŠJ”­ŽžŠÔ‚ð‘啝‚ɍ팸‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            Hibernate‚̍ŏI–Ú•W‚́Aƒf[ƒ^‚̉i‘±‰»‚ÉŠÖ‚í‚éˆê”Ê“I‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOì‹Æ‚Ì95“‚©‚çŠJ”­ŽÒ‚ð‰ð•ú‚·‚邱‚Æ‚Å‚·B
+            Hibernate‚̓rƒWƒlƒXƒƒWƒbƒN‚ÌŽÀ‘•‚ɃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤
+            ƒf[ƒ^’†SƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚ẴxƒXƒgƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Å‚ ‚é‚É—¯‚Ü‚è‚Ü‚¹‚ñB
+            ƒIƒuƒWƒFƒNƒgŽwŒüƒhƒƒCƒ“ƒ‚ƒfƒ‹‚ÆJavaƒx[ƒX‚Ì’†ŠÔ‘w‚ł̃rƒWƒlƒXƒƒWƒbƒN‚ɑ΂µ‚čłà–ð‚É—§‚¿‚Ü‚·B
+            ‚µ‚©‚µHibernate‚̓xƒ“ƒ_ŒÅ—L‚ÌSQLƒR[ƒh‚ðíŒ¸‚Ü‚½‚̓JƒvƒZƒ‹‰»‚µ‚½‚èA
+            •\Œ`Ž®‚©‚çƒIƒuƒWƒFƒNƒg‚̃Oƒ‰ƒt‚ւƃŠƒUƒ‹ƒgƒZƒbƒg‚ð•ÏŠ·‚·‚é‚Ȃǂ́A
+            ˆê”Ê“I‚ȃ^ƒXƒN‚É‚à–𗧂‚łµ‚傤B
+        </para>
+
+        <para>
+            Hibernate‚âƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOA
+            ‚³‚ç‚É‚ÍJava‚ª‰‚ß‚Ä‚Ì•û‚́AˆÈ‰º‚̃Xƒeƒbƒv‚ɏ]‚Á‚Ä‚­‚¾‚³‚¢F
+        </para>
+
+        <orderedlist>
+            <listitem>
+                <para>
+                    <xref linkend="tutorial"/> ‚ð“Ç‚ñ‚Å‚­‚¾‚³‚¢B
+                    ’iŠK“I‚ɉðà‚µ‚Ä‚¢‚«‚Ü‚·B
+                    ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃\[ƒXƒR[ƒh‚̓fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì
+                    <literal>doc/reference/tutorial</literal> ƒfƒBƒŒƒNƒgƒŠ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <xref linkend="architecture"/> ‚ð“Ç‚ñ‚ŁAHibernate‚ª—˜—p‰Â”\‚Ȋ‹«‚ð—‰ð‚µ‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì <literal>eg/</literal> ƒfƒBƒŒƒNƒgƒŠ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+                    ŠÈ’P‚ȃXƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚ ‚è‚Ü‚·B
+                    JDBCƒhƒ‰ƒCƒo‚ð <literal>lib/</literal> ƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚āA
+                    Ž©•ª‚̃f[ƒ^ƒx[ƒX‚ɍ‡‚¤³‚µ‚¢’l‚ðŽw’è‚·‚é‚悤‚É <literal>etc/hibernate.properties</literal>
+                    ‚ð•ÒW‚µ‚Ä‚­‚¾‚³‚¢B
+                    ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“ƒfƒBƒŒƒNƒgƒŠ‚©‚çAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å
+                     <literal>ant eg</literal> ‚ƃ^ƒCƒv‚µ‚Ä‚­‚¾‚³‚¢iAnt‚ðŽg‚¢‚Ü‚·jB
+                    ‚Ü‚½WindowsŠÂ‹«‚Å‚Í <literal>build eg</literal> ‚ƃ^ƒCƒv‚µ‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ‚±‚̃Šƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚ð‘æˆê‚̏î•ñŒ¹‚Æ‚µ‚Ä—˜—p‚µ‚Ä‚­‚¾‚³‚¢B
+                    ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ÝŒv‚ɂ‚¢‚Ä‚Ì‚³‚ç‚È‚éî•ñ‚â’iŠK“I‚ȃ`ƒ…[ƒgƒŠƒAƒ‹‚ð’T‚µ‚Ä‚¢‚é‚È‚çA
+                    <emphasis>Java Persistence with Hibernate</emphasis>ihttp://www.manning.com/bauer2j
+                    ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
+                    ‚Ü‚½http://caveatemptor.hibernate.org‚©‚ç
+                    Java Persistence with Hibernate‚Ì—á‘è‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    FAQ‚ÍHibernateƒEƒFƒuƒTƒCƒg‚É‚ ‚è‚Ü‚·B
+                </para>
+            </listitem>
+			<listitem>
+                <para>
+                    ƒT[ƒhƒp[ƒeƒB‚̃fƒ‚A—áAƒ`ƒ…[ƒgƒŠƒAƒ‹‚ÍHibernateƒEƒFƒuƒTƒCƒg‚ɃŠƒ“ƒN‚ª‚ ‚è‚Ü‚·B
+                </para>
+			</listitem>
+            <listitem>
+                <para>
+                    HibernateƒEƒFƒuƒTƒCƒg‚̃Rƒ~ƒ…ƒjƒeƒBƒGƒŠƒA‚́AƒfƒUƒCƒ“ƒpƒ^[ƒ“‚₳‚Ü‚´‚Ü‚È“‡ƒ\ƒŠƒ…[ƒVƒ‡ƒ“
+                    iTomcat, JBoss AS, Struts, EJB, “™j‚ɂ‚¢‚Ä‚Ì‚æ‚¢î•ñŒ¹‚Å‚·B
+                </para>
+            </listitem>
+         </orderedlist>
+
+         <para>
+             Ž¿–₪‚ ‚ê‚ÎHibernateƒEƒFƒuƒTƒCƒg‚̃†[ƒUƒtƒH[ƒ‰ƒ€‚ðŠˆ—p‚µ‚Ä‚­‚¾‚³‚¢B
+             ‚Ü‚½ƒoƒOƒŒƒ|[ƒg‚ƃtƒB[ƒ`ƒƒƒŠƒNƒGƒXƒg‚Ì‚½‚ßJIRA‰Û‘è’ǐՃVƒXƒeƒ€‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+             Hibernate‚ÌŠJ”­‚É‹»–¡‚ª‚ ‚ê‚΁AŠJ”­ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ÉŽQ‰Á‚µ‚Ä‚­‚¾‚³‚¢B
+             ‚±‚̃hƒLƒ…ƒƒ“ƒg‚ð‚ ‚È‚½‚̍‘‚ÌŒ¾—t‚É–|–󂵂½‚¢ê‡‚́A
+             ŠJ”­ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ÅŽ„‚½‚¿‚ɃRƒ“ƒ^ƒNƒg‚ðŽæ‚Á‚Ä‚­‚¾‚³‚¢B
+         </para>
+
+         <para>
+             ¤—pŠJ”­‚̃Tƒ|[ƒgA»•i‚̃Tƒ|[ƒgAHibernate‚̃gƒŒ[ƒjƒ“ƒO‚ÍJBoss Inc.‚ª’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·
+             ihttp://www.hibernate.org/SupportTraining/‚ðŒ©‚Ä‚­‚¾‚³‚¢jB
+             Hibernate‚ÍProfessional Open SourceƒvƒƒWƒFƒNƒgA
+             ‚»‚µ‚ÄJBoss Enterprise Middleware SystemiJEMSjƒvƒƒ_ƒNƒgƒXƒC[ƒg‚̃NƒŠƒeƒBƒJƒ‹ƒRƒ“ƒ|[ƒlƒ“ƒg‚Å‚·B
+         </para>
+<!--
+           <sect1 id="preface-s1" revision="-1">
+
+               <title>“ú–{Œê–ó‚ɂ‚¢‚Ä</title>
+
+               <para id="preface-s1-p1" revision="-1">
+                   ‚±‚Ì“ú–{Œê”ÅHibernate Reference DocumentiˆÈ‰ºA“ú–{Œê”Łj‚́A
+                   HibernateƒvƒƒWƒFƒNƒg‚Ì–|–óƒvƒƒZƒX‚ÉŠî‚¢‚č쐬‚³‚ê‚Ä‚¢‚Ü‚·B
+                   “ú–{Œê”Å‚È‚ç‚Ñ‚ÉŒ´•¶‚ÍLGPLƒ‰ƒCƒZƒ“ƒX‚ɏ€‚¶‚Ü‚·B
+               </para>
+
+               <para id="preface-s1-p2" revision="-1">
+                   “ú–{Œê”Å‚Ì—˜—p‚É‚æ‚Á‚Ä‘æŽOŽÒ‚ª”í‚é‚ ‚ç‚ä‚é•s—˜‰v‚ɑ΂µ‚āA
+                   Œ´’˜ŽÒA–|–óŽÒ‚È‚ç‚Ñ‚É‚»‚Ì‘gD‚͈êØ‚Ì•ÛØ‚ð‚¢‚½‚µ‚©‚Ë‚Ü‚·B
+                   “ú–{Œê”Å‚ÍŒë‚è‚ðŠÜ‚މ”\«‚ª‚ ‚邱‚Æ‚ð”FŽ¯‚µ‚½ã‚Å‚²—˜—p‚­‚¾‚³‚¢B
+                   “à—e‚̐³Šm‚ȈӖ¡‚ð”cˆ¬‚·‚邽‚߂ɂ́AŒ´•¶‚ð“Ç‚Þ‚±‚Æ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
+                   ‚Ü‚½A‚à‚µ“ú–{Œê”Å‚ÉŒë‚è‚ðŒ©‚Â‚¯‚ç‚ꂽê‡‚́A–|–óŽÒ‚É‚²˜A—‚¢‚½‚¾‚¯‚ê‚΍K‚¢‚Å‚·B
+                   ‚½‚¾‚µ“à—e‚ÉŠÖ‚µ‚Ä‚Ì‚¨–â‚¢‡‚킹‚ɂ͉ž‚¶‚©‚Ë‚Ü‚·‚̂ŁA‚²—¹³‚­‚¾‚³‚¢B
+               </para>
+
+               <sect2 id="preface-s1-1" revision="-1">
+
+                   <title>“ú–{Œê”Å–|–óŽÒ‚ɂ‚¢‚Ä</title>
+
+                   <para id="preface-s1-1-p4" revision="-1">
+                       “ú–{Œê”Ńo[ƒWƒ‡ƒ“3.2 cr3‚Ì–|–ó‚ÍŠ”Ž®‰ïŽÐƒGƒNƒT
+                       i<ulink url="http://www.exa-corp.co.jp">ƒz[ƒ€ƒy[ƒW‚Í‚±‚¿‚ç</ulink>j
+                       ‚̈ȉº‚̃ƒ“ƒo[‚ōs‚¢‚Ü‚µ‚½B
+                       –{ŠÔ—́i6,18,19,21,22,23Í’S“–jA
+                       LŒË—T‰îi‘O‘‚«,2,5,13,14,24,25Í’S“–jA
+                       •Žs³li7,8,9,10Í’S“–jA
+                       “ߐ{G’ji12,16,17Í’S“–jA
+                       ˆäŠÖ’m•¶i1,3,11Í’S“–jA
+                       ”Ñ“c_Žii4,15Í’S“–jA
+                       •½ŠÔŒ’ˆêi20Í’S“–jA
+                       X—´“ñiƒŒƒrƒ…[’S“–jB
+                       ‚È‚¨Œë–ó“™‚Ì‚²Žw“E‚Í–{ŠÔALŒË‚Ü‚Å‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B
+
+        <mediaobject>
+            <imageobject role="fo">
+                <imagedata fileref="images/mailaddr.gif" format="GIF" align="center"/>
+            </imageobject>
+            <imageobject role="html">
+                <imagedata fileref="../shared/images/mailaddr.gif" format="GIF" align="center"/>
+            </imageobject>
+        </mediaobject>
+
+                   </para>
+               </sect2>
+           </sect1>
+-->
+    </preface>
\ No newline at end of file

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/query_criteria.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,448 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="querycriteria">
+    <title>CriteriaƒNƒGƒŠ</title>
+
+    <para>
+        Hibernate‚ɂ́A’¼Š´“I‚ÅŠg’£‰Â”\‚ÈcriteriaƒNƒGƒŠAPI‚ª—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B
+    </para>
+    
+    <sect1 id="querycriteria-creating">
+        <title> <literal>Criteria</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚̍쐬</title>
+
+        <para>
+            <literal>org.hibernate.Criteria</literal>
+            ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Í“Á’è‚̉i‘±«ƒNƒ‰ƒX‚ɑ΂·‚éƒNƒGƒŠ‚ð•\Œ»‚µ‚Ü‚·B
+            <literal>Session</literal> ‚Í <literal>Criteria</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚̃tƒ@ƒNƒgƒŠ‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[Criteria crit = sess.createCriteria(Cat.class);
+crit.setMaxResults(50);
+List cats = crit.list();]]></programlisting>
+
+    </sect1>
+     
+    <sect1 id="querycriteria-narrowing">
+        <title>ƒŠƒUƒ‹ƒgƒZƒbƒg‚̍iž‚Ý</title>
+
+        <para>
+            <literal>org.hibernate.criterion.Criterion</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A
+            ŒÂ•Ê‚̃NƒGƒŠƒNƒ‰ƒCƒeƒŠƒIƒ“i–â‚¢‡‚킹‚Ì”»’èŠî€j‚ð•\‚µ‚Ü‚·B
+            <literal>org.hibernate.criterion.Restrictions</literal>
+            ƒNƒ‰ƒX‚́A‚ ‚é‘g‚ݍž‚Ý‚Ì <literal>Criterion</literal>
+            Œ^‚ðŽæ“¾‚·‚邽‚߂̃tƒ@ƒNƒgƒŠƒƒ\ƒbƒh‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.like("name", "Fritz%") )
+    .add( Restrictions.between("weight", minWeight, maxWeight) )
+    .list();]]></programlisting>
+    
+        <para>
+            RestrictioniŒÀ’èj‚́A˜_—“I‚ɃOƒ‹[ƒv‰»‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.like("name", "Fritz%") )
+    .add( Restrictions.or(
+        Restrictions.eq( "age", new Integer(0) ),
+        Restrictions.isNull("age")
+    ) )
+    .list();]]></programlisting>
+    
+       <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.in( "name", new String[] { "Fritz", "Izi", "Pk" } ) )
+    .add( Restrictions.disjunction()
+        .add( Restrictions.isNull("age") )
+        .add( Restrictions.eq("age", new Integer(0) ) )
+        .add( Restrictions.eq("age", new Integer(1) ) )
+        .add( Restrictions.eq("age", new Integer(2) ) )
+    ) )
+    .list();]]></programlisting>
+    
+        <para>
+            Œ³X‚ ‚éCriterionŒ^i<literal>Restrictions</literal> ‚̃TƒuƒNƒ‰ƒXj
+            ‚Í‚©‚È‚è‚͈̔͂ɋy‚Ñ‚Ü‚·‚ªA“Á‚É—L—p‚È‚Ì‚ÍSQL‚𒼐ڎw’è‚Å‚«‚é‚à‚Ì‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.sqlRestriction("lower({alias}.name) like lower(?)", "Fritz%", Hibernate.STRING) )
+    .list();]]></programlisting>
+    
+        <para>
+            <literal>{alias}</literal> ‚Æ‚¢‚¤ƒvƒŒ[ƒXƒzƒ‹ƒ_‚́A
+            –â‚¢‡‚킹‚ðŽó‚¯‚½ƒGƒ“ƒeƒBƒeƒB‚̍s‚Ì•Ê–¼‚É‚æ‚Á‚Ä’u‚«Š·‚¦‚ç‚ê‚Ü‚·B
+        </para>
+        
+        <para>
+            criterion‚𓾂é•Ê‚ÌŽè’i‚́A
+            <literal>Property</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚©‚çŽæ“¾‚·‚邱‚Æ‚Å‚·B
+            <literal>Property.forName()</literal> ‚ðŒÄ‚яo‚µ‚āA
+            <literal>Property</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ðì¬‚Å‚«‚Ü‚·B
+        </para>
+    
+        <programlisting><![CDATA[
+Property age = Property.forName("age");
+List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.disjunction()
+        .add( age.isNull() )
+        .add( age.eq( new Integer(0) ) )
+        .add( age.eq( new Integer(1) ) )
+        .add( age.eq( new Integer(2) ) )
+    ) )
+    .add( Property.forName("name").in( new String[] { "Fritz", "Izi", "Pk" } ) )
+    .list();]]></programlisting>
+    
+   </sect1>
+     
+    <sect1 id="querycriteria-ordering">
+        <title>Œ‹‰Ê‚̐®—ñ</title>
+
+        <para>
+            <literal>org.hibernate.criterion.Order</literal>
+            ‚ðŽg‚Á‚ÄŒ‹‰Ê‚ð•À‚Ñ‘Ö‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.like("name", "F%")
+    .addOrder( Order.asc("name") )
+    .addOrder( Order.desc("age") )
+    .setMaxResults(50)
+    .list();]]></programlisting>
+    
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Property.forName("name").like("F%") )
+    .addOrder( Property.forName("name").asc() )
+    .addOrder( Property.forName("age").desc() )
+    .setMaxResults(50)
+    .list();]]></programlisting>
+    
+    </sect1>
+    
+    <sect1 id="querycriteria-associations" revision="2">
+        <title>ŠÖ˜A</title>
+
+        <para>
+            <literal>createCriteria()</literal> ‚ðŽg‚¢AŠÖ˜A‚ðƒiƒrƒQ[ƒg‚·‚邱‚ƂŁA
+            —eˆÕ‚ÉŠÖŒW‚·‚éƒGƒ“ƒeƒBƒeƒB‚ɐ§–ñ‚ðŽw’è‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.like("name", "F%") )
+    .createCriteria("kittens")
+        .add( Restrictions.like("name", "F%") )
+    .list();]]></programlisting>
+
+        <para>
+            2”Ô–Ú‚Ì <literal>createCriteria()</literal> ‚́A<literal>kittens</literal>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ðŽQÆ‚·‚éV‚µ‚¢ <literal>Criteria</literal>
+            ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚·‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            ˆÈ‰º‚̂悤‚È•û–@‚àAó‹µ‚É‚æ‚è—L—p‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .createAlias("kittens", "kt")
+    .createAlias("mate", "mt")
+    .add( Restrictions.eqProperty("kt.name", "mt.name") )
+    .list();]]></programlisting>
+
+        <para>
+            i<literal>createAlias()</literal> ‚͐V‚µ‚¢
+            <literal>Criteria</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ðì¬‚µ‚Ü‚¹‚ñBj
+        </para>
+
+        <para>
+            ‘O‚Ì2‚‚̃NƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚é <literal>Cat</literal>
+            ƒCƒ“ƒXƒ^ƒ“ƒX‚É‚æ‚Á‚Ä•ÛŽ‚³‚ê‚ékittensƒRƒŒƒNƒVƒ‡ƒ“‚́A
+            criteria‚É‚æ‚Á‚ÄŽ–‘O‚ɃtƒBƒ‹ƒ^ƒŠƒ“ƒO <emphasis>‚³‚ê‚È‚¢</emphasis>
+            ‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚à‚µcriteria‚É“K‡‚·‚ékitten‚ðŽæ“¾‚µ‚½‚¢‚È‚çA
+            <literal>ResultTransformer</literal> ‚ðŽg‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .createCriteria("kittens", "kt")
+        .add( Restrictions.eq("name", "F%") )
+    .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)
+    .list();
+Iterator iter = cats.iterator();
+while ( iter.hasNext() ) {
+    Map map = (Map) iter.next();
+    Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);
+    Cat kitten = (Cat) map.get("kt");
+}]]></programlisting>
+
+    </sect1>
+    
+    <sect1 id="querycriteria-dynamicfetching" revision="1">
+        <title>ŠÖ˜A‚Ì“®“IƒtƒFƒbƒ`</title>
+
+        <para>
+            <literal>setFetchMode()</literal> ‚ðŽg‚¢A
+            ŽÀsŽž‚ÉŠÖ˜A‚Ì•œŒ³•û–@‚ðŽw’肵‚Ä‚à‚æ‚¢‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[List cats = sess.createCriteria(Cat.class)
+    .add( Restrictions.like("name", "Fritz%") )
+    .setFetchMode("mate", FetchMode.EAGER)
+    .setFetchMode("kittens", FetchMode.EAGER)
+    .list();]]></programlisting>
+    
+        <para>
+            ‚±‚̃NƒGƒŠ‚ÍŠO•”Œ‹‡‚É‚æ‚è <literal>mate</literal> ‚Æ
+            <literal>kittens</literal> ‚Ì—¼•û‚ðƒtƒFƒbƒ`‚µ‚Ü‚·B
+            ‚æ‚葽‚­‚̏î•ñ‚Í <xref linkend="performance-fetching"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+    
+    </sect1>
+     
+    <sect1 id="querycriteria-examples">
+        <title>ƒNƒGƒŠ‚Ì—á</title>
+
+        <para>
+            <literal>org.hibernate.criterion.Example</literal> ƒNƒ‰ƒX‚́A
+            —^‚¦‚ç‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚©‚çƒNƒGƒŠƒNƒ‰ƒCƒeƒŠƒIƒ“‚ð\’z‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[Cat cat = new Cat();
+cat.setSex('F');
+cat.setColor(Color.BLACK);
+List results = session.createCriteria(Cat.class)
+    .add( Example.create(cat) )
+    .list();]]></programlisting>
+    
+        <para>
+           ƒo[ƒWƒ‡ƒ“ƒvƒƒpƒeƒBAŽ¯•ÊŽqAŠÖ˜A‚Í–³Ž‹‚³‚ê‚Ü‚·B
+           ƒfƒtƒHƒ‹ƒg‚Å‚Ínull’l‚̃vƒƒpƒeƒB‚͏œŠO‚³‚ê‚Ü‚·B
+        </para>
+
+        <para>
+           ‚ǂ̂悤‚É <literal>Example</literal> ‚ð“K—p‚·‚é‚©
+           ’²®‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[Example example = Example.create(cat)
+    .excludeZeroes()           //exclude zero valued properties
+    .excludeProperty("color")  //exclude the property named "color"
+    .ignoreCase()              //perform case insensitive string comparisons
+    .enableLike();             //use like for string comparisons
+List results = session.createCriteria(Cat.class)
+    .add(example)
+    .list();]]></programlisting>
+    
+        <para>
+            ŠÖ˜AƒIƒuƒWƒFƒNƒg‚Écriteria‚ðŽw’è‚·‚邽‚߂ɁAExample‚ðŽg‚¤‚±‚Æ‚à‰Â”\‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .add( Example.create(cat) )
+    .createCriteria("mate")
+        .add( Example.create( cat.getMate() ) )
+    .list();]]></programlisting>
+    
+    </sect1>
+    
+    <sect1 id="querycriteria-projection">
+        <title>ŽË‰eAW–ñAƒOƒ‹[ƒv‰»</title>
+        <para>
+            <literal>org.hibernate.criterion.Projections</literal> ƒNƒ‰ƒX‚Í
+            <literal>Projection</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚̃tƒ@ƒNƒgƒŠ‚Å‚·B
+            <literal>setProjection()</literal> ‚ðŒÄ‚яo‚·‚±‚ƂŁA
+            ƒNƒGƒŠ‚Ɏˉe‚ð“K—p‚µ‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Projections.rowCount() )
+    .add( Restrictions.eq("color", Color.BLACK) )
+    .list();]]></programlisting>
+    
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Projections.projectionList()
+        .add( Projections.rowCount() )
+        .add( Projections.avg("weight") )
+        .add( Projections.max("weight") )
+        .add( Projections.groupProperty("color") )
+    )
+    .list();]]></programlisting>
+    
+        <para>
+            •K—v‚Å‚ ‚Á‚Ä‚àAcriteriaƒNƒGƒŠ‚Ɂugroup byv‚𖾎¦‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            ‚ ‚éŽí‚ÌProjectionŒ^‚Í <emphasis>ƒOƒ‹[ƒv‰»ŽË‰e</emphasis> ‚Æ‚µ‚Ä’è‹`‚³‚êA
+            SQL‚Ì <literal>group by</literal> ß‚É‚àŒ»‚ê‚Ü‚·B
+        </para>
+    
+        <para>
+            ”CˆÓ‚Ŏˉe‚É•Ê–¼‚ð•t‚¯‚ç‚ê‚邽‚߁AŽË‰e‚³‚ê‚é’l‚Írestriction‚âordering“à‚©‚çŽQÆ‚Å‚«‚Ü‚·B
+            •Ê–¼‚ð‚‚¯‚é‚Q‚‚̈قȂé•û–@‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Projections.alias( Projections.groupProperty("color"), "colr" ) )
+    .addOrder( Order.asc("colr") )
+    .list();]]></programlisting>
+    
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Projections.groupProperty("color").as("colr") )
+    .addOrder( Order.asc("colr") )
+    .list();]]></programlisting>
+    
+        <para>
+            <literal>alias()</literal> ‚Æ <literal>as()</literal> ƒƒ\ƒbƒh‚́A
+            ProjectionƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ê‚Ì–¼‘O‚Ì <literal>Projection</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚Å
+            ƒ‰ƒbƒv‚·‚邾‚¯‚Å‚·B
+            ƒVƒ‡[ƒgƒJƒbƒg‚Æ‚µ‚āAŽË‰e‚ðŽË‰eƒŠƒXƒg‚ɒljÁ‚·‚éÛ‚ɁA•Ê–¼‚ð‚‚¯‚ç‚ê‚Ü‚·B
+        </para>
+
+       <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Projections.projectionList()
+        .add( Projections.rowCount(), "catCountByColor" )
+        .add( Projections.avg("weight"), "avgWeight" )
+        .add( Projections.max("weight"), "maxWeight" )
+        .add( Projections.groupProperty("color"), "color" )
+    )
+    .addOrder( Order.desc("catCountByColor") )
+    .addOrder( Order.desc("avgWeight") )
+    .list();]]></programlisting>
+    
+        <programlisting><![CDATA[List results = session.createCriteria(Domestic.class, "cat")
+    .createAlias("kittens", "kit")
+    .setProjection( Projections.projectionList()
+        .add( Projections.property("cat.name"), "catName" )
+        .add( Projections.property("kit.name"), "kitName" )
+    )
+    .addOrder( Order.asc("catName") )
+    .addOrder( Order.asc("kitName") )
+    .list();]]></programlisting>
+    
+        <para>
+            ŽË‰e‚ÌŽ®‚É <literal>Property.forName()</literal> ‚àŽg—p‚Å‚«‚Ü‚·B
+        </para>
+    
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Property.forName("name") )
+    .add( Property.forName("color").eq(Color.BLACK) )
+    .list();]]></programlisting>
+    
+        <programlisting><![CDATA[List results = session.createCriteria(Cat.class)
+    .setProjection( Projections.projectionList()
+        .add( Projections.rowCount().as("catCountByColor") )
+        .add( Property.forName("weight").avg().as("avgWeight") )
+        .add( Property.forName("weight").max().as("maxWeight") )
+        .add( Property.forName("color").group().as("color" )
+    )
+    .addOrder( Order.desc("catCountByColor") )
+    .addOrder( Order.desc("avgWeight") )
+    .list();]]></programlisting>
+    
+    </sect1>
+    
+    <sect1 id="querycriteria-detachedqueries">
+        <title>ƒNƒGƒŠ‚¨‚æ‚уTƒuƒNƒGƒŠ‚Ì•ª—£</title>
+        <para>
+            <literal>DetachedCriteria</literal> ƒNƒ‰ƒX‚É‚æ‚èA
+            ƒZƒbƒVƒ‡ƒ“ƒXƒR[ƒvŠO‚ɃNƒGƒŠ‚ðì¬‚Å‚«‚Ü‚·B
+            Œã‚ŁA”CˆÓ‚Ì <literal>Session</literal> ‚ðŽg‚Á‚āAŽÀs‚Å‚«‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)
+    .add( Property.forName("sex").eq('F') );
+    
+Session session = ....;
+Transaction txn = session.beginTransaction();
+List results = query.getExecutableCriteria(session).setMaxResults(100).list();
+txn.commit();
+session.close();]]></programlisting>
+
+        <para>
+            <literal>DetachedCriteria</literal> ‚́AƒTƒuƒNƒGƒŠ‚ð•\Œ»‚·‚邽‚ß‚É‚àŽg‚¦‚Ü‚·B
+            ƒTƒuƒNƒGƒŠ‚𔺂¤CriterionƒCƒ“ƒXƒ^ƒ“ƒX‚́A
+            <literal>Subqueries</literal> ‚à‚µ‚­‚Í <literal>Property</literal> ‚©‚瓾‚ç‚ê‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)
+    .setProjection( Property.forName("weight").avg() );
+session.createCriteria(Cat.class)
+    .add( Property.forName("weight").gt(avgWeight) )
+    .list();]]></programlisting>
+    
+        <programlisting><![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)
+    .setProjection( Property.forName("weight") );
+session.createCriteria(Cat.class)
+    .add( Subqueries.geAll("weight", weights) )
+    .list();]]></programlisting>
+    
+        <para>
+            ‘ŠŒÝŠÖŒW‚ª‚ ‚éƒTƒuƒNƒGƒŠ‚Å‚³‚¦‚à‰Â”\‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat.class, "cat2")
+    .setProjection( Property.forName("weight").avg() )
+    .add( Property.forName("cat2.sex").eqProperty("cat.sex") );
+session.createCriteria(Cat.class, "cat")
+    .add( Property.forName("weight").gt(avgWeightForSex) )
+    .list();]]></programlisting>
+
+    </sect1>
+
+        <!--TODO: ResultSetTransformer + aliasing. AliasToBeanTransformer allow returning arbitrary 
+                  user objects - similar to setResultClass in JDO2. General use of ResultTransformer 
+                  could also be explained. -->
+               
+    <sect1 id="query-criteria-naturalid">
+        <title>Ž©‘RŽ¯•ÊŽq‚É‚æ‚éƒNƒGƒŠ</title>
+        
+        <para>
+            criteriaƒNƒGƒŠ‚ðŠÜ‚Þ‚½‚¢‚Ä‚¢‚̃NƒGƒŠ‚É‚Æ‚Á‚āA
+            ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Í‚ ‚Ü‚èŒø—¦‚ª‚æ‚­‚È‚¢‚Å‚·B
+            ‚È‚º‚È‚çAƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ª•p”É‚É–³Œø‚ɂȂ邽‚ß‚Å‚·B
+            ‚µ‚©‚µ‚È‚ª‚çAƒLƒƒƒbƒVƒ…‚𖳌ø‚É‚·‚éƒAƒ‹ƒSƒŠƒYƒ€‚ðÅ“K‰»‚Å‚«‚é
+            “Á•Ê‚ȃNƒGƒŠ‚ÌŽí—Þ‚ª‚P‚‚ ‚è‚Ü‚·B
+            XV‚³‚ê‚È‚¢Ž©‘RƒL[‚É‚æ‚錟õ‚Å‚·B
+            ‚¢‚­‚‚©‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́A‚±‚ÌŽí—ނ̃NƒGƒŠ‚ª•p”É‚ÉŒ»‚ê‚Ü‚·B
+            ‚±‚̂悤‚ÈŽg‚í‚ê•û‚Ì‚½‚߂ɁAcriteria API‚Í“Á•Ê‚ȑ΍ô‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+            Å‰‚ɁA<literal>&lt;natural-id&gt;</literal> ‚ðŽg‚Á‚āA
+            ƒGƒ“ƒeƒBƒeƒB‚ÌŽ©‘RƒL[‚ðƒ}ƒbƒv‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚»‚µ‚āA“ñŽŸƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[<class name="User">
+    <cache usage="read-write"/>
+    <id name="id">
+        <generator class="increment"/>
+    </id>
+    <natural-id>
+        <property name="name"/>
+        <property name="org"/>
+    </natural-id>
+    <property name="password"/>
+</class>]]></programlisting>
+    
+        <para>
+            ’ˆÓF <emphasis>•ÏX‚³‚ê‚é</emphasis> Ž©‘RƒL[‚ðŽ‚ÂƒGƒ“ƒeƒBƒeƒB‚É
+            ‚±‚Ì‹@”\‚ðŽg‚¤‚̂́AˆÓ}‚³‚ê‚Ä‚¢‚È‚¢Žg‚¢•û‚Å‚·B
+        </para>
+        
+        <para>
+            ŽŸ‚ɁAHibernateƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚µ‚Ü‚·B
+        </para>
+        
+        <para>
+            ‚±‚ê‚ŁA<literal>Restrictions.naturalId()</literal> ‚É‚æ‚èA
+            ‚æ‚èŒø—¦“I‚ȃLƒƒƒbƒVƒ…ƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg—p‚Å‚«‚Ü‚·B
+        </para>
+       
+        <programlisting><![CDATA[session.createCriteria(User.class)
+    .add( Restrictions.naturalId()
+        .set("name", "gavin")
+        .set("org", "hb") 
+    ).setCacheable(true)
+    .uniqueResult();]]></programlisting>
+            
+    </sect1>
+    
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_hql.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/query_hql.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_hql.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_hql.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1131 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="queryhql">
+    <title>HQL: The Hibernate Query Language</title>
+    
+    <para>
+        Hibernate‚ÍSQL‚É”ñí‚É‚æ‚­Ž—‚½(ˆÓ}“I‚ÉŽ—‚¹‚½)‹­—Í‚È–â‚¢‡‚킹Œ¾Œê‚ð”õ‚¦‚Ä‚¢‚Ü‚·B
+        ‚µ‚©‚µSQL‚ÉŽ—‚½\•¶‚ɘf‚킳‚ê‚È‚¢‚Å‚­‚¾‚³‚¢BHQL‚ÍŠ®‘S‚ɃIƒuƒWƒFƒNƒgŽwŒü‚Å‚ ‚èA
+        Œp³Aƒ|ƒŠƒ‚[ƒtƒBƒYƒ€AŠÖ˜A‚Æ‚¢‚Á‚½ŠT”O‚ð—‰ð‚µ‚Ü‚·B
+    </para>
+
+    <sect1 id="queryhql-casesensitivity">
+        <title>‘啶Žš‚Ə¬•¶Žš‚Ì‹æ•Ê</title>
+
+        <para>
+            ƒNƒGƒŠ‚ÍJava‚̃Nƒ‰ƒX–¼‚ƃvƒƒpƒeƒB–¼‚ðœ‚¢‚đ啶ŽšA¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB
+            ]‚Á‚Ä <literal>SeLeCT</literal> ‚Í
+            <literal>sELEct</literal> ‚Æ“¯‚¶‚ŁA‚©‚Â
+            <literal>SELECT</literal> ‚Æ‚à“¯‚¶‚Å‚·‚ª
+            <literal>net.sf.hibernate.eg.FOO</literal> ‚Í
+            <literal>net.sf.hibernate.eg.Foo</literal> ‚Ƃ͈ႢA‚©‚Â
+            <literal>foo.barSet</literal> ‚Í
+            <literal>foo.BARSET</literal> ‚Æ‚àˆá‚¢‚Ü‚·B
+        </para>
+        
+        <para>
+            ‚±‚̃}ƒjƒ…ƒAƒ‹‚ł͏¬•¶Žš‚ÌHQLƒL[ƒ[ƒh‚ðŽg—p‚µ‚Ü‚·B
+            ‘啶Žš‚̃L[ƒ[ƒh‚̃NƒGƒŠ‚Ì•û‚ª“Ç‚Ý‚â‚·‚¢‚ÆŠ´‚¶‚郆[ƒU[‚à‚¢‚é‚ÆŽv‚¢‚Ü‚·B
+            ‚Å‚·‚ªAJavaƒR[ƒh“à‚É–„‚ߍž‚܂ꂽ‚Æ‚«‚É‚ÍŒ©‚Â炢‚ÆŽv‚¢‚Ü‚·B
+        </para>
+        
+    </sect1>
+
+    <sect1 id="queryhql-from">
+        <title>fromß</title>
+
+        <para>
+            ‚à‚Á‚Æ‚à’Pƒ‚ÈHibernateƒNƒGƒŠ‚ÍŽŸ‚ÌŒ`Ž®‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[from eg.Cat]]></programlisting>
+        
+        <para>
+            ‚±‚ê‚Í’Pƒ‚Ɂ@<literal>eg.Cat</literal>@ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‚·‚×‚Ä•Ô‚µ‚Ü‚·B
+            •K‚¸‚µ‚àƒNƒ‰ƒX–¼‚ðCü‚·‚éiƒNƒ‰ƒX‚ɃpƒbƒP[ƒW–¼‚ð•t‚¯‚éj•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            ‚Æ‚¢‚¤‚Ì‚àA<literal>auto-import</literal> ‚ªƒfƒtƒHƒ‹ƒg‚É‚È‚Á‚Ä‚¢‚é‚©‚ç‚Å‚·B
+            ‚»‚Ì‚½‚ß‚Ù‚Æ‚ñ‚ǂ̏ꍇA‚±‚̂悤‚ɏ‘‚­‚¾‚¯‚ŏ\•ª‚Å‚·B
+        </para>
+        
+        <programlisting><![CDATA[from Cat]]></programlisting>
+        
+        <para>
+            ‚Ù‚Æ‚ñ‚ǂ̏ꍇƒNƒGƒŠ‚Ì‚Ù‚©‚Ì•”•ª‚Ł@<literal>Cat</literal>@‚ðŽQÆ‚·‚é‚̂ŁA•Ê–¼‚ðŠ„‚è“–‚Ä‚é•K—v‚ª‚ ‚é‚Å‚µ‚傤B
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat]]></programlisting>
+
+        <para>
+            ‚±‚̃NƒGƒŠ‚Å‚Í <literal>Cat</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚É <literal>cat</literal> 
+            ‚Æ‚¢‚¤•Ê–¼‚ð•t‚¯‚Ä‚¢‚Ü‚·B
+            ‚»‚Ì‚½‚߁AŒã‚Å‚±‚̃NƒGƒŠ“à‚ŁA‚±‚Ì•Ê–¼‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            <literal>as</literal> ƒL[ƒ[ƒh‚̓IƒvƒVƒ‡ƒ“‚Å‚·B‚‚܂肱‚̂悤‚ɏ‘‚­‚±‚Æ‚à‚Å‚«‚Ü‚·F
+        </para>
+        
+        <programlisting><![CDATA[from Cat cat]]></programlisting>
+        
+        <para>
+            ’¼ÏA‚ ‚é‚¢‚̓NƒƒXŒ‹‡‚É‚æ‚Á‚Ä‘½”‚̃Nƒ‰ƒX‚ªoŒ»‚·‚邱‚Æ‚à‚ ‚è‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[from Formula, Parameter]]></programlisting>
+        <programlisting><![CDATA[from Formula as form, Parameter as param]]></programlisting>
+        
+        <para>
+            ƒ[ƒJƒ‹•Ï”‚ÌJava‚̃l[ƒ~ƒ“ƒOŠî€‚ƈê’v‚µ‚½A
+            “ª•¶Žš‚ɏ¬•¶Žš‚ðŽg‚Á‚½ƒNƒGƒŠ‚Ì•Ê–¼‚ð•t‚¯‚邱‚Æ‚Í‚¢‚¢KŠµ‚Å‚·(—Ⴆ‚Î <literal>domesticCat</literal> )B
+        </para>
+        
+    </sect1>
+
+    <sect1 id="queryhql-joins" revision="2">
+        <title>ŠÖ˜A‚ÆŒ‹‡</title>
+
+        <para>
+            ŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ ‚é‚¢‚Í’lƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚É‚àA<literal>Œ‹‡</literal> ‚ðŽg‚Á‚Ä•Ê–¼‚ðŠ„‚è“–‚Ă邱‚Æ‚ªo—ˆ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat 
+    inner join cat.mate as mate
+    left outer join cat.kittens as kitten]]></programlisting>
+
+        <programlisting><![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]></programlisting>
+
+        <programlisting><![CDATA[from Formula form full join form.parameter param]]></programlisting>
+
+        <para>
+            ƒTƒ|[ƒg‚µ‚Ä‚¢‚錋‡‚̃^ƒCƒv‚ÍANSI SQL‚Æ“¯‚¶‚Å‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>inner join</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>left outer join</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>right outer join</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>full join</literal> (‚½‚¢‚Ä‚¢‚̏ꍇŽg‚¢‚Â炢)
+                </para>
+            </listitem>
+        </itemizedlist>
+    
+        <para>
+            <literal>inner join</literal>A<literal>left outer join</literal>A<literal>right outer join</literal>‚ɂ͏ȗªŒ`‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat 
+    join cat.mate as mate
+    left join cat.kittens as kitten]]></programlisting>
+    
+        <para>
+            HQL‚Ì <literal>with</literal> ƒL[ƒ[ƒh‚ðŽg‚¤‚ƁAŒ‹‡ðŒ‚ð•t‚¯‰Á‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat 
+    left join cat.kittens as kitten 
+        with kitten.bodyWeight > 10.0]]></programlisting>
+
+        <para>
+            ‰Á‚¦‚āAuƒtƒFƒbƒ`vŒ‹‡‚ÍŠÖ˜A‚â’l‚̃RƒŒƒNƒVƒ‡ƒ“‚ðeƒIƒuƒWƒFƒNƒg‚ƈꏏ‚É1“x‚Ìselect‹å‚ŏ‰Šú‰»‚µ‚Ü‚·B
+            ‚±‚ê‚Í“Á‚ɃRƒŒƒNƒVƒ‡ƒ“‚̏ꍇ‚É—L—p‚Å‚·B‚±‚ê‚ÍŽÀŽ¿ãAŠÖ˜A‚ƃRƒŒƒNƒVƒ‡ƒ“‚ɑ΂·‚éƒ}ƒbƒsƒ“ƒO’è‹`ƒtƒ@ƒCƒ‹‚ÌŠO•”Œ‹‡‚Ælazy‰Šú‰»‚Ì’è‹`‚ðã‘‚«‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+            
+            <xref linkend="performance-fetching"/> ‚É‚æ‚葽‚­‚̏î•ñ‚ª‚ ‚è‚Ü‚·B
+        </para>
+    
+        <programlisting><![CDATA[from Cat as cat 
+    inner join fetch cat.mate
+    left join fetch cat.kittens]]></programlisting>
+    
+        <para>
+            Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`‚ÍŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ª <literal>where</literal> ß(‚Ü‚½‚Í‘¼‚Ì‚Ç‚ñ‚Ȑ߂łà)
+            ‚ÅŽg‚í‚ê‚Ä‚Í‚È‚ç‚È‚¢‚̂ŁA’ʏí•Ê–¼‚ðŠ„‚è“–‚Ä‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB‚Ü‚½ŠÖ˜AƒIƒuƒWƒFƒNƒg‚Í–â‚¢‡‚킹Œ‹‰Ê‚Æ‚µ‚Ä
+            ’¼Ú•Ô‚³‚ê‚Ü‚¹‚ñB‘ã‚í‚è‚ɐeƒIƒuƒWƒFƒNƒg‚ð’Ê‚µ‚ăAƒNƒZƒX‚Å‚«‚Ü‚·B
+            ƒRƒŒƒNƒVƒ‡ƒ“‚ðÄ‹A“I‚ÉŒ‹‡ƒtƒFƒbƒ`‚·‚éê‡‚̂݁A•Ê–¼‚ª•K—v‚É‚È‚è‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[from Cat as cat 
+    inner join fetch cat.mate
+    left join fetch cat.kittens child
+    left join fetch child.kittens]]></programlisting>
+    
+        <para>
+            <literal>fetch</literal> \•¶‚Í <literal>iterate()</literal> 
+            ‚ðŽg‚Á‚½ƒNƒGƒŠŒÄ‚яo‚µ‚ÅŽg—p‚Å‚«‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢
+            iˆê•û‚Å <literal>scroll()</literal> ‚ÍŽg—p‚Å‚«‚Ü‚·jB
+            
+            ‚Ü‚½A‚±‚ê‚ç‚Ì‘€ì‚ÍŒ‹‰Ê‚̍s‚ÉŠî‚¢‚Ä‚¢‚邽‚߁A
+            <literal>fetch</literal> ‚Í <literal>setMaxResults()</literal> ‚â <literal>setFirstResult()</literal> 
+            ‚ƈꏏ‚ÉŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+            ’ʏíeager‚ȃRƒŒƒNƒVƒ‡ƒ“ƒtƒFƒbƒ`‚ð‚·‚é‚Əd•¡‚ªo‚Ä‚µ‚Ü‚¤‚½‚߁A‚ ‚È‚½‚ªŠú‘Ò‚·‚é‚悤‚ȍs”‚É‚Í‚È‚ç‚È‚¢‚Ì‚Å‚·B
+                             
+            ‚»‚µ‚Ä‚Ü‚½ <literal>fetch</literal> ‚́AƒAƒhƒzƒbƒN‚È <literal>with</literal> ðŒ‚ð
+            ˆê‚ÉŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚¹‚ñB
+            ˆê‚‚̃NƒGƒŠ‚Å•¡”‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŒ‹‡ƒtƒFƒbƒ`‚·‚邱‚Æ‚É‚æ‚è’¼Ï‚ðì¬‚Å‚«‚é‚̂ŁA‚±‚̏ꍇ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚Ü‚½A•¡”‚̃RƒŒƒNƒVƒ‡ƒ“‚ɑ΂·‚錋‡ƒtƒFƒbƒ`‚Íbagƒ}ƒbƒsƒ“ƒO‚ɑ΂µ‚Ä—\Šú‚¹‚ÊŒ‹‰Ê‚ð‚à‚½‚ç‚·‚±‚Æ‚ª‚ ‚é‚̂ŁA
+            ‚±‚̏ꍇ‚̃NƒGƒŠ‚̍쐬‚É‚Í’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ÅŒã‚É <literal>‘SŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`</literal> ‚Æ
+            <literal>‰EŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`</literal> ‚Í—L—p‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <para>
+            ‚à‚µƒvƒƒpƒeƒBƒŒƒxƒ‹‚Ì’x‰„ƒtƒFƒbƒ`‚ðŽg‚¤ê‡i“à•”“I‚ɃoƒCƒgƒR[ƒhˆ—‚ð‚·‚éê‡jA
+            <literal>fetch all properties</literal> ‚ðŽg‚¤‚±‚Æ‚Å
+            Hibernate‚É’x‰„ƒvƒƒpƒeƒB‚𑬂₩‚ɁiÅ‰‚̃NƒGƒŠ‚ŁjƒtƒFƒbƒ`‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[from Document fetch all properties order by name]]></programlisting>
+        <programlisting><![CDATA[from Document doc fetch all properties where lower(doc.name) like '%cats%']]></programlisting>
+
+    </sect1>
+
+    <sect1 id="queryhql-joins-forms">
+        <title>Œ‹‡\•¶‚ÌŒ`Ž®</title>
+
+        <para>
+            HQL‚Í‚Q‚‚̊֘AŒ‹‡Œ`Ž®‚ðƒTƒ|[ƒg‚µ‚Ü‚·F<literal>ˆÃ–Ù“I</literal> ‚Æ <literal>–¾Ž¦“I</literal>B
+        </para>
+
+        <para>
+            ‚±‚ê‚܂ł̃ZƒNƒVƒ‡ƒ“‚Å‚¨Œ©‚¹‚µ‚½Žg‚¢•û‚Í‚·‚×‚Ä <literal>–¾Ž¦“I‚È</literal> Œ`Ž®‚ŁA
+            fromß‚Å–¾Ž¦“I‚ÉjoinƒL[ƒ[ƒh‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
+            ‚±‚ÌŒ`Ž®‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            <literal>ˆÃ–Ù“I</literal> ƒtƒH[ƒ€‚́AjoinƒL[ƒ[ƒh‚ðŽg‚¢‚Ü‚¹‚ñB‘ã‚í‚è‚ɁAŽQÆ‚·‚éŠÖ˜A‚É
+            ƒhƒbƒg•\‹L‚ðŽg‚¢‚Ü‚·B<literal>ˆÃ–Ù“I</literal> Œ‹‡‚́A‚³‚Ü‚´‚Ü‚ÈHQL‚ɏo‚Ä‚«‚Ü‚·B
+            <literal>ˆÃ–Ù“I</literal> Œ‹‡‚ÌŒ‹‰Ê‚́ASQLƒXƒe[ƒgƒƒ“ƒg‚Ì“à•”Œ‹‡Œ‹‰Ê‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat where cat.mate.name like '%s%']]></programlisting>
+    </sect1>
+
+    <sect1 id="queryhql-select">
+        <title>Selectß</title>
+
+        <para>
+            <literal>select</literal> ß‚͈ȉº‚̂悤‚ɂǂ̃IƒuƒWƒFƒNƒg‚Æ‘®«‚ðƒNƒGƒŠƒŠƒUƒ‹ƒgƒZƒbƒg‚É•Ô‚·‚©‚ð‘I‘ð‚µ‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[select mate 
+from Cat as cat 
+    inner join cat.mate as mate]]></programlisting>
+
+        <para>
+            ã‹L‚̃NƒGƒŠ‚Í‘¼‚Ì <literal>Cat</literal> ‚Ì <literal>mate</literal> ‚ð‘I‘ð‚µ‚Ü‚·B
+            ŽÀÛ‚É‚ÍŽŸ‚̂悤‚ɁA‚æ‚èŠÈŒ‰‚É•\Œ»‚Å‚«‚Ü‚·B: 
+        </para>
+
+        <programlisting><![CDATA[select cat.mate from Cat cat]]></programlisting>
+
+        <para>
+            ƒNƒGƒŠ‚̓Rƒ“ƒ|[ƒlƒ“ƒgŒ^‚̃vƒƒpƒeƒB‚ðŠÜ‚ށA‚ ‚ç‚ä‚é’lŒ^‚̃vƒƒpƒeƒB‚à•Ô‚¹‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[select cat.name from DomesticCat cat
+where cat.name like 'fri%']]></programlisting>
+
+        <programlisting><![CDATA[select cust.name.firstName from Customer as cust]]></programlisting>
+
+        <para>
+            ƒNƒGƒŠ‚Í•¡”‚̃IƒuƒWƒFƒNƒg‚Æ(‚Ü‚½‚Í)ƒvƒƒpƒeƒB‚ð <literal>Object[]</literal> Œ^‚Ì”z—ñ‚Æ‚µ‚Ä•Ô‚¹‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select mother, offspr, mate.name 
+from DomesticCat as mother
+    inner join mother.mate as mate
+    left outer join mother.kittens as offspr]]></programlisting>
+    
+        <para>
+            ‚à‚µ‚­‚Í <literal>List</literal> ‚Æ‚µ‚āA
+        </para>
+        
+        <programlisting><![CDATA[select new list(mother, offspr, mate.name)
+from DomesticCat as mother
+    inner join mother.mate as mate
+    left outer join mother.kittens as offspr]]></programlisting>
+    
+        <para>
+            ‚Ü‚½‚́Aƒ^ƒCƒvƒZ[ƒt‚ÈJavaƒIƒuƒWƒFƒNƒg‚ð•Ô‚¹‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[select new Family(mother, mate, offspr)
+from DomesticCat as mother
+    join mother.mate as mate
+    left join mother.kittens as offspr]]></programlisting>
+        
+        <para>
+            ‚ ‚é‚¢‚Í <literal>Family</literal> ƒNƒ‰ƒX‚ª“KØ‚ȃRƒ“ƒXƒgƒ‰ƒNƒ^‚ðŽ‚Á‚Ä‚¢‚é‚Æ‚·‚é‚È‚ç‚΁A
+        </para>
+        
+        <para>
+            selectß‚É <literal>as</literal> ‚ðŽg‚Á‚Ä•Ê–¼‚ð‚‚¯‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n
+from Cat cat]]></programlisting>
+
+        <para>
+            <literal>select new map</literal> ‚ƈꏏ‚ÉŽg‚¤‚Æ‚«‚ɍłà–𗧂¿‚Ü‚·F
+        </para>
+            
+        <programlisting><![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, count(*) as n )
+from Cat cat]]></programlisting>
+
+        <para>
+            ‚±‚̃NƒGƒŠ‚Í•Ê–¼‚©‚çselect‚µ‚½’l‚Ö <literal>Map</literal> ‚ð•Ô‚µ‚Ü‚·B
+        </para>
+         
+    </sect1>
+
+    <sect1 id="queryhql-aggregation">
+        <title>W–ñŠÖ”</title>
+
+        <para>
+            HQL‚̃NƒGƒŠ‚̓vƒƒpƒeƒB‚̏W–ñŠÖ”‚ÌŒ‹‰Ê‚à•Ô‚¹‚Ü‚·F
+        </para>
+
+        <programlisting><![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count(cat)
+from Cat cat]]></programlisting>
+
+<!-- NO LONGER SUPPORTED
+        <para>
+            Collections may also appear inside aggregate functions in the <literal>select</literal> 
+            clause.
+        </para>
+
+        <programlisting><![CDATA[select cat, count( elements(cat.kittens) ) 
+from Cat cat group by cat]]></programlisting>
+-->
+
+        <para>
+            ƒTƒ|[ƒg‚µ‚Ä‚¢‚éW–ñŠÖ”‚͈ȉº‚Ì‚à‚Ì‚Å‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>avg(...), sum(...), min(...), max(...)</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>count(*)</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>count(...), count(distinct ...), count(all...)</literal>
+                </para>
+            </listitem>
+        </itemizedlist>
+    
+        <para>
+            selectß‚É‚¨‚¢‚ÄŽZp‘€ìA˜AŒ‹‚Ə³”F‚³‚ꂽSQLŠÖ”‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[select cat.weight + sum(kitten.weight) 
+from Cat cat 
+    join cat.kittens kitten
+group by cat.id, cat.weight]]></programlisting>
+    
+        <programlisting><![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]></programlisting>
+    
+        <para>
+            SQL‚Æ“¯‚¶ˆÓ–¡‚ðŽ‚Â <literal>distinct</literal> ‚Æ <literal>all</literal> ƒL[ƒ[ƒh‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select distinct cat.name from Cat cat
+
+select count(distinct cat.name), count(cat) from Cat cat]]></programlisting>
+
+    </sect1>
+    
+    <sect1 id="queryhql-polymorphism">
+        <title>ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȃNƒGƒŠ</title>
+
+        <para>
+            ŽŸ‚̂悤‚ȃNƒGƒŠF
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat]]></programlisting>
+
+        <para>
+            <literal>Cat</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚¾‚¯‚Å‚Í‚È‚­A<literal>DomesticCat</literal> 
+            ‚̂悤‚ȃTƒuƒNƒ‰ƒX‚à•Ô‚³‚ê‚Ü‚·BHibernateƒNƒGƒŠ‚Í <emphasis>‚Ç‚ñ‚È</emphasis>
+            JavaƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚à <literal>from</literal> ß‚É“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ƒNƒGƒŠ‚Í‚»‚̃Nƒ‰ƒX‚ðŠg’£‚µ‚½A‚à‚µ‚­‚̓Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚½‘S‚Ẳi‘±ƒNƒ‰ƒX‚ð•Ô‚µ‚Ü‚·B
+            ŽŸ‚̃NƒGƒŠ‚͉i‘±ƒIƒuƒWƒFƒNƒg‚ð‚·‚×‚Ä•Ô‚µ‚Ü‚·:
+        </para>
+        
+        <programlisting><![CDATA[from java.lang.Object o]]></programlisting>
+        
+        <para>
+            <literal>Named</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Í—lX‚ȉi‘±ƒNƒ‰ƒX‚É‚æ‚Á‚ÄŽÀ‘•‚³‚ê‚Ü‚·B: 
+        </para>
+        
+        <programlisting><![CDATA[from Named n, Named m where n.name = m.name]]></programlisting>
+        
+        <para>
+            ÅŒã‚Ì“ñ‚‚̃NƒGƒŠ‚́A“ñ‚ˆȏã‚ÌSQL <literal>SELECT</literal> ‚ð—v‹‚µ‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚±‚Ì‚±‚Æ‚Í <literal>order by</literal> ß‚ªƒŠƒUƒ‹ƒgƒZƒbƒg‘S‘̂𐳊m‚ɂ͐®—ñ‚µ‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·
+            (‚³‚ç‚É‚»‚ê‚́A<literal>Query.scroll()</literal> ‚ðŽg—p‚µ‚Ä‚±‚ê‚ç‚̃NƒGƒŠ‚ðŒÄ‚Ô‚±‚Æ‚ª‚Å‚«‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B)B 
+        </para>
+        
+    </sect1>
+
+    <sect1 id="queryhql-where">
+        <title>whereß</title>
+
+        <para>
+            <literal>where</literal> ß‚Í•Ô‚³‚ê‚éƒCƒ“ƒXƒ^ƒ“ƒX‚̃ŠƒXƒg‚ði‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚à‚µ•Ê–¼‚ª‚È‚¢ê‡A–¼‘O‚ŃvƒƒpƒeƒB‚ðŽQÆ‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[from Cat where name='Fritz']]></programlisting>
+        
+        <para>
+            ‚à‚µ•Ê–¼‚ª‚ ‚éê‡ACü–¼‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <programlisting><![CDATA[from Cat as cat where cat.name='Fritz']]></programlisting>
+
+        <para>
+            –¼‘O‚ª'Fritz'‚Æ‚¢‚¤ <literal>Cat</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚µ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select foo 
+from Foo foo, Bar bar
+where foo.startDate = bar.date]]></programlisting>
+
+        <para>
+            ã‚ÌHQL‚́A<literal>Foo</literal> ‚Ì <literal>startDate</literal> ƒvƒƒpƒeƒB‚Æ“™‚µ‚¢
+            <literal>date</literal> ƒvƒƒpƒeƒB‚ðŽ‚Á‚½ <literal>bar</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‘¶Ý‚·‚éA
+            ‚·‚×‚Ä‚Ì <literal>Foo</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚µ‚Ü‚·B
+            ƒRƒ“ƒpƒEƒ“ƒhƒpƒXŽ®i—Ⴆ‚΁ucat.mate.namevj‚Í <literal>where</literal> ß‚ð”ñí‚É‹­—Í‚É‚µ‚Ü‚·B’–ځF
+        </para>
+
+        <programlisting><![CDATA[from Cat cat where cat.mate.name is not null]]></programlisting>
+
+        <para>
+            ‚±‚̃NƒGƒŠ‚̓e[ƒuƒ‹Œ‹‡i“à•”Œ‹‡j‚ðŽ‚ÂSQLƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+            ‚»‚Ì‘ã‚í‚è‚Ɉȉº‚̂悤‚ɏ‘‚­‚ƁA
+        </para>
+
+        <programlisting><![CDATA[from Foo foo  
+where foo.bar.baz.customer.address.city is not null]]></programlisting>
+
+        <para>
+            ‚à‚µã‚̃NƒGƒŠ‚ð‹Lq‚µ‚½‚çƒNƒGƒŠ“à‚É4‚‚̃e[ƒuƒ‹Œ‹‡‚ð•K—v‚Æ‚·‚éSQLƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+        </para>
+
+        <para>
+            <literal>=</literal> ‰‰ŽZŽq‚͈ȉº‚̂悤‚ɁAƒvƒƒpƒeƒB‚¾‚¯‚Å‚È‚­ƒCƒ“ƒXƒ^ƒ“ƒX‚ð”äŠr‚·‚邽‚ß‚É‚àŽg‚í‚ê‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]></programlisting>
+
+        <programlisting><![CDATA[select cat, mate 
+from Cat cat, Cat mate
+where cat.mate = mate]]></programlisting>
+
+        <para>
+            <literal>id</literal> (¬•¶Žš)‚Í“Á•Ê‚ȃvƒƒpƒeƒB‚Å‚ ‚èA
+            ƒIƒuƒWƒFƒNƒg‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚ðŽQÆ‚·‚邽‚ß‚ÉŽg—p‚Å‚«‚Ü‚·B(‚³‚ç‚ɁA‚»‚̃vƒƒpƒeƒB–¼‚ðŽg—p‚Å‚«‚Ü‚·B) 
+        </para>
+
+        <programlisting><![CDATA[from Cat as cat where cat.id = 123
+
+from Cat as cat where cat.mate.id = 69]]></programlisting>
+
+        <para>
+            2”Ԗڂ̃NƒGƒŠ‚ÍŒø—¦“I‚Å‚·Bƒe[ƒuƒ‹Œ‹‡‚ª•K—v‚ ‚è‚Ü‚¹‚ñI
+        </para>
+
+        <para>
+            ‚Ü‚½•¡‡Ž¯•ÊŽq‚̃vƒƒpƒeƒB‚àŽg—p‚Å‚«‚Ü‚·B‚±‚±‚Å <literal>Person</literal> ‚ª
+            <literal>country</literal> ‚Æ <literal>medicareNumber</literal> ‚©‚ç‚È‚é•¡‡Ž¯•ÊŽq‚ðŽ‚Â‚Æ‰¼’肵‚Ü‚·B 
+        </para>
+
+        <programlisting><![CDATA[from bank.Person person
+where person.id.country = 'AU' 
+    and person.id.medicareNumber = 123456]]></programlisting>
+
+        <programlisting><![CDATA[from bank.Account account
+where account.owner.id.country = 'AU' 
+    and account.owner.id.medicareNumber = 123456]]></programlisting>
+
+        <para>
+            ‚à‚¤ˆê“xŒ¾‚¢‚Ü‚·‚ªA2”Ԗڂ̃NƒGƒŠ‚ɂ̓e[ƒuƒ‹Œ‹‡‚ª•K—v‚ ‚è‚Ü‚¹‚ñB
+        </para>
+            
+        <para>
+            “¯—l‚É <literal>class</literal> ‚Í“Á•Ê‚ȃvƒƒpƒeƒB‚Å‚ ‚èA
+            ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȉi‘±‰»‚É‚¨‚¯‚éƒCƒ“ƒXƒ^ƒ“ƒX‚Ìdiscriminator’l‚ɃAƒNƒZƒX‚µ‚Ü‚·B
+            whereß‚É–„‚ߍž‚܂ꂽJava‚̃Nƒ‰ƒX–¼‚Í‚»‚Ìdiscriminator’l‚É•ÏŠ·‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[from Cat cat where cat.class = DomesticCat]]></programlisting>
+        
+        <para>
+            ‚Ü‚½ƒRƒ“ƒ|[ƒlƒ“ƒg‚â•¡‡ƒ†[ƒUŒ^(‚Ü‚½‚»‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚È‚Ç)‚̃vƒƒpƒeƒB‚àŽw’è‚Å‚«‚Ü‚·B
+            
+            ‚µ‚©‚µŒˆ‚µ‚āiƒRƒ“ƒ|[ƒlƒ“ƒg‚̃vƒƒpƒeƒB‚Å‚Í‚È‚­jƒRƒ“ƒ|[ƒlƒ“ƒgŒ^‚̃vƒƒpƒeƒB‚ŏI—¹‚·‚éƒpƒXŽ®‚ðŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢B
+            —Ⴆ‚Î‚à‚µ <literal>store.owner</literal> ‚ª <literal>address</literal> 
+            ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŽ‚ÂƒGƒ“ƒeƒBƒeƒB‚È‚ç‚Έȉº‚̂悤‚ÈŒ‹‰Ê‚Æ‚È‚è‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[store.owner.address.city    // okay
+store.owner.address         // error!]]></programlisting>
+
+        <para>
+            "any"Œ^‚Í“Á•Ê‚ȃvƒƒpƒeƒB‚Å‚ ‚é <literal>id</literal> ‚Æ <literal>class</literal> ‚ðŽ‚¿A
+            ˆÈ‰º‚Ì•û–@‚ÅŒ‹‡‚ð•\Œ»‚·‚邱‚Æ‚ð‰Â”\‚É‚µ‚Ü‚·(<literal>AuditLog.item</literal> ‚Í
+            <literal>&lt;any&gt;</literal> ‚Ń}ƒbƒsƒ“ƒO‚³‚ꂽƒvƒƒpƒeƒB‚Å‚·)B 
+        </para>
+       
+        <programlisting><![CDATA[from AuditLog log, Payment payment 
+where log.item.class = 'Payment' and log.item.id = payment.id]]></programlisting>
+    
+        <para>
+            <literal>log.item.class</literal> ‚Æ <literal>payment.class</literal> ‚ª
+            ã‹L‚̃NƒGƒŠ’†‚Å‘S‚­ˆÙ‚È‚éƒf[ƒ^ƒx[ƒXƒJƒ‰ƒ€‚Ì’l‚ðŽQÆ‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+    </sect1>
+
+    <sect1 id="queryhql-expressions">
+        <title>Expressions Ž®</title>
+
+        <para>
+            SQL‚Ì <literal>where</literal> ß‚Å‹Lq‚·‚邱‚Æ‚ªo—ˆ‚鎮‚Ì‚Ù‚Æ‚ñ‚Ç‚ðHQL‚Å‚à‹Lq‚Å‚«‚Ü‚·B:
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    ŽZp‰‰ŽZŽqF<literal>+, -, *, /</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    2€”äŠr‰‰ŽZŽqF<literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ˜_—‰‰ŽZŽqF<literal>and, or, not</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒOƒ‹[ƒv•ª‚¯‚ð•\‚·Š‡ŒÊF<literal>( )</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>in</literal>,
+                    <literal>not in</literal>,
+                    <literal>between</literal>,
+                    <literal>is null</literal>,
+                    <literal>is not null</literal>,
+                    <literal>is empty</literal>,
+                    <literal>is not empty</literal>,
+                    <literal>member of</literal> and 
+                    <literal>not member of</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    "ƒVƒ“ƒvƒ‹"‚Ècase <literal>case ... when ... then ... else ... end</literal>A
+                    "’Tõ“I"‚Ècase <literal>case when ... then ... else ... end</literal> 
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒXƒgƒŠƒ“ƒO‚̘AŒ‹ <literal>...||...</literal> ‚Ü‚½‚Í <literal>concat(...,...)</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>current_date()</literal>, <literal>current_time()</literal>,
+                    <literal>current_timestamp()</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>second(...)</literal>, <literal>minute(...)</literal>, 
+                    <literal>hour(...)</literal>, <literal>day(...)</literal>, 
+                    <literal>month(...)</literal>, <literal>year(...)</literal>,
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    EJB-QL 3.0‚Å’è‹`‚³‚ê‚Ä‚¢‚éŠÖ”‚≉ŽZŽq: <literal>substring(), trim(),
+                    lower(), upper(), length(), locate(), abs(), sqrt(), bit_length()</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>coalesce()</literal> ‚Æ <literal>nullif()</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ”Žš‚⎞ŠÔ‚Ì’l‚ðString‚ɃRƒ“ƒo[ƒg‚·‚é <literal>str()</literal>j
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    2”Ԗڂ̈ø”‚ªHibernateŒ^‚Ì–¼‘O‚Å‚ ‚é <literal>cast(... as ...)</literal> ‚Æ 
+                    <literal>extract(... from ...)</literal>B
+                    ‚½‚¾‚µŽg—p‚·‚éƒf[ƒ^ƒx[ƒX‚ªANSI <literal>cast()</literal> ‚Æ <literal>extract()</literal> 
+                    ‚ðƒTƒ|[ƒg‚·‚éê‡‚ÉŒÀ‚è‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    Œ‹‡‚µ‚½ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì•Ê–¼‚É“K—p‚³‚ê‚éHQL‚Ì 
+                    <literal>index()</literal> ŠÖ”B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒRƒŒƒNƒVƒ‡ƒ“’l‚̃pƒXŽ®‚ðŽæ‚éHQLŠÖ”F <literal>size(), minelement(), maxelement(), 
+                    minindex(), maxindex()</literal> B
+                    <literal>some, all, exists, any, in</literal> ‚ðŽg‚Á‚ďCü‚·‚邱‚Æ‚ª‚Å‚«‚é“Á•Ê‚È 
+                    <literal>elements()</literal> ‚Æ <literal>indices</literal> ŠÖ”‚ƈꏏ‚ÉŽg‚¢‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</literal> 
+                    ‚̂悤‚ȃf[ƒ^ƒx[ƒX‚ªƒTƒ|[ƒg‚·‚éSQLƒXƒJƒ‰ŠÖ”B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    JDBCƒXƒ^ƒCƒ‹‚̈ʒuƒpƒ‰ƒ[ƒ^ <literal>?</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^: <literal>:name</literal>, <literal>:start_date</literal>, <literal>:x1</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    SQLƒŠƒeƒ‰ƒ‹F<literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E+2</literal>,
+                    <literal>'1970-01-01 10:00:01.0'</literal>
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    Java‚Ì <literal>public static final</literal> ’萔F<literal>eg.Color.TABBY</literal>
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            <literal>in</literal> ‚Æ <literal>between</literal> ‚͈ȉº‚̂悤‚ÉŽg—p‚Å‚«‚Ü‚·B: 
+        </para>
+
+        <programlisting><![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]></programlisting>
+
+        <programlisting><![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]></programlisting>
+
+        <para>
+            ‚Ü‚½A”Û’èŒ`‚Å‹Lq‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]></programlisting>
+
+        <programlisting><![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]></programlisting>
+
+        <para>
+            “¯—l‚É <literal>is null</literal> ‚â <literal>is not null</literal> ‚Ínull’l‚ðƒeƒXƒg‚·‚邽‚ß‚ÉŽg—p‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            HibernateÝ’èƒtƒ@ƒCƒ‹‚ÅHQL query substitutions‚ð’è‹`‚·‚ê‚΁Aboolean’l‚ðŽ®‚Ì’†‚ÅŠÈ’P‚ÉŽg—p‚Å‚«‚܁BF
+        </para>
+
+        <programlisting><![CDATA[<property name="hibernate.query.substitutions">true 1, false 0</property>]]></programlisting>
+
+        <para>
+            ‚±‚¤‚·‚邱‚Ƃʼnº‹L‚ÌHQL‚ðSQL‚É•ÏŠ·‚·‚é‚Æ‚«‚É <literal>true</literal> ,
+             <literal>false</literal> ƒL[ƒ[ƒh‚Í <literal>1</literal> , <literal>0</literal> ‚É’u‚«Š·‚¦‚ç‚ê‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[from Cat cat where cat.alive = true]]></programlisting>
+
+        <para>
+            “Á•Ê‚ȃvƒƒpƒeƒB <literal>size</literal>A‚Ü‚½‚Í“Á•Ê‚Ȋ֐” <literal>size()</literal> 
+            ‚ðŽg‚Á‚ăRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚ðƒeƒXƒg‚Å‚«‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[from Cat cat where cat.kittens.size > 0]]></programlisting>
+
+        <programlisting><![CDATA[from Cat cat where size(cat.kittens) > 0]]></programlisting>
+
+        <para>
+            ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“‚ł́A<literal>minindex</literal> ‚Æ <literal>maxindex</literal> 
+            ŠÖ”‚ðŽg‚Á‚āAƒCƒ“ƒfƒbƒNƒX‚̍ŏ¬’l‚ƍőå’l‚ðŽQÆ‚Å‚«‚Ü‚·B
+            “¯—l‚ɁA<literal>minelement</literal> ‚Æ <literal>maxelement</literal> ‚ðŽg‚Á‚āA
+            Šî–{Œ^‚̃RƒŒƒNƒVƒ‡ƒ“—v‘f‚̍ŏ¬’l‚ƍőå’l‚ðŽQÆ‚Å‚«‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]></programlisting>
+        
+        <programlisting><![CDATA[from Order order where maxindex(order.items) > 100]]></programlisting>
+
+        <programlisting><![CDATA[from Order order where minelement(order.items) > 10000]]></programlisting>
+        
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚âƒCƒ“ƒfƒbƒNƒX‚̃Zƒbƒgi<literal>elements</literal> ‚Æ <literal>indices</literal> 
+            ŠÖ”jA‚Ü‚½‚Í•›–â‚¢‡‚킹iŒãqj‚ÌŒ‹‰Ê‚ªŽó‚¯Žæ‚ê‚é‚Æ‚«‚́A
+            SQLŠÖ” <literal>any, some, all, exists, in</literal> ‚ªƒTƒ|[ƒg‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select mother from Cat as mother, Cat as kit
+where kit in elements(foo.kittens)]]></programlisting>
+
+        <programlisting><![CDATA[select p from NameList list, Person p
+where p.name = some elements(list.names)]]></programlisting>
+
+        <programlisting><![CDATA[from Cat cat where exists elements(cat.kittens)]]></programlisting>
+
+        <programlisting><![CDATA[from Player p where 3 > all elements(p.scores)]]></programlisting>
+
+        <programlisting><![CDATA[from Show show where 'fizard' in indices(show.acts)]]></programlisting>
+
+        <para>
+            <literal>size</literal>, <literal>elements</literal>, <literal>indices</literal>, 
+            <literal>minindex</literal>, <literal>maxindex</literal>, <literal>minelement</literal>, 
+            <literal>maxelement</literal> ‚ÍHibernate3‚Ìwhereß‚¾‚¯‚Å—˜—p‰Â”\‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+        
+        <para>
+            ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“iarrays, lists, mapsj‚Ì—v‘f‚́A
+            ƒCƒ“ƒfƒbƒNƒX‚ÅŽQÆ‚Å‚«‚Ü‚·iwhereß“à‚ł̂݁jB
+        </para>
+        
+        <programlisting><![CDATA[from Order order where order.items[0].id = 1234]]></programlisting>
+
+        <programlisting><![CDATA[select person from Person person, Calendar calendar
+where calendar.holidays['national day'] = person.birthDay
+    and person.nationality.calendar = calendar]]></programlisting>
+
+        <programlisting><![CDATA[select item from Item item, Order order
+where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]></programlisting>
+
+        <programlisting><![CDATA[select item from Item item, Order order
+where order.items[ maxindex(order.items) ] = item and order.id = 11]]></programlisting>
+
+        <para>
+            <literal>[]</literal> “à•”‚ÌŽ®‚́AŽZpŽ®‚Å‚à\‚¢‚Ü‚¹‚ñB
+        </para>
+        
+        <programlisting><![CDATA[select item from Item item, Order order
+where order.items[ size(order.items) - 1 ] = item]]></programlisting>
+        
+        <para>
+            ˆê‘Α½ŠÖ˜A‚â’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ɑ΂µ‚ẮAHQL‚Í‘g‚ݍž‚Ý‚Ì <literal>index()</literal> ŠÖ”‚à—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select item, index(item) from Order order 
+    join order.items item
+where index(item) < 5]]></programlisting>
+
+        <para>
+            ƒx[ƒX‚Æ‚È‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒXƒJƒ‰[SQLŠÖ”‚ªŽg—p‚Å‚«‚Ü‚·
+        </para>
+
+        <programlisting><![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]></programlisting>
+
+        <para>
+            ‚à‚µ‚Ü‚¾‘S‚Ä‚ð—‰ð‚µ‚Ä‚¢‚È‚¢‚È‚çA‰º‚̃NƒGƒŠ‚ðSQL‚łǂꂾ‚¯’·‚­A“ǂ݂Â炭o—ˆ‚é‚©l‚¦‚Ä‚­‚¾‚³‚¢B: 
+            
+        </para>
+
+        <programlisting><![CDATA[select cust
+from Product prod,
+    Store store
+    inner join store.customers cust
+where prod.name = 'widget'
+    and store.location.name in ( 'Melbourne', 'Sydney' )
+    and prod = all elements(cust.currentOrder.lineItems)]]></programlisting>
+
+        <para>
+            <emphasis>ƒqƒ“ƒg:</emphasis> —Ⴆ‚΂±‚̂悤‚ɏo—ˆ‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust.current_order
+FROM customers cust,
+    stores store,
+    locations loc,
+    store_customers sc,
+    product prod
+WHERE prod.name = 'widget'
+    AND store.loc_id = loc.id
+    AND loc.name IN ( 'Melbourne', 'Sydney' )
+    AND sc.store_id = store.id
+    AND sc.cust_id = cust.id
+    AND prod.id = ALL(
+        SELECT item.prod_id
+        FROM line_items item, orders o
+        WHERE item.order_id = o.id
+            AND cust.current_order = o.id
+    )]]></programlisting>
+
+    </sect1>
+
+    <sect1 id="queryhql-ordering">
+        <title>order byß</title>
+
+        <para>
+            ƒNƒGƒŠ‚ª•Ô‚·list‚́A•Ô‚³‚ê‚éƒNƒ‰ƒX‚âƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì”CˆÓ‚Ì‘®«‚É‚æ‚Á‚Ä•À‚בւ¦‚ç‚ê‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[from DomesticCat cat
+order by cat.name asc, cat.weight desc, cat.birthdate]]></programlisting>
+
+        <para>
+            ƒIƒvƒVƒ‡ƒ“‚Ì <literal>asc</literal> ‚Æ <literal>desc</literal> ‚Í‚»‚ꂼ‚ꏸ‡‚©~‡‚̐®—ñ‚ðŽ¦‚µ‚Ü‚·B
+        </para>
+    </sect1>
+
+    <sect1 id="queryhql-grouping">
+        <title>group byß</title>
+
+        <para>
+           W–ñ’l‚ð•Ô‚·ƒNƒGƒŠ‚́A•Ô‚³‚ê‚éƒNƒ‰ƒX‚âƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì”CˆÓ‚̃vƒƒpƒeƒB‚É‚æ‚Á‚ăOƒ‹[ƒv‰»‚Å‚«‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[select cat.color, sum(cat.weight), count(cat) 
+from Cat cat
+group by cat.color]]></programlisting>
+
+        <programlisting><![CDATA[select foo.id, avg(name), max(name) 
+from Foo foo join foo.names name
+group by foo.id]]></programlisting>
+
+        <para>
+            <literal>having</literal> ß‚àŽg‚¦‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select cat.color, sum(cat.weight), count(cat) 
+from Cat cat
+group by cat.color 
+having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]></programlisting>
+
+        <para>
+            ‚à‚µŽg—p‚·‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒ|[ƒg‚µ‚Ä‚¢‚é‚È‚çA
+            <literal>having</literal> ‚Æ <literal>order by</literal> ß‚ÅSQLŠÖ”‚ƏW–ñŠÖ”‚ªŽg‚¦‚Ü‚·
+            i—Ⴆ‚ÎMySQL‚É‚Í‚ ‚è‚Ü‚¹‚ñjB
+        </para>
+
+        <programlisting><![CDATA[select cat
+from Cat cat
+    join cat.kittens kitten
+group by cat
+having avg(kitten.weight) > 100
+order by count(kitten) asc, sum(kitten.weight) desc]]></programlisting>
+
+        <para>
+            <literal>group by</literal> ß‚â <literal>order by</literal> ß‚É
+            ŽZpŽ®‚ðŠÜ‚Þ‚±‚Æ‚ª‚Å‚«‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+    </sect1>
+    
+    <sect1 id="queryhql-subqueries" revision="2">
+        <title>•›–â‚¢‡‚킹</title>
+        
+        <para>
+            ƒTƒuƒZƒŒƒNƒg‚ðƒTƒ|[ƒg‚·‚éƒf[ƒ^ƒx[ƒX‚Ì‚½‚߁AHibernate‚Í•›–â‚¢‡‚킹‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            •›–â‚¢‡‚킹‚ÍŠ‡ŒÊ‚ň͂܂Ȃ¯‚ê‚΂Ȃè‚Ü‚¹‚ñiSQL‚̏W–ñŠÖ”ŒÄ‚яo‚µ‚É‚æ‚鎖‚ª‘½‚¢‚Å‚·jB
+            ŠÖ˜A•›–â‚¢‡‚킹(ŠO•”ƒNƒGƒŠ’†‚Ì•Ê–¼‚ðŽQÆ‚·‚é•›–â‚¢‡‚킹‚Ì‚±‚Æ)‚³‚¦‹–‰Â‚³‚ê‚Ü‚·B 
+        </para>
+
+        <programlisting><![CDATA[from Cat as fatcat 
+where fatcat.weight > ( 
+    select avg(cat.weight) from DomesticCat cat 
+)]]></programlisting>
+
+        <programlisting><![CDATA[from DomesticCat as cat 
+where cat.name = some ( 
+    select name.nickName from Name as name 
+)]]></programlisting>
+    
+        <programlisting><![CDATA[from Cat as cat 
+where not exists ( 
+    from Cat as mate where mate.mate = cat 
+)]]></programlisting>
+
+        <programlisting><![CDATA[from DomesticCat as cat 
+where cat.name not in ( 
+    select name.nickName from Name as name 
+)]]></programlisting>
+
+        <programlisting><![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit) 
+from Cat as cat]]></programlisting>
+
+        <para>
+            HQL•›–â‚¢‡‚킹‚́Aselect‚Ü‚½‚Íwhereß‚¾‚¯‚ÅŽg‚í‚ê‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <para>
+            selectƒŠƒXƒg‚É•¡”‚ÌŽ®‚ðŽ‚Â•›–â‚¢‡‚킹‚ɂ́Aƒ^ƒvƒ‹‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[from Cat as cat 
+where not ( cat.name, cat.color ) in ( 
+    select cat.name, cat.color from DomesticCat cat 
+)]]></programlisting>
+
+        <para>
+            ‚¢‚­‚‚©‚̃f[ƒ^ƒx[ƒXiOracle‚âHSQL‚É‚Í‚ ‚è‚Ü‚¹‚ñj‚ł́A
+            ‘¼‚̃Rƒ“ƒeƒLƒXƒg‚Å‚àƒ^ƒvƒ‹‚ªŽg‚¦‚Ü‚·B
+            —Ⴆ‚΁AƒNƒGƒŠƒRƒ“ƒ|[ƒlƒ“ƒg‚â•¡‡ƒ†[ƒUŒ^‚É‚¨‚¢‚Ä‚Å‚·B
+        </para>
+
+        <programlisting><![CDATA[from Person where name = ('Gavin', 'A', 'King')]]></programlisting>
+        
+        <para>
+            “¯“™‚Å‚·‚ªA‚æ‚èç’·‚ȃNƒGƒŠ‚Å‚·F
+        </para>
+        
+        <programlisting><![CDATA[from Person where name.first = 'Gavin' and name.initial = 'A' and name.last = 'King')]]></programlisting>
+
+        <para>
+            ‚±‚̂悤‚È‚±‚Æ‚ð‚µ‚½‚­‚È‚¢‚Ì‚É‚Í2‚‚̗—R‚ª‚ ‚è‚Ü‚·F
+            1‚–ڂ́Aƒf[ƒ^ƒx[ƒXƒvƒ‰ƒbƒgƒtƒH[ƒ€ŠÔ‚ÅŠ®‘S‚Ȍ݊·«‚Í‚È‚¢‚©‚ç‚Å‚·B
+            2‚–ڂ́AƒNƒGƒŠ‚ªƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̃vƒƒpƒeƒB‚̏‡˜‚Ɉˑ¶‚·‚é‚©‚ç‚Å‚·B
+        </para>
+        
+    </sect1>
+
+    <sect1 id="queryhql-examples">
+        <title>HQL‚Ì—á</title>
+        
+        <para>
+            HibernateƒNƒGƒŠ‚Í”ñí‚É‹­—Í‚Å•¡ŽG‚É‚Å‚«‚Ü‚·BŽÀÛAƒNƒGƒŠŒ¾Œê‚̈З͂ÍHibernate‚ÌŽå—v‚ȃZ[ƒ‹ƒXƒ|ƒCƒ“ƒg‚̈ê‚‚ł·B
+            ‚±‚±‚ɍŋ߂̃vƒƒWƒFƒNƒg‚ÅŽg—p‚µ‚½ƒNƒGƒŠ‚Æ”ñí‚É‚æ‚­Ž—‚½—Ⴊ‚ ‚è‚Ü‚·B
+            ‚Ù‚Æ‚ñ‚ǂ̃NƒGƒŠ‚Í‚±‚ê‚ç‚Ì—á‚æ‚èŠÈ’P‚É‹Lq‚Å‚«‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢!
+        </para>
+        
+        <para>
+            ˆÈ‰º‚̃NƒGƒŠ‚Í“Á’è‚̌ڋq‚Æ—^‚¦‚ç‚ꂽÅ¬‚̍‡Œv’l‚ɑ΂·‚é–¢•¥‚¢’•¶‚Ì’•¶IDA
+            ¤•i‚̐”A’•¶‚̍‡Œv‚ð‡Œv’l‚Ő®—ñ‚µ‚Ä•Ô‚µ‚Ü‚·B
+            ‰¿Ši‚ðŒˆ’è‚·‚éÛAŒ»Ý‚̃Jƒ^ƒƒO‚ðŽg‚¢‚Ü‚·BŒ‹‰Ê‚Æ‚µ‚Ä•Ô‚³‚ê‚éSQLƒNƒGƒŠ‚Í
+            <literal>ORDER</literal>, <literal>ORDER_LINE</literal>, <literal>PRODUCT</literal>,
+            <literal>CATALOG</literal> ‚¨‚æ‚Ñ <literal>PRICE</literal> ƒe[ƒuƒ‹‚ɑ΂µ4‚Â‚Ì“à•”Œ‹‡‚Æ
+            (ŠÖ˜A‚µ‚È‚¢)•›–â‚¢‡‚킹‚ðŽ‚¿‚Ü‚·B
+        </para>
+        
+        <programlisting><![CDATA[select order.id, sum(price.amount), count(item)
+from Order as order
+    join order.lineItems as item
+    join item.product as product,
+    Catalog as catalog
+    join catalog.prices as price
+where order.paid = false
+    and order.customer = :customer
+    and price.product = product
+    and catalog.effectiveDate < sysdate
+    and catalog.effectiveDate >= all (
+        select cat.effectiveDate 
+        from Catalog as cat
+        where cat.effectiveDate < sysdate
+    )
+group by order
+having sum(price.amount) > :minAmount
+order by sum(price.amount) desc]]></programlisting>
+        
+        <para>
+            ‰½‚Ä‹‘å‚ȃNƒGƒŠ‚È‚Ì‚Å‚µ‚傤! •’iŽ„‚Í•›–â‚¢‡‚킹‚ð‚ ‚Ü‚èŽg‚¢‚Ü‚¹‚ñB‚µ‚½‚ª‚Á‚ÄŽ„‚̃NƒGƒŠ‚ÍŽÀÛ‚ɂ͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B:
+        </para>
+        
+        <programlisting><![CDATA[select order.id, sum(price.amount), count(item)
+from Order as order
+    join order.lineItems as item
+    join item.product as product,
+    Catalog as catalog
+    join catalog.prices as price
+where order.paid = false
+    and order.customer = :customer
+    and price.product = product
+    and catalog = :currentCatalog
+group by order
+having sum(price.amount) > :minAmount
+order by sum(price.amount) desc]]></programlisting>
+        
+        <para>
+            ŽŸ‚̃NƒGƒŠ‚ÍŠeƒXƒe[ƒ^ƒX‚ÌŽx•¥‚¢”‚𐔂¦‚Ü‚·B‚½‚¾‚µ‚·‚ׂĂ̎x•¥‚¢‚ªŒ»Ý‚Ì—˜—pŽÒ‚É‚æ‚é
+            ÅV‚̃Xƒe[ƒ^ƒX•ÏX‚Å‚ ‚é <literal>AWAITING_APPROVAL</literal> ‚Å‚ ‚éê‡‚ðœ‚«‚Ü‚·B
+            ‚±‚̃NƒGƒŠ‚Í2‚Â‚Ì“à•”Œ‹‡‚Æ <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> ‚¨‚æ‚Ñ 
+            <literal>PAYMENT_STATUS_CHANGE</literal> ƒe[ƒuƒ‹‚ɑ΂·‚éŠÖ˜A•›–â‚¢‡‚킹‚ð”õ‚¦‚½SQLƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select count(payment), status.name 
+from Payment as payment 
+    join payment.currentStatus as status
+    join payment.statusChanges as statusChange
+where payment.status.name <> PaymentStatus.AWAITING_APPROVAL
+    or (
+        statusChange.timeStamp = ( 
+            select max(change.timeStamp) 
+            from PaymentStatusChange change 
+            where change.payment = payment
+        )
+        and statusChange.user <> :currentUser
+    )
+group by status.name, status.sortOrder
+order by status.sortOrder]]></programlisting>
+
+        <para>
+            ‚à‚µŽ„‚ªset‚Ì‘ã‚í‚è‚Élist‚Æ‚µ‚Ä <literal>statusChanges</literal> ƒRƒŒƒNƒVƒ‡ƒ“‚ð
+            ƒ}ƒbƒsƒ“ƒO‚µ‚½‚È‚ç‚΁A‚Í‚é‚©‚ÉŠÈ’P‚ɃNƒGƒŠ‚ð‹Lq‚Å‚«‚é‚Å‚µ‚傤B
+        </para>
+    
+        <programlisting><![CDATA[select count(payment), status.name 
+from Payment as payment
+    join payment.currentStatus as status
+where payment.status.name <> PaymentStatus.AWAITING_APPROVAL
+    or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <> :currentUser
+group by status.name, status.sortOrder
+order by status.sortOrder]]></programlisting>
+
+        <para>
+            ŽŸ‚̃NƒGƒŠ‚ÍŒ»Ý‚̃†[ƒU‚ªŠ‘®‚·‚é‘gD‚ɑ΂·‚éƒAƒJƒEƒ“ƒg‚¨‚æ‚Ñ–¢•¥‚¢‚ÌŽx•¥‚¢‚ð
+            ‚·‚ׂĕԂ·MS SQL Server
+            ‚Ì <literal>isNull()</literal> ŠÖ”‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B
+            ‚±‚̃NƒGƒŠ‚Í3‚Â‚Ì“à•”Œ‹‡‚Æ1‚‚̊O•”Œ‹‡ A
+            ‚»‚µ‚Ä <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal>,
+            <literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> ‚¨‚æ‚Ñ 
+            <literal>ORG_USER</literal> ƒe[ƒuƒ‹‚ɑ΂·‚é•›–â‚¢‡‚킹Ž‚Á‚½SQL‚É•ÏŠ·‚³‚ê‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select account, payment
+from Account as account
+    left outer join account.payments as payment
+where :currentUser in elements(account.holder.users)
+    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)
+order by account.type.sortOrder, account.accountNumber, payment.dueDate]]></programlisting>
+
+        <para>
+            ‚¢‚­‚‚©‚̃f[ƒ^ƒx[ƒX‚ɂ‚¢‚ẮA(ŠÖ˜A‚³‚¹‚ç‚ꂽ)•›–â‚¢‡‚킹‚ÌŽg—p‚ð”ð‚¯‚é•K—v‚ª‚ ‚é‚Å‚µ‚傤B
+        </para>
+
+        <programlisting><![CDATA[select account, payment
+from Account as account
+    join account.holder.users as user
+    left outer join account.payments as payment
+where :currentUser = user
+    and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)
+order by account.type.sortOrder, account.accountNumber, payment.dueDate]]></programlisting>
+
+   </sect1>
+
+    <sect1 id="queryhql-bulk" revision="2">
+        <title>‘å—Ê‚ÌUPDATE‚ÆDELETE</title>
+
+        <para>
+            HQL‚͍¡‚Í <literal>update</literal> ‚Æ <literal>delete</literal>A<literal>insert ... select ...</literal>
+            ƒXƒe[ƒgƒƒ“ƒg‚ðHQL‚É“ü‚ê‚邱‚Æ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            <xref linkend="batch-direct"/> ‚ɏڍׂª‚ ‚è‚Ü‚·B
+        </para>
+    </sect1>
+
+    <sect1 id="queryhql-tipstricks">
+        <title>Tips &amp; Tricks</title>
+
+        <para>
+            ŽÀÛ‚ÉŒ‹‰Ê‚ð•Ô‚³‚È‚­‚Ä‚àƒNƒGƒŠ‚ÌŒ‹‰Ê”‚𐔂¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue()]]></programlisting>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚É‚æ‚茋‰Ê‚ð•À‚בւ¦‚邽‚߂ɂ͈ȉº‚̃NƒGƒŠ‚ðŽg—p‚µ‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[select usr.id, usr.name
+from User as usr 
+    left join usr.messages as msg
+group by usr.id, usr.name
+order by count(msg)]]></programlisting>
+
+        <para>
+            Žg—p‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒuƒZƒŒƒNƒg‚ðƒTƒ|[ƒg‚·‚éê‡AƒNƒGƒŠ‚Ìwhereß‚ŃTƒCƒY‚É‚æ‚é‘I‘ððŒ‚ðÝ’è‚Å‚«‚Ü‚·:
+        </para>
+
+        <programlisting><![CDATA[from User usr where size(usr.messages) >= 1]]></programlisting>
+
+        <para>
+            Žg—p‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒuƒZƒŒƒNƒg‚ðƒTƒ|[ƒg‚µ‚È‚¢ê‡‚́AŽŸ‚̃NƒGƒŠ‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢:  
+        </para>
+
+        <programlisting><![CDATA[select usr.id, usr.name
+from User usr.name
+    join usr.messages msg
+group by usr.id, usr.name
+having count(msg) >= 1]]></programlisting>
+
+        <para>
+            “à•”Œ‹‡‚ð‚µ‚Ä‚¢‚邹‚¢‚ŏã‚Ì‰ðŒˆ–@‚ªmessage‚ÌŒ”‚ª
+            ƒ[ƒ‚Ì <literal>User</literal> ‚ð•Ô‚·‚±‚Æ‚ª‚Å‚«‚È‚¢‚È‚ç‚΁AˆÈ‰º‚ÌŒ`Ž®‚ªŽg‚¦‚Ü‚·B
+        </para>
+
+        <programlisting><![CDATA[select usr.id, usr.name
+from User as usr
+    left join usr.messages as msg
+group by usr.id, usr.name
+having count(msg) = 0]]></programlisting>
+
+        <para>
+            JavaBean‚̃vƒƒpƒeƒB‚́A–¼‘O•t‚«‚̃NƒGƒŠƒpƒ‰ƒ[ƒ^‚ÉŒ‹‚т‚¯‚邱‚Æ‚ªo—ˆ‚Ü‚·BF
+        </para>
+
+        <programlisting><![CDATA[Query q = s.createQuery("from foo Foo as foo where foo.name=:name and foo.size=:size");
+q.setProperties(fooBean); // fooBean has getName() and getSize()
+List foos = q.list();]]></programlisting>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚̓tƒBƒ‹ƒ^•t‚« <literal>Query</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg—p‚·‚邱‚ƂŃy[ƒW‚ð‚‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B:
+        </para>
+
+        <programlisting><![CDATA[Query q = s.createFilter( collection, "" ); // the trivial filter
+q.setMaxResults(PAGE_SIZE);
+q.setFirstResult(PAGE_SIZE * pageNumber);
+List page = q.list();]]></programlisting>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚̓NƒGƒŠƒtƒBƒ‹ƒ^‚ðŽg‚Á‚āA•À‚בւ¦‚âƒOƒ‹[ƒv•ª‚¯‚ªo—ˆ‚Ü‚·B:
+        </para>
+        
+        <programlisting><![CDATA[Collection orderedCollection = s.filter( collection, "order by this.amount" );
+Collection counts = s.filter( collection, "select this.type, count(this) group by this.type" );]]></programlisting>
+
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚¹‚¸‚ɃRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚𓾂邱‚Æ‚ª‚Å‚«‚Ü‚·B: 
+        </para>
+
+        <programlisting><![CDATA[( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue();]]></programlisting>
+
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/query_sql.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,724 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="querysql" revision="2">
+  <title>ƒlƒCƒeƒBƒuSQL</title>
+
+  <para>ƒf[ƒ^ƒx[ƒX‚̃lƒCƒeƒBƒuSQL•ûŒ¾‚ðŽg‚Á‚ăNƒGƒŠ‚ð•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+  ƒNƒGƒŠƒqƒ“ƒg‚âOracle‚Ì <literal>CONNECT</literal> ƒL[ƒ[ƒh‚̂悤‚ɁA
+  ƒf[ƒ^ƒx[ƒX“ÆŽ©‚Ì‹@”\‚ð—˜—p‚µ‚½‚¢‚Æ‚«‚ÉŽg‚¦‚Ü‚·B
+  SQL/JDBC‚𒼐ڎg—p‚µ‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çHibernate‚ւ̈ڍs‚à—eˆÕ‚É‚µ‚Ä‚¢‚Ü‚·B</para>
+
+  <para>Hibernate3‚ł́A¶¬AXVAíœA“ǂݍž‚ݏˆ—‚̂悤‚È‚·‚ׂĂÌ
+  SQLiƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŠÜ‚ށj‚ðŽè‘‚«‚Å‚«‚Ü‚·B</para>
+
+  <sect1 id="querysql-creating" revision="4">
+    <title><literal>SQLQuery</literal> ‚ÌŽg—p</title>
+
+    <para>ƒlƒCƒeƒBƒu‚ÈSQLƒNƒGƒŠ‚ÌŽÀs‚Í <literal>SQLQuery</literal>
+    ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ð’Ê‚µ‚ЧŒä‚µ‚Ü‚·B
+    <literal>SQLQuery</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Í
+    <literal>Session.createSQLQuery()</literal> ‚ðŒÄ‚яo‚µ‚Ď擾‚µ‚Ü‚·B
+    ‚±‚ÌAPI‚ðŽg‚Á‚Ä–â‚¢‡‚킹‚·‚é•û–@‚ðˆÈ‰º‚Åà–¾‚µ‚Ü‚·B</para>
+
+    <sect2>
+      <title>ƒXƒJƒ‰[‚̃NƒGƒŠ</title>
+
+      <para>Å‚àŠî–{“I‚ÈSQLƒNƒGƒŠ‚̓XƒJƒ‰[i’lj‚̃ŠƒXƒg‚𓾂邱‚Æ‚Å‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT * FROM CATS").list();
+sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").list();
+]]></programlisting>
+
+      <para>‚±‚ê‚ç‚Í‚Ç‚¿‚ç‚àACATSƒe[ƒuƒ‹‚ÌŠeƒJƒ‰ƒ€‚̃XƒJƒ‰[’l‚ðŠÜ‚Þ
+      Object”z—ñiObject[]j‚̃ŠƒXƒg‚ð•Ô‚µ‚Ü‚·B
+      •Ô‚·ƒXƒJƒ‰[’l‚ÌŽÀÛ‚̏‡”Ô‚ÆŒ^‚𐄒肷‚邽‚߂ɁA
+      Hibernate‚ÍResultSetMetadata‚ðŽg—p‚µ‚Ü‚·B</para>
+
+      <para><literal>ResultSetMetadata</literal> ‚ðŽg—p‚·‚éƒI[ƒo[ƒwƒbƒh‚ð”ð‚¯‚é‚½‚߁A
+      ‚à‚µ‚­‚Í’P‚ɉ½‚ª•Ô‚³‚ê‚é‚©–¾Šm‚É‚·‚邽‚߁A<literal>addScalar()</literal>
+      ‚ðŽg‚¦‚Ü‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT * FROM CATS")
+ .addScalar("ID", Hibernate.LONG)
+ .addScalar("NAME", Hibernate.STRING)
+ .addScalar("BIRTHDATE", Hibernate.DATE)
+]]></programlisting>
+
+      <para>‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>SQLƒNƒGƒŠ•¶Žš—ñ</para>
+        </listitem>
+
+        <listitem>
+          <para>•Ô‚³‚ê‚éƒJƒ‰ƒ€‚ÆŒ^</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>‚±‚ê‚Í‚Ü‚¾Object”z—ñ‚ð•Ô‚µ‚Ü‚·‚ªA
+      <literal>ResultSetMetdata</literal> ‚ðŽg—p‚µ‚Ü‚¹‚ñB
+      ‚½‚¾‚µA‚»‚Ì‘ã‚í‚è‚ÉŠî‘b‚É‚ ‚郊ƒUƒ‹ƒgƒZƒbƒg‚©‚ç
+      IDANAMEABIRTHDATE ƒJƒ‰ƒ€‚ð‚»‚ê‚¼‚ê
+      LongAStringAShort ‚Æ‚µ‚Ä–¾Ž¦“I‚Ɏ擾‚µ‚Ü‚·B
+      ‚±‚ê‚Í‚R‚‚̃Jƒ‰ƒ€‚ð•Ô‚·‚Ì‚Ý‚Å‚ ‚邱‚Æ‚àˆÓ–¡‚µ‚Ü‚·B
+      ‚½‚Æ‚¦AƒNƒGƒŠ‚ª <literal>*</literal> ‚ðŽg—p‚µA
+      —ñ‹“‚µ‚½‚R‚‚æ‚葽‚­‚̃Jƒ‰ƒ€‚ð•Ô‚¹‚é‚Æ‚µ‚Ä‚à‚Å‚·B</para>
+
+      <para>ƒXƒJƒ‰[‚ÌŒ^î•ñ‚ðÈ‚­‚±‚Æ‚à‚Å‚«‚Ü‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT * FROM CATS")
+ .addScalar("ID", Hibernate.LONG)
+ .addScalar("NAME")
+ .addScalar("BIRTHDATE")
+]]></programlisting>
+
+      <para>
+      ‚±‚ê‚Í–{Ž¿“I‚É‘O‚Æ“¯‚¶ƒNƒGƒŠ‚Å‚·‚ªAA
+      NAME ‚Æ BIRTHDATE ‚ÌŒ^‚ðŒˆ‚ß‚é‚½‚ß‚É <literal>ResultSetMetaData</literal>
+      ‚ðŽg—p‚µ‚Ü‚·Bˆê•ûAID ‚ÌŒ^‚Í–¾Ž¦“I‚ÉŽw’肳‚ê‚Ä‚¢‚Ü‚·B
+      </para>
+
+      <para>
+      ResultSetMetaData ‚©‚ç•Ô‚³‚ê‚é java.sql.Types ‚ð Hibernate ‚ÌŒ^‚É
+      ƒ}ƒbƒsƒ“ƒO‚·‚邱‚Ƃ́ADialect ‚ª§Œä‚µ‚Ü‚·B
+      –¾Ž¦‚³‚ꂽŒ^‚ªƒ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚È‚¢‚©AŒ‹‰Ê‚ÌŒ^‚ªŠú‘Ò‚µ‚½‚à‚̂ƈقȂéê‡A
+      Dialect ‚Ì <literal>registerHibernateType</literal> ‚ðŒÄ‚яo‚µA
+      ƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B
+      </para>
+    </sect2>
+
+    <sect2>
+      <title>ƒGƒ“ƒeƒBƒeƒB‚̃NƒGƒŠ</title>
+
+      <para>‚±‚±‚܂ł̃NƒGƒŠ‚́A‚·‚ׂăXƒJƒ‰[’l‚ð•Ô‚·‚à‚Ì‚Å‚µ‚½B
+      Šî–{“I‚ɁAƒŠƒUƒ‹ƒgƒZƒbƒg‚©‚çu–¢‰ÁHv‚Ì’l‚ð•Ô‚µ‚Ü‚·B
+      ˆÈ~‚ł́A<literal>addEntity()</literal> ‚É‚æ‚èAƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚©‚ç
+      ƒGƒ“ƒeƒBƒeƒBƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚é•û–@‚ðŽ¦‚µ‚Ü‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT * FROM CATS").addEntity(Cat.class);
+sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").addEntity(Cat.class);
+]]></programlisting>
+
+      <para>‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>SQLƒNƒGƒŠ•¶Žš—ñ</para>
+        </listitem>
+
+        <listitem>
+          <para>ƒNƒGƒŠ‚ª•Ô‚·ƒGƒ“ƒeƒBƒeƒB‚ÆSQLƒe[ƒuƒ‹‚Ì•Ê–¼
+          </para>
+        </listitem>
+      </itemizedlist>
+
+      <para>Cat‚ªID, NAME, BIRTHDATE‚̃Jƒ‰ƒ€‚ðŽg‚Á‚ăNƒ‰ƒX‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚éê‡A
+      ã‹L‚̃NƒGƒŠ‚Í‚Ç‚¿‚ç‚àA—v‘f‚ªCatƒGƒ“ƒeƒBƒeƒB‚Å‚ ‚郊ƒXƒg‚ð•Ô‚µ‚Ü‚·B</para>
+
+      <para>ƒGƒ“ƒeƒBƒeƒB‚ð•Ê‚̃Gƒ“ƒeƒBƒeƒB‚É <literal>‘½‘Έê</literal> ‚Ń}ƒbƒsƒ“ƒO‚µ‚Ä‚¢‚éê‡‚́A
+      ƒlƒCƒeƒBƒuƒNƒGƒŠ‚ðŽÀs‚·‚éÛ‚ɁA‚±‚̕ʂ̃Gƒ“ƒeƒBƒeƒB‚ð•Ô‚·‚±‚Æ‚à—v‹‚µ‚Ü‚·B
+      ‚³‚à‚È‚¯‚ê‚΁Aƒf[ƒ^ƒx[ƒXŒÅ—L‚́ucolumn not found(ƒJƒ‰ƒ€‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ)vƒGƒ‰[‚ª”­¶‚µ‚Ü‚·B
+      * •\‹L‚ðŽg—p‚µ‚½Û‚́A’ljÁ‚̃Jƒ‰ƒ€‚ªŽ©“®“I‚É•Ô‚³‚ê‚Ü‚·‚ªA
+      ŽŸ‚Ì—á‚̂悤‚ɁA<literal>Dog</literal> ‚É <literal>‘½‘Έê</literal> ‚Å‚ ‚邱‚Æ‚ð
+      –¾Ž¦‚·‚邱‚Æ‚ðŽ„‚½‚¿‚͍D‚Ý‚Ü‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS").addEntity(Cat.class);
+]]></programlisting>
+
+      <para>‚±‚ê‚É‚æ‚è cat.getDog() ‚ª³‚µ‚­‹@”\‚µ‚Ü‚·B</para>
+    </sect2>
+
+    <sect2>
+      <title>ŠÖ˜A‚ƃRƒŒƒNƒVƒ‡ƒ“‚Ì‘€ì</title>
+
+      <para>ƒvƒƒLƒV‚ð‰Šú‰»‚·‚邽‚ß‚Ì—]•ª‚ȏˆ—‚ð”ð‚¯‚é‚½‚߁A
+      <literal>Dog</literal> ‚Ì’†‚Å‘¦ŽžŒ‹‡‚Å‚«‚Ü‚·B
+      ‚±‚ê‚Í <literal>addJoin()</literal> ƒƒ\ƒbƒh‚É‚æ‚ès‚¢‚Ü‚·B
+      ŠÖ˜A‚à‚µ‚­‚̓RƒŒƒNƒVƒ‡ƒ“‚ÉŒ‹‡‚Å‚«‚Ü‚·B
+      </para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID")
+ .addEntity("cat", Cat.class)
+ .addJoin("cat.dog");
+]]></programlisting>
+
+      <para>‚±‚Ì—á‚Ì’†‚ŁA•Ô‚³‚ê‚é <literal>Cat</literal> ‚́A
+      ƒf[ƒ^ƒx[ƒX‚Ö‚Ì—]•ªˆ—‚È‚µ‚ŁA
+      Š®‘S‚ɏ‰Šú‰»‚³‚ꂽ <literal>dog</literal> ƒvƒƒpƒeƒB‚ðŽ‚¿‚Ü‚·B
+      Œ‹‡‘Ώۂ̃vƒƒpƒeƒB‚ւ̃pƒX‚ðŽw’è‚Å‚«‚é‚悤‚ɁA
+      •Ê–¼iucatvj‚ð’ljÁ‚µ‚½‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+      ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‘¦ŽžŒ‹‡‚à“¯‚¶‚悤‚É‚Å‚«‚Ü‚·B
+      ‚½‚Æ‚¦‚΁A<literal>Cat</literal> ‚ªˆê‘Α½‚Å <literal>Dog</literal>
+      ‚ðŽ‚Á‚Ä‚¢‚½ê‡AŽŸ‚̂悤‚É‚È‚è‚Ü‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID")
+ .addEntity("cat", Cat.class)
+ .addJoin("cat.dogs");
+]]></programlisting>
+
+      <para>Œ»Ý‚Ì‚Æ‚±‚ëA
+      Hibernate‚ÅŽg‚¢‚â‚·‚­‚·‚邽‚ß‚ÌSQLƒNƒGƒŠ‚ÌŠg’£‚È‚µ‚ɁA
+      ƒlƒCƒeƒBƒuƒNƒGƒŠ‚ʼn½‚©‚ð‰Â”\‚É‚·‚éŒÀŠE‚É—ˆ‚Ä‚¢‚Ü‚·B
+      “¯‚¶Œ^‚̃Gƒ“ƒeƒBƒeƒB‚𕡐”•Ô‚·Û‚âAƒfƒtƒHƒ‹ƒg‚Ì•Ê–¼‚â—ñ–¼‚ŏ\•ª‚Å‚Í‚È‚¢ê‡‚ɁA
+      –â‘è‚Í‹N‚±‚èŽn‚ß‚Ü‚·B      
+      </para>
+    </sect2>
+
+    <sect2>
+      <title>•¡”ƒGƒ“ƒeƒBƒeƒB‚̎擾</title>
+
+      <para>‚±‚±‚܂ł́AƒŠƒUƒ‹ƒgƒZƒbƒg‚̃Jƒ‰ƒ€–¼‚́A
+      ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÅŽw’肳‚ꂽƒJƒ‰ƒ€–¼‚Æ“¯‚¶‚Å‚ ‚é‚Ɖ¼’肵‚Ä‚¢‚Ü‚µ‚½B
+      •¡”‚̃e[ƒuƒ‹‚ª“¯‚¶ƒJƒ‰ƒ€–¼‚ðŽ‚Âê‡‚ª‚ ‚邽‚߁A
+      •¡”ƒe[ƒuƒ‹‚ðŒ‹‡‚·‚éSQLƒNƒGƒŠ‚Å–â‘è‚Æ‚È‚éê‡‚ª‚ ‚è‚Ü‚·B</para>
+
+      <para>‰º‹L‚̂悤‚ȁiŽ¸”s‚µ‚»‚¤‚ȁjƒNƒGƒŠ‚ł́A
+      ƒJƒ‰ƒ€•Ê–¼ƒCƒ“ƒWƒFƒNƒVƒ‡ƒ“icolumn alias injectionj‚ª•K—v‚Å‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT c.*, m.*  FROM CATS c, CATS m WHERE c.MOTHER_ID = m.ID")
+ .addEntity("cat", Cat.class)
+ .addEntity("mother", Cat.class)
+]]></programlisting>
+
+      <para>‚±‚̃NƒGƒŠ‚̈Ӑ}‚́A
+      ‚Ps‚²‚Æ‚É‚Q‚‚ÌCatƒCƒ“ƒXƒ^ƒ“ƒXA‚‚܂è”L‚Æ‚»‚Ì•êe‚ð•Ô‚·‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+      “¯‚¶ƒJƒ‰ƒ€–¼‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚É‚æ‚è–¼‘O‚ªÕ“Ë‚·‚邽‚߁A‚±‚̃NƒGƒŠ‚ÍŽ¸”s‚µ‚Ü‚·B
+      ƒx[ƒ^ƒx[ƒX‚É‚æ‚Á‚ẮA•Ô‚³‚ê‚éƒJƒ‰ƒ€‚Ì•Ê–¼‚ª "c.ID"A"c.NAME" ‚È‚Ç‚ÌŒ`Ž®‚Å‚ ‚èA
+      ƒ}ƒbƒsƒ“ƒO‚ÅŽw’肳‚ꂽƒJƒ‰ƒ€i"ID" ‚Æ "NAME"j‚Æ“™‚µ‚­‚È‚¢‚½‚߁AŽ¸”s‚µ‚Ü‚·B</para>
+
+
+      <para>‰º‹L‚ÌŒ`Ž®‚́AƒJƒ‰ƒ€–¼‚ªd•¡‚µ‚Ä‚à‘åä•v‚Å‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT {cat.*}, {mother.*}  FROM CATS c, CATS m WHERE c.MOTHER_ID = m.ID")
+ .addEntity("cat", Cat.class)
+ .addEntity("mother", Cat.class)
+]]></programlisting>
+
+      <para>‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>SQLƒNƒGƒŠ•¶Žš—ñ
+                iHibernate‚ªƒJƒ‰ƒ€‚Ì•Ê–¼‚ð‘}“ü‚·‚邽‚߂̃vƒŒ[ƒXƒzƒ‹ƒ_‚ðŠÜ‚ށj</para>
+        </listitem>
+
+        <listitem>
+          <para>ƒNƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚éƒGƒ“ƒeƒBƒeƒB</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>ã‹L‚ÅŽg—p‚µ‚Ä‚¢‚é {cat.*} ‚Æ {mother.*} ‚Æ‚¢‚¤•\‹L‚́A
+      u‚·‚ׂẴvƒƒpƒeƒBv‚ð•\‚·È—ªŒ`‚Å‚·B
+      ‘ã‚í‚è‚ɁA–¾Ž¦“I‚ɃJƒ‰ƒ€‚ð—ñ‹“‚µ‚Ä‚à‚æ‚¢‚Å‚·‚ªA
+      ‚»‚̏ꍇ‚́AHibernate‚ÉŠeƒvƒƒpƒeƒB‚ɑΉž‚·‚éSQLƒJƒ‰ƒ€‚Ì•Ê–¼‚ð‘}“ü‚³‚¹‚é‚ׂ«‚Å‚µ‚傤B
+      ƒJƒ‰ƒ€‚Ì•Ê–¼‚Ì‚½‚߂̃vƒŒ[ƒXƒzƒ‹ƒ_‚́Aƒe[ƒuƒ‹‚Ì•Ê–¼‚É‚æ‚Á‚ďCü‚³‚ꂽƒvƒƒpƒeƒB–¼‚Å‚·B
+      ‰º‹L‚Ì—á‚ł́A•Ê‚̃e[ƒuƒ‹ cat_log ‚©‚ç
+      ƒ}ƒbƒsƒ“ƒOƒƒ^ƒf[ƒ^‚Å’è‹`‚³‚ꂽ Cat ‚Æ‚»‚Ì•êe‚𕜌³‚µ‚Ü‚·B
+      ‚à‚µD‚Þ‚È‚çAwhereß‚Ì’†‚Å‚àAƒvƒƒpƒeƒB‚Ì•Ê–¼‚ðŽg‚¦‚Ü‚·B</para>
+
+      <programlisting><![CDATA[String sql = "SELECT ID as {c.id}, NAME as {c.name}, " + 
+         "BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} " +
+         "FROM CAT_LOG c, CAT_LOG m WHERE {c.mother} = c.ID";
+
+List loggedCats = sess.createSQLQuery(sql)
+        .addEntity("cat", Cat.class)
+        .addEntity("mother", Cat.class).list()
+]]></programlisting>
+
+      <sect3 id="querysql-aliasreferences" revision="2">
+        <title>•Ê–¼‚ƃvƒƒpƒeƒB‚̃Šƒtƒ@ƒŒƒ“ƒX</title>
+
+        <para>‘½‚­‚̏ꍇAã‹L‚̂悤‚È•Ê–¼ƒCƒ“ƒWƒFƒNƒVƒ‡ƒ“‚ª•K—v‚Å‚·B
+        ‚½‚¾‚µA•¡‡ƒvƒƒpƒeƒBAŒp³Ž¯•ÊŽqAƒRƒŒƒNƒVƒ‡ƒ“‚Ȃǂ̂悤‚È
+        ‚æ‚è•¡ŽG‚ȃ}ƒbƒsƒ“ƒO‚ÆŠÖ˜A‚·‚éƒNƒGƒŠ‚ª‚È‚¯‚ê‚΂ł·B
+        ‚ ‚é“Á’è‚Ì•Ê–¼‚ðŽg—p‚·‚邱‚Æ‚É‚æ‚èAHibernate‚Í“KØ‚È•Ê–¼‚ð‘}“ü‚Å‚«‚Ü‚·B</para>
+
+        <para>•Ê–¼ƒCƒ“ƒWƒFƒNƒVƒ‡ƒ“‚Æ‚µ‚ÄŽg—p‚Å‚«‚é‚à‚Ì‚ð‰º•\‚ÉŽ¦‚µ‚Ü‚·B
+        ’ˆÓF‰º•\‚Ì•Ê–¼‚͈ê—á‚Å‚·B
+        ‚»‚ꂼ‚ê‚Ì•Ê–¼‚͈êˆÓ‚Å‚ ‚èAŽg—p‚·‚éÛ‚É‚Í‚¨‚»‚ç‚­ˆÙ‚È‚é–¼‘O‚ðŽ‚¿‚Ü‚·B</para>
+ 
+        <table frame="topbot" id="aliasinjection-summary">
+          <title>•Ê–¼‚É‘}“ü‚·‚é–¼‘O</title>
+
+          <tgroup cols="3">
+            <colspec colwidth="1*" />
+
+            <colspec colwidth="1*" />
+
+            <colspec colwidth="2.5*" />
+
+            <thead>
+              <row>
+                <entry>à–¾</entry>
+                <entry>\•¶</entry>
+                <entry>—á</entry>
+              </row>
+            </thead>
+            <tbody>
+              <row>
+                <entry>’Pƒ‚ȃvƒƒpƒeƒB</entry>
+                <entry><literal>{[aliasname].[propertyname]}</literal></entry>
+                <entry><literal>A_NAME as {item.name}</literal></entry>
+              </row>
+              <row>
+                <entry>•¡‡ƒvƒƒpƒeƒB</entry>
+                <entry><literal>{[aliasname].[componentname].[propertyname]}</literal></entry>
+                <entry><literal>CURRENCY as {item.amount.currency}, VALUE as
+                {item.amount.value}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒGƒ“ƒeƒBƒeƒB‚̃Nƒ‰ƒX‚ðŽ¯•Ê‚·‚é’l</entry>
+                <entry><literal>{[aliasname].class}</literal></entry>
+                <entry><literal>DISC as {item.class}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒGƒ“ƒeƒBƒeƒB‚Ì‘SƒvƒƒpƒeƒB</entry>
+                <entry><literal>{[aliasname].*}</literal></entry>
+                <entry><literal>{item.*}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒRƒŒƒNƒVƒ‡ƒ“‚̃L[</entry>
+                <entry><literal>{[aliasname].key}</literal></entry>
+                <entry><literal>ORGID as {coll.key}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒRƒŒƒNƒVƒ‡ƒ“‚ÌID</entry>
+                <entry><literal>{[aliasname].id}</literal></entry>
+                <entry><literal>EMPID as {coll.id}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f</entry>
+                <entry><literal>{[aliasname].element}</literal></entry>
+                <entry><literal>XID as {coll.element}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚̃vƒƒpƒeƒB</entry>
+                <entry><literal>{[aliasname].element.[propertyname]}</literal></entry>
+                <entry><literal>NAME as {coll.element.name}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚Ì‘SƒvƒƒpƒeƒB</entry>
+                <entry><literal>{[aliasname].element.*}</literal></entry>
+                <entry><literal>{coll.element.*}</literal></entry>
+              </row>
+              <row>
+                <entry>ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‘SƒvƒƒpƒeƒB</entry>
+                <entry><literal>{[aliasname].*}</literal></entry>
+                <entry><literal>{coll.*}</literal></entry>
+              </row>
+            </tbody>
+          </tgroup>
+        </table>
+      </sect3>
+    </sect2>
+
+    <sect2>
+      <title>ŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚̎擾</title>
+
+      <para>ƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚É ResultTransformer ‚ð“K—p‚Å‚«‚Ü‚·B
+      ‰º‹L‚̂悤‚ɁA—Ⴆ‚΁AŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚ð•Ô‚µ‚Ü‚·B</para>
+
+      <programlisting><![CDATA[sess.createSQLQuery("SELECT NAME, BIRTHDATE FROM CATS")
+        .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]></programlisting>
+
+      <para>‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B</para>
+
+      <itemizedlist>
+        <listitem>
+          <para>SQLƒNƒGƒŠ•¶Žš—ñ</para>
+        </listitem>
+
+        <listitem>
+          <para>Œ‹‰Ê‚ð•ÏŠ·‚µ‚½‚à‚Ì</para>
+        </listitem>
+      </itemizedlist>
+
+      <para>ã‹L‚̃NƒGƒŠ‚́AƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µANAME ‚Æ BIRTHDATE ‚Ì’l‚ð
+      ‘Ήž‚·‚éƒvƒƒpƒeƒB‚à‚µ‚­‚̓tƒB[ƒ‹ƒh‚É‘}“ü‚µ‚½ <literal>CatDTO</literal>
+      ‚̃ŠƒXƒg‚ð•Ô‚µ‚Ü‚·B</para>
+    </sect2>
+
+    <sect2>
+      <title>Œp³‚̐§Œä</title>
+
+      <para>Œp³‚̈ꕔ‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ꂽƒGƒ“ƒeƒBƒeƒB‚ð–â‚¢‡‚킹‚éƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚́A
+      ƒx[ƒX‚̃Nƒ‰ƒX‚Æ‚»‚Ì‚·‚ׂẴTƒuƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚·‚ׂĂðŠÜ‚Ü‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB</para>
+    </sect2>
+
+    <sect2>
+      <title>ƒpƒ‰ƒ[ƒ^</title>
+
+      <para>ƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚́AˆÈ‰º‚̂悤‚ɁA
+      –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^i:namej‚Æ“¯—l‚Ɉʒuƒpƒ‰ƒ[ƒ^‚ðƒTƒ|[ƒg‚µ‚Ü‚·B</para>
+
+      <programlisting><![CDATA[Query query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like ?").addEntity(Cat.class);
+List pusList = query.setString(0, "Pus%").list();
+     
+query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like :name").addEntity(Cat.class);
+List pusList = query.setString("name", "Pus%").list();          ]]></programlisting>
+    </sect2>
+
+  </sect1>
+
+  <sect1 id="querysql-namedqueries" revision="3">
+    <title>–¼‘O•t‚«SQLƒNƒGƒŠ</title>
+
+    <para>–¼‘O•t‚«SQLƒNƒGƒŠ‚̓}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Å’è‹`‚·‚邱‚Æ‚ª‚Å‚«A
+    –¼‘O•t‚«HQLƒNƒGƒŠ‚Æ‘S‚­“¯‚¶•û–@‚ŌĂԂ±‚Æ‚ª‚Å‚«‚Ü‚·B
+    ‚±‚̏ꍇA<literal>addEntity()</literal> ‚ðŒÄ‚яo‚·•K—v‚Í <emphasis>‚È‚¢</emphasis> ‚Å‚·B</para>
+
+    <programlisting><![CDATA[<sql-query name="persons">
+    <return alias="person" class="eg.Person"/>
+    SELECT person.NAME AS {person.name},
+           person.AGE AS {person.age},
+           person.SEX AS {person.sex}
+    FROM PERSON person
+    WHERE person.NAME LIKE :namePattern
+</sql-query>]]></programlisting>
+
+    <programlisting><![CDATA[List people = sess.getNamedQuery("persons")
+    .setString("namePattern", namePattern)
+    .setMaxResults(50)
+    .list();]]></programlisting>
+
+    <para>ŠÖ˜A‚ðŒ‹‡‚·‚邽‚߂ƃRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚·‚éƒNƒGƒŠ‚ð’è‹`‚·‚邽‚߂ɁA‚»‚ꂼ‚ê
+    <literal>&lt;return-join&gt;</literal> ‚Æ <literal>&lt;load-collection&gt;</literal>
+    —v‘f‚ðŽg‚¢‚Ü‚·B</para>
+
+    <programlisting><![CDATA[<sql-query name="personsWith">
+    <return alias="person" class="eg.Person"/>
+    <return-join alias="address" property="person.mailingAddress"/>
+    SELECT person.NAME AS {person.name},
+           person.AGE AS {person.age},
+           person.SEX AS {person.sex},
+           address.STREET AS {address.street},
+           address.CITY AS {address.city},
+           address.STATE AS {address.state},
+           address.ZIP AS {address.zip}
+    FROM PERSON person
+    JOIN ADDRESS address
+        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
+    WHERE person.NAME LIKE :namePattern
+</sql-query>]]></programlisting>
+
+    <para>–¼‘O•t‚«SQLƒNƒGƒŠ‚̓XƒJƒ‰’l‚ð•Ô‚·‚±‚Æ‚à‚Å‚«‚Ü‚·B
+    <literal>&lt;return-scalar&gt;</literal> —v‘f‚ðŽg‚Á‚āA
+    —ñ‚Ì•Ê–¼‚ÆHibernate‚ÌŒ^‚ðéŒ¾‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB</para>
+
+    <programlisting><![CDATA[<sql-query name="mySqlQuery">
+    <return-scalar column="name" type="string"/>
+    <return-scalar column="age" type="long"/>
+    SELECT p.NAME AS name,
+           p.AGE AS age,
+    FROM PERSON p WHERE p.NAME LIKE 'Hiber%'
+</sql-query>]]></programlisting>
+
+
+    <para>ƒŠƒUƒ‹ƒgƒZƒbƒg‚̃}ƒbƒsƒ“ƒOî•ñ‚ð <literal>&lt;resultset&gt;</literal>
+    ‚ÉŠOo‚µ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+    •¡”‚Ì–¼‘O•t‚«ƒNƒGƒŠ‚ōė˜—p‚µ‚½‚èA<literal>setResultSetMapping()</literal>
+    API‚ð’Ê‚µ‚čė˜—p‚µ‚½‚è‚Å‚«‚Ü‚·B
+    </para>
+
+    <programlisting><![CDATA[<resultset name="personAddress">
+    <return alias="person" class="eg.Person"/>
+    <return-join alias="address" property="person.mailingAddress"/>
+</resultset>
+
+<sql-query name="personsWith" resultset-ref="personAddress">
+    SELECT person.NAME AS {person.name},
+           person.AGE AS {person.age},
+           person.SEX AS {person.sex},
+           address.STREET AS {address.street},
+           address.CITY AS {address.city},
+           address.STATE AS {address.state},
+           address.ZIP AS {address.zip}
+    FROM PERSON person
+    JOIN ADDRESS address
+        ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
+    WHERE person.NAME LIKE :namePattern
+</sql-query>]]></programlisting>
+
+    <para>‘ã‚í‚è‚ɁAhbmƒtƒ@ƒCƒ‹“à‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚̃}ƒbƒsƒ“ƒOî•ñ‚ð
+    ’¼ÚJavaƒR[ƒh‚Ì’†‚ÅŽg—p‚Å‚«‚Ü‚·B</para>
+
+    <programlisting><![CDATA[List cats = sess.createSQLQuery(
+        "select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother = cat.id"
+    )
+    .setResultSetMapping("catAndKitten")
+    .list();]]></programlisting>
+
+    <sect2 id="propertyresults">
+      <title>—ñ‚Æ—ñ‚Ì•Ê–¼‚𖾎¦“I‚ÉŽw’è‚·‚邽‚ß‚É return-property ‚ðŽg‚¤</title>
+
+      <para>•Ê–¼‚ð‘}“ü‚·‚邽‚ß‚É <literal>{}</literal> \•¶‚ðŽg‚¤‘ã‚í‚è‚ɁA
+      <literal>&lt;return-property&gt;</literal> ‚ðŽg‚¢A
+      ‚Ç‚Ì—ñ‚Ì•Ê–¼‚ðŽg‚¤‚Ì‚©‚𖾎¦‚Å‚«‚Ü‚·B</para>
+
+      <programlisting><![CDATA[<sql-query name="mySqlQuery">
+    <return alias="person" class="eg.Person">
+        <return-property name="name" column="myName"/>
+        <return-property name="age" column="myAge"/>
+        <return-property name="sex" column="mySex"/>
+    </return>
+    SELECT person.NAME AS myName,
+           person.AGE AS myAge,
+           person.SEX AS mySex,
+    FROM PERSON person WHERE person.NAME LIKE :name
+</sql-query>
+]]></programlisting>
+
+      <para><literal>&lt;return-property&gt;</literal> ‚Í•¡”‚Ì—ñ‚àˆµ‚¦‚Ü‚·B
+      ‚±‚ê‚́A•¡”—ñ‚̃vƒƒpƒeƒB‚ð‚«‚ß×‚©‚­§Œä‚Å‚«‚È‚¢‚Æ‚¢‚¤A
+      <literal>{}</literal> \•¶‚̐§ŒÀ‚ð‰ðŒˆ‚µ‚Ü‚·B</para>
+
+      <programlisting><![CDATA[<sql-query name="organizationCurrentEmployments">
+    <return alias="emp" class="Employment">
+        <return-property name="salary">
+            <return-column name="VALUE"/>
+            <return-column name="CURRENCY"/>
+        </return-property>
+        <return-property name="endDate" column="myEndDate"/>
+    </return>
+        SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer},
+        STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},
+        REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY
+        FROM EMPLOYMENT
+        WHERE EMPLOYER = :id AND ENDDATE IS NULL
+        ORDER BY STARTDATE ASC
+</sql-query>]]></programlisting>
+
+      <para>‚±‚Ì—á‚ł́A‘}“ü‚Ì‚½‚ß‚Ì <literal>{}</literal> \•¶‚Æ‚¢‚Á‚µ‚å‚ɁA
+      <literal>&lt;return-property&gt;</literal> ‚ðŽg‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+      —ñ‚ƃvƒƒpƒeƒB‚ð‚ǂ̂悤‚ÉŽQÆ‚·‚é‚©‚ð‘I‚ׂ܂·B</para>
+
+      <para>ƒ}ƒbƒsƒ“ƒO‚É discriminator ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚éê‡A
+      discriminator ‚Ì—ñ‚ðŽw’è‚·‚邽‚߂ɁA&lt;return-discriminator&gt;
+      ‚ðŽg‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB</para>
+    </sect2>
+
+    <sect2 id="sp_query" revision="1">
+      <title>–â‚¢‡‚킹‚·‚邽‚߂ɃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤</title>
+
+      <para>Hibernate‚̓o[ƒWƒ‡ƒ“3‚©‚çAƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ƃXƒgƒAƒhŠÖ”Œo—R‚Ì–â‚¢‡‚킹‚ª
+      ƒTƒ|[ƒg‚³‚ê‚Ü‚µ‚½B
+      ˆÈ~‚Ì•¶‘‚Ì‘½‚­‚́A—¼•û‚É“–‚Ä‚Í‚Ü‚è‚Ü‚·B
+      ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚âƒXƒgƒAƒhŠÖ”‚ðHibernate‚ÅŽg‚¤‚½‚߂ɂ́A
+      1”Ԗڂ̏o—̓pƒ‰ƒ[ƒ^‚Æ‚µ‚ăŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+      Oracle 9i‚à‚µ‚­‚Í‚»‚êˆÈã‚̃o[ƒWƒ‡ƒ“j‚̃XƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Ì—á‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·B</para>
+
+      <programlisting><![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments
+    RETURN SYS_REFCURSOR
+AS
+    st_cursor SYS_REFCURSOR;
+BEGIN
+    OPEN st_cursor FOR
+ SELECT EMPLOYEE, EMPLOYER,
+ STARTDATE, ENDDATE,
+ REGIONCODE, EID, VALUE, CURRENCY
+ FROM EMPLOYMENT;
+      RETURN  st_cursor;
+ END;]]></programlisting>
+
+      <para>Hibernate‚Å‚±‚̃NƒGƒŠ‚ðŽg‚¤‚½‚߂ɂ́A
+      –¼‘O•t‚«ƒNƒGƒŠ‚Ń}ƒbƒsƒ“ƒO‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B</para>
+
+      <programlisting><![CDATA[<sql-query name="selectAllEmployees_SP" callable="true">
+    <return alias="emp" class="Employment">
+        <return-property name="employee" column="EMPLOYEE"/>
+        <return-property name="employer" column="EMPLOYER"/>
+        <return-property name="startDate" column="STARTDATE"/>
+        <return-property name="endDate" column="ENDDATE"/>
+        <return-property name="regionCode" column="REGIONCODE"/>
+        <return-property name="id" column="EID"/>
+        <return-property name="salary">
+            <return-column name="VALUE"/>
+            <return-column name="CURRENCY"/>
+        </return-property>
+    </return>
+    { ? = call selectAllEmployments() }
+</sql-query>]]></programlisting>
+
+      <para>’ˆÓF¡‚Ì‚Æ‚±‚ëAƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚̓XƒJƒ‰‚ƃGƒ“ƒeƒBƒeƒB‚ð•Ô‚·‚Ì‚Ý‚Å‚·B
+      <literal>&lt;return-join&gt;</literal> ‚Æ <literal>&lt;load-collection&gt;</literal>
+      ‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB</para>
+
+      <sect3 id="querysql-limits-storedprocedures" revision="1">
+        <title>ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤ã‚ł̃‹[ƒ‹‚Ɛ§ŒÀ</title>
+
+        <para>Hibernate‚ŃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚âŠÖ”‚ðŽg‚¤‚½‚߂ɂ́A
+        ‚»‚̃vƒƒV[ƒWƒƒ‚Í‚¢‚­‚‚©‚̃‹[ƒ‹‚ɏ€‹’‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+        ƒ‹[ƒ‹‚ɏ€‹’‚µ‚Ä‚¢‚È‚¢ƒvƒƒV[ƒWƒƒ‚́AHibernate‚ÅŽg‚¤‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+        ‚»‚ê‚Å‚àA€‹’‚µ‚Ä‚¢‚È‚¢ƒvƒƒV[ƒWƒƒ‚ðŽg‚¢‚½‚¢‚Ì‚Å‚ ‚ê‚΁A
+        <literal>session.connection()</literal> ‚ð’Ê‚¶‚ÄŽÀs‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+        ƒ‹[ƒ‹‚̓f[ƒ^ƒx[ƒX‚²‚ƂɈقȂè‚Ü‚·B
+        ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚̃Zƒ}ƒ“ƒeƒBƒbƒNƒX‚ƃVƒ“ƒ^ƒbƒNƒX‚́A
+        ƒf[ƒ^ƒx[ƒXƒxƒ“ƒ_‚²‚ƂɈقȂ邽‚ß‚Å‚·B</para>
+
+        <para><literal>setFirstResult()/setMaxResults()</literal> ‚ðŽg‚Á‚āA
+        ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒƒNƒGƒŠ‚ðƒy[ƒW•ª‚¯‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB</para>
+
+        <para>„§‚·‚éŒÄ‚яo‚µ•û‚́A•W€‚Å‚ ‚éSQL92‚ɏ]‚¤‚±‚Æ‚Å‚·B
+        <literal>{ ? = call functionName(&lt;parameters&gt;) }</literal> ‚â
+        <literal>{ ? = call procedureName(&lt;parameters&gt;) }</literal> ‚Å‚·B
+        ƒlƒCƒeƒBƒu‚ȌĂяo‚µ\•¶‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB</para>
+
+        <para>Oracle‚ɂ͉º‹L‚̃‹[ƒ‹‚ª“K—p‚³‚ê‚Ü‚·B</para>
+
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>ŠÖ”‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            ƒvƒƒV[ƒWƒƒ‚Ì‘æˆêˆø”‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚·‚½‚߁A
+            <literal>OUT</literal> ‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            Oracle 9‚Æ10‚ł́A<literal>SYS_REFCURSOR</literal> ‚ðŽg‚¤‚±‚Æ‚É‚æ‚Á‚Ä‚Å‚«‚Ü‚·B
+            Oracle‚Å‚Í <literal>REF CURSOR</literal> Œ^‚ð’è‹`‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+            Oracle‚Ì•¶Œ£‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B</para>
+          </listitem>
+        </itemizedlist>
+
+        <para>Sybase‚ÆMS SQLƒT[ƒo[‚É“K—p‚³‚ê‚郋[ƒ‹‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B</para>
+
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>ƒvƒƒV[ƒWƒƒ‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            ƒT[ƒo[‚Í•¡”‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚ƍXVƒJƒEƒ“ƒg‚ð•Ô‚µ‚Ü‚·‚ªA
+            Hibernate‚Í1‚–ڂ̃ŠƒUƒ‹ƒgƒZƒbƒg‚¾‚¯‚ð•Ô‚·‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚»‚Ì‘¼‚Í‚·‚ׂĎ̂Ăç‚ê‚Ü‚·B</para>
+          </listitem>
+
+          <listitem>
+            <para>ƒvƒƒV[ƒWƒƒ‚Ì’†‚Å <literal>SET NOCOUNT ON</literal> ‚ð—LŒø‚É‚Å‚«‚ê‚΁A
+            ‚¨‚»‚ç‚­Œø—¦‚ª‚æ‚­‚È‚é‚Å‚µ‚傤B
+            ‚µ‚©‚µA‚±‚ê‚Í•K—vðŒ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB</para>
+          </listitem>
+        </itemizedlist>
+      </sect3>
+    </sect2>
+  </sect1>
+
+  <sect1 id="querysql-cud">
+    <title>ì¬AXVAíœ‚Ì‚½‚߂̃JƒXƒ^ƒ€SQL</title>
+
+    <para>Hibernate3‚͍쐬AXVAíœˆ—‚Ì‚½‚߂̃JƒXƒ^ƒ€SQL•¶‚ðŽg—p‚Å‚«‚Ü‚·B
+    ƒNƒ‰ƒX‚ƃRƒŒƒNƒVƒ‡ƒ“‚̉i‘±‰»‹@\‚́AƒRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“Žž‚ɐ¶¬‚³‚ꂽ•¶Žš—ñ
+    iinsertsqlAdeletesqlAupdatesql‚Ȃǁj‚̃Zƒbƒg‚ð‚·‚Å‚É•ÛŽ‚µ‚Ä‚¢‚Ü‚·B
+    ‚±‚ê‚ç‚Ì•¶Žš—ñ‚æ‚èA
+    <literal>&lt;sql-insert&gt;</literal>A
+    <literal>&lt;sql-delete&gt;</literal>A
+    <literal>&lt;sql-update&gt;</literal> ‚Æ‚¢‚¤ƒ}ƒbƒsƒ“ƒOƒ^ƒO‚ª—Dæ‚³‚ê‚Ü‚·B</para>
+
+    <programlisting><![CDATA[<class name="Person">
+    <id name="id">
+        <generator class="increment"/>
+    </id>
+    <property name="name" not-null="true"/>
+    <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-insert>
+    <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>
+    <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>
+</class>]]></programlisting>
+
+    <para>SQL‚𒼐ڃf[ƒ^ƒx[ƒX‚ÅŽÀs‚·‚邽‚߁AD‚Ý‚Ì•ûŒ¾‚ðŽ©—R‚ÉŽg—p‚Å‚«‚Ü‚·B
+    ƒf[ƒ^ƒx[ƒX“ÆŽ©‚ÌSQL‚ðŽg‚¦‚΁A“–‘Rƒ}ƒbƒsƒ“ƒO‚̃|[ƒ^ƒrƒŠƒeƒB‚ª‰º‚ª‚è‚Ü‚·B</para>
+
+    <para><literal>callable</literal> ‘®«‚ðƒZƒbƒg‚·‚ê‚΁A
+    ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg—p‚Å‚«‚Ü‚·B</para>
+
+    <programlisting><![CDATA[<class name="Person">
+    <id name="id">
+        <generator class="increment"/>
+    </id>
+    <property name="name" not-null="true"/>
+    <sql-insert callable="true">{call createPerson (?, ?)}</sql-insert>
+    <sql-delete callable="true">{? = call deletePerson (?)}</sql-delete>
+    <sql-update callable="true">{? = call updatePerson (?, ?)}</sql-update>
+</class>]]></programlisting>
+
+    <para>¡‚Ì‚Æ‚±‚ëAˆÊ’uƒpƒ‰ƒ[ƒ^‚̏‡”Ô‚Í‚Æ‚Ä‚àd—v‚Å‚·B
+    ‚·‚È‚í‚¿AHibernate‚ªŠú‘Ò‚·‚鏇˜‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB</para>
+
+    <para><literal>org.hiberante.persister.entity</literal> ƒŒƒxƒ‹‚̃fƒoƒbƒOƒƒO‚ð
+    —LŒø‚É‚·‚邱‚Æ‚É‚æ‚Á‚āAŠú‘Ò‚³‚ê‚鏇”Ô‚ðŠm‚©‚ß‚ç‚ê‚Ü‚·B
+    ‚±‚̃Œƒxƒ‹‚ð—LŒø‚É‚·‚邱‚Æ‚É‚æ‚èAƒGƒ“ƒeƒBƒeƒB‚̍쐬AXVAíœ‚È‚Ç‚Å
+    Žg—p‚³‚ê‚éÃ“I‚ÈSQL‚ªo—Í‚³‚ê‚Ü‚·B
+    iŠú‘Ò‚³‚ê‚鏇˜‚ðŠm”F‚·‚邽‚߂ɂ́AHibernate‚ª¶¬‚·‚éÃ“I‚ÈSQL‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é
+    ƒJƒXƒ^ƒ€SQL‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚È‚¢‚±‚Æ‚ð–Y‚ê‚È‚¢‚Å‚­‚¾‚³‚¢Bj</para>
+
+    <para>ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Í‘}“ü/XV/íœ‚³‚ꂽs”‚ð•Ô‚·•K—v‚ª‚ ‚è‚Ü‚·
+    i“ǂݍž‚݂̏ꍇ‚́A•Ô‚³‚È‚¢‚æ‚è‚Í•Ô‚·•û‚ª‚æ‚¢‚Å‚·jB
+    ŽÀsŽž‚ÉHibernate‚ªSQL•¶‚̐¬Œ÷‚ðƒ`ƒFƒbƒN‚·‚é‚©‚ç‚Å‚·B
+    Hibernate‚́ACUDˆ—‚Ì‚½‚߂̐”’l‚̏o—̓pƒ‰ƒ[ƒ^‚Æ‚µ‚āA
+    SQL•¶‚̍ŏ‰‚̃pƒ‰ƒ[ƒ^‚ð‚¢‚Â‚à‹L˜^‚µ‚Ü‚·B</para>
+
+    <programlisting><![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN VARCHAR2)
+    RETURN NUMBER IS
+BEGIN
+
+    update PERSON
+    set
+        NAME = uname,
+    where
+        ID = uid;
+
+    return SQL%ROWCOUNT;
+
+END updatePerson;]]></programlisting>
+  </sect1>
+
+  <sect1 id="querysql-load">
+    <title>ƒ[ƒh‚Ì‚½‚߂̃JƒXƒ^ƒ€SQL</title>
+
+    <para>ƒGƒ“ƒeƒBƒeƒB‚ð“ǂݍž‚Þ‚½‚ß‚Ì“ÆŽ©‚ÌSQLi‚à‚µ‚­‚ÍHQLjƒNƒGƒŠ‚àéŒ¾‚Å‚«‚Ü‚·B</para>
+
+    <programlisting><![CDATA[<sql-query name="person">
+    <return alias="pers" class="Person" lock-mode="upgrade"/>
+    SELECT NAME AS {pers.name}, ID AS {pers.id}
+    FROM PERSON
+    WHERE ID=?
+    FOR UPDATE
+</sql-query>]]></programlisting>
+
+    <para>‚±‚ê‚́A‚Ü‚³‚ɁiˆÈ‘O‹c˜_‚µ‚½j–¼‘O•t‚«ƒNƒGƒŠ‚̐錾‚Å‚·B
+    ‚±‚Ì–¼‘O•t‚«ƒNƒGƒŠ‚ðƒNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚©‚çŽQÆ‚Å‚«‚Ü‚·B</para>
+
+    <programlisting><![CDATA[<class name="Person">
+    <id name="id">
+        <generator class="increment"/>
+    </id>
+    <property name="name" not-null="true"/>
+    <loader query-ref="person"/>
+</class>]]></programlisting>
+    
+
+    <para>‚±‚ê‚̓XƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Å‚³‚¦‚à“®ì‚µ‚Ü‚·B</para>
+
+    <para>ŽŸ‚̂悤‚ɁAƒRƒŒƒNƒVƒ‡ƒ“‚ðƒ[ƒh‚·‚邽‚߂̃NƒGƒŠ‚³‚¦’è‹`‚µ‚Ä‚æ‚¢‚Å‚·B</para>
+
+    <programlisting><![CDATA[<set name="employments" inverse="true">
+    <key/>
+    <one-to-many class="Employment"/>
+    <loader query-ref="employments"/>
+</set>]]></programlisting>
+
+    <programlisting><![CDATA[<sql-query name="employments">
+    <load-collection alias="emp" role="Person.employments"/>
+    SELECT {emp.*}
+    FROM EMPLOYMENT emp
+    WHERE EMPLOYER = :id
+    ORDER BY STARTDATE ASC, EMPLOYEE ASC
+</sql-query>]]></programlisting>
+
+    <para>ŽŸ‚̂悤‚ɁAŒ‹‡ƒtƒFƒbƒ`‚É‚æ‚èƒRƒŒƒNƒVƒ‡ƒ“‚ðƒ[ƒh‚·‚é
+    ƒGƒ“ƒeƒBƒeƒBƒ[ƒ_[‚ð’è‹`‚Å‚«‚Ü‚·B</para>
+
+    <programlisting><![CDATA[<sql-query name="person">
+    <return alias="pers" class="Person"/>
+    <return-join alias="emp" property="pers.employments"/>
+    SELECT NAME AS {pers.*}, {emp.*}
+    FROM PERSON pers
+    LEFT OUTER JOIN EMPLOYMENT emp
+        ON pers.ID = emp.PERSON_ID
+    WHERE ID=?
+</sql-query>]]></programlisting>
+  </sect1>
+
+</chapter>
\ No newline at end of file

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/session_api.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1120 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="objectstate">
+    <title>ƒIƒuƒWƒFƒNƒg‚ðˆµ‚¤</title>
+    
+    <para> 
+        Hibernate ‚ÍŠ®‘S‚ȃIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Å‚ ‚èA
+        ƒf[ƒ^ƒx[ƒXŠÇ—ƒVƒXƒeƒ€‚̏ڍׂðŠJ”­ŽÒ‚©‚ç‰B•Á‚·‚邾‚¯‚Å‚È‚­A ƒIƒuƒWƒFƒNƒg‚Ì <emphasis>ó‘ÔŠÇ—</emphasis> ‚às‚¢‚Ü‚·B
+        ‚±‚ê‚́AJDBC/SQL‰i‘±‘w‚Æ“¯‚¶‚悤‚ÈSQL <literal>•¶</literal> ‚ÌŠÇ—‚Ƃ͈قȂèA
+        JavaƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚¨‚¯‚é‰i‘±‰»‚ɑ΂·‚éA‚Æ‚Ä‚àŽ©‘R‚ȃIƒuƒWƒFƒNƒgŽwŒü‚̍l‚¦•û‚ð’ñ‹Ÿ‚µ‚Ü‚·B 
+        </para>
+    
+    <para> 
+        Œ¾‚¢‚©‚¦‚ê‚΁AHibernate‚ð—p‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­ŽÒ‚́AƒIƒuƒWƒFƒNƒg‚Ì <emphasis>ó‘Ô</emphasis> ‚ɂ‚¢‚Ä‚Í
+        í‚Ɉӎ¯‚·‚ׂ«‚Å‚ ‚èASQL•¶‚ÌŽÀs‚ɂ‚¢‚Ä‚Í•K‚¸‚µ‚à‚»‚¤‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+        ‚±‚Ì•”•ª‚́A’ʏíAHibernate‚ªˆ—‚µAƒVƒXƒeƒ€‚̃pƒtƒH[ƒ}ƒ“ƒX‚ðƒ`ƒ…[ƒjƒ“ƒO‚·‚é‚Æ‚«‚É‚¾‚¯A –â‘è‚É‚È‚Á‚Ä‚«‚Ü‚·B 
+    </para>
+    
+    <sect1 id="objectstate-overview">
+        <title>Hibernate‚É‚¨‚¯‚éƒIƒuƒWƒFƒNƒg‚̏ó‘Ô</title>
+        
+        <para>
+            Hibernate‚ÍŽŸ‚̂悤‚ȃIƒuƒWƒFƒNƒg‚̏ó‘Ô‚ð’è‹`‚µAƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+        </para>
+        
+        <itemizedlist>
+            <listitem>
+                <para> 
+                    <emphasis> ˆêŽž“I(Transient) </emphasis> - <literal>new</literal>
+                     ‰‰ŽZŽq‚ðŽg‚Á‚Ä ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚¾‚¯‚ŁA Hibernate‚Ì <literal>Session</literal> 
+                    ‚ÉŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚È‚¢ƒIƒuƒWƒFƒNƒg‚́A ˆêŽž“I(transient)‚Å‚·B
+                    ‚»‚ê‚́Aƒf[ƒ^ƒx[ƒX‚ɉi‘±“I‚È•\Œ»‚ðŽ‚½‚¸AŽ¯•ÊŽq‚Æ‚È‚é’l‚ÍŠ„‚è“–‚Ä‚ç‚ê‚Ä‚¢‚Ü‚¹‚ñB
+                    ˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚»‚ÌŽQÆ‚ð‚Ç‚±‚É‚à•ÛŽ‚µ‚È‚¢ê‡‚ɁA ƒKƒx[ƒWƒRƒŒƒNƒ^‚É‚æ‚Á‚Ä”jŠü‚³‚ê‚Ü‚·B
+                    ƒIƒuƒWƒFƒNƒg‚ð‰i‘±“I(persistent)‚ȏó‘Ô‚É‚·‚邽‚߂ɂ́AHibernate‚Ì
+                     <literal>Session</literal> ‚ðŽg‚¢‚Ü‚µ‚傤B
+                    i‚±‚̏ó‘Ô‘JˆÚ‚É•K—v‚Æ‚È‚éSQL•¶‚Ì”­s‚́AHibernate‚É”C‚¹‚Ü‚µ‚傤Bj 
+                </para>
+            </listitem>
+            <listitem>
+                <para> 
+                    <emphasis>‰i‘±“I(Persistent)</emphasis> -
+                    ‰i‘±“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚̓f[ƒ^ƒx[ƒX‚É ‰i‘±“I‚È•\Œ»‚ðŽ‚¿AŽ¯•ÊŽq‚Æ‚È‚é’l‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+                    ‚»‚ê‚́AƒZ[ƒu‚³‚ꂽ‚èAƒ[ƒh‚³‚ꂽ‚è‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA
+                    ’è‹`ã‚́A <literal>Session</literal> ‚̃XƒR[ƒv‚Ì’†‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·B
+                    Hibernate‚́Aì‹Æ’PˆÊiUnit of workj‚ªŠ®—¹‚µ‚½‚Æ‚«‚ɁA ‰i‘±ó‘Ԃ̃IƒuƒWƒFƒNƒg‚ɉÁ‚¦‚ç‚ꂽ•ÏX‚ðŒŸo‚µA
+                    ƒIƒuƒWƒFƒNƒg‚̏ó‘Ԃƃf[ƒ^ƒx[ƒX‚𓯊ú‚µ‚Ü‚·B ƒIƒuƒWƒFƒNƒg‚ðˆêŽž“I(transient)‚É‚·‚é‚Æ‚«‚́AŠJ”­ŽÒ‚́AŽèì‹Æ‚Å
+                     <literal>UPDATE</literal> •¶‚â <literal>DELETE</literal>
+                    •¶‚ðŽÀs‚µ‚Ü‚¹‚ñB 
+                </para>
+            </listitem>
+            <listitem>
+                <para> 
+                    <emphasis>•ª—£(Detached)</emphasis> - •ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚Ƃ́A‰i‘±‰»‚³‚ê‚Ä‚¢‚邪A
+                    ‚»‚ê‚ÆŠÖ˜A•t‚¢‚Ä‚¢‚½ <literal>Session</literal> ‚ªƒNƒ[ƒY‚³‚ê‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Ì‚±‚Æ‚Å‚·B
+                    ‚»‚̃IƒuƒWƒFƒNƒg‚Ö‚ÌŽQÆ‚́AˆË‘R‚Æ‚µ‚Ä—LŒø‚Å‚·B
+                    ‚»‚µ‚āA‚à‚¿‚ë‚ñA•ª—£‚³‚ꂽó‘Ô‚É‚ ‚éƒIƒuƒWƒFƒNƒg‚́AC³‚·‚邱‚Æ‚³‚¦‚Å‚«‚Ü‚·B
+                    •ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚́A‚à‚¤ˆê“x‰i‘±‰»‚µ‚½‚¢i‚»‚µ‚āA‚·‚ׂĂ̕ύX‚ð‰i‘±‰»‚µ‚½‚¢j‚Æ‚«‚ɁA V‚µ‚¢
+                     <literal>Session</literal> ‚ɍĒljÁ‚Å‚«‚Ü‚·B
+                    ‚±‚Ì‹@”\‚́Aƒ†[ƒU‚ªl‚¦‚鎞ŠÔ‚ð•K—v‚Æ‚·‚é‚悤‚ȁA’·ŠúŠÔ‚É‹y‚ԍì‹Æ’PˆÊ‚ɑ΂·‚é ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚ð‰Â”\‚É‚µ‚Ü‚·B
+                    ‰äX‚́A‚±‚ê‚ð <emphasis>ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“iapplication
+                    transactionsj</emphasis> ‚ƌĂñ‚Å‚¢‚Ü‚·B ‚·‚È‚í‚¿Aƒ†[ƒU‚©‚猩‚½ì‹Æ’PˆÊ‚¾‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para> 
+            ‚±‚ê‚©‚çAó‘ԂƏó‘Ô‘JˆÚi‚»‚µ‚āA‘JˆÚ‚Ì‚«‚Á‚©‚¯‚Æ‚È‚éHibernate‚̃ƒ\ƒbƒhj‚ɂ‚¢‚Ä AÚ×‚ɏq‚ׂ܂·B 
+        </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-makingpersistent" revision="1">
+        <title>ƒIƒuƒWƒFƒNƒg‚ð‰i‘±ó‘Ô‚É‚·‚é</title>
+        
+        <para>
+            V‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A Hibernate‚Å‚Í
+             <emphasis>ˆêŽž“I(transient)</emphasis> ‚ÆŒ©‚È‚³‚ê‚Ü‚·B
+            ˆÈ‰º‚̂悤‚ɁAƒZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A‚¯‚邱‚ƂŁAˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ð
+             <emphasis>‰i‘±ó‘Ô(persistent)</emphasis> ‚É‚Å‚«‚Ü‚·B 
+         </para>
+        
+        
+        <programlisting><![CDATA[DomesticCat fritz = new DomesticCat();
+fritz.setColor(Color.GINGER);
+fritz.setSex('M');
+fritz.setName("Fritz");
+Long generatedId = (Long) sess.save(fritz);]]></programlisting>
+        
+        <para> 
+            <literal>Cat</literal> ƒNƒ‰ƒX‚ÌŽ¯•ÊŽq‚ªŽ©“®¶¬‚³‚ê‚é‚Ì‚Å‚ ‚ê‚΁A
+            <literal>save()</literal> ‚ªŒÄ‚΂ê‚é‚Æ‚«‚ɁA Ž¯•ÊŽq‚ª¶¬‚³‚êA <literal>cat</literal>
+            ƒCƒ“ƒXƒ^ƒ“ƒX‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ü‚·B <literal>Cat</literal> 
+            ‚ÌŽ¯•ÊŽq‚ª‘¼‚©‚犄‚è“–‚Ä‚ç‚ê‚éi <literal>assigned</literal> Ž¯•ÊŽq‚ðŽ‚Âj‚©A•¡‡ƒL[‚Å‚ ‚é‚È‚çA
+             <literal>save()</literal> ‚ðŒÄ‚яo‚·‘O‚ɁAŽ¯•ÊŽq‚ðŠ„‚è“–‚Ä‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+             <literal>save()</literal> ‚Ì‘ã‚í‚è‚ɁAEJB3 ‚̏‰Šúƒhƒ‰ƒtƒg‚Å’è‹`‚³‚ꂽ
+             <literal>persist()</literal> ‚ðŽg‚¤‚±‚Æ‚à‰Â”\‚Å‚·B 
+         </para>
+        
+        <para> 
+             ‘ã‚í‚è‚ɁAŽ¯•ÊŽq‚ðˆø”‚É‚Æ‚é <literal>save()</literal>
+            ƒƒ\ƒbƒh‚ðŽg‚Á‚āA Ž¯•ÊŽq‚ðŠ„‚è“–‚Ă邱‚Æ‚à‚Å‚«‚Ü‚·B 
+        </para>
+        
+        
+        <programlisting><![CDATA[DomesticCat pk = new DomesticCat();
+pk.setColor(Color.TABBY);
+pk.setSex('F');
+pk.setName("PK");
+pk.setKittens( new HashSet() );
+pk.addKitten(fritz);
+sess.save( pk, new Long(1234) );]]></programlisting>
+        
+        <para> 
+            ‰i‘±‰»‚·‚éƒIƒuƒWƒFƒNƒg‚ªŠÖ˜AƒIƒuƒWƒFƒNƒg‚ðŽ‚Á‚Ä‚¢‚éê‡ i—Ⴆ‚΁A‘O‚Ì—á‚É‚¨‚¯‚é
+             <literal>kittens</literal> ƒRƒŒƒNƒVƒ‡ƒ“‚̂悤‚ɁjA ŠO•”ƒL[ƒJƒ‰ƒ€‚ɁA <literal>NOT
+            NULL</literal> §–ñ‚ð‚‚¯‚È‚¢ŒÀ‚è‚́A ‚±‚ê‚ç‚̈ê˜A‚̃IƒuƒWƒFƒNƒg‚ð‚Ç‚ñ‚ȏ‡”Ԃʼni‘±‰»‚µ‚Ä‚à‚©‚Ü‚¢‚Ü‚¹‚ñB
+            ŠO•”ƒL[§–ñ‚ðˆá”½‚·‚é‹°‚ê‚Í‚ ‚è‚Ü‚¹‚ñB ‚µ‚©‚µA <literal>NOT NULL</literal> 
+            §–ñ‚ª‚ ‚éê‡AŠÔˆá‚Á‚½‡”ԂŃIƒuƒWƒFƒNƒg‚ð <literal>save()</literal> ‚µ‚Ä‚µ‚Ü‚¤‚ƁA
+            §–ñ‚Ɉᔽ‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB </para>
+        
+        <para>
+            ŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ðŽ©“®“I‚É•Û‘¶‚·‚éA Hibernate‚Ì <emphasis>‘JˆÚ“I‚ȉi‘±‰»(transitive
+            persistence)</emphasis> ‹@”\‚ð Žg‚¤‚‚à‚è‚È‚ç‚΁A‚»‚̂悤‚ȏڍׂð‹C‚É‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            ‚»‚µ‚āA <literal>NOT NULL</literal> §–ñ‚̈ᔽ‚·‚ç‹N‚±‚è‚Ü‚¹‚ñB
+            Hibernate‚ª‚·‚ׂĖʓ|‚ð‚Ý‚Ä‚­‚ê‚Ü‚·B‘JˆÚ“I‚ȉi‘±‰»‚́A‚±‚̏͂̌㔼‚ɏ‘‚©‚ê‚Ä‚¢‚Ü‚·B </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-loading">
+        <title>ƒIƒuƒWƒFƒNƒg‚̃[ƒh</title>
+        
+        <para>
+            ‰i‘±‰»‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ÌŽ¯•ÊŽq‚ª‚ ‚ç‚©‚¶‚ß•ª‚©‚Á‚Ä‚¢‚é‚È‚çA <literal>Session</literal> ‚Ì
+             <literal>load()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚āA•œŒ³‚Å‚«‚Ü‚·B <literal>load()</literal> 
+            ‚́AClass ƒIƒuƒWƒFƒNƒg‚ðˆø”‚É‚Æ‚èA ‚»‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðV‚½‚ɐ¶¬‚µAó‘Ô‚ðƒ[ƒh‚µ‚Ü‚·B
+            ‚»‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̏ó‘Ԃ́A‰i‘±(persistent)ó‘Ô‚Å‚·B </para>
+        
+        
+        <programlisting><![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]></programlisting>
+        
+        
+        <programlisting><![CDATA[// you need to wrap primitive identifiers
+long id = 1234;
+DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long(id) );]]></programlisting>
+        <para>
+            ‚ ‚é‚¢‚́AˆÈ‰º‚̂悤‚ɁAŠù‘¶‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ɏó‘Ô‚ðƒ[ƒh‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[Cat cat = new DomesticCat();
+// load pk's state into cat
+sess.load( cat, new Long(pkId) );
+Set kittens = cat.getKittens();]]></programlisting>
+        
+        <para> 
+            DB‚ÉŠY“–‚·‚és‚ª–³‚¢ê‡A <literal>load()</literal> ‚͉ñ•œ•s‰Â”\‚È—áŠO‚ð “Š‚°‚邱‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B
+            ‚»‚̃Nƒ‰ƒX‚ªƒvƒƒLƒV‚ðŽg‚Á‚ă}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚éê‡A <literal>load()</literal> 
+            ‚͏‰Šú‰»‚³‚ê‚Ä‚¢‚È‚¢ƒvƒƒLƒV‚ð•Ô‚µAƒvƒƒLƒV‚̃ƒ\ƒbƒh‚ªŒÄ‚΂ê‚é‚Ü‚ÅŽÀÛ‚É‚Í ƒf[ƒ^ƒx[ƒX‚ɃAƒNƒZƒX‚µ‚Ü‚¹‚ñB
+            ‚à‚µAŽÀÛ‚Ƀf[ƒ^ƒx[ƒX‚©‚烍[ƒh‚¹‚¸‚ɁAƒIƒuƒWƒFƒNƒg‚ɑ΂·‚éŠÖ˜A‚ðì‚肽‚¢ê‡A ‚±‚̐U‚é•‘‚¢‚Í‚Æ‚Ä‚à–𗧂¿‚Ü‚·B
+             <literal>batch-size</literal> ‚ªƒNƒ‰ƒXƒ}ƒbƒsƒ“ƒO‚É’è‹`‚³‚ê‚Ä‚¢‚é‚È‚ç‚΁A
+            •¡”‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðˆêŠ‡‚э[ƒh‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B </para>
+        
+        <para>
+            ŠY“–‚·‚és‚ª‘¶Ý‚·‚邱‚Æ‚ðŠmM‚Å‚«‚È‚¢ê‡‚́A <literal>get()</literal> ƒƒ\ƒbƒh‚ðŽg‚¤‚ׂ«‚Å‚·B
+            ‚»‚ê‚́Aƒf[ƒ^ƒx[ƒX‚É‚·‚®‚ɃAƒNƒZƒX‚µAŠY“–‚·‚és‚ª–³‚¢ê‡‚Ínull‚ð•Ô‚µ‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);
+if (cat==null) {
+    cat = new Cat();
+    sess.save(cat, id);
+}
+return cat;]]></programlisting>
+        
+        <para>
+            <literal>LockMode</literal> ‚ðŽg‚¦‚΁A
+             <literal>SELECT ... FOR UPDATE</literal>‚Æ‚¢‚¤SQL‚ð Žg‚Á‚ăIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            Ú×‚ȏî•ñ‚́AAPIƒhƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B </para>
+        
+        
+        <programlisting><![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]></programlisting>
+        
+        <para>
+            ŠÖ˜A‚ɑ΂·‚éƒJƒXƒP[ƒh•û–@‚Æ‚µ‚Ä
+             <literal>lock</literal> ‚â <literal>all</literal> ‚ð
+            Žw’肵‚È‚¢ŒÀ‚èAŠÖ˜A‚·‚éƒCƒ“ƒXƒ^ƒ“ƒX‚âŠÜ‚Ü‚ê‚éƒRƒŒƒNƒVƒ‡ƒ“‚Í <literal>FOR UPDATE</literal> ‚Å•œŒ³
+             <emphasis>‚³‚ê‚È‚¢</emphasis> ‚±‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B </para>
+        
+        <para>
+            <literal>refresh()</literal> ƒƒ\ƒbƒh‚ðŽg‚¤‚±‚ƂŁA‚Ç‚ñ‚È‚Æ‚«‚Å‚àAƒIƒuƒWƒFƒNƒg‚â‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ð
+            ƒŠƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ƒf[ƒ^ƒx[ƒX‚̃gƒŠƒK‚ªƒe[ƒuƒ‹‚ðXV‚µ‚½Û‚ɁA
+            ‚»‚̃e[ƒuƒ‹‚ɑΉž‚·‚éƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚𓯊ú‚·‚éê‡A‚±‚̃ƒ\ƒbƒh‚ª–ð‚É—§‚¿‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[sess.save(cat);
+sess.flush(); //force the SQL INSERT
+sess.refresh(cat); //re-read the state (after the trigger executes)]]></programlisting>
+        <para>
+            ‘åØ‚È–â‘è‚́A‚¢‚Â‚àŽŸ‚Ì“_‚ÉŠÖ‚·‚é‚à‚Ì‚Å‚·B‚»‚ê‚́AHibernate‚ªƒf[ƒ^ƒx[ƒX‚©‚çA
+            ‚Ç‚Ì‚­‚ç‚¢‚̗ʂ𕜌³‚·‚é‚Ì‚©‚ƁA‚Ç‚Ì‚­‚ç‚¢‚̐”‚ÌSQL‚Ì <literal>SELECT</literal> •¶‚ªŽg‚í‚ê‚é‚Ì‚©‚Å‚·B
+            ‚±‚ê‚́A <emphasis>ƒtƒFƒbƒ`‚̐헪</emphasis> ‚É‚æ‚è‚Ü‚·B‚±‚ê‚ɂ‚¢‚ẮA<xref linkend="performance-fetching"/> ‚Åà–¾‚µ‚Ä‚¢‚Ü‚·B </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-querying" revision="1">
+        <title>ƒNƒGƒŠ</title>
+        
+        <para>
+            ’T‚µ‚½‚¢ƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ª•ª‚©‚ç‚È‚¢ê‡‚́AƒNƒGƒŠ‚ª•K—v‚É‚È‚è‚Ü‚·B
+            Hibernate‚ÍŽg‚¢‚â‚·‚­‚Ä‹­—͂ȃIƒuƒWƒFƒNƒgŽwŒü‚̃NƒGƒŠŒ¾Œê (HQL)‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            ƒvƒƒOƒ‰ƒ€‚É‚æ‚Á‚ăNƒGƒŠ‚ªì¬‚Å‚«‚é‚悤‚ɁAHibernate‚͐ô—û‚³‚ꂽCriteria‚ÆExampleƒNƒGƒŠ‹@”\(QBC‚ÆQBEj‚ð
+            ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·BResultSet‚ðƒIƒuƒWƒFƒNƒg‚É•ÏŠ·‚·‚éHibernate‚̃IƒvƒVƒ‡ƒ“‹@”\‚ðŽg‚¤‚±‚ƂŁA
+            ƒf[ƒ^ƒx[ƒX‚̃lƒCƒeƒBƒu‚ÈSQL‚ŃNƒGƒŠ‚ð•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B </para>
+        
+        <sect2 id="objectstate-querying-executing" revision="1">
+            <title>ƒNƒGƒŠ‚ÌŽÀs</title>
+            
+            <para>
+                HQL‚âƒlƒCƒeƒBƒu‚ÈSQLƒNƒGƒŠ‚́A <literal>org.hibernate.Query</literal> 
+                ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Æ‚µ‚Ä•\Œ»‚³‚ê‚Ü‚·B ‚±‚̃Cƒ“ƒ^ƒtƒF[ƒX‚́Aƒpƒ‰ƒ[ƒ^ƒoƒCƒ“ƒfƒBƒ“ƒO‚âResultSet‚̃nƒ“ƒhƒŠƒ“ƒO‚â
+                ƒNƒGƒŠ‚ÌŽÀs‚ðs‚¤ƒƒ\ƒbƒh‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B ’ʏíA <literal>Query</literal> ‚́AˆÈ‰º‚ÉŽ¦‚·‚悤‚ɁA
+                ‚»‚ÌŽž“_‚Ì <literal>Session</literal> ‚ðŽg‚Á‚Ď擾‚µ‚Ü‚·B </para>
+            
+            
+            <programlisting><![CDATA[List cats = session.createQuery(
+    "from Cat as cat where cat.birthdate < ?")
+    .setDate(0, date)
+    .list();
+
+List mothers = session.createQuery(
+    "select mother from Cat as cat join cat.mother as mother where cat.name = ?")
+    .setString(0, name)
+    .list();
+
+List kittens = session.createQuery(
+    "from Cat as cat where cat.mother = ?")
+    .setEntity(0, pk)
+    .list();
+
+Cat mother = (Cat) session.createQuery(
+    "select cat.mother from Cat as cat where cat = ?")
+    .setEntity(0, izi)
+    .uniqueResult();]]
+
+Query mothersWithKittens = (Cat) session.createQuery(
+    "select mother from Cat as mother left join fetch mother.kittens");
+Set uniqueMothers = new HashSet(mothersWithKittens.list());
+
+			]]></programlisting>
+            
+            <para> 
+                ƒNƒGƒŠ‚́A•’ʁA <literal>list()</literal> ‚ðŒÄ‚яo‚·‚±‚Æ‚É‚æ‚Á‚ÄŽÀs‚³‚ê‚Ü‚·B
+                ƒNƒGƒŠ‚ÌŒ‹‰Ê‚́Aƒƒ‚ƒŠã‚É‚ ‚éƒRƒŒƒNƒVƒ‡ƒ“‚É‚·‚ׂ㍁[ƒh‚³‚ê‚Ü‚·B
+                ƒNƒGƒŠ‚É‚æ‚Á‚Ä•œŒ³‚³‚ꂽƒGƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A‰i‘±ó‘Ô‚Å‚·B
+                ‚à‚µAƒNƒGƒŠ‚ª‚½‚Á‚½1ŒÂ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚·‚Æ•ª‚©‚Á‚Ä‚¢‚é‚È‚çA
+                 <literal>uniqueResult()</literal> ƒƒ\ƒbƒh‚ªŽè‚ÁŽæ‚葁‚¢•û–@‚Å‚·B
+                ‘¦ŽžƒtƒFƒbƒ`‚ð—˜—p‚µ‚½ƒNƒGƒŠ‚̏ꍇA‚ӂ‚¤A“¾‚ç‚ꂽƒRƒŒƒNƒVƒ‡ƒ“‚ɂ́A
+                ƒ‹[ƒg‚̃IƒuƒWƒFƒNƒg‚ªd•¡‚µ‚ÄŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·
+                i‚µ‚©‚µAƒ‹[ƒg‚ªŽ‚ƒRƒŒƒNƒVƒ‡ƒ“‚͏‰Šú‰»(ƒ[ƒhj‚³‚ê‚Ä‚¢‚Ü‚·jB 
+                ‚±‚̏d•¡‚Í <literal>Set</literal> ‚ðŽg‚Á‚ÄŽæ‚菜‚­‚±‚Æ‚ª‚Å‚«‚Ü‚·B</para>
+            
+            <sect3 id="objectstate-querying-executing-iterate">
+                <title>Œ‹‰Ê‚ðƒCƒeƒŒ[ƒg‚·‚é</title>
+                
+                <para> 
+                    ŽžXA <literal>iterate()</literal> ƒƒ\ƒbƒh‚ðŽg‚Á‚ăNƒGƒŠ‚ðŽÀs‚·‚邱‚ƂŁA
+                    ‚æ‚è—Ç‚¢ƒpƒtƒH[ƒ}ƒ“ƒX‚𓾂邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚±‚ê‚́A’ʏíAƒNƒGƒŠ‚É‚æ‚Á‚Ä“¾‚ç‚ꂽŽÀÛ‚̃Gƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªA
+                    ‚·‚łɃZƒbƒVƒ‡ƒ“‚Ü‚½‚Í“ñŽŸƒLƒƒƒbƒVƒ…‚É‘¶Ý‚·‚邱‚Æ‚ªŠú‘Ò‚Å‚«‚éê‡‚¾‚¯‚Å‚·B
+                    ‚»‚ê‚炪A‚Ü‚¾ƒLƒƒƒbƒVƒ…‚³‚ê‚Ä‚¢‚È‚¢‚È‚çA <literal>iterate()</literal> ‚́A
+                     <literal>list()</literal> ‚æ‚è‚à’x‚­AŠÈ’P‚ȃNƒGƒŠ‚ɑ΂µ‚Ä‚à‘½‚­‚̃f[ƒ^ƒx[ƒXƒAƒNƒZƒX‚ð
+                    •K—v‚Æ‚µ‚Ü‚·B‚»‚̃AƒNƒZƒX‚Ƃ́AŽ¯•ÊŽq‚¾‚¯‚ðŽæ“¾‚·‚邽‚߂̍ŏ‰‚Ìselect‚P‰ñ‚ƁA
+                    ŽÀÛ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‰Šú‰»‚·‚邽‚߂Ɍォ‚çs‚¤n‰ñ‚Ìselect‚Ì‚±‚Æ‚Å‚·B </para>
+                
+                
+                <programlisting><![CDATA[// fetch ids
+Iterator iter = sess.createQuery("from eg.Qux q order by q.likeliness").iterate();
+while ( iter.hasNext() ) {
+    Qux qux = (Qux) iter.next();  // fetch the object  
+    // something we couldnt express in the query  
+    if ( qux.calculateComplicatedAlgorithm() ) {
+        // delete the current instance  
+        iter.remove();
+        // dont need to process the rest  
+        break;
+    }
+}]]></programlisting>
+            </sect3>
+            
+            <sect3 id="objectstate-querying-executing-tuples">
+                <title>ƒIƒuƒWƒFƒNƒg‚Ì‘gituplej‚ð•Ô‚·ƒNƒGƒŠ</title>
+                <para>
+                    Hibernate‚̃NƒGƒŠ‚ł́AŽžXAƒIƒuƒWƒFƒNƒg‚Ì‘g‚ð•Ô‚·‚±‚Æ‚ª‚ ‚è‚Ü‚·B ‚»‚̏ꍇ‚́AŠeƒ^ƒvƒ‹‚Í”z—ñ‚Æ‚µ‚Ä•Ô‚³‚ê‚Ü‚·B
+                    </para>
+                
+                
+                <programlisting><![CDATA[Iterator kittensAndMothers = sess.createQuery(
+            "select kitten, mother from Cat kitten join kitten.mother mother")
+            .list()
+            .iterator();
+
+while ( kittensAndMothers.hasNext() ) {
+    Object[] tuple = (Object[]) kittensAndMothers.next();
+    Cat kitten = (Cat) tuple[0];
+    Cat mother = (Cat) tuple[1];
+    ....
+}]]></programlisting>
+                
+            </sect3>
+            
+            <sect3 id="objectstate-querying-executing-scalar" revision="1">
+                <title>ƒXƒJƒ‰[‚ÌŒ‹‰Ê</title>
+                
+                <para>
+                    ƒNƒGƒŠ‚ł́A <literal>select</literal> ß‚ŃNƒ‰ƒX‚̃vƒƒpƒeƒB‚ðŽw’è‚Å‚«‚Ü‚·B
+                    SQL‚̏W‡ŠÖ”‚ðŒÄ‚Ô‚±‚Æ‚à‚Å‚«‚Ü‚·BƒvƒƒpƒeƒB‚âW‡ŠÖ”‚́A
+                    i‰i‘±ó‘Ԃ̃Gƒ“ƒeƒBƒeƒB‚Å‚Í‚È‚­juƒXƒJƒ‰[’lv‚Å‚ ‚é‚ÆŒ©‚È‚³‚ê‚Ü‚·B </para>
+                
+                
+                <programlisting><![CDATA[Iterator results = sess.createQuery(
+        "select cat.color, min(cat.birthdate), count(cat) from Cat cat " +
+        "group by cat.color")
+        .list()
+        .iterator();
+
+while ( results.hasNext() ) {
+    Object[] row = (Object[]) results.next();
+    Color type = (Color) row[0];
+    Date oldest = (Date) row[1];
+    Integer count = (Integer) row[2];
+    .....
+}]]></programlisting>
+                
+            </sect3>
+            
+            <sect3 id="objectstate-querying-executing-parameters">
+                <title>ƒpƒ‰ƒ[ƒ^‚̃oƒCƒ“ƒh</title>
+                
+                <para>
+                    <literal>Query</literal>
+                    ‚́A–¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚âJDBCƒXƒ^ƒCƒ‹‚Ì <literal>?</literal> 
+                    ƒpƒ‰ƒ[ƒ^‚É’l‚ðƒoƒCƒ“ƒh‚·‚邽‚߂̃ƒ\ƒbƒh‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+                    <emphasis>JDBC‚Ƃ͈ႢAHibernate‚̓pƒ‰ƒ[ƒ^‚Ƀ[ƒ‚©‚ç”ԍ†‚ðU‚Á‚Ä‚¢‚«‚Ü‚·B</emphasis> 
+                    –¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚Ƃ́AƒNƒGƒŠ•¶Žš—ñ‚Ì‚È‚©‚É‚ ‚é <literal>:name</literal> Œ`Ž®‚ÌŽ¯•ÊŽq‚Å‚·B
+                    –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^‚Ì—˜“_‚ÍŽŸ‚Ì’Ê‚è‚Å‚·B </para>
+                
+                <itemizedlist spacing="compact">
+                    <listitem>
+                        <para>  –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^‚́AƒNƒGƒŠ•¶Žš—ñ‚É“oê‚·‚鏇”Ô‚Æ–³ŠÖŒW‚Å‚· </para>
+                    </listitem>
+                    <listitem>
+                        <para> “¯‚¶ƒNƒGƒŠ“à‚É•¡”‰ñ“oê‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚· </para>
+                    </listitem>
+                    <listitem>
+                        <para> Ž©•ªŽ©g‚ðà–¾‚µ‚Ü‚· </para>
+                    </listitem>
+                </itemizedlist>
+                
+                
+                <programlisting><![CDATA[//named parameter (preferred)
+Query q = sess.createQuery("from DomesticCat cat where cat.name = :name");
+q.setString("name", "Fritz");
+Iterator cats = q.iterate();]]></programlisting>
+                
+                
+                <programlisting><![CDATA[//positional parameter
+Query q = sess.createQuery("from DomesticCat cat where cat.name = ?");
+q.setString(0, "Izi");
+Iterator cats = q.iterate();]]></programlisting>
+                
+                
+                <programlisting><![CDATA[//named parameter list
+List names = new ArrayList();
+names.add("Izi");
+names.add("Fritz");
+Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)");
+q.setParameterList("namesList", names);
+List cats = q.list();]]></programlisting>
+                
+            </sect3>
+            
+            <sect3 id="objectstate-querying-executing-pagination">
+                <title>ƒy[ƒW•ª‚¯
+                </title>
+                
+                <para>
+                    ResultSet‚ɐ§ŒÀi•œŒ³‚µ‚½‚¢Å‘ås”‚â•œŒ³‚µ‚½‚¢Å‰‚̍sj‚ð‰Á‚¦‚é•K—v‚ª‚ ‚ê‚΁A
+                    ˆÈ‰º‚̂悤‚ɁA <literal>Query</literal> ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃ƒ\ƒbƒh‚ðŽg‚¢‚Ü‚·B </para>
+                
+                
+                <programlisting><![CDATA[Query q = sess.createQuery("from DomesticCat cat");
+q.setFirstResult(20);
+q.setMaxResults(10);
+List cats = q.list();]]></programlisting>
+                
+                <para>  §ŒÀ•t‚«‚̃NƒGƒŠ‚ðDBMS‚̃lƒCƒeƒBƒu‚ÈSQL‚É•ÏŠ·‚·‚é•û–@‚ðAHibernate‚Í’m‚Á‚Ä‚¢‚Ü‚·B
+                    </para>
+                
+            </sect3>
+            
+            <sect3 id="objectstate-querying-executing-scrolling">
+                <title>ƒXƒNƒ[ƒ‹‰Â”\‚ȃCƒeƒŒ[ƒVƒ‡ƒ“</title>
+                
+                <para>
+                    JDBCƒhƒ‰ƒCƒo‚ªƒXƒNƒ[ƒ‹‰Â”\‚È <literal>ResultSet</literal> ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚ê‚΁A
+                     <literal>Query</literal> 
+                    ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚Á‚āA <literal>ScrollableResults</literal> ƒIƒuƒWƒFƒNƒg‚ð
+                    Žæ“¾‚Å‚«‚Ü‚·B‚»‚ê‚ðŽg‚¤‚ƁAƒNƒGƒŠ‚ÌŒ‹‰Ê‚ɑ΂µ‚ď_“î‚ɃiƒrƒQ[ƒVƒ‡ƒ“‚Å‚«‚Ü‚·B </para>
+                
+                
+                <programlisting><![CDATA[Query q = sess.createQuery("select cat.name, cat from DomesticCat cat " +
+                            "order by cat.name");
+ScrollableResults cats = q.scroll();
+if ( cats.first() ) {
+
+    // find the first name on each page of an alphabetical list of cats by name
+    firstNamesOfPages = new ArrayList();
+    do {
+        String name = cats.getString(0);
+        firstNamesOfPages.add(name);
+    }
+    while ( cats.scroll(PAGE_SIZE) );
+
+    // Now get the first page of cats
+    pageOfCats = new ArrayList();
+    cats.beforeFirst();
+    int i=0;
+    while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add( cats.get(1) );
+
+}
+cats.close()]]></programlisting>
+                
+                <para>
+                    ‚±‚Ì‹@”\‚ɂ̓I[ƒvƒ“ó‘Ԃ̃f[ƒ^ƒx[ƒXƒRƒlƒNƒVƒ‡ƒ“‚ª•K—v‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                    ‚à‚µAƒIƒtƒ‰ƒCƒ“‚̃y[ƒW•ª‚¯‹@”\‚ª•K—v‚Å‚ ‚ê‚΁A <literal>setMaxResult()</literal> /
+                     <literal>setFirstResult()</literal> ‚ðŽg‚¢‚Ü‚µ‚傤B </para>
+                
+            </sect3>
+            
+            <sect3 id="objectstate-querying-executing-named" revision="1">
+                <title>–¼‘O•t‚«ƒNƒGƒŠ‚ÌŠOo‚µ</title>
+                
+                <para> 
+                    ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚É–¼‘O•t‚«‚̃NƒGƒŠ‚ð’è‹`‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                    iƒ}[ƒNƒAƒbƒv‚ƉðŽß‚³‚ê‚镶Žš‚ªƒNƒGƒŠ‚ÉŠÜ‚Ü‚ê‚é‚È‚çA <literal>CDATA</literal> ƒZƒNƒVƒ‡ƒ“‚ð
+                    Žg‚¤‚±‚Æ‚ð–Y‚ê‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤Bj </para>
+                
+                
+                <programlisting><![CDATA[<query name="ByNameAndMaximumWeight"><![CDATA[
+    from eg.DomesticCat as cat
+        where cat.name = ?
+        and cat.weight > ?
+] ]></query>]]></programlisting>
+                
+                <para>ƒpƒ‰ƒ[ƒ^‚̃oƒCƒ“ƒfƒBƒ“ƒO‚ÆŽÀs‚́AˆÈ‰º‚̂悤‚ȃvƒƒOƒ‰ƒ€‚ōs‚í‚ê‚Ü‚·B </para>
+                
+                
+                <programlisting><![CDATA[Query q = sess.getNamedQuery("ByNameAndMaximumWeight");
+q.setString(0, name);
+q.setInt(1, minWeight);
+List cats = q.list();]]></programlisting>
+                
+                <para> ŽÀÛ‚̃vƒƒOƒ‰ƒ€ƒR[ƒh‚́AŽg‚í‚ê‚éƒNƒGƒŠŒ¾Œê‚Ɉˑ¶‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B
+                    ƒƒ^ƒf[ƒ^‚ɂ́AƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚ð’è‹`‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B ‚Ü‚½AŠù‘¶‚̃NƒGƒŠ‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ɉڂ·‚±‚ƂŁA
+                    Hibernate‚Ɉڍs‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B </para>
+                <para>
+                    <literal>&lt;hibernate-mapping&gt;</literal> ‚Ì’†‚̃NƒGƒŠ’è‹`‚́AƒNƒGƒŠ‚ɑ΂·‚é
+                    ƒ†ƒj[ƒN‚È–¼‘O‚ª•K—v‚È‚±‚Æ‚É‚à’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚»‚ê‚ɑ΂µ‚āA <literal>&lt;class&gt;</literal> ‚Ì’†‚Ì
+                    ƒNƒGƒŠ’è‹`‚́AƒNƒ‰ƒX‚ÌŠ®‘SŒÀ’è–¼‚ª‘O‚É•t‚¯‚ç‚ê‚é‚̂ŁAŽ©“®“I‚Ƀ†ƒj[ƒN‚È–¼‘O‚É‚È‚è‚Ü‚·B
+                    —áF <literal>eg.Cat.ByNameAndMaximumWeight</literal>
+                </para>
+            </sect3>
+        </sect2>
+        
+        <sect2 id="objectstate-filtering" revision="1">
+            <title>ƒRƒŒƒNƒVƒ‡ƒ“‚̃tƒBƒ‹ƒ^ƒŠƒ“ƒO</title>
+            <para> ƒRƒŒƒNƒVƒ‡ƒ“ <emphasis>ƒtƒBƒ‹ƒ^</emphasis> ‚́A‰i‘±‰»‚³‚ê‚Ä‚¢‚éƒRƒŒƒNƒVƒ‡ƒ“‚â”z—ñ‚É“K—p‚³‚ê‚é
+                “ÁŽê‚ȃ^ƒCƒv‚̃NƒGƒŠ‚Å‚·B‚»‚̃NƒGƒŠ•¶Žš—ñ‚ł́AƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚»‚ÌŽž“_‚Å‚Ì—v‘f‚ðˆÓ–¡‚·‚é
+                <literal>this</literal> ‚ðŽg‚¢‚Ü‚·B </para>
+            
+            
+            <programlisting><![CDATA[Collection blackKittens = session.createFilter(
+    pk.getKittens(), 
+    "where this.color = ?")
+    .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )
+    .list()
+);]]></programlisting>
+            
+            <para>  •Ô‚³‚ê‚éƒRƒŒƒNƒVƒ‡ƒ“‚ÍBag‚Æ‚Ý‚È‚³‚ê‚Ü‚·B‚»‚µ‚āA‚»‚ê‚Í‚à‚Ƃ̃RƒŒƒNƒVƒ‡ƒ“‚̃Rƒs[‚É‚È‚è‚Ü‚·B
+                Œ³‚̃RƒŒƒNƒVƒ‡ƒ“‚͏C³‚³‚ê‚Ü‚¹‚ñi‚±‚ê‚́A"filter"‚Æ‚¢‚¤–¼‘O‚̈Ӗ¡‚Ƃ͈قȂè‚Ü‚·‚ªA Šú‘Ò‚³‚ê‚é“®‚«‚Ƃ͈ê’v‚µ‚Ä‚¢‚Ü‚·jB
+                </para>
+            
+            <para> ƒtƒBƒ‹ƒ^‚É‚Í <literal>from</literal> 
+                ß‚ª•s—v‚Å‚ ‚邱‚Æ‚É‹C‚­‚Å‚µ‚傤i•K—v‚È‚çAŽ‚‚±‚Æ‚à‰Â”\‚Å‚·‚ªjB ƒtƒBƒ‹ƒ^‚́AƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘fŽ©‘Ì‚ð•Ô‚µ‚č\‚¢‚Ü‚¹‚ñB
+                </para>
+            
+            
+            <programlisting><![CDATA[Collection blackKittenMates = session.createFilter(
+    pk.getKittens(), 
+    "select this.mate where this.color = eg.Color.BLACK.intValue")
+    .list();]]></programlisting>
+            
+            <para>  ƒNƒGƒŠ‚ðŠÜ‚Ü‚È‚¢ƒtƒBƒ‹ƒ^‚à–ð‚É—§‚¿‚Ü‚·B
+                —Ⴆ‚΁A”ñí‚É‘å‚«‚ȃRƒŒƒNƒVƒ‡ƒ“‚Ì•”•ªW‡‚ðƒ[ƒh‚·‚邽‚ß‚ÉŽg‚¦‚Ü‚·B </para>
+            
+            
+            <programlisting><![CDATA[Collection tenKittens = session.createFilter(
+    mother.getKittens(), "")
+    .setFirstResult(0).setMaxResults(10)
+    .list();]]></programlisting>
+            
+        </sect2>
+        
+        <sect2 id="objecstate-querying-criteria" revision="1">
+            <title>ƒNƒ‰ƒCƒeƒŠƒA‚̃NƒGƒŠ</title>
+            
+            <para> HQL‚Í”ñí‚É‹­—Í‚Å‚·‚ªAƒNƒGƒŠ•¶Žš—ñ‚ðì‚é‚æ‚è‚àAƒIƒuƒWƒFƒNƒgŽwŒü‚ÌAPI‚ðŽg‚Á‚Ä
+                “®“I‚ɃNƒGƒŠ‚ðì‚é•û‚ðD‚ÞŠJ”­ŽÒ‚à‚¢‚Ü‚·B ‚±‚¤‚¢‚Á‚½ê‡‚Ì‚½‚߂ɁAHibernate‚Í’¼Š´“I‚È
+                 <literal>Criteria</literal> ƒNƒGƒŠAPI‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B </para>
+            
+            
+            <programlisting><![CDATA[Criteria crit = session.createCriteria(Cat.class);
+crit.add( Restrictions.eq( "color", eg.Color.BLACK ) );
+crit.setMaxResults(10);
+List cats = crit.list();]]></programlisting>
+            
+            <para>  <literal>Criteria</literal> ‚Æ
+                 <literal>Example</literal> API‚̏ڍׂ́A <xref linkend="querycriteria"/>
+                 ‚ɏq‚ׂç‚ê‚Ä‚¢‚Ü‚·B </para>
+            
+        </sect2>
+        
+        <sect2 id="objectstate-querying-nativesql" revision="2">
+            <title>ƒlƒCƒeƒBƒuSQL‚̃NƒGƒŠ</title>
+            
+            <para> 
+                <literal>createSQLQuery()</literal> ‚ðŽg‚Á‚āASQL‚ŃNƒGƒŠ‚ð•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                ‚»‚µ‚āAHibernate‚ɁAResultSet ‚©‚çƒIƒuƒWƒFƒNƒg‚ւ̃}ƒbƒsƒ“ƒO‚ð‚Ü‚©‚¹‚Ü‚·B
+                 <literal>session.connection()</literal> ‚ðŒÄ‚ׂ΂ǂñ‚È‚Æ‚«‚Å‚àA’¼ÚAJDBC
+                 <literal>Connection</literal> ‚ðŽg—p‚Å‚«‚邱‚Æ‚ðŠo‚¦‚Ä‚¨‚«‚Ü‚µ‚傤B ‚à‚µAHibernate
+                API‚ðŽg‚¤‚Ì‚Å‚ ‚ê‚΁A‰º‹L‚̂悤‚ÉSQL‚Ì•Ê–¼‚ðŠ‡ŒÊ‚Å‚­‚­‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB </para>
+            
+            <programlisting><![CDATA[List cats = session.createSQLQuery("SELECT {cat.*} FROM CAT {cat} WHERE ROWNUM<10")
+    .addEntity("cat", Cat.class)
+.list();]]></programlisting>
+                
+            <programlisting><![CDATA[List cats = session.createSQLQuery(
+    "SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, " +
+           "{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... " +
+    "FROM CAT {cat} WHERE ROWNUM<10")
+    .addEntity("cat", Cat.class)
+.list()]]></programlisting>
+            
+            <para> 
+                SQLƒNƒGƒŠ‚́AHibernateƒNƒGƒŠ‚Æ“¯‚¶‚悤‚ɁA–¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚ƈʒuƒpƒ‰ƒ[ƒ^‚ðŽ‚Â‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                Hibernate‚É‚¨‚¯‚éƒlƒCƒeƒBƒu‚ÈSQLƒNƒGƒŠ‚̏ڍׂɂ‚¢‚ẮA <xref linkend="querysql"/> 
+                ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B </para>
+            
+        </sect2>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-modifying" revision="1">
+        <title>‰i‘±ƒIƒuƒWƒFƒNƒg‚̏C³</title>
+        
+        <para> 
+             <emphasis>ˆ—’†‚̉i‘±ƒCƒ“ƒXƒ^ƒ“ƒX</emphasis>
+            i—áF <literal>Session</literal> ‚É‚æ‚Á‚āA
+            ƒ[ƒhAƒZ[ƒuAì¬AƒNƒGƒŠ‚³‚ꂽƒIƒuƒWƒFƒNƒgj‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‘€ì‚³‚ê‚Ü‚·B
+            ‚»‚̍ۂɕύX‚³‚ꂽ‰i‘±ó‘Ԃ́A <literal>Session</literal> ‚ª <emphasis>ƒtƒ‰ƒbƒVƒ…</emphasis>
+            ‚³‚ê‚é‚Æ‚«‚ɁA‰i‘±‰»‚³‚ê‚Ü‚·i‚±‚ê‚́A‚±‚̏͂̌㔼‚ŏq‚ׂĂ¢‚Ü‚·jB
+            •ÏX‚ð‰i‘±‰»‚·‚邽‚߂ɁA“ÁŽê‚ȃƒ\ƒbƒhi <literal>update()</literal> 
+            ‚̂悤‚È‚à‚́B‚±‚ê‚́A•Ê‚Ì–Ú“I‚ÅŽg—p‚µ‚Ü‚·j‚ð ŒÄ‚Ô•K—v‚Í‚ ‚è‚Ü‚¹‚ñB ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô‚ðXV‚·‚éˆê”ÔŠÈ’P‚È•û–@‚́AƒIƒuƒWƒFƒNƒg‚ð
+             <literal>load()</literal> ‚µA <literal>Session</literal> 
+            ‚ðƒI[ƒvƒ“‚É‚µ‚Ä‚¢‚éŠÔ‚ɁA’¼Ú‘€ì‚·‚邱‚Æ‚Å‚·B </para>
+        
+        
+        <programlisting><![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long(69) );
+cat.setName("PK");
+sess.flush();  // changes to cat are automatically detected and persisted
+]]></programlisting>
+        
+        <para> 
+            iƒIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚·‚邽‚߂́jSQL‚Ì <literal>SELECT</literal> ‚ƁiXV‚³‚ꂽó‘Ô‚ð‰i‘±‰»‚·‚邽‚߂́j
+            SQL‚Ì <literal>UPDATE</literal> ‚ª“¯‚¶ƒZƒbƒVƒ‡ƒ“‚Å•K—v‚Æ‚È‚é‚̂ŁA‚±‚̃vƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚́A
+            Œø—¦‚ªˆ«‚­‚È‚éê‡‚ª‚ ‚è‚Ü‚·B
+            ‚»‚Ì‚½‚߁AHibernate‚Í•Ê‚Ì•û–@‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B‚»‚ê‚́AƒCƒ“ƒXƒ^ƒ“ƒX‚𕪗£‚·‚éidetachedj•û–@‚Å‚·B </para>
+        
+        <para> 
+            <emphasis>Hibernate‚́A <literal>UPDATE</literal> •¶‚â 
+            <literal>DELETE</literal> •¶‚𒼐ڎÀs‚·‚éAPI‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚¹‚ñB
+            Hibernate‚́A <emphasis>ó‘ÔŠÇ—</emphasis> ƒT[ƒrƒX‚Å‚ ‚èAŽg‚í‚ê‚éSQL
+             <emphasis>•¶</emphasis> ‚Ì‚±‚Æ‚ðŠJ”­ŽÒ‚ªl‚¦‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            JDBC‚ÍSQL•¶‚ðŽÀs‚·‚銮àø‚ÈAPI‚Å‚ ‚èA <literal>session.connection()</literal>
+             ‚ðŒÄ‚Ô‚±‚Æ‚Å ‚¢‚‚łàAJDBC <literal>Connection</literal> ‚ðŠJ”­ŽÒ‚͎擾‚Å‚«‚Ü‚·B
+            ‚³‚ç‚ɁA‘å—ʂ̃f[ƒ^‘€ì‚̍l‚¦•û‚́AƒIƒ“ƒ‰ƒCƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ˆ—Œü‚«ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì
+            ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒO‚ƏՓ˂µ‚Ü‚·B
+            ‚µ‚©‚µAHibernate‚̍¡Œã‚̃o[ƒWƒ‡ƒ“‚ł́A‘å—ʃf[ƒ^‚ðˆ—‚·‚é“Á•Ê‚È‹@”\‚ð’ñ‹Ÿ‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            ƒoƒbƒ`‘€ì‚É—˜—p‚Å‚«‚é‚¢‚­‚‚©‚̍H•v‚ɂ‚¢‚ẮA <xref linkend="batch"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B </emphasis>
+            </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-detached" revision="2">
+        <title>•ª—£ƒIƒuƒWƒFƒNƒg‚̏C³</title>
+        
+        <para>
+            ‘½‚­‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍŽŸ‚Ì‚±‚Æ‚ª•K—v‚É‚È‚è‚Ü‚·B
+            ‚»‚ê‚́A‚ ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ŃIƒuƒWƒFƒNƒg‚𕜌³‚µA‘€ì‚·‚邽‚ß‚É‚»‚ê‚ðUI‘w‚É‘—‚èA
+            ‚»‚ÌŒã‚ɁAV‚µ‚¢ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ŕύX‚ðƒZ[ƒu‚·‚é‚Æ‚¢‚Á‚½‚±‚Æ‚Å‚·B
+            •Às«‚̍‚‚¢ŠÂ‹«‚ŁA‚±‚̃^ƒCƒv‚̃Aƒvƒ[ƒ`‚ðŽg‚¤ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́A "ŠúŠÔ‚Ì’·‚¢"
+            ì‹Æ’PˆÊ‚ÌŠu—£«‚ð•ÛØ‚·‚邽‚߂ɁAƒo[ƒWƒ‡ƒ“ƒf[ƒ^‚ª’ʏíŽg‚í‚ê‚Ü‚·B </para>
+        
+        <para> 
+            Hibernate‚́A <literal>Session.update()</literal> ‚â
+             <literal>Session.merge()</literal> ƒƒ\ƒbƒh‚ð
+            Žg‚Á‚āA•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðÄ’ljÁ‚·‚邱‚ƂŁA‚±‚̃‚ƒfƒ‹‚ɑΉž‚µ‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[// in the first session
+Cat cat = (Cat) firstSession.load(Cat.class, catId);
+Cat potentialMate = new Cat();
+firstSession.save(potentialMate);
+
+// in a higher layer of the application
+cat.setMate(potentialMate);
+
+// later, in a new session
+secondSession.update(cat);  // update cat
+secondSession.update(mate); // update mate]]></programlisting>
+        
+        <para> 
+             Ž¯•ÊŽq<literal>catId</literal> ‚ðŽ‚Â <literal>Cat</literal> ‚ªAŠù‚É
+             <literal>secondSession</literal> ‚э[ƒh‚³‚ê‚Ä‚¢‚½ê‡‚́AÄ’ljÁ‚µ‚悤‚Æ‚µ‚½‚Æ‚«‚ɁA—áŠO‚ª“Š‚°‚ç‚ê‚Ü‚·B
+            </para>
+        
+        <para> 
+            “¯‚¶Ž¯•ÊŽq‚ðŽ‚Â‰i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒZƒbƒVƒ‡ƒ“‚ªŠù‚É•ÛŽ‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ð
+            ŠmM‚Å‚«‚é‚È‚ç <literal>update()</literal> ‚ðŽg‚¢‚Ü‚µ‚傤B
+            ‚»‚µ‚āAƒZƒbƒVƒ‡ƒ“‚̏ó‘Ô‚ðl‚¦‚¸‚ɁA‚Ç‚ñ‚ȏꍇ‚Å‚à•ÏX‚ðƒ}[ƒW‚µ‚½‚¢ê‡‚́A <literal>merge()</literal> 
+            ‚ðŽg‚¢‚Ü‚µ‚傤B ‚·‚È‚í‚¿A•ª—£ƒIƒuƒWƒFƒNƒg‚̍ĒljÁ‘€ì‚ªAÅ‰‚ÉŽÀs‚³‚ê‚邱‚Æ‚ðŠmŽÀ‚É‚·‚邽‚߂ɁA ’ʏí‚Í
+             <literal>update()</literal> ‚ªV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚Ì‚È‚©‚ōŏ‰‚ɌĂ΂ê‚郁ƒ\ƒbƒh‚É‚È‚è‚Ü‚·B </para>
+        
+        <para> 
+            •ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚©‚ç“ž’B‰Â”\‚ȁA•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍŒÂ•Ê‚É <literal>update()</literal>
+             ‚·‚ׂ«‚Å‚·B‚»‚ê‚́A‚»‚̏ó‘Ô‚ðXV‚µ‚½‚¢ê‡‚É <emphasis>ŒÀ‚è</emphasis> ‚Ü‚·B
+             <emphasis>‘JˆÚ“I‚ȉi‘±‰»</emphasis> ‚ðŽg‚¦‚΁A‚à‚¿‚ë‚ñŽ©“®‰»‚Å‚«‚Ü‚·B <xref
+                linkend="objectstate-transitive"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B </para>
+        
+        <para>
+            ƒƒ\ƒbƒh‚Å‚à‚Ü‚½AV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ɃIƒuƒWƒFƒNƒg‚ðÄŠÖ˜A•t‚¯‚Å‚«‚Ü‚·B ‚µ‚©‚µA•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚Í–³C³‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+        
+        
+        <programlisting><![CDATA[//just reassociate:
+sess.lock(fritz, LockMode.NONE);
+//do a version check, then reassociate:
+sess.lock(izi, LockMode.READ);
+//do a version check, using SELECT ... FOR UPDATE, then reassociate:
+sess.lock(pk, LockMode.UPGRADE);]]></programlisting>
+        
+        <para>
+            <literal>lock()</literal> ‚́A‚³‚Ü‚´‚Ü‚È
+             <literal>LockMode</literal> ‚Æ‚Æ‚à‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            Ú×‚́AAPIƒhƒLƒ…ƒƒ“ƒg‚ƃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ˆ—‚̏͂ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            Ä’ljÁ‚Ì‚Æ‚«‚É‚¾‚¯A <literal>lock()</literal> ‚ªŽg‚í‚ê‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB </para>
+        
+        <para>
+         ŠúŠÔ‚Ì’·‚¢ì‹Æ’PˆÊ‚́A‚»‚Ì‘¼‚̃‚ƒfƒ‹‚́A<xref linked="transactions-optimistic"/> ‚ŏq‚ׂĂ¢‚Ü‚·B </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-saveorupdate">
+        <title>Ž©“®“I‚ȏó‘ÔŒŸo</title>
+        
+        <para>
+            Hibernate‚̃†[ƒU‚ÍŽŸ‚Ì2‚‚̃P[ƒX‚Ì‚Ç‚¿‚ç‚É‚àŽg‚¦‚é”Ä—p“I‚ȃƒ\ƒbƒh‚ð—v‹‚µ‚Ä‚¢‚Ü‚µ‚½B
+            ‚»‚ê‚́AV‚µ‚¢Ž¯•ÊŽq‚𐶐¬‚µ‚Ĉꎞ“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ðƒZ[ƒu‚·‚邱‚ƂƁA
+            ‚»‚ÌŽž“_‚ÌŽ¯•ÊŽq‚ÆŠÖ˜A‚¢‚Ä‚¢‚镪—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðXV/Ä’ljÁ‚·‚邱‚Æ‚Ì‚Å‚«‚郁ƒ\ƒbƒh‚Å‚·B
+             <literal>saveOrUpdate()</literal> ‚Í‚±‚̂悤‚È‹@”\‚ðŽÀŒ»‚µ‚½ƒƒ\ƒbƒh‚Å‚·B </para>
+        
+        
+        <programlisting><![CDATA[// in the first session
+Cat cat = (Cat) firstSession.load(Cat.class, catID);
+
+// in a higher tier of the application
+Cat mate = new Cat();
+cat.setMate(mate);
+
+// later, in a new session
+secondSession.saveOrUpdate(cat);   // update existing state (cat has a non-null id)
+secondSession.saveOrUpdate(mate);  // save the new instance (mate has a null id)]]></programlisting>
+        
+        <para>
+            <literal>saveOrUpdate()</literal> ‚ÌŽg—p•û–@‚ƈӖ¡‚́A
+            V‚µ‚¢ƒ†[ƒU‚É‚Æ‚Á‚謗‚ðµ‚­‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            ‚Ü‚¸‘æˆê‚ɁA‚ ‚éƒZƒbƒVƒ‡ƒ“‚ÅŽg—p‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ê‚̐V‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ÅŽg‚¨‚¤‚Æ‚µ‚È‚¢ŒÀ‚èA
+            <literal>update()</literal> ‚â <literal>saveOrUpdate()</literal> ‚â
+             <literal>merge()</literal> ‚ðŽg‚¤•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‘S‘Ì‚ð’Ê‚¶‚āA‚±‚ê‚ç‚̃ƒ\ƒbƒh‚ð‘S‚­Žg‚í‚È‚¢‚±‚Æ‚à‚ ‚è‚Ü‚·B </para>
+        
+        <para>
+            ’ʏíA <literal>update()</literal> ‚â <literal>saveOrUpdate()</literal>
+             ‚ÍŽŸ‚̃VƒiƒŠƒI‚Å Žg‚í‚ê‚Ü‚·B </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªÅ‰‚̃ZƒbƒVƒ‡ƒ“‚ŃIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>ƒIƒuƒWƒFƒNƒg‚ªUI‘w‚É‘—‚ç‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>ƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚ĕύX‚ª‰Á‚¦‚ç‚ê‚Ü‚·B
+                    </para>
+            </listitem>
+            <listitem>
+                <para> ƒIƒuƒWƒFƒNƒg‚ªƒrƒWƒlƒXƒƒWƒbƒN‘w‚É‘—‚ç‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> 
+                    ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A2”Ԗڂ̃ZƒbƒVƒ‡ƒ“‚Å <literal>update()</literal>
+                     ‚ðŒÄ‚Ô‚±‚ƂŁA‚±‚ê‚ç‚̕ύX‚ð‰i‘±‰»‚µ‚Ü‚·B </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para> <literal>saveOrUpdate()</literal> ‚͈ȉº‚Ì‚±‚Æ‚ðs‚¢‚Ü‚·B </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>ƒIƒuƒWƒFƒNƒg‚ª‚±‚̃ZƒbƒVƒ‡ƒ“‚ŁA‚·‚łɉi‘±‰»‚³‚ê‚Ä‚¢‚ê‚΁A‰½‚à‚µ‚Ü‚¹‚ñB </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ‚»‚̃ZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A‚¢‚Ä‚¢‚é•Ê‚̃IƒuƒWƒFƒNƒg‚ª“¯‚¶Ž¯•ÊŽq‚ðŽ‚Á‚Ä‚¢‚é‚È‚çA —áŠO‚ð“Š‚°‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ª’l‚ðŽ‚½‚È‚¢‚È‚ç‚΁A <literal>save()</literal> ‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ª’l‚ðŽ‚¿A‚»‚Ì’l‚ªV‚½‚ɃCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Ì‚½‚ß‚Ì’l‚Å‚ ‚éê‡A ‚»‚̃IƒuƒWƒFƒNƒg‚ð
+                     <literal>save()</literal> ‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒIƒuƒWƒFƒNƒg‚ªi <literal>&lt;version&gt;</literal> ‚â
+                     <literal>&lt;timestamp&gt;</literal> ‚É‚æ‚Á‚āj
+                    ƒo[ƒWƒ‡ƒ“‚¯‚³‚ê‚Ä‚¢‚āAƒo[ƒWƒ‡ƒ“‚̃vƒƒpƒeƒB‚ª’l‚ðŽ‚¿A
+                    ‚»‚Ì’l‚ªV‚µ‚­ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Ì‚½‚ß‚Ì’l‚Å‚ ‚éê‡A ‚»‚̃IƒuƒWƒFƒNƒg‚ð
+                     <literal>save()</literal> ‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ‚»‚¤‚Å‚È‚¢ê‡‚́A‚»‚̃IƒuƒWƒFƒNƒg‚ð <literal>update()</literal> ‚µ‚Ü‚·B </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para>
+            ‚»‚µ‚āA <literal>merge()</literal> ‚͈ȉº‚̂悤‚É‚Æ‚Ä‚àˆÙ‚È‚è‚Ü‚·B </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    “¯‚¶Ž¯•ÊŽq‚ðŽ‚Â‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‚»‚ÌŽž“_‚ŃZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A•t‚¢‚Ä‚¢‚é‚È‚ç‚΁A
+                    ˆø”‚Ŏ󂯎æ‚Á‚½ƒIƒuƒWƒFƒNƒg‚̏ó‘Ô‚ð‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ɃRƒs[‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‚»‚ÌŽž“_‚ŃZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A•t‚¢‚Ä‚¢‚È‚¢‚È‚çA
+                    ƒf[ƒ^ƒx[ƒX‚©‚ç‚»‚ê‚ðƒ[ƒh‚·‚é‚©A‚ ‚é‚¢‚́AV‚µ‚¢‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ðì¬‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ª•Ô‚³‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> ˆø”‚Æ‚µ‚Ä—^‚¦‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚̓ZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A‚ðŽ‚¿‚Ü‚¹‚ñB ‚»‚ê‚́A•ª—£ó‘Ô‚Ì‚Ü‚Ü‚Å‚·B
+                    </para>
+            </listitem>
+        </itemizedlist>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-deleting" revision="1">
+        <title>‰i‘±ƒIƒuƒWƒFƒNƒg‚̍폜</title>
+        
+        <para>
+            <literal>Session.delete()</literal> 
+            ‚̓IƒuƒWƒFƒNƒg‚̏ó‘Ô‚ðƒf[ƒ^ƒx[ƒX‚©‚çíœ‚µ‚Ü‚·B ‚à‚¿‚ë‚ñAíœ‚µ‚½ƒIƒuƒWƒFƒNƒg‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•ÛŽ‚µ‚½‚Ü‚Ü‚Å‚à‚æ‚¢‚Å‚·B
+            ‚»‚Ì‚½‚߁A <literal>delete()</literal> ‚͉i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚ðˆêŽž“I‚É‚·‚é‚à‚̂ƍl‚¦‚é‚Ì‚ªˆê”Ô‚Å‚·B </para>
+        
+        <programlisting><![CDATA[sess.delete(cat);]]></programlisting>
+        
+        <para>
+            ŠO•”ƒL[§–ñ‚Ɉᔽ‚·‚郊ƒXƒN‚à‚È‚­AD‚«‚ȏ‡”ԂŃIƒuƒWƒFƒNƒg‚ðíœ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚½‚¾‚µAŠÔˆá‚Á‚½‡”ԂŃIƒuƒWƒFƒNƒg‚ðíœ‚·‚é‚ƁAŠO•”ƒL[ƒJƒ‰ƒ€‚Ì <literal>NOT NULL</literal> 
+            §–ñ‚Ɉᔽ‚·‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B —Ⴆ‚΁AeƒIƒuƒWƒFƒNƒg‚ðíœ‚µ‚½‚Æ‚«‚ɁAŽq‹ŸƒIƒuƒWƒFƒNƒg‚ðíœ‚µ–Y‚ꂽê‡‚Å‚·B </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-replicating" revision="1">
+        <title>ˆÙ‚È‚é“ñ‚‚̃f[ƒ^ƒXƒgƒAŠÔ‚ł̃IƒuƒWƒFƒNƒg‚̃ŒƒvƒŠƒP[ƒVƒ‡ƒ“</title>
+        
+        <para> 
+            ‰i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚̃Oƒ‰ƒt‚ð•Ê‚̃f[ƒ^ƒXƒgƒA‚ɉi‘±‰»‚·‚éê‡‚ɁA
+            Ž¯•ÊŽq‚Ì’l‚ðÄ¶¬‚¹‚¸‚É‚·‚Þ‚Æ•Ö—˜‚ȏꍇ‚ª‚ ‚è‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[//retrieve a cat from one database
+Session session1 = factory1.openSession();
+Transaction tx1 = session1.beginTransaction();
+Cat cat = session1.get(Cat.class, catId);
+tx1.commit();
+session1.close();
+
+//reconcile with a second database
+Session session2 = factory2.openSession();
+Transaction tx2 = session2.beginTransaction();
+session2.replicate(cat, ReplicationMode.LATEST_VERSION);
+tx2.commit();
+session2.close();]]></programlisting>
+        
+        <para>
+            ƒŒƒvƒŠƒP[ƒVƒ‡ƒ“æ‚̃f[ƒ^ƒx[ƒX‚ɍs‚ªŠù‚É‚ ‚éê‡A <literal>replicate()</literal>
+             ‚ªÕ“Ë‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ð <literal>ReplicationMode</literal> ‚ÅŽw’肵‚Ü‚·B </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>ReplicationMode.IGNORE</literal> -
+                    “¯‚¶Ž¯•ÊŽq‚ðŽ‚Âs‚ªƒf[ƒ^ƒx[ƒX‚É‘¶Ý‚·‚é‚È‚çA ‚»‚̃IƒuƒWƒFƒNƒg‚𖳎‹‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>ReplicationMode.OVERWRITE</literal> - “¯‚¶Ž¯•ÊŽq‚ðŽ‚ÂŠù‘¶‚̍s‚ð
+                    ‚·‚ׂď㏑‚«‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>ReplicationMode.EXCEPTION</literal> -
+                    “¯‚¶Ž¯•ÊŽq‚ðŽ‚Âs‚ªƒf[ƒ^ƒx[ƒX‚É‘¶Ý‚·‚é‚È‚çA —áŠO‚ð“Š‚°‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> 
+                    <literal>ReplicationMode.LATEST_VERSION</literal> -
+                    s‚É•Û‘¶‚³‚ê‚Ä‚¢‚éƒo[ƒWƒ‡ƒ“”ԍ†‚ªA ˆø”‚̃IƒuƒWƒFƒNƒg‚̃o[ƒWƒ‡ƒ“”ԍ†‚æ‚èŒÃ‚¢‚È‚ç‚΁A‚»‚̍s‚ðã‘‚«‚µ‚Ü‚·B
+                    </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para>
+            ŽŸ‚̂悤‚ȃP[ƒX‚ŁA‚±‚Ì‹@”\‚ðŽg—p‚µ‚Ü‚·B ˆÙ‚È‚éƒf[ƒ^ƒx[ƒXƒCƒ“ƒXƒ^ƒ“ƒX‚É“ü‚ê‚ç‚ꂽƒf[ƒ^‚Ì“¯ŠúA
+            »•iXVŽž‚É‚¨‚¯‚éƒVƒXƒeƒ€Ý’èî•ñ‚̍XVA”ñACIDƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚È‚©‚ʼnÁ‚¦‚ç‚ꂽ•ÏX‚̃[ƒ‹ƒoƒbƒN‚È‚Ç‚Å‚·B </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-flushing">
+        <title>ƒZƒbƒVƒ‡ƒ“‚̃tƒ‰ƒbƒVƒ…</title>
+        
+        <para>
+            JDBCƒRƒlƒNƒVƒ‡ƒ“‚̏ó‘Ԃƃƒ‚ƒŠã‚̃IƒuƒWƒFƒNƒg‚̏ó‘Ԃ𓯊ú‚³‚¹‚邽‚ß‚É•K—v‚È
+            SQL•¶‚ð <literal>Session</literal> ‚ªŽÀs‚·‚邱‚Æ‚ª‚Æ‚«‚Ç‚«‚ ‚è‚Ü‚·B ‚±‚̏ˆ—
+             <emphasis>flush</emphasis> ‚́AƒfƒtƒHƒ‹ƒg‚Å‚ÍŽŸ‚Ì‚Æ‚«‚É‹N‚±‚è‚Ü‚·B </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para> ƒNƒGƒŠ‚ðŽÀs‚·‚é‘O </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>org.hibernate.Transaction.commit()</literal> ‚ðŽÀs‚µ‚½‚Æ‚«
+                    </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>Session.flush()</literal> ‚ðŽÀs‚µ‚½‚Æ‚« </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para>  SQL•¶‚͈ȉº‚̏‡”Ô‚Å”­s‚³‚ê‚Ü‚·B
+            </para>
+        
+        <orderedlist spacing="compact">
+            <listitem>
+                <para>
+                    ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚Ì‘}“üB‚±‚ê‚́A <literal>Session.save()</literal> ‚ðŽg‚Á‚ăZ[ƒu‚µ‚½
+                    ƒIƒuƒWƒFƒNƒg‚̏‡‚ÉŽÀs‚µ‚Ä‚¢‚«‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚̍XV </para>
+            </listitem>
+            <listitem>
+                <para> ‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚̍폜 </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ɑ΂·‚éíœAXVA‘}“ü </para>
+            </listitem>
+            <listitem>
+                <para>‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚Ì‘}“ü </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚̍폜B‚±‚ê‚́A<literal>Session.delete()</literal> ‚ðŽg‚Á‚Ä
+                    íœ‚µ‚½ƒIƒuƒWƒFƒNƒg‚̏‡‚ÉŽÀs‚µ‚Ä‚¢‚«‚Ü‚·B </para>
+            </listitem>
+        </orderedlist>
+        
+        <para>
+            (‚P‚—áŠO‚ª‚ ‚è‚Ü‚·B <literal>native</literal> ID ¶¬‚ðŽg‚Á‚½ƒIƒuƒWƒFƒNƒg‚́A
+            ‚»‚ê‚炪ƒZ[ƒu‚³‚ꂽ‚Æ‚«‚É‘}“ü‚³‚ê‚Ü‚·Bj </para>
+        
+        <para>
+             –¾Ž¦“I‚É
+             <literal>flush()</literal> ‚·‚é‚Æ‚«‚ðœ‚¢‚āA <emphasis>‚¢‚Â</emphasis>
+            <literal>Session</literal> ‚ªJDBC‚ðƒR[ƒ‹‚·‚é‚Ì‚©‚ɂ‚¢‚Ä
+             â‘ΓI‚ȕۏ؂͂ ‚è‚Ü‚¹‚ñB‚½‚¾‚µA‚»‚ê‚炪ŽÀs‚³‚ê‚é <emphasis>‡”Ô</emphasis> ‚¾‚¯‚Í •ÛØ‚³‚ê‚Ü‚·B
+            ‚Ü‚½AHibernate ‚́A <literal>Query.list(..)</literal> ‚ªŒÃ‚¢ƒf[ƒ^‚âŠÔˆá‚Á‚½ƒf[ƒ^•Ô‚³‚È‚¢‚±‚Æ‚ð
+            •ÛØ‚µ‚Ä‚¢‚Ü‚·B </para>
+        
+        <para>
+            ƒtƒ‰ƒbƒVƒ…‚ª•p”É‚É‹N‚±‚ç‚È‚¢‚悤‚ɃfƒtƒHƒ‹ƒg‚̐U‚é•‘‚¢‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B <literal>FlushMode</literal>
+            ƒNƒ‰ƒX‚Í3‚‚̈قȂ郂[ƒh‚ð’è‹`‚µ‚Ü‚·B ‚»‚ê‚́AƒRƒ~ƒbƒgŽž‚É‚¾‚¯ƒtƒ‰ƒbƒVƒ…‚·‚郂[ƒh iHibernate‚Ì
+             <literal>Transaction</literal> API‚ªŽg‚í‚ê‚éê‡‚¾‚¯‚Å‚·jA
+            à–¾‚Ì‚ ‚Á‚½ˆ—‡‚ÉŠî‚¢‚ÄŽ©“®‚Ńtƒ‰ƒbƒVƒ…‚·‚郂[ƒhA <literal>flush()</literal> 
+            ‚ª–¾Ž¦“I‚ɌĂ΂ê‚È‚¢ŒÀ‚èƒtƒ‰ƒbƒVƒ…‚µ‚È‚¢ƒ‚[ƒh‚Ì‚R‚‚ł·B ÅŒã‚̃‚[ƒh‚́Aì‹Æ’PˆÊ‚ª’·ŠúŠÔ‚É‹y‚ԏꍇ‚É–ð‚É—§‚¿‚Ü‚· ( <xref
+                linkend="transactions-optimistic-longsession"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢)B
+            </para>
+        
+        
+        <programlisting><![CDATA[sess = sf.openSession();
+Transaction tx = sess.beginTransaction();
+sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale state
+
+Cat izi = (Cat) sess.load(Cat.class, id);
+izi.setName(iznizi);
+
+// might return stale data
+sess.find("from Cat as cat left outer join cat.kittens kitten");
+
+// change to izi is not flushed!
+...
+tx.commit(); // flush occurs
+sess.close();]]></programlisting>
+        
+        <para>ƒtƒ‰ƒbƒVƒ…‚Ì‚Æ‚«A—áŠO‚ª”­¶‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            i—Ⴆ‚΁ADML‘€ì‚ª§–ñ‚ðˆá”½‚·‚é‚悤‚ȏꍇ‚Å‚·Bj
+            —áŠOˆ—‚ð—‰ð‚·‚é‚½‚߂ɂ́AHibernate‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̐U‚é•‘‚¢‚ð—‰ð‚·‚é•K—v‚ª‚ ‚邽‚߁A <xref
+                linkend="transactions"/> ‚Åà–¾‚µ‚Ü‚·B </para>
+        
+    </sect1>
+    
+    <sect1 id="objectstate-transitive" revision="1">
+        <title>˜A½“I‚ȉi‘±‰»</title>
+        
+        <para>
+            ŒÂX‚̃IƒuƒWƒFƒNƒg‚ðƒZ[ƒu‚µ‚½‚èAíœ‚µ‚½‚èAÄ’ljÁ‚µ‚½‚è‚·‚邱‚Æ‚Í
+            ‚©‚È‚è–Ê“|‚Å‚·B“Á‚ɁAŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ðˆµ‚¤‚悤‚ȏꍇ‚ɂ͍ۗ§‚¿‚Ü‚·B ‚æ‚­‚ ‚é‚̂́AeŽqŠÖŒW‚ðˆµ‚¤ƒP[ƒX‚Å‚·B
+            ˆÈ‰º‚Ì—á‚ðl‚¦‚Ä‚Ý‚Ü‚µ‚傤B </para>
+        
+        <para>
+            ‚à‚µAeŽqŠÖŒW‚ÌŽq‚ª’lŒ^‚È‚çi—Ⴆ‚΁AZŠ‚╶Žš—ñ‚̃RƒŒƒNƒVƒ‡ƒ“jA
+            ‚»‚ê‚ç‚̃‰ƒCƒtƒTƒCƒNƒ‹‚͐e‚Ɉˑ¶‚µ‚Ä‚¨‚èA•Ö—˜‚ȏó‘ԕω»‚Ì"ƒJƒXƒP[ƒh"‚ðŽg‚¤‚½‚߂ɁA ’ljÁ‚̍ì‹Æ‚Í•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            e‚ªƒZ[ƒu‚³‚ꂽ‚Æ‚«A’lŒ^‚ÌŽqƒIƒuƒWƒFƒNƒg‚à“¯‚¶‚悤‚ɃZ[ƒu‚³‚ê‚Ü‚·‚µA e‚ªíœ‚³‚ꂽ‚Æ‚«‚́AŽq‚àíœ‚³‚ê‚Ü‚·B‚»‚Ì‘¼‚Ì‘€ì‚à“¯‚¶‚Å‚·B
+            ƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç1‚‚̎q‚ðíœ‚·‚é‚悤‚È‘€ì‚Å‚à‚¤‚Ü‚­‚¢‚«‚Ü‚·B ‚·‚È‚í‚¿AHibernate‚Í‚±‚̍폜‘€ì‚ðŒŸo‚·‚é‚ƁA
+            ’lŒ^‚̃IƒuƒWƒFƒNƒg‚ÍŽQÆ‚ð‹¤—L‚Å‚«‚È‚¢‚̂ŁAƒf[ƒ^ƒx[ƒX‚©‚ç‚»‚ÌŽq‹Ÿ‚ðíœ‚µ‚Ü‚·B </para>
+        
+        <para>‚±‚±‚ŁAe‚ÆŽq‚ª’lŒ^‚Å‚È‚­ƒGƒ“ƒeƒBƒeƒB‚Å‚ ‚é‚Æ‚µ‚Ä“¯‚¶ƒVƒiƒŠƒI‚ðl‚¦‚Ä‚Ý‚Ü‚µ‚傤B
+            i—Ⴆ‚΁AƒJƒeƒSƒŠ[‚Æ•i–Ú‚ÌŠÖŒW‚âe‚ÆŽq‚Ì”L‚ÌŠÖŒW‚Å‚·Bj ƒGƒ“ƒeƒBƒeƒB‚́A‚»‚ꎩg‚ªƒ‰ƒCƒtƒTƒCƒNƒ‹‚ðŽ‚¿AŽQÆ‚Ì‹¤—L‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+            i‚»‚Ì‚½‚߁AƒRƒŒƒNƒVƒ‡ƒ“‚©‚çƒGƒ“ƒeƒBƒeƒB‚ðíœ‚·‚邱‚Ƃ́A ƒGƒ“ƒeƒBƒeƒBŽ©g‚̍폜‚ðˆÓ–¡‚µ‚Ü‚¹‚ñBj
+            ‚Ü‚½AƒGƒ“ƒeƒBƒeƒB‚́AƒfƒtƒHƒ‹ƒg‚ł́AŠÖ˜A‚·‚鑼‚̃Gƒ“ƒeƒBƒeƒB‚Ö ó‘Ô‚ðƒJƒXƒP[ƒh‚·‚邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB Hibernate‚Í
+             <emphasis>“ž’B‰Â”\«‚É‚æ‚é‰i‘±‰»</emphasis> ‚ðƒfƒtƒHƒ‹ƒg‚Å‚ÍŽÀs‚µ‚Ü‚¹‚ñB </para>
+        
+        <para>
+            Hibernate‚ÌSession‚ÌŠî–{‘€ìi <literal>persist(), merge(), saveOrUpdate(),
+            delete(), lock(), refresh(), evict(), replicate()</literal> ‚ªŠÜ‚Ü‚ê‚Ü‚·j‚ɑ΂µ‚āA
+            ‚»‚ꂼ‚ê‚ɑΉž‚·‚éƒJƒXƒP[ƒhƒXƒ^ƒCƒ‹‚ª‚ ‚è‚Ü‚·B ‚»‚ꂼ‚ê‚̃JƒXƒP[ƒhƒXƒ^ƒCƒ‹‚ɂ́A <literal>create, merge,
+            save-update, delete, lock, refresh, evict, replicate</literal> 
+            ‚Æ‚¢‚¤–¼‘O‚ª‚‚¢‚Ä‚¢‚Ü‚·B ‚à‚µAŠÖ˜A‚ɉˆ‚Á‚ăJƒXƒP[ƒh‚³‚¹‚½‚¢‘€ì‚ª‚ ‚é‚È‚çAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚É‚»‚¤Žw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            —Ⴆ‚΁AˆÈ‰º‚̂悤‚É‚µ‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[<one-to-one name="person" cascade="persist"/>]]></programlisting>
+        
+        <para> ƒJƒXƒP[ƒhƒXƒ^ƒCƒ‹‚́A‘g‚ݍ‡‚킹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B </para>
+        
+        
+        <programlisting><![CDATA[<one-to-one name="person" cascade="persist,delete,lock"/>]]></programlisting>
+        
+        <para>
+            <emphasis>‚·‚ׂĂÌ</emphasis>
+            ‘€ì‚ðŠÖ˜A‚ɉˆ‚Á‚ăJƒXƒP[ƒh‚·‚é‚悤Žw’è‚·‚é‚Æ‚«‚́A <literal>cascade="all"</literal> ‚ðŽg‚¢‚Ü‚·B
+            ƒfƒtƒHƒ‹ƒg‚Ì <literal>cascade="none"</literal> ‚́A‚Ç‚Ì‘€ì‚àƒJƒXƒP[ƒh‚µ‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+            </para>
+        
+        <para>
+             “ÁŽê‚ȃJƒXƒP[ƒhƒXƒ^ƒCƒ‹
+             <literal>delete-orphan</literal> ‚́Aˆê‘Α½ŠÖ˜A‚É‚¾‚¯ “K—p‚Å‚«‚Ü‚·B
+            ‚±‚ê‚́AŠÖ˜A‚©‚çíœ‚³‚ꂽŽq‹Ÿ‚̃IƒuƒWƒFƒNƒg‚ɑ΂µ‚āA <literal>delete()</literal> 
+            ‘€ì‚ª“K—p‚³‚ê‚邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B </para>
+        
+        <para>‚¨‚·‚·‚߁F </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para> 
+                    •’ʁA <literal>&lt;many-to-one&gt;</literal> ‚â
+                     <literal>&lt;many-to-many&gt;</literal> ŠÖ˜A‚ɑ΂µ‚ẮA
+                    ƒJƒXƒP[ƒh‚ðÝ’è‚·‚éˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñB <literal>&lt;one-to-one&gt;</literal> ‚Æ
+                     <literal>&lt;one-to-many&gt;</literal> ŠÖ˜A‚ɑ΂µ‚ẮA
+                    ƒJƒXƒP[ƒh‚ª–ð‚É—§‚‚±‚Æ‚ª‚ ‚è‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> 
+                    Žq‹ŸƒIƒuƒWƒFƒNƒg‚ÌŽõ–½‚ªeƒIƒuƒWƒFƒNƒg‚ÌŽõ–½‚ɐ§ŒÀ‚ðŽó‚¯‚é‚È‚ç‚΁A
+                     <literal>cascade="all,delete-orphan"</literal> ‚ðŽw’肵A Žq‹ŸƒIƒuƒWƒFƒNƒg‚ð
+                     <emphasis>ƒ‰ƒCƒtƒTƒCƒNƒ‹ƒIƒuƒWƒFƒNƒg</emphasis> ‚É‚µ‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> .
+                    ‚»‚êˆÈŠO‚̏ꍇ‚́AƒJƒXƒP[ƒh‚Í‚Ù‚Æ‚ñ‚Ç•K—v‚È‚¢‚Å‚µ‚傤B
+                    ‚µ‚©‚µA“¯‚¶ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚È‚©‚Őe‚ÆŽq‚ªˆê‚É“®ì‚·‚邱‚Æ‚ª‘½‚¢‚ÆŽv‚¢A
+                    ‚¢‚­‚ç‚©‚̃R[ƒh‚ð‘‚­ŽèŠÔ‚ðÈ‚«‚½‚¢‚Ì‚Å‚ ‚ê‚΁A
+                     <literal>cascade="persist,merge,save-update"</literal>
+                     ‚ðŽg‚¤‚±‚Æ‚ðl‚¦‚Ü‚µ‚傤B </para>
+            </listitem>
+        </itemizedlist>
+        
+        <para> <literal>cascade="all"</literal> ‚Ń}ƒbƒsƒ“ƒO‚µ‚½ŠÖ˜Ai’P’lŠÖ˜A‚âƒRƒŒƒNƒVƒ‡ƒ“j‚́A
+            <emphasis>eŽq</emphasis> ƒXƒ^ƒCƒ‹‚ÌŠÖ˜A‚ƃ}[ƒN‚³‚ê‚Ü‚·B
+            ‚»‚ê‚́Ae‚̃Z[ƒu/XV/íœ‚ªAŽq‚̃Z[ƒu/XV/íœ‚ðˆø‚«‹N‚±‚·ŠÖŒW‚Ì‚±‚Æ‚Å‚·B </para>
+            
+        <para>
+            ‚³‚ç‚ɁA‰i‘±‰»‚³‚ꂽe‚ªŽq‚ð’P‚ÉŽQÆ‚µ‚Ä‚¢‚邾‚¯‚ŁAŽq‚̃Z[ƒu/XV‚ðˆø‚«‹N‚±‚µ‚Ü‚·B
+            ‚µ‚©‚µA‚±‚̃ƒ^ƒtƒ@[‚Í•sŠ®‘S‚Å‚·Be‚©‚çŽQÆ‚³‚ê‚È‚­‚È‚Á‚½Žq‚́AŽ©“®“I‚ɍ폜 <emphasis>‚³‚ê‚Ü‚¹‚ñ</emphasis> B
+            ‚½‚¾‚µA <literal>cascade="delete-orphan"</literal> ‚Ń}ƒbƒsƒ“ƒO‚³‚ꂽ
+            <literal>&lt;one-to-many&gt;</literal> ŠÖ˜A‚𠏜‚¢‚Ä‚Å‚·B
+            eŽqŠÖŒW‚̃JƒXƒP[ƒh‘€ì‚̐³Šm‚ȈӖ¡‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B </para>
+        
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                     e‚ª
+                     <literal>persist()</literal> ‚É“n‚³‚ꂽ‚È‚ç‚΁A ‚·‚ׂĂ̎q‚Í
+                     <literal>persist()</literal> ‚É“n‚³‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para> 
+                     <literal>merge()</literal> ‚É“n‚³‚ꂽ‚È‚ç‚΁A ‚·‚ׂĂ̎q‚Í
+                     <literal>merge()</literal> ‚É“n‚³‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                     e‚ª <literal>save()</literal>
+                     A <literal>update()</literal>
+                     A <literal>saveOrUpdate()</literal> ‚É“n‚³‚ꂽ‚È‚ç‚΁A‚·‚ׂĂ̎q‚Í
+                     <literal>saveOrUpdate()</literal> ‚É“n‚³‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ˆêŽž“I‚Ü‚½‚Í•ª—£ó‘Ô‚ÌŽq‚ªA‰i‘±‰»‚³‚ꂽe‚ÉŽQÆ‚³‚ꂽ‚È‚ç‚΁A
+                     <literal>saveOrUpdate()</literal> ‚É“n‚³‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    e‚ªíœ‚³‚ꂽ‚È‚ç‚΁A‚·‚ׂĂ̎q‚́A <literal>delete()</literal> ‚É“n‚³‚ê‚Ü‚·B </para>
+            </listitem>
+            <listitem>
+                <para>
+                    Žq‚ª‰i‘±‰»‚³‚ꂽe‚©‚çŽQÆ‚³‚ê‚È‚­‚È‚Á‚½‚Æ‚«‚́A <emphasis>“Á‚ɉ½‚à‹N‚±‚è‚Ü‚¹‚ñ</emphasis> B
+                    ‚æ‚Á‚āAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•K—v‚Å‚ ‚ê‚΁A–¾Ž¦“I‚ɍ폜‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                    ‚½‚¾‚µA <literal>cascade="delete-orphan"</literal> ‚̏ꍇ‚ðœ‚«‚Ü‚·B
+                    ‚±‚̏ꍇAue‚Ì‚È‚¢vŽq‚͍폜‚³‚ê‚Ü‚·B </para>
+            </listitem>
+        </itemizedlist>
+        <para>
+            ÅŒã‚ɁA‘€ì‚̃JƒXƒP[ƒh‚ªƒIƒuƒWƒFƒNƒgƒOƒ‰ƒt‚É“K—p‚³‚ê‚é‚̂́A <emphasis>ƒR[ƒ‹‚µ‚½Žž</emphasis>
+             ‚ ‚é‚¢‚́A <emphasis>flush‚µ‚½Žž</emphasis> ‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚·‚ׂĂ̑€ì‚́A‚»‚Ì‘€ì‚ªŽÀs‚³‚ꂽ‚Æ‚«‚ɁA“ž’B‰Â”\‚ÈŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä 
+            ƒJƒXƒP[ƒh‚ª‰Â”\‚È‚çƒJƒXƒP[ƒh‚µ‚Ü‚·B
+            ‚µ‚©‚µA <literal>save-upate</literal> ‚Æ
+             <literal>delete-orphan</literal> ‚́A <literal>Session</literal> 
+            ‚ªflush‚µ‚Ä‚¢‚éŠÔ‚ɁA ‚·‚ׂĂ̓ž’B‰Â”\‚ÈŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚É“`”d‚µ‚Ü‚·B</para>
+    </sect1>
+    
+    <sect1 id="objectstate-metadata">
+        <title>ƒƒ^ƒf[ƒ^‚ÌŽg—p</title>
+        
+        <para>
+             Hibernate‚́A‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚Æ’lŒ^‚Ì”ñí‚ɃŠƒbƒ`‚ȃƒ^ƒŒƒxƒ‹‚̃‚ƒfƒ‹‚ð•K—v‚Æ‚µ‚Ü‚·B
+            ‚Æ‚«‚Ç‚«A‚±‚̃‚ƒfƒ‹‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Æ‚Á‚Ä‚Æ‚Ä‚à–ð‚É—§‚¿‚Ü‚·B
+            —Ⴆ‚΁AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́AHibernate‚̃ƒ^ƒf[ƒ^‚ðŽg‚Á‚āA"Œ«‚¢" ƒfƒB[ƒvƒRƒs[ƒAƒ‹ƒSƒŠƒYƒ€‚ð
+            ŽÀ‘•‚Å‚«‚é‚©‚à‚µ‚Ü‚¹‚ñB‚»‚̃Aƒ‹ƒSƒŠƒYƒ€‚Ƃ́A‚ǂ̃IƒuƒWƒFƒNƒg‚ªƒRƒs[‚³‚ê‚é‚ׂ«‚©i—áF‰Â•Ï‚Ì’lŒ^j‚â
+            ‚ǂ̃IƒuƒWƒFƒNƒg‚̓Rƒs[‚³‚ê‚È‚¢‚ׂ«‚©i—áF•s•Ï‚È’lŒ^‚â‰Â”\‚È‚çŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒBj‚ð ”»’f‚Å‚«‚é‚à‚Ì‚Å‚·B </para>
+            
+            
+        <para> 
+            Hibernate‚Í<literal>ClassMetadata</literal>
+            ‚Æ<literal>CollectionMetadata</literal> ƒCƒ“ƒ^ƒtƒF[ƒX‚Æ
+             <literal>Type</literal> ŠK‘w‚ð’Ê‚µ‚ăƒ^ƒf[ƒ^‚ðŒöŠJ‚µ‚Ü‚·B
+            ƒƒ^ƒf[ƒ^ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚́A <literal>SessionFactory</literal> ‚©‚瓾‚ç‚ê‚Ü‚·B
+            </para>
+        
+        
+        <programlisting><![CDATA[Cat fritz = ......;
+ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);
+
+Object[] propertyValues = catMeta.getPropertyValues(fritz);
+String[] propertyNames = catMeta.getPropertyNames();
+Type[] propertyTypes = catMeta.getPropertyTypes();
+
+// get a Map of all properties which are not collections or associations
+Map namedValues = new HashMap();
+for ( int i=0; i<propertyNames.length; i++ ) {
+    if ( !propertyTypes[i].isEntityType() && !propertyTypes[i].isCollectionType() ) {
+        namedValues.put( propertyNames[i], propertyValues[i] );
+    }
+}]]></programlisting>
+        
+    </sect1>
+    
+</chapter>
\ No newline at end of file

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/toolset_guide.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,634 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="toolsetguide" revision="2">
+    <title>Toolset Guide
+    
+    ƒc[ƒ‹ƒZƒbƒgƒKƒCƒh
+    </title>
+
+    <para>
+         Hibernate‚ðŽg‚Á‚½ƒ‰ƒEƒ“ƒhƒgƒŠƒbƒvƒGƒ“ƒWƒjƒAƒŠƒ“ƒO‚́A
+         Eclipseƒvƒ‰ƒOƒCƒ“‚âƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ƒc[ƒ‹A‚à‚¿‚ë‚ñAntƒ^ƒXƒN‚ðŽg‚¤‚±‚Ƃʼn”\‚Å‚·B
+    </para>
+
+    <para>
+         <emphasis>Hibernate Tools</emphasis> ‚ÍŒ»ÝAŠù‘¶ƒf[ƒ^ƒx[ƒX‚̃Šƒo[ƒXƒGƒ“ƒWƒjƒAƒŠƒ“ƒO‚ÌAntƒ^ƒXƒN‚ɉÁ‚¦‚āAEclipseIDE‚̃vƒ‰ƒOƒCƒ“‚ðŠÜ‚Ý‚Ü‚·B
+    </para>
+
+    <itemizedlist>
+        <listitem><para>
+             <emphasis>ƒ}ƒbƒsƒ“ƒOƒGƒfƒBƒ^:</emphasis> 
+            Hibernate‚ÌXMLƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹—p‚̃GƒfƒBƒ^‚ŁA
+            Ž©“®•âŠ®‚ƍ\•¶‹­’²•\Ž¦‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·BƒNƒ‰ƒX–¼‚âƒvƒƒpƒeƒB/ƒtƒB[ƒ‹ƒh–¼‚ɑ΂·‚鎩“®•âŠ®‚àƒTƒ|[ƒg‚µA
+            ’ʏí‚ÌXMLƒGƒfƒBƒ^‚æ‚è‚à‹­—Í‚Å‚·B
+        </para></listitem>
+        <listitem><para>
+             <emphasis>Console:</emphasis> 
+            ƒRƒ“ƒ\[ƒ‹‚̓GƒNƒŠƒvƒX‚̐V‚µ‚¢ƒrƒ…[‚Å‚·B
+            ƒRƒ“ƒ\[ƒ‹ƒRƒ“ƒtƒBƒMƒ…ƒŒ[ƒVƒ‡ƒ“‚̃cƒŠ[ƒI[ƒo[ƒrƒ…[‚ɉÁ‚¦‚āA‰i‘±ƒNƒ‰ƒX‚Æ‚»‚ÌŠÖ˜A‚Ì‘ŠŒÝì—pƒrƒ…[‚à“¾‚ç‚ê‚Ü‚·B
+            ƒf[ƒ^ƒx[ƒX‚ÉHQL‚ðŽÀs‚µAŒ‹‰Ê‚𒼐ڃGƒNƒŠƒvƒXã‚ÅŒ©‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+        </para></listitem>
+        <listitem><para>
+             <emphasis>ŠJ”­ƒEƒBƒU[ƒh</emphasis> 
+            Hibernate‚ÌEclipseƒc[ƒ‹‚Í‚¢‚­‚‚©‚̃EƒBƒU[ƒh‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+            ƒEƒBƒU[ƒh‚ðŽg‚Á‚ÄHibernate‚̐ݒèƒtƒ@ƒCƒ‹(cfg.xml)‚ð‚·‚Î‚â‚­¶¬‚µ‚½‚èA
+            Šù‘¶‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ðPOJO‚̃\[ƒXƒtƒ@ƒCƒ‹‚ÆHibernate‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ւƁA
+            Š®‘S‚ɃŠƒo[ƒXƒGƒ“ƒWƒjƒAƒŠƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ƒŠƒo[ƒXƒGƒ“ƒWƒjƒAƒŠƒ“ƒOƒEƒBƒU[ƒh‚̓JƒXƒ^ƒ}ƒCƒY‰Â”\‚ȃeƒ“ƒvƒŒ[ƒg‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+        </para></listitem>
+        <listitem><para>
+            <emphasis>Ant Tasks:</emphasis> 
+        </para></listitem>
+
+    </itemizedlist>
+
+    <para>
+        ‚æ‚èÚ‚µ‚¢î•ñ‚Í <emphasis>Hibernate Tools</emphasis>  ƒpƒbƒP[ƒW‚Æ‚»‚̃hƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+    </para>
+
+    <para>
+        ‚µ‚©‚µAHibernate‚̃ƒCƒ“ƒpƒbƒP[ƒW‚Í <emphasis>SchemaExport</emphasis> A
+        •Ê–¼ <literal>hbm2ddl</literal> ‚àŠÜ‚Ý‚Ü‚·(Hibernate“à‚ŃIƒ“ƒUƒtƒ‰ƒC‚ÅŽg—p‚Å‚«‚Ü‚·)B
+    </para>
+
+    <sect1 id="toolsetguide-s1" revision="2">
+        <title>ƒXƒL[ƒ}‚ÌŽ©“®¶¬</title>
+
+        <para>
+            DDL‚ÍHibernateƒ†[ƒeƒBƒŠƒeƒB‚É‚æ‚èƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚©‚琶¬‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            ¶¬‚³‚ꂽƒXƒL[ƒ}‚̓Gƒ“ƒeƒBƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚̃e[ƒuƒ‹‚ɑ΂·‚éŽQÆ®‡«§–ñ(ŽåƒL[‚ÆŠO•”ƒL[)‚ðŠÜ‚Ý‚Ü‚·B
+            ƒe[ƒuƒ‹‚ƃV[ƒPƒ“ƒX‚̓}ƒbƒsƒ“ƒO‚·‚鎯•ÊŽqƒWƒFƒlƒŒ[ƒ^‚ɑ΂µ‚ж¬‚³‚ê‚Ü‚·B
+        </para>
+        
+        <para>
+            DDL‚̓xƒ“ƒ_[ˆË‘¶‚Ȃ̂ŁA‚±‚̃c[ƒ‹‚ðŽg‚¤‚Æ‚«‚́A<literal>hibernate.dialect</literal>  
+            ƒvƒƒpƒeƒB‚ÅSQL‚Ì <literal>•ûŒ¾</literal>  ‚ðŽw’è <emphasis>‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ</emphasis>  B
+        </para>
+
+        <para>
+            ‚Ü‚¸A¶¬‚³‚ê‚éƒXƒL[ƒ}‚ð‰ü‘P‚·‚é‚悤‚ɁAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðƒJƒXƒ^ƒ}ƒCƒY‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+        <sect2 id="toolsetguide-s1-2" revision="3">
+            <title>ƒXƒL[ƒ}‚̃JƒXƒ^ƒ}ƒCƒY</title>
+
+            <para>
+                ‘½‚­‚ÌHibernate‚̃}ƒbƒsƒ“ƒO—v‘f‚ł́AƒIƒvƒVƒ‡ƒ“‚Ì <literal>length</literal>  ‚Æ‚¢‚¤–¼‚Ì‘®«‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
+                ‚±‚Ì‘®«‚ŃJƒ‰ƒ€’·‚ðÝ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·(‚Ü‚½‚ÍNUMERIC/DECIMALŒ^‚̃f[ƒ^‚̐¸“x‚ðÝ’è‚Å‚«‚Ü‚·)B
+            </para>
+
+            <para>
+                <literal>not-null</literal>  ‘®«iƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ö <literal>NOT NULL</literal>  §–ñ‚𐶐¬‚·‚éj‚Æ 
+                <literal>unique</literal>  ‘®«iƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ö <literal>UNIQUE</literal>  §–ñ‚𐶐¬‚·‚éj‚ªÝ’è‚Å‚«‚éƒ^ƒO‚à‚ ‚è‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<many-to-one name="bar" column="barId" not-null="true"/>]]></programlisting>
+
+            <programlisting><![CDATA[<element column="serialNumber" type="long" not-null="true" unique="true"/>]]></programlisting>
+
+            <para>
+                <literal>unique-key</literal>  ‘®«‚̓Jƒ‰ƒ€‚ðƒOƒ‹[ƒv‰»‚µ‚Ĉê‚‚̃L[§–ñ‚É‚·‚邽‚ß‚ÉŽg‚í‚ê‚Ü‚·B
+                Œ»ÝA<literal>unique-key</literal>  ‘®«‚ÅŽw’肳‚ꂽ’l‚͐§–ñ‚ÌŽw’è‚É‚Í  <emphasis>Žg‚í‚ꂸ</emphasis> A
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ŃJƒ‰ƒ€‚ðƒOƒ‹[ƒv‰»‚·‚邱‚Æ‚É‚Ì‚ÝŽg‚í‚ê‚Ü‚·B 
+            </para>
+            
+            <programlisting><![CDATA[<many-to-one name="org" column="orgId" unique-key="OrgEmployeeId"/>
+<property name="employeeId" unique-key="OrgEmployeeId"/>]]></programlisting>
+
+            
+
+            <para>
+                <literal>index</literal> ‘®«‚̓}ƒbƒsƒ“ƒO‚·‚éƒJƒ‰ƒ€‚ðŽg‚Á‚ж¬‚µ‚½ƒCƒ“ƒfƒbƒNƒX‚Ì–¼‘O‚ðŽw’肵‚Ü‚·B
+                •¡”ƒJƒ‰ƒ€‚ð‚P‚‚̃Cƒ“ƒfƒbƒNƒX‚ɃOƒ‹[ƒv‰»‚Å‚«‚Ü‚·B’P‚ɁA“¯‚¶ƒCƒ“ƒfƒbƒNƒX–¼‚ðŽw’è‚·‚邾‚¯‚Å‚·B
+            </para>
+            
+<programlisting><![CDATA[<property name="lastName" index="CustName"/>
+<property name="firstName" index="CustName"/>]]></programlisting>
+
+            <para>
+                <literal>foreign-key</literal> ‘®«‚́A¶¬‚³‚ꂽŠO•”ƒL[§–ñ‚Ì–¼‘O‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚邽‚ß‚ÉŽg—p‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<many-to-one name="bar" column="barId" foreign-key="FKFooBar"/>]]></programlisting>
+
+            <para>
+                ‘½‚­‚̃}ƒbƒsƒ“ƒO—v‘f‚́AŽq <literal>&lt;column&gt;</literal>  —v‘f‚ð‹Lq‚Å‚«‚Ü‚·B‚±‚ê‚Í•¡”ƒJƒ‰ƒ€Œ^‚̃}ƒbƒsƒ“ƒO‚É‚Í“Á‚É—L—p‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[<property name="name" type="my.customtypes.Name"/>
+    <column name="last" not-null="true" index="bar_idx" length="30"/>
+    <column name="first" not-null="true" index="bar_idx" length="20"/>
+    <column name="initial"/>
+</property>]]></programlisting>
+
+            <para>
+                 <literal>default</literal> ‘®«‚̓Jƒ‰ƒ€‚̃fƒtƒHƒ‹ƒg’l‚ðŽw’肵‚Ü‚·
+                 (ƒ}ƒbƒsƒ“ƒO‚µ‚½ƒNƒ‰ƒX‚̐V‚µ‚¢ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Û‘¶‚·‚é‘O‚ɁA
+                 ƒ}ƒbƒsƒ“ƒO‚µ‚½ƒvƒƒpƒeƒB‚Ö“¯‚¶’l‚ð‘ã“ü‚·‚ׂ«‚Å‚·)B
+            </para>
+
+            <programlisting><![CDATA[<property name="credits" type="integer" insert="false">
+    <column name="credits" default="10"/>
+</property>]]></programlisting>
+
+            <programlisting><![CDATA[<version name="version" type="integer" insert="false">
+    <column name="version" default="0"/>
+</property>]]></programlisting>
+
+            <para>
+                <literal>sql-type</literal>  ‘®«‚ŁAƒfƒtƒHƒ‹ƒg‚ÌHibernateŒ^‚©‚çSQL‚̃f[ƒ^Œ^‚ւ̃}ƒbƒsƒ“ƒO‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚«‚Ü‚·B
+            </para>
+            
+            
+         <programlisting><![CDATA[<property name="balance" type="float">
+    <column name="balance" sql-type="decimal(13,3)"/>
+</property>]]></programlisting>
+            
+            
+            <para>
+                <literal>check</literal>  ‘®«‚Ń`ƒFƒbƒN§–ñ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[<property name="foo" type="integer">
+    <column name="foo" check="foo > 10"/>
+</property>]]></programlisting>
+
+            <programlisting><![CDATA[<class name="Foo" table="foos" check="bar < 100.0">
+    ...
+    <property name="bar" type="float"/>
+</class>]]></programlisting>
+            
+
+            <table frame="topbot" id="schemattributes-summary" revision="2">
+                <title>‚Ü‚Æ‚ß</title>
+                <tgroup cols="3">
+                    <colspec colwidth="1*"/>
+                    <colspec colwidth="1*"/>
+                    <colspec colwidth="2.5*"/>
+                    <thead>
+                        <row>
+                            <entry>‘®«</entry>
+                            <entry>’l</entry>
+                            <entry>à–¾</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry><literal>length</literal></entry>
+                            <entry>”’l</entry>
+                            <entry>ƒJƒ‰ƒ€‚Ì’·‚³</entry>
+                        </row>
+                        
+                        <row>
+                            <entry><literal>precision</literal></entry>
+                            <entry>”’l</entry>
+                            <entry>ƒJƒ‰ƒ€‚ÌDECIMALŒ^‚̐¸“xiprecisionj</entry>
+                        </row>                        
+                        
+                        <row>
+                            <entry><literal>scale</literal></entry>
+                            <entry>”’l</entry>
+                            <entry>ƒJƒ‰ƒ€‚ÌDECIMALŒ^‚̃XƒP[ƒ‹iscalej</entry>
+                        </row>                        
+                        
+                        <row>
+                            <entry><literal>not-null</literal></entry>
+                            <entry><literal>true|false</literal></entry>
+                            <entry>ƒJƒ‰ƒ€‚ªnull’l‚ðŽæ‚ç‚È‚¢‚±‚Æ‚ðŽw’肵‚Ü‚·
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>unique</literal></entry>
+                            <entry><literal>true|false</literal></entry>
+                            <entry>ƒJƒ‰ƒ€‚ªƒ†ƒj[ƒN§–ñ‚ðŽ‚Â‚±‚Æ‚ðŽw’肵‚Ü‚·
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>index</literal></entry>
+                            <entry><literal>ƒCƒ“ƒfƒbƒNƒX–¼</literal> </entry>
+                            <entry>(•¡”ƒJƒ‰ƒ€‚Ì)ƒCƒ“ƒfƒbƒNƒX‚Ì–¼‘O‚ðŽw’肵‚Ü‚·
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>unique-key</literal></entry>
+                            <entry><literal>ƒ†ƒj[ƒNƒL[–¼</literal></entry>
+                            <entry>•¡”ƒJƒ‰ƒ€‚̃†ƒj[ƒN§–ñ‚Ì–¼‘O‚ðŽw’肵‚Ü‚·
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>foreign-key</literal></entry>
+                            <entry><literal>ŠO•”ƒL[–¼</literal></entry>
+                            <entry>
+                                &lt;one-to-one&gt;A&lt;many-to-one&gt;A&lt;many-to-many&gt;ƒ}ƒbƒsƒ“ƒO—v‘f‚ðŽg‚Á‚āA
+                                ŠÖ˜A‚ɑ΂µ¶¬‚³‚ꂽŠO•”ƒL[§–ñ‚Ì–¼‘O‚ðŽw’肵‚Ü‚·B
+                                <literal>SchemaExport</literal>  ‚Í <literal>inverse="true"</literal>  ‘¤‚ðl—¶‚µ‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                            </entry>
+                        </row>
+                        <row>
+                            <entry><literal>sql-type</literal></entry>
+                            <entry><literal>SQL‚̃Jƒ‰ƒ€Œ^</literal></entry>
+                            
+                            <entry>
+                                ƒfƒtƒHƒ‹ƒg‚̃Jƒ‰ƒ€Œ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·( <literal>&lt;column&gt;</literal>  —v‘f‚Ì‘®«‚Ì‚Ý) 
+                            </entry>
+                       </row>
+                       
+                       <row>
+                            <entry><literal>default</literal></entry>
+                            <entry>SQLŽ®</entry>
+                            
+                            <entry>
+                                ƒJƒ‰ƒ€‚̃fƒtƒHƒ‹ƒg’l‚ðŽw’肵‚Ü‚·
+                            </entry>
+                       </row>                       
+                       
+                       <row>
+                            <entry><literal>check</literal></entry>
+                            <entry>SQLŽ®</entry>
+                            
+                            <entry>
+                                ƒJƒ‰ƒ€‚©ƒe[ƒuƒ‹‚ÉSQL‚̃`ƒFƒbƒN§–ñ‚ðì¬‚µ‚Ü‚·
+                            </entry>
+                       </row>
+                   </tbody>
+                </tgroup>
+            </table>
+            
+            <para>
+                 <literal>&lt;comment&gt;</literal>  —v‘f‚Ő¶¬‚·‚éƒXƒL[ƒ}‚ɃRƒƒ“ƒg‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                
+            </para>
+            
+            <programlisting><![CDATA[<class name="Customer" table="CurCust">
+    <comment>Current customers only</comment>
+    ...
+</class>]]></programlisting>
+
+            <programlisting><![CDATA[<property name="balance">
+    <column name="bal">
+        <comment>Balance in USD</comment>
+    </column>
+</property>]]></programlisting>
+            
+            <para>
+                ‚±‚ê‚É‚æ‚èA¶¬‚µ‚½DDL‚É <literal>comment on table</literal>  ‚â <literal>comment on column</literal>  •¶‚ª‘‚©‚ê‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="toolsetguide-s1-3" revision="2">
+            <title>ƒc[ƒ‹‚ÌŽÀs</title>
+
+            <para>
+                 <literal>SchemaExport</literal>  ‚Í•W€o—͂ɑ΂µ‚ÄDDLƒXƒNƒŠƒvƒg‚ð‘‚«o‚µADDL•¶‚ðŽÀs‚µ‚½‚è‚à‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>java -cp </literal>  <emphasis>hibernate_classpaths</emphasis> 
+                <literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal>   <emphasis>options mapping_files</emphasis> 
+            </para>
+
+            <table frame="topbot">
+                <title> <literal>SchemaExport</literal>  Command Line Options
+                
+                 <literal>SchemaExport</literal>  ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“ƒIƒvƒVƒ‡ƒ“
+                </title>
+                <tgroup cols="2">
+                    <colspec colwidth="1.5*"/>
+                    <colspec colwidth="2*"/>
+                    <thead>
+                        <row>
+                            <entry>ƒIƒvƒVƒ‡ƒ“</entry>
+                            <entry>à–¾</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry> <literal>--quiet</literal> </entry>
+                            <entry>ƒXƒNƒŠƒvƒg‚ð•W€o—͂ɏo—Í‚µ‚Ü‚¹‚ñ</entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--drop</literal> </entry>
+                            <entry>ƒe[ƒuƒ‹‚̍폜‚¾‚¯‚ðs‚¢‚Ü‚·</entry>
+                        </row>
+                        
+                        <row>
+                            <entry> <literal>--create</literal> </entry>
+                            <entry>ƒe[ƒuƒ‹‚̐¶¬‚Ì‚Ý‚ðs‚¢‚Ü‚·B
+                            </entry>
+                        </row>                        
+                        
+                        <row>
+                            <entry> <literal>--text</literal> </entry>
+                            <entry>ƒf[ƒ^ƒx[ƒX‚ɃGƒNƒXƒ|[ƒg‚µ‚Ü‚¹‚ñ</entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--output=my_schema.ddl</literal> </entry>
+                            <entry> DDLƒXƒNƒŠƒvƒg‚ðƒtƒ@ƒCƒ‹‚ɏo—Í‚µ‚Ü‚·</entry>
+                        </row>
+                        
+                        <row>
+                            <entry> <literal>--naming=eg.MyNamingStrategy</literal> </entry>
+                            <entry> <literal>NamingStrategy</literal> ‚ð‘I‘ð‚µ‚Ü‚·
+                            </entry>
+                        </row>                        
+                        
+                        <row>
+                            <entry><literal>--config=hibernate.cfg.xml</literal> </entry>
+                            <entry>XMLƒtƒ@ƒCƒ‹‚©‚çHibernate‚Ì’è‹`î•ñ‚ð“ǂݍž‚Ý‚Ü‚·</entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--properties=hibernate.properties</literal> </entry>
+                            <entry>ƒtƒ@ƒCƒ‹‚©‚çƒf[ƒ^ƒx[ƒXƒvƒƒpƒeƒB‚ð“ǂݍž‚Ý‚Ü‚·</entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--format</literal> </entry>
+                            <entry>ƒXƒNƒŠƒvƒg“à‚ɐ¶¬‚·‚éSQL‚ð“Ç‚Ý‚â‚·‚¢‚悤‚ɃtƒH[ƒ}ƒbƒg‚µ‚Ü‚·</entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--delimiter=x</literal> </entry>
+                            <entry>ƒXƒNƒŠƒvƒg‚̍s‹æØ‚蕶Žš‚ðÝ’肵‚Ü‚·</entry>
+                        </row>
+                    </tbody>
+                </tgroup>
+            </table>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É <literal>SchemaExport</literal>  ‚ð‘g‚ݍž‚Þ‚±‚Æ‚à‚Å‚«‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[Configuration cfg = ....;
+new SchemaExport(cfg).create(false, true);]]></programlisting>
+
+        </sect2>
+
+
+        <sect2 id="toolsetguide-s1-4">
+            <title>ƒvƒƒpƒeƒB</title>
+
+            <para>
+                ŽŸ‚̂悤‚ɁAƒf[ƒ^ƒx[ƒX‚̃vƒƒpƒeƒB‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para><literal>-D</literal>  <emphasis>&lt;property&gt;</emphasis>  ‚ðŽg‚Á‚āAƒVƒXƒeƒ€ƒvƒƒpƒeƒB‚Æ‚µ‚Ä
+                    </para>
+                </listitem>
+                <listitem>
+                    <para><literal>hibernate.properties</literal>  ƒtƒ@ƒCƒ‹“à‚Å
+                    </para>
+                </listitem>
+                <listitem>
+                    <para> <literal>--properties</literal> ‚ðŽg‚Á‚ÄŽw’肵‚½ƒvƒƒpƒeƒBƒtƒ@ƒCƒ‹“à‚Å
+
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                •K—v‚ȃvƒƒpƒeƒB‚͈ȉº‚Ì‚à‚Ì‚Å‚·F
+            </para>
+
+            <table frame="topbot">
+                <title>SchemaExportƒRƒlƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB</title>
+                <tgroup cols="2">
+                    <colspec colwidth="1.5*"/>
+                    <colspec colwidth="2*"/>
+                    <thead>
+                        <row>
+                            <entry>ƒvƒƒpƒeƒB–¼
+                            </entry>
+                            <entry>à–¾
+                            </entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                    <row>
+                        <entry> <literal>hibernate.connection.driver_class</literal> </entry>
+                        <entry>jdbc‚̃hƒ‰ƒCƒo[ƒNƒ‰ƒX
+                        </entry>
+                    </row>
+                    <row>
+                        <entry> <literal>hibernate.connection.url</literal> </entry>
+                        <entry>jdbc‚Ìurl
+                        </entry>
+                    </row>
+                    <row>
+                        <entry> <literal>hibernate.connection.username</literal> </entry>
+                        <entry>ƒf[ƒ^ƒx[ƒX‚̃†[ƒU
+                        </entry>
+                    </row>
+                    <row>
+                        <entry> <literal>hibernate.connection.password</literal> </entry>
+                        <entry>ƒ†[ƒUƒpƒXƒ[ƒh
+                        </entry>
+                    </row>
+                    <row>
+                        <entry> <literal>hibernate.dialect</literal> </entry>
+                        <entry>ƒf[ƒ^ƒx[ƒX•ûŒ¾
+                        </entry>
+                    </row>
+                    </tbody>
+                </tgroup>
+            </table>
+
+        </sect2>
+
+        <sect2 id="toolsetguide-s1-5">
+            <title>Ant‚ðŽg—p‚·‚é</title>
+
+            <para>
+                Ant‚̃rƒ‹ƒhƒXƒNƒŠƒvƒg‚©‚ç <literal>SchemaExport</literal>  ‚ðŒÄ‚яo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B:
+            </para>
+
+            <programlisting><![CDATA[<target name="schemaexport">
+    <taskdef name="schemaexport"
+        classname="org.hibernate.tool.hbm2ddl.SchemaExportTask"
+        classpathref="class.path"/>
+    
+    <schemaexport
+        properties="hibernate.properties"
+        quiet="no"
+        text="no"
+        drop="no"
+        delimiter=";"
+        output="schema-export.sql">
+        <fileset dir="src">
+            <include name="**/*.hbm.xml"/>
+        </fileset>
+    </schemaexport>
+</target>]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="toolsetguide-s1-6" revision="2">
+            <title>ƒCƒ“ƒNƒŠƒƒ“ƒ^ƒ‹‚ȃXƒL[ƒ}XV
+            </title>
+
+            <para>
+                 <literal>SchemaUpdate</literal>  ƒc[ƒ‹‚ÍŠù‘¶‚̃XƒL[ƒ}‚ðƒCƒ“ƒNƒŠƒƒ“ƒ^ƒ‹‚ɍXV‚µ‚Ü‚·B
+                <literal>SchemaUpdate</literal>  ‚ÍJDBC‚̃ƒ^ƒf[ƒ^API‚É‹­‚­ˆË‘¶‚µ‚Ü‚·B
+                ‚»‚Ì‚½‚߁A‚·‚ׂĂÌJDBCƒhƒ‰ƒCƒo‚Å‚¤‚Ü‚­‚¢‚­‚Æ‚ÍŒÀ‚ç‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                <literal>java -cp </literal>  <emphasis>hibernate_classpaths</emphasis> 
+                <literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal>   <emphasis>options mapping_files</emphasis> 
+            </para>
+
+            <table frame="topbot">
+                <title> <literal>SchemaUpdate</literal>  ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“¥ƒIƒvƒVƒ‡ƒ“</title>
+                <tgroup cols="2">
+                    <colspec colwidth="1.5*"/>
+                    <colspec colwidth="2*"/>
+                    <thead>
+                        <row>
+                            <entry>ƒIƒvƒVƒ‡ƒ“</entry>
+                            <entry>à–¾</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry> <literal>--quiet</literal> </entry>
+                            <entry>•W€o—͂ɃXƒNƒŠƒvƒg‚ðo—Í‚µ‚Ü‚¹‚ñ</entry>
+                        </row>
+                        
+                        <row>
+                            <entry> <literal>--text</literal> </entry>
+                            <entry>ƒf[ƒ^ƒx[ƒX‚ɃXƒNƒŠƒvƒg‚ðƒGƒNƒXƒ|[ƒg‚µ‚Ü‚¹‚ñ
+                            </entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--naming=eg.MyNamingStrategy</literal> </entry>
+                            <entry><literal>NamingStrategy</literal> ‚ð‘I‘ð‚µ‚Ü‚·B
+                            </entry>
+                        </row>                        
+                        
+                        <row>
+                            <entry> <literal>--properties=hibernate.properties</literal> </entry>
+                            <entry>ƒtƒ@ƒCƒ‹‚©‚çƒf[ƒ^ƒx[ƒXƒvƒƒpƒeƒB‚ð“ǂݍž‚Ý‚Ü‚·
+                            </entry>
+                        </row>
+                        
+                        <row>
+                            <entry> <literal>--config=hibernate.cfg.xml</literal> </entry>
+                            <entry><literal>.cfg.xml</literal> ƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·
+                            </entry>
+                        </row>                        
+                        
+                     </tbody>
+                </tgroup>
+            </table>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É <literal>SchemaUpdate</literal>  ‚ð‘g‚ݍž‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚·BF
+            </para>
+
+            <programlisting><![CDATA[Configuration cfg = ....;
+new SchemaUpdate(cfg).execute(false);]]></programlisting>
+
+        </sect2>
+        
+
+        <sect2 id="toolsetguide-s1-7">
+            <title>ƒCƒ“ƒNƒŠƒƒ“ƒ^ƒ‹‚ȃXƒL[ƒ}XV‚ɑ΂·‚éAnt‚ÌŽg—p</title>
+
+            <para>
+                AntƒXƒNƒŠƒvƒg‚©‚ç <literal>SchemaUpdate</literal>  ‚ðŒÄ‚яo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[<target name="schemaupdate">
+    <taskdef name="schemaupdate"
+        classname="org.hibernate.tool.hbm2ddl.SchemaUpdateTask"
+        classpathref="class.path"/>
+    
+    <schemaupdate
+        properties="hibernate.properties"
+        quiet="no">
+        <fileset dir="src">
+            <include name="**/*.hbm.xml"/>
+        </fileset>
+    </schemaupdate>
+</target>]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="toolsetguide-s1-8" revision="1">
+            <title>Schema validation</title>
+
+            <para>
+                 <literal>SchemaValidator</literal> ƒc[ƒ‹‚́AŠù‘¶‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ƍ쐬‚µ‚½ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ª"ˆê’v‚·‚é"‚±‚Æ‚ðŒŸØ‚µ‚Ü‚·B <literal>SchemaValidator</literal> ‚ÍJDBC‚̃ƒ^ƒf[ƒ^API‚É‹­‚­ˆË‘¶‚·‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B‚»‚Ì‚½‚߁A‚·‚ׂĂÌJDBCƒhƒ‰ƒCƒo[‚ō쓮‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚±‚̃c[ƒ‹‚̓eƒXƒgŽž‚É”ñí‚É—L—p‚Å‚·B
+            </para>
+
+            <para>
+                <literal>java -cp </literal>  <emphasis>hibernate_classpaths</emphasis> 
+                <literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal>   <emphasis>options mapping_files</emphasis> 
+            </para>
+
+            <table frame="topbot">
+                <title> <literal>SchemaValidator</literal> ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“
+                </title>
+                <tgroup cols="2">
+                    <colspec colwidth="1.5*"/>
+                    <colspec colwidth="2*"/>
+                    <thead>
+                        <row>
+                            <entry>ƒIƒvƒVƒ‡ƒ“</entry>
+                            <entry>à–¾</entry>
+                        </row>
+                    </thead>
+                    <tbody>
+                        <row>
+                            <entry> <literal>--naming=eg.MyNamingStrategy</literal> </entry>
+                            <entry><literal>NamingStrategy</literal> ‚ð‘I‘ð‚µ‚Ü‚·
+                            </entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--properties=hibernate.properties</literal> </entry>
+                            <entry>ƒtƒ@ƒCƒ‹‚©‚çƒf[ƒ^ƒx[ƒX‚̃vƒƒpƒeƒB‚ð“ǂݍž‚Ý‚Ü‚·
+                            </entry>
+                        </row>
+                        <row>
+                            <entry> <literal>--config=hibernate.cfg.xml</literal> </entry>
+                            <entry><literal>.cfg.xml</literal> ƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·
+                            </entry>
+                        </row>
+                     </tbody>
+                </tgroup>
+            </table>
+
+            <para>
+                 <literal>SchemaValidator</literal> ‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‘g‚ݍž‚Þ‚±‚Æ‚ªo—ˆ‚Ü‚·:
+            </para>
+
+            <programlisting><![CDATA[Configuration cfg = ....;
+new SchemaValidator(cfg).validate();]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="toolsetguide-s1-9">
+            <title>ƒXƒL[ƒ}‚̃oƒŠƒf[ƒVƒ‡ƒ“‚ÉAnt‚ðŽg—p‚µ‚Ü‚·</title>
+
+            <para>
+                AntƒXƒNƒŠƒvƒg‚©‚ç <literal>SchemaValidator</literal> ‚ðŒÄ‚яo‚¹‚Ü‚·:
+            </para>
+
+            <programlisting><![CDATA[<target name="schemavalidate">
+    <taskdef name="schemavalidator"
+        classname="org.hibernate.tool.hbm2ddl.SchemaValidatorTask"
+        classpathref="class.path"/>
+    
+    <schemavalidator
+        properties="hibernate.properties">
+        <fileset dir="src">
+            <include name="**/*.hbm.xml"/>
+        </fileset>
+    </schemavalidator>
+</target>]]></programlisting>
+
+        </sect2>
+
+    </sect1>
+
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/transactions.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1276 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="transactions" revision="2">
+    <title>ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Æ•Às«</title>
+
+    <para>
+        Hibernate‚Æ“¯ŽžŽÀs§Œä‚ɂ‚¢‚čłàd—v‚È“_‚́A—eˆÕ‚É—‰ð‚Å‚«‚邱‚Æ‚Å‚·B
+        Hibernate‚͐V‚½‚ȃƒbƒN‚̐U‚é•‘‚¢‚ð’ljÁ‚µ‚Ä‚¨‚炸A’¼ÚJDBCƒRƒlƒNƒVƒ‡ƒ“‚ÆJTAƒŠƒ\[ƒX‚ðŽg—p‚µ‚Ü‚·B
+        JDBCAANSIA‚¨‚æ‚уf[ƒ^ƒx[ƒXŠÇ—ƒVƒXƒeƒ€iDBMSj‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£‚ÌŽd—l‚ð
+        ­‚µŽžŠÔ‚ð‚©‚¯‚ĕ׋­‚·‚邱‚Æ‚ð‹­‚­„§‚µ‚Ü‚·B
+    </para>
+
+    <para>
+        Hibernate‚̓ƒ‚ƒŠ“à‚̃IƒuƒWƒFƒNƒg‚ðƒƒbƒN‚µ‚Ü‚¹‚ñB
+        ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́Aƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì•ª—£ƒŒƒxƒ‹‚Å
+        ’è‹`‚µ‚½U‚é•‘‚¢‚ðŠú‘Ò‚Å‚«‚Ü‚·B
+        ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒXƒR[ƒv‚̃LƒƒƒbƒVƒ…‚Å‚à‚ ‚é <literal>Session</literal> ‚Ì‚¨‰A‚ŁA
+        Ž¯•ÊŽq‚âƒNƒGƒŠ‚É‚æ‚茟õ‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚̓Šƒs[ƒ^ƒuƒ‹ƒŠ[ƒh‚É‚È‚è‚Ü‚·
+        iƒXƒJƒ‰[’l‚ð•Ô‚·‚悤‚ȃŒƒ|[ƒgƒNƒGƒŠ‚͈Ⴂ‚Ü‚·jB
+    </para>
+
+    <para>
+        ƒo[ƒWƒ‡ƒjƒ“ƒO‚É‚æ‚鎩“®“I‚ÈŠyŠÏ“I“¯ŽžŽÀs§Œä‚ɉÁ‚¦‚āA
+        <literal>SELECT FOR UPDATE</literal> •¶‚ðŽg—p‚µ‚āA
+        s‚ð”ߊϓIƒƒbƒN‚·‚邽‚߂́iƒ}ƒCƒi[‚ȁjAPI‚à’ñ‹Ÿ‚µ‚Ü‚·B
+        ŠyŠÏ“I“¯ŽžŽÀs§Œä‚Æ‚±‚ÌAPI‚ɂ‚¢‚ẮA‚±‚̏͂̌ã‚Ì‚Ù‚¤‚Å‹c˜_‚µ‚Ü‚·B
+    </para>
+
+    <para>
+        ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚â’·‚¢‘ΘbiconversationAƒƒ“ƒOƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“j‚¾‚¯‚Å‚È‚­A
+        <literal>Configuration</literal>A<literal>SessionFactory</literal>A‚¨‚æ‚Ñ
+        <literal>Session</literal>
+        ‚Æ‚¢‚¤—±“x‚ÅHibernate‚ªs‚¤“¯ŽžŽÀs§Œä‚Ì‹c˜_‚ðŽn‚ß‚Ü‚·B
+    </para>
+
+    <sect1 id="transactions-basics" revision="1">
+        <title>sessionƒXƒR[ƒv‚ÆtransactionƒXƒR[ƒv</title>
+
+        <para>
+            <literal>SessionFactory</literal> ‚͐¶¬‚·‚邱‚Æ‚ª‚‰¿‚ŁA
+            ƒXƒŒƒbƒhƒZ[ƒt‚ȃIƒuƒWƒFƒNƒg‚Å‚·B
+            ‚æ‚Á‚āAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚·‚ׂẴXƒŒƒbƒh‚Å‹¤—L‚·‚ׂ«‚Å‚·B
+            ’ʏíAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‹N“®Žž‚ɁA
+            <literal>Configuration</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚©‚ç‚P“x‚¾‚¯¶¬‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            <literal>Session</literal> ‚͍‚‰¿‚Å‚Í‚È‚­AƒXƒŒƒbƒhƒZ[ƒt‚ȃIƒuƒWƒFƒNƒg‚Å‚à‚ ‚è‚Ü‚¹‚ñB
+            ‚æ‚Á‚āA‚P‚‚̗v‹‚â‚P‚‚̑ΘbA‚P‚‚̍ì‹Æ’PˆÊiunit of workj‚ɑ΂µ‚Ä‚P“x‚¾‚¯Žg‚¢A
+            ‚»‚ÌŒã‚ÅŽÌ‚Ä‚é‚ׂ«‚Å‚·B
+            <literal>Session</literal> ‚Í•K—v‚É‚È‚é‚܂ŁA
+            JDBC <literal>Connection</literal>i‚à‚µ‚­‚Í <literal>DataSource</literal>j‚ðŠl“¾‚µ‚Ü‚¹‚ñB
+            ‚䂦‚ɁAŽÀÛ‚ÉŽg—p‚·‚é‚Æ‚«‚܂ŃŠƒ\[ƒX‚ðÁ”‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ‚±‚Ìó‹µ‚ðŠ®—¹‚³‚¹‚邽‚߂ɁA ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɂ‚¢‚Ä‚àl‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            ƒf[ƒ^ƒx[ƒX“à‚̃ƒbƒN‚Ì‹£‡‚ð­‚È‚­‚·‚邽‚߂ɁA
+            ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚͉”\‚ÈŒÀ‚è’Z‚­‚·‚é‚ׂ«‚Å‚·B
+            ’·‚¢ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̍‚‚¢•À—ñŽÀs«‚ð‘jŠQ‚µ‚Ü‚·B
+            ‚䂦‚ɁAƒ†[ƒU[‚ªl‚¦‚Ä‚¢‚éŠÔiì‹Æ’PˆÊ‚ªŠ®—¹‚·‚é‚܂Łjƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð
+            ŠJ‚¢‚½‚Ü‚Ü‚É‚·‚é‚̂́A‚½‚¢‚Ä‚¢‚̏ꍇ‚æ‚¢ÝŒv‚Æ‚Í‚¢‚¦‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ì‹Æ’PˆÊ‚Æ‚¢‚¤ƒXƒR[ƒv‚Ƃ͉½‚Å‚µ‚傤‚©H
+            ‚P‚‚ÌHibernate <literal>Session</literal> ‚́A
+            ‚¢‚­‚‚©‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð‚Ü‚½‚ª‚邱‚Æ‚ª‚Å‚«‚é‚Å‚µ‚傤‚©H
+            ‚Ü‚½‚́AƒXƒR[ƒv‚ƈê‘Έê‚ÌŠÖŒW‚Å‚µ‚傤‚©H
+            ‚¢‚ <literal>Session</literal> ‚ðŠJ‚«A•Â‚¶‚é‚ׂ«‚Å‚µ‚傤‚©H
+            ‚»‚µ‚āAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ð‚ǂ̂悤‚É•ª‚¯‚é‚Ì‚Å‚µ‚傤‚©H
+        </para>
+
+        <sect2 id="transactions-basics-uow" revision="1">
+            <title>ì‹Æ’PˆÊiUnit of workj</title>
+
+            <para>
+                ‚P‚–ڂ́A<emphasis>session-per-operation</emphasis> ƒAƒ“ƒ`ƒpƒ^[ƒ“‚ðŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+                ‚·‚È‚í‚¿A‚P‚‚̃XƒŒƒbƒh‚Ì’†‚ŁA’Pƒ‚ȃf[ƒ^ƒx[ƒXŒÄ‚яo‚µ‚Ì‚½‚Ñ‚É
+                <literal>Session</literal> ‚ðŠJ‚¢‚āA•Â‚¶‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñI
+                ‚à‚¿‚ë‚ñAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɂ‚¢‚Ä‚à“¯—l‚Å‚·B
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“’†‚̃f[ƒ^ƒx[ƒXŒÄ‚яo‚µ‚́A
+                Œv‰æ‚³‚ꂽƒV[ƒPƒ“ƒXiplanned sequencej‚ðŽg‚¢A
+                ƒAƒgƒ~ƒbƒN‚ȍì‹Æ’PˆÊ‚É•ª—Þ‚³‚ê‚Ü‚·B
+                i‚P‚‚ÌSQL•¶‚²‚ƂɃRƒ~ƒbƒg‚·‚鎩“®ƒRƒ~ƒbƒg‚ªA
+                Žg‚í‚ê‚È‚¢‚Æ‚¢‚¤ˆÓ–¡‚Å‚à‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                Ž©“®ƒRƒ~ƒbƒg‚́ASQLƒRƒ“ƒ\[ƒ‹‚ŃAƒhƒzƒbƒN‚ȍì‹Æ‚ð‚·‚éÛ‚ÉŽg‚¤‚à‚Ì‚Å‚·B
+                Hibernate‚Í’¼‚¿‚ÉŽ©“®ƒRƒ~ƒbƒgƒ‚[ƒh‚𖳌ø‚É‚µ‚Ü‚·B
+                ‚à‚µ‚­‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚ª–³Œø‰»‚·‚邱‚Æ‚ðŠú‘Ò‚µ‚Ü‚·Bj
+                ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̓IƒvƒVƒ‡ƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                ƒf[ƒ^ƒx[ƒX‚Æ‚Ì‚·‚ׂĂ̒ʐM‚́Aƒf[ƒ^‚̓ǂݍž‚Ý‚Å‚ ‚Á‚Ä‚àA‘‚«ž‚Ý‚Å‚ ‚Á‚Ä‚àA
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚ōs‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                à–¾‚·‚é‚ƁAƒf[ƒ^“ǂݍž‚݂ɑ΂µ‚āAŽ©“®ƒRƒ~ƒbƒg‚Í”ð‚¯‚é‚ׂ«‚Å‚·B
+                ‚È‚º‚È‚çA‘½”‚̏¬‚³‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚́A–¾Šm‚É’è‹`‚³‚ꂽ‚P‚‚̍ì‹Æ’PˆÊ‚Æ”ä‚ׂāA
+                ƒpƒtƒH[ƒ}ƒ“ƒX‚ª‚æ‚­‚Ȃ邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB
+                ŒãŽÒ‚͕ێ琫‚âŠg’£«‚à‚æ‚è‚·‚®‚ê‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                ƒ}ƒ‹ƒ`ƒ†[ƒU[‚̃Nƒ‰ƒCƒAƒ“ƒg^ƒT[ƒo[ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì’†‚ŁA
+                Å‚à‚æ‚­Žg‚í‚ê‚éƒpƒ^[ƒ“‚́A<emphasis>session-per-request</emphasis> ‚Å‚·B
+                ‚±‚̃‚ƒfƒ‹‚Ì’†‚ł́A
+                ƒNƒ‰ƒCƒAƒ“ƒg‚©‚çiHibernate‰i‘±‰»‘w‚ª“®ì‚·‚éjƒT[ƒo[‚ÖƒŠƒNƒGƒXƒg‚ª‘—‚ç‚êA
+                V‚µ‚¢Hibernate <literal>Session</literal> ‚ªŠJ‚©‚ê‚Ü‚·B
+                ‚»‚µ‚āA‚±‚̍ì‹Æ’PˆÊ‚Ì’†‚Å‚·‚ׂẴf[ƒ^ƒx[ƒXˆ—‚ªŽÀs‚³‚ê‚Ü‚·B
+                ì‹Æ‚ªŠ®—¹‚µ‚½i‚»‚µ‚āAƒNƒ‰ƒCƒAƒ“ƒg‚ւ̃ŒƒXƒ|ƒ“ƒX‚ª€”õ‚Å‚«‚½jŽž“_‚ŁA
+                session ‚ðƒtƒ‰ƒbƒVƒ…‚µA•Â‚¶‚Ü‚·B
+                ƒNƒ‰ƒCƒAƒ“ƒg‚Ì—v‹‚ðˆ—‚·‚邽‚߂ɁA‚P‚‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŽg—p‚·‚é‚Å‚µ‚傤B
+                <literal>Session</literal> ‚ðŠJ‚«A•Â‚¶‚éÛ‚ɁA
+                ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚µAƒRƒ~ƒbƒg‚µ‚Ü‚·B
+                “ñ‚‚̊֌W‚͈ê‘Έê‚Å‚·B
+                ‚±‚̃‚ƒfƒ‹‚Í‘½‚­‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉŠ®‘S‚É“K‡‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ˆÈ~‚ÌŽÀ‘•‚Ƀ`ƒƒƒŒƒ“ƒW‚µ‚Ä‚­‚¾‚³‚¢B
+                <literal>Session</literal> ‚ðŽ‚¿Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚𐳊m‚ÉŠJŽn‚µAI‚í‚点‚邾‚¯‚Å‚È‚­A
+                ƒf[ƒ^ƒAƒNƒZƒX‘€ì‚à“¾‚â‚·‚­‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                ƒŠƒNƒGƒXƒg‚ªƒT[ƒo[‚Ƀqƒbƒg‚µ‚½Û‚ƁAƒŒƒXƒ|ƒ“ƒX‚𑗐M‚·‚é‘O‚ɁAŽÀs‚³‚ê‚éinterceptor
+                i—Ⴆ‚΁A<literal>ServletFilter</literal>j‚ðŽg‚Á‚āAì‹Æ’PˆÊ‚Ì‹«ŠE‚ðŽÀ‘•‚·‚é‚Ì‚ª—‘z“I‚Å‚·B
+                <literal>ThreadLocal</literal> •Ï”‚ðŽg‚Á‚āA
+                ƒŠƒNƒGƒXƒg‚ðˆ—‚·‚éƒXƒŒƒbƒh‚É <literal>Session</literal> ‚ðŒ‹‚Ñ‚Â‚¯‚邱‚Ƃ𐄏§‚µ‚Ü‚·B
+                ‚±‚ê‚É‚æ‚èAƒXƒŒƒbƒh“à‚ÅŽÀs‚³‚ê‚é‚·‚ׂẴR[ƒh‚ŁA
+                istatic•Ï”‚ɃAƒNƒZƒX‚·‚é‚悤‚ɁjŠÈ’P‚É <literal>Session</literal> ‚ɃAƒNƒZƒX‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
+                ‘I‘ð‚µ‚½ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Ì‹@\ŽŸ‘æ‚ŁA<literal>ThreadLocal</literal>
+                •Ï”‚Ì’†‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒg‚ð•ÛŽ‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                ‚±‚ÌŽÀ‘•ƒpƒ^[ƒ“‚́A<emphasis>ThreadLocal Session</emphasis> ‚¨‚æ‚Ñ
+                <emphasis>Open Session in View</emphasis> ‚Æ‚¢‚¤–¼‘O‚Å’m‚ç‚ê‚Ä‚¢‚Ü‚·B
+                –{ƒhƒLƒ…ƒƒ“ƒg‚Őæ‚ÉŒ©‚¹‚½ <literal>HibernateUtil</literal> ƒwƒ‹ƒp[ƒNƒ‰ƒX‚ðŠg’£‚·‚邱‚ƂŁA
+                ‚±‚̃pƒ^[ƒ“‚ð—eˆÕ‚ÉŽÀ‘•‚Å‚«‚Ü‚·B
+                ‚à‚¿‚ë‚ñAinterceptor ‚ðŽÀ‘•‚·‚é•û–@‚ðŒ©‚Â‚¯AŠÂ‹«‚ðƒZƒbƒgƒAƒbƒv‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                Hibernate‚ÌWebƒTƒCƒg‚É‚ ‚étips‚Æ—á‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+             </para>
+
+            <para>
+                ˆÈ~‚ÌŽÀ‘•‚Ƀ`ƒƒƒŒƒ“ƒW‚µ‚Ä‚­‚¾‚³‚¢B
+                Hibernate‚Í’Pƒ‚È‚±‚̃pƒ^[ƒ“‚Ì‚½‚߂ɁA—\‚ß‘g‚ݍž‚܂ꂽ
+                ucurrent sessionv‚ÌŠÇ—‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+                ƒT[ƒo[ƒŠƒNƒGƒXƒg‚ðˆ—‚·‚éÛ‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‚»‚µ‚āAƒŒƒXƒ|ƒ“ƒX‚ðƒNƒ‰ƒCƒAƒ“ƒg‚É‘—M‚·‚é‘O‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðI‚í‚点‚Ü‚·B
+                D‚«‚È•û–@‚ÅŽÀŒ»‚Å‚«‚Ü‚·Bˆê”Ê“I‚È‰ðŒˆô‚Í <literal>ServletFilter</literal> ‚â
+                ƒT[ƒrƒXƒƒ\ƒbƒh‚ðƒ|ƒCƒ“ƒgƒJƒbƒg‚µ‚ÄAOPƒCƒ“ƒ^[ƒZƒvƒ^[A
+                proxy/interception ƒRƒ“ƒeƒi‚Å‚·B
+                EJBƒRƒ“ƒeƒi‚ÍEJBƒZƒbƒVƒ‡ƒ“ƒr[ƒ“‚ðƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ‚µ‚Ä
+                ƒAƒXƒyƒNƒg‚ðƒNƒƒXƒJƒbƒg‚·‚éŽÀ‘•‚Ì•W€“I‚È•û–@‚Å‚·iCMT‚É‚æ‚ééŒ¾“IjB
+                ƒvƒƒOƒ‰ƒ€‚É‚æ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽg‚¤‚ÆŒˆ‚ß‚½ê‡A
+                ŠÈ’P‚ÉŽg‚¤‚½‚߁AŒÝŠ·«‚Ì‚ ‚éƒR[ƒh‚É‚·‚邽‚߂ɁA
+                ‚±‚̏͂̌ã‚Ì‚Ù‚¤‚É‚ ‚éHibernate <literal>Transaction</literal> API‚Ì‚Ù‚¤‚ª‚æ‚¢‚Å‚·B
+            </para>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃R[ƒh‚́A•K—v‚È‚Æ‚«‚É‚Ç‚±‚Å‚àA‰½‰ñ‚Å‚àA
+                ’P‚É <literal>sessionFactory.getCurrentSession()</literal> ‚ðŒÄ‚яo‚·‚¾‚¯‚Å
+                uŒ»Ý‚̃ZƒbƒVƒ‡ƒ“v‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B
+                Œ»Ý‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ö‚Ì <literal>ƒZƒbƒVƒ‡ƒ“</literal> ‚ðí‚Ɏ擾‚µ‚Ü‚·B
+                ƒŠƒ\[ƒXEƒ[ƒJƒ‹‚Ȋ‹«A‚à‚µ‚­‚ÍJTAŠÂ‹«‚ð\¬‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ
+                i<xref linkend="architecture-current-session"/> ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢jB
+            </para>
+
+            <para>
+                ‚Æ‚«‚Ç‚«Auƒrƒ…[‚ð•`‰æ‚·‚év‚Ü‚Å <literal>ƒZƒbƒVƒ‡ƒ“</literal>
+                ‚ƃf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃XƒR[ƒv‚ðŠg’£‚·‚é‚Æ•Ö—˜‚È‚±‚Æ‚ª‚ ‚è‚Ü‚·B
+                ‚±‚ê‚́A—v‹‚̏ˆ—‚Æ•`‰æ‚̃tƒF[ƒY‚𕪂¯‚Ä‚¢‚é
+                ƒT[ƒuƒŒƒbƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚¨‚¢‚Ä“Á‚ɖ𗧂¿‚Ü‚·B
+                “ÆŽ©‚̃Cƒ“ƒ^[ƒZƒvƒ^‚ðŽÀ‘•‚·‚ê‚΁A
+                ƒrƒ…[‚ð•`‰æ‚·‚é‚܂Ńf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠg’£‚·‚é‚Ì‚ÍŠÈ’P‚Å‚·B
+                ‚µ‚©‚µAƒRƒ“ƒeƒiŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌEJB‚É—Š‚éê‡‚́AŠÈ’P‚É‚Í‚Å‚«‚Ü‚¹‚ñB
+                ‚È‚º‚È‚çAƒrƒ…[‚Ì•`‰æ‚ðŠJŽn‚·‚é‘O‚ɁAEJB‚̃ƒ\ƒbƒh‚ªƒŠƒ^[ƒ“‚µ‚½Û‚ɁA
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹‚·‚邽‚ß‚Å‚·B
+                ‚±‚Ì <emphasis>Open Session in View</emphasis> ƒpƒ^[ƒ“‚ÉŠÖ˜A‚·‚éƒqƒ“ƒg‚Æ—á‚ɂ‚¢‚ẮA
+                Hibernate‚ÌWebƒTƒCƒg‚âƒtƒH[ƒ‰ƒ€‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+             </para>
+
+        </sect2>
+
+        <sect2 id="transactions-basics-apptx" revision="1">
+            <title>’·‚¢‘Θb</title>
+
+            <para>
+                session-per-requestƒpƒ^[ƒ“‚́Aì‹Æ’PˆÊ‚ðÝŒv‚·‚éÛ‚ɖ𗧂l‚¦‚Æ‚¢‚¤‚¾‚¯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                ‘½‚­‚̃rƒWƒlƒXƒvƒƒZƒX‚́Aƒ†[ƒU[‚Ƃ̈ê˜A‚Ì‘ŠŒÝì—p‘S‘Ì‚ð—v‹‚µ‚Ü‚·B
+                ‚»‚Ì‘ŠŒÝì—p‚ɂ́Aƒf[ƒ^ƒx[ƒXƒAƒNƒZƒX‚ªŠÜ‚Ü‚ê‚Ü‚·B
+                
+                Web‚ƃGƒ“ƒ^[ƒvƒ‰ƒCƒYƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́Aƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª
+                ƒ†[ƒU‚Æ‚Ì‘ŠŒÝì—p‚É‚Ü‚Å“n‚邱‚Æ‚Í‹–‚³‚ê‚Ü‚¹‚ñB
+                
+                ŽŸ‚Ì—á‚ð‚æ‚­l‚¦‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        ƒ_ƒCƒAƒƒO‚̍ŏ‰‚̉æ–Ê‚ªŠJ‚«AŒÂX‚Ì <literal>Session</literal>
+                        ‚ƃf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚э[ƒh‚³‚ꂽƒf[ƒ^‚ðƒ†[ƒU[‚ÉŒ©‚¹‚Ü‚·B
+                        ƒ†[ƒU[‚̓IƒuƒWƒFƒNƒg‚ðŽ©—R‚ɏC³‚Å‚«‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        5•ªŒã‚Ƀ†[ƒU[‚́uSavev‚ðƒNƒŠƒbƒN‚µAC³‚ª‰i‘±‰»‚³‚ê‚é‚Ì‚ðŠú‘Ò‚µ‚Ü‚·B
+                        ‚Ü‚½A‚±‚̏î•ñ‚ð•ÒW‚µ‚½‚Ì‚ÍŽ©•ª‚Pl‚¾‚¯‚ŁA
+                        C³‚̃Rƒ“ƒtƒŠƒNƒg‚Í”­¶‚µ‚È‚¢‚ÆŠú‘Ò‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                ‚±‚̍ì‹Æ’PˆÊ‚ðiƒ†[ƒU[‚ÌŽ‹“_‚Łj’·Šú‚Ì <emphasis>‘Θb</emphasis>
+                i‚à‚µ‚­‚́A<emphasis>ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“</emphasis> j‚ƌĂт܂·B
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚±‚ê‚ðŽÀ‘•‚·‚é•û–@‚Í‚½‚­‚³‚ñ‚ ‚è‚Ü‚·B
+            </para>
+
+            <para>
+                Å‰‚ÉŽv‚¢‚‚­ŽÀ‘•‚́Aƒ†[ƒU[‚ªl‚¦‚Ä‚¢‚éŠÔA<literal>Session</literal>
+                ‚ƃf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚µ‚Ä‚¨‚­‚±‚Æ‚Å‚·B
+                “¯Žž‚ɏC³‚³‚ꂸA•ª—£‚ÆŒ´Žq«‚ª•ÛØ‚³‚ê‚é‚悤‚ɁA
+                ƒf[ƒ^ƒx[ƒX“à‚̃ƒbƒN‚Í•ÛŽ‚µ‚½‚Ü‚Ü‚É‚µ‚Ü‚·B
+                ‚à‚¿‚ë‚ñA‚±‚ê‚̓Aƒ“ƒ`ƒpƒ^[ƒ“‚Å‚·B
+                ‚È‚º‚È‚çAƒƒbƒN‚Ì‹£‡‚ª”­¶‚·‚é‚ƁA
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“¯Žžƒ†[ƒU[”‚ɉž‚¶‚ăXƒP[ƒ‹ƒAƒbƒv‚Å‚«‚È‚­‚È‚é‚©‚ç‚Å‚·B
+            </para>
+
+            <para>
+                –¾‚ç‚©‚ɁA‘Θb‚ðŽÀ‘•‚·‚邽‚߂ɂ́A
+                ‚¢‚­‚‚©‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŽg—p‚·‚é‚ׂ«‚Å‚·B
+                ‚±‚̏ꍇAƒrƒWƒlƒXƒvƒƒZƒX‚Ì•ª—£‚ðˆÛŽ‚·‚邱‚Ƃ́A
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‘w‚̐Ӗ±‚Ì‚P‚‚ɂȂè‚Ü‚·B
+                ‚P‚‚̑Θb‚́A
+                ’ʏ킢‚­‚‚©‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‹y‚Ñ‚Ü‚·B
+                ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚P‚‚̂݁iÅŒã‚Ì‚P‚j‚ªXV‚µ‚½ƒf[ƒ^‚ð•Û‘¶‚µA
+                ‘¼‚̓f[ƒ^‚ð“Ç‚Þ‚¾‚¯‚Å‚ ‚ê‚΁A‚»‚ê‚̓Aƒgƒ~ƒbƒN‚Å‚·
+                i—Ⴆ‚΁A‚¢‚­‚‚©‚Ì—v‹^‰ž“š‚ðŒJ‚è•Ô‚·ƒEƒBƒU[ƒhŒ`Ž®‚̃_ƒCƒAƒƒOjB
+                ‚±‚ê‚Í•·‚­‚æ‚èAŽÀ‘•‚µ‚½‚Ù‚¤‚ªŠÈ’P‚Å‚·B
+                Hibernate‚Ì‹@”\‚ðŽg‚¤‚Ì‚Å‚ ‚ê‚΁A“Á‚ÉŠÈ’P‚Å‚·B
+            </para>
+
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        <emphasis>Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO</emphasis>
+                        - Hibernate‚ÍŽ©“®“I‚ÉŠyŠÏ“I“¯ŽžŽÀs§Œä‚ª‚Å‚«‚Ü‚·B
+                        ƒ†[ƒU[‚ªl‚¦‚Ä‚¢‚éŠÔ‚É“¯Žž‚ɏC³‚ª‚¨‚«‚½ê‡AŽ©“®“I‚ÉŒŸo‚Å‚«‚Ü‚·B
+                        ’ʏíA‘Θb‚̏I—¹Žž‚Ƀ`ƒFƒbƒN‚·‚邾‚¯‚Å‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <emphasis>•ª—£iDetachedjƒIƒuƒWƒFƒNƒg</emphasis> - ‚·‚Å‚É‹c˜_‚µ‚½
+                        <emphasis>session-per-request</emphasis> ƒpƒ^[ƒ“‚ðŽg‚¤‚ÆŒˆ’肵‚½ê‡A
+                        ƒ[ƒh‚³‚ꂽ‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚́Aƒ†[ƒU‚ªl‚¦‚Ä‚¢‚éŠÔ‚́A
+                        ƒZƒbƒVƒ‡ƒ“‚©‚番—£‚³‚ꂽó‘Ô‚É‚È‚è‚Ü‚·B
+                        ƒIƒuƒWƒFƒNƒg‚ðƒZƒbƒVƒ‡ƒ“‚ɍĒljÁ‚µAC³‚ð‰i‘±‰»‚Å‚«‚Ü‚·B
+                        ‚±‚ê‚ð <emphasis>session-per-request-with-detached-objects</emphasis>
+                        ƒpƒ^[ƒ“‚ƌĂт܂·B
+                        Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚ðŽg‚¤‚±‚ƂŁA“¯Žž‚ɍs‚í‚ê‚éC³‚𕪗£‚Å‚«‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <emphasis>Šg’£i‚à‚µ‚­‚́A’·‚¢jƒZƒbƒVƒ‡ƒ“</emphasis>
+                        - Hibernate‚Ì <literal>Session</literal> ‚́A
+                        ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒRƒ~ƒbƒg‚µ‚½ŒãA
+                        — ‚ÅŒ‹‚т‚¢‚Ä‚¢‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðØ’f‚Å‚«‚Ü‚·B
+                        ‚»‚µ‚āAƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç‚̐V‚µ‚¢—v‹‚ª”­¶‚µ‚½Û‚ɁAÄÚ‘±‚Å‚«‚Ü‚·B
+                        ‚±‚̃pƒ^[ƒ“‚́A<emphasis>session-per-conversation</emphasis>
+                        ‚Æ‚¢‚¤–¼‚Å’m‚ç‚ê‚Ä‚¨‚èAƒIƒuƒWƒFƒNƒg‚ðƒZƒbƒVƒ‡ƒ“‚֍ĒljÁ‚·‚邱‚Æ‚³‚¦•s—v‚É‚µ‚Ü‚·B
+                        Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚ðŽg‚¤‚±‚ƂŁA“¯Žž‚ɍs‚í‚ê‚éC³‚𕪗£‚Å‚«‚Ü‚·B
+                        
+                        ’ʏí <literal>Session</literal> ‚ðŽ©“®“I‚Ƀtƒ‰ƒbƒVƒ…‚³‚¹‚¸A
+                        –¾Ž¦“I‚Ƀtƒ‰ƒbƒVƒ…‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                <emphasis>session-per-request-with-detached-objects</emphasis> ‚Æ
+                <emphasis>session-per-conversation</emphasis> ‚Ì‚Q‚‚́A
+                —˜“_‚ÆŒ‡“_‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+                ‚±‚ê‚ɂ‚¢‚ẮA‚±‚̏͂̌ã‚Ì‚Ù‚¤‚ŁAŠyŠÏ“I“¯ŽžŽÀs§Œä‚Ì•¶–¬‚Ì’†‚Å‹c˜_‚µ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="transactions-basics-identity">
+            <title>ƒIƒuƒWƒFƒNƒgŽ¯•ÊŽq‚ðl‚¦‚é</title>
+
+            <para>
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A‚Q‚‚̈قȂé <literal>Session</literal> ‚©‚ç
+                “¯‚¶‰i‘±ó‘Ô‚É“¯Žž‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B
+                ‚µ‚©‚µA‚Q‚Â‚Ì <literal>Session</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ª
+                ‰i‘±«ƒNƒ‰ƒX‚Ì‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                ‚䂦‚ɁAŽ¯•ÊŽq‚É‚Í‚Q‚‚̈قȂéŠT”O‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚É‚È‚è‚Ü‚·B
+            </para>
+
+            <variablelist spacing="compact">
+                <varlistentry>
+                    <term>ƒf[ƒ^ƒx[ƒXŽ¯•ÊŽq</term>
+                    <listitem>
+                        <para>
+                            <literal>foo.getId().equals( bar.getId() )</literal>
+                        </para>
+                    </listitem>
+                </varlistentry>
+                <varlistentry>
+                    <term>JVMŽ¯•ÊŽq</term>
+                    <listitem>
+                        <para>
+                            <literal>foo==bar</literal>
+                        </para>
+                    </listitem>
+                </varlistentry>
+            </variablelist>
+
+            <para>
+                <emphasis>ŒÂX‚Ì</emphasis> <literal>Session</literal> ‚ɒljÁ‚³‚ꂽƒIƒuƒWƒFƒNƒg‚É‚Æ‚Á‚Ä
+                i‚·‚È‚í‚¿A‚P‚Â‚Ì <literal>Session</literal> ‚̃XƒR[ƒv‚Ì’†‚ł́jA‚Q‚‚̊T”O‚Í“¯‚¶‚Å‚·B
+                ƒf[ƒ^ƒx[ƒX“¯ˆê«‚ÆJVM“¯ˆê«‚ªˆê’v‚·‚邱‚Æ‚ðAHibernate‚ª•ÛØ‚µ‚Ü‚·B
+                ‚µ‚©‚µAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚Q‚‚̈قȂéƒZƒbƒVƒ‡ƒ“‚©‚ç
+                u“¯‚¶vi‰i‘±«Ž¯•ÊŽq‚́jƒrƒWƒlƒXƒIƒuƒWƒFƒNƒg‚É“¯Žž‚ɃAƒNƒZƒX‚·‚éŒÀ‚èA
+                ‚Q‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍŽÀÛ‚ɁiJVMŽ¯•ÊŽq‚ªjuˆÙ‚È‚èv‚Ü‚·B
+                ŠyŠÏ“IƒAƒvƒ[ƒ`‚É‚æ‚Á‚āAiŽ©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚́jƒtƒ‰ƒbƒVƒ…^ƒRƒ~ƒbƒgŽž‚É
+                ƒRƒ“ƒtƒŠƒNƒg‚ª‰ðŒˆ‚³‚ê‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚̃Aƒvƒ[ƒ`‚ł́AHibernate‚ƃf[ƒ^ƒx[ƒX‚É“¯ŽžŽÀs‚ɂ‚¢‚Ă̐S”z‚ªŽc‚è‚Ü‚·B
+                ˆê•û‚ŁAÅ‚‚̃XƒP[ƒ‰ƒrƒŠƒeƒB‚ª’ñ‹Ÿ‚³‚ê‚Ü‚·B
+                ‚È‚º‚È‚çA‚PƒXƒŒƒbƒh‚̍ì‹Æ’PˆÊ‚Ì’†‚ňêˆÓ«‚ª•ÛØ‚³‚ê‚ê‚΁A
+                ‚‰¿‚ȃƒbƒN‚⓯Šú‰»‚ª•s—v‚ɂȂ邽‚ß‚Å‚·B
+                <literal>Session</literal> ‚²‚Æ‚É‚P‚‚̃XƒŒƒbƒh‚ð“\‚è•t‚¯‚éŒÀ‚èA
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓rƒWƒlƒXƒIƒuƒWƒFƒNƒg‚ðsynchronize‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+                <literal>Session</literal> “à‚ł́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓IƒuƒWƒFƒNƒg‚ð”äŠr‚·‚邽‚߂ɁA
+                <literal>==</literal> ‚ðˆÀ‘S‚ÉŽg—p‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                ‚¯‚ê‚Ç‚àA<literal>Session</literal> ‚ÌŠO‚Å <literal>==</literal>
+                ‚ðŽg‚¤ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́A—\Šú‚µ‚È‚¢Œ‹‰Ê‚É‘˜‹ö‚µ‚Ü‚·B
+                ‚±‚ê‚Í—\Šú‚µ‚È‚¢êŠ‚Å‹N‚±‚肦‚Ü‚·B
+                —Ⴆ‚΁A‚Q‚‚̕ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚𓯂¶ <literal>Set</literal> ‚É
+                put‚µ‚½‚Æ‚«‚È‚Ç‚Å‚·B
+                —¼•û‚Æ‚à“¯‚¶ƒf[ƒ^ƒx[ƒXŽ¯•ÊŽq‚ðŽ‚¿‚Ü‚·i‚·‚È‚í‚¿A“¯‚¶s‚ð•\‚µ‚Ü‚·jB
+                ‚µ‚©‚µA•ª—£ó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚ÌJVMŽ¯•ÊŽq‚Í“–‘R•ÛØ‚³‚ê‚Ü‚¹‚ñB
+                ŠJ”­ŽÒ‚́A‰i‘±«ƒNƒ‰ƒX‚Ì <literal>equals()</literal> ‚Æ <literal>hashCode()</literal>
+                ƒƒ\ƒbƒh‚ðƒI[ƒo[ƒ‰ƒCƒh‚µAƒIƒuƒWƒFƒNƒg“™‰¿«‚ÌŠT”O‚ðŽÀ‘•‚·‚ׂ«‚Å‚·B
+                Œx‚ª‚P‚‚ ‚è‚Ü‚·B“™‰¿«‚ÌŽÀ‘•‚Ƀf[ƒ^ƒx[ƒXŽ¯•ÊŽq‚ðŽg‚í‚È‚¢‚Å‚­‚¾‚³‚¢B
+                ƒ†ƒj[ƒN‚ȁi•’Ê‚Í•s•Ï‚́j‘®«‚Ì‘g‚ݍ‡‚킹‚Å‚ ‚éƒrƒWƒlƒXƒL[‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+                ‚à‚µAˆêŽžƒIƒuƒWƒFƒNƒg‚ª‰i‘±‰»‚³‚ꂽê‡Aƒf[ƒ^ƒx[ƒXŽ¯•ÊŽq‚ª•Ï‚í‚è‚Ü‚·B
+                ˆêŽžƒIƒuƒWƒFƒNƒg‚ði’ʏ핪—£ƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‹¤‚Ɂj <literal>Set</literal>
+                ‚É•ÛŽ‚·‚éê‡AƒnƒbƒVƒ…ƒR[ƒh‚ª•Ï‚í‚é‚Æ‚¢‚¤‚±‚Ƃ́A<literal>Set</literal>
+                ‚ÌŒ_–ñ‚ð”j‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                ƒrƒWƒlƒXƒL[‚Ì‚½‚ß‚Ì‘®«‚́Aƒf[ƒ^ƒx[ƒX‚ÌŽåƒL[‚قLjÀ’è‚·‚ׂ«‚Å‚Í‚È‚¢‚Å‚·B
+                ƒIƒuƒWƒFƒNƒg‚ª“¯‚¶ <literal>Set</literal> ‚Ì’†‚É‚¢‚éŠÔ‚¾‚¯AˆÀ’è‚ð•ÛØ‚·‚ׂ«‚Å‚·B
+                ‚±‚Ì–â‘è‚Ì‚æ‚è“O’ê“I‚È‹c˜_‚́AHibernate‚ÌWebƒTƒCƒg‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚Ü‚½A‚±‚ê‚ÍHibernate‚Ì–â‘è‚Å‚Í‚È‚­A’P‚ÉJavaƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚â“™‰¿«‚ð
+                ‚ǂ̂悤‚ÉŽÀ‘•‚·‚ׂ«‚©‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="transactions-basics-issues">
+            <title>ˆê”Ê“I‚È–â‘è</title>
+
+             <para>
+                 <emphasis>session-per-user-session</emphasis> ‚Æ
+                 <emphasis>session-per-application</emphasis> ƒAƒ“ƒ`ƒpƒ^[ƒ“
+                 ‚ÍŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñi‚à‚¿‚ë‚ñA‚Ü‚ê‚É—áŠO‚ª‚ ‚è‚Ü‚·jB
+                 ’ˆÓF‰º‹L‚Ì–â‘è‚Ì‚¢‚­‚‚©‚́A„§‚³‚ê‚éƒpƒ^[ƒ“‚Æ‚µ‚Ä‚àoŒ»‚µ‚Ü‚·B
+                 ÝŒv‚ðŒˆ’è‚·‚é‘O‚ɁA— ‚̈Ӗ¡‚ð—‰ð‚·‚é‚悤‚É‚µ‚Ä‚­‚¾‚³‚¢B
+             </para>
+
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        <literal>Session</literal> ‚̓XƒŒƒbƒhƒZ[ƒt‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                        HTTPƒŠƒNƒGƒXƒgAƒZƒbƒVƒ‡ƒ“BeanASwingƒ[ƒJ[‚̂悤‚ɁA
+                        “¯ŽžŽÀs‚ª‰Â”\‚È‚à‚Ì‚ª <literal>Session</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚·‚é‚ƁA
+                        ‹£‡ó‘Ô‚ðˆø‚«‹N‚±‚µ‚Ü‚·B
+                        iŒã‚Å‹c˜_‚·‚éj<literal>HttpSession</literal> ‚Ì’†‚Å
+                        Hibernate <literal>Session</literal> ‚ð•ÛŽ‚·‚éê‡A
+                        HttpSession‚ւ̃AƒNƒZƒX‚𓯊ú‰»‚·‚邱‚Æ‚ðl—¶‚·‚ׂ«‚Å‚·B
+                        ‚³‚à‚È‚¯‚ê‚΁Aƒ†[ƒU[‚ª\•ª‘‚­ƒŠƒ[ƒh‚ðƒNƒŠƒbƒN‚·‚é‚ƁA
+                        “¯Žž‚É‘–‚é‚Q‚‚̃XƒŒƒbƒh‚Ì’†‚ŁA“¯‚¶ <literal>Session</literal> ‚ªŽg‚í‚ê‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        Hibernate‚ª—áŠO‚ð“Š‚°‚½ê‡‚́Aƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µA
+                        ’¼‚¿‚É <literal>Session</literal> ‚ð•Â‚¶‚é‚ׂ«‚Å‚·iÚ×‚ðŒã‚Å‹c˜_‚µ‚Ü‚·jB
+                        <literal>Session</literal> ‚ªƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉŒ‹‚Ñ•t‚¯‚ç‚ê‚Ä‚¢‚é‚Ì‚Å‚ ‚ê‚΁A
+                        ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð’âŽ~‚·‚ׂ«‚Å‚·B
+                        ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µ‚Ä‚àAƒrƒWƒlƒXƒIƒuƒWƒFƒNƒg‚Í
+                        ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚µ‚½‚Æ‚«‚̏ó‘Ô‚É–ß‚è‚Ü‚¹‚ñB
+                        ‚±‚ê‚́Aƒf[ƒ^ƒx[ƒX‚̏ó‘ԂƃrƒWƒlƒXƒIƒuƒWƒFƒNƒg‚Í“¯Šú‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+                        ’ʏ킱‚ê‚Í–â‘è‚É‚È‚è‚Ü‚¹‚ñB
+                        ‚È‚º‚È‚çA—áŠO‚͉ñ•œ‚Å‚«‚È‚¢‚©‚ç‚Å‚·B
+                        ‚Æ‚É‚©‚­ƒ[ƒ‹ƒoƒbƒN‚µ‚½Œã‚É‚â‚è’¼‚·‚ׂ«‚Å‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>Session</literal> ‚͉i‘±ipersistentjó‘Ô‚Ì‚·‚ׂẴIƒuƒWƒFƒNƒg‚ð
+                        ƒLƒƒƒbƒVƒ…‚µ‚Ü‚·iHibernate‚ÍŠÄŽ‹‚µAƒ_[ƒeƒBó‘Ô‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·jB
+                        ‚±‚ê‚́A’·‚¢ŠÔƒZƒbƒVƒ‡ƒ“‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚·‚é‚©A
+                        ”ñí‚É‘½‚­‚̃f[ƒ^‚ðƒ[ƒh‚µ‘±‚¯‚é‚©‚µ‚½ê‡‚́A
+                        OutOfMemoryException‚ª”­¶‚·‚é‚Ü‚Å–³ŒÀ‚É‘å‚«‚­‚Ȃ邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+                        ‰ðŒˆô‚Ì‚P‚‚́A<literal>Session</literal> ƒLƒƒƒbƒVƒ…‚ðŠÇ—‚·‚邽‚߂ɁA
+                        <literal>clear()</literal> ‚© <literal>evict()</literal> ‚ðŒÄ‚Ô‚±‚Æ‚Å‚·B
+                        ‚µ‚©‚µA‘å‚«‚ȃf[ƒ^‚ðˆ—‚·‚é•K—v‚ª‚ ‚é‚È‚çA
+                        ‚½‚Ô‚ñƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðl—¶‚·‚é‚ׂ«‚Å‚µ‚傤B
+                        ‚¢‚­‚‚©‚Ì‰ðŒˆô‚́A<xref linkend="batch"/> ‚ŏЉ‚ê‚Ä‚¢‚Ü‚·B
+                        ƒ†[ƒU[ƒZƒbƒVƒ‡ƒ“‚̊ԁA<literal>Session</literal> ‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚·‚é‚Æ‚¢‚¤‚±‚Ƃ́A
+                        ƒf[ƒ^‚ªV‘N‚Å‚È‚­‚È‚éŠm—¦‚ª‚‚­‚Ȃ邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="transactions-demarcation">
+        <title>ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE</title>
+
+        <para>
+            ƒf[ƒ^ƒx[ƒXi‚à‚µ‚­‚̓VƒXƒeƒ€jƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‹«ŠE‚́Aí‚É•K—v‚Å‚·B
+            ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠO‚ŁAƒf[ƒ^ƒx[ƒX‚Ƃ̒ʐM‚Í‹N‚«‚Ü‚¹‚ñ
+            i‚±‚ê‚ÍŽ©“®ƒRƒ~ƒbƒgƒ‚[ƒh‚ÉŠµ‚ê‚Ä‚¢‚鑽‚­‚ÌŠJ”­ŽÒ‚ð¬—‚³‚¹‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñjB
+            “ǂݍž‚Þ‚¾‚¯‚Ì‘€ì‚É‚Å‚àA‚¢‚Â‚à–¾Šm‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽg—p‚µ‚Ä‚­‚¾‚³‚¢B
+            •ª—£ƒŒƒxƒ‹‚ƃf[ƒ^ƒx[ƒX‚Ì”\—ÍŽŸ‘æ‚ŁA‚±‚ê‚Í•K—v‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA
+            í‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚𖾎¦“I‚ÉŽw’肵‚Ä‚àAƒ}ƒCƒiƒX–Ê‚Í‘S‚­‚ ‚è‚Ü‚¹‚ñB
+            
+            Šm‚©‚ɁA‚P‚‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Í‘½”‚̏¬‚³‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚æ‚è
+            iƒf[ƒ^‚̓ǂݍž‚Ý‚Å‚ ‚Á‚Ä‚àjƒpƒtƒH[ƒ}ƒ“ƒX‚ª‚·‚®‚ê‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <para>
+            J2EEŠÂ‹«‚ÉŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ó‘Ô
+            i‚·‚È‚í‚¿AƒXƒ^ƒ“ƒhƒAƒƒ“A’Pƒ‚ÈWeb‚âSwingƒAƒvƒŠƒP[ƒVƒ‡ƒ“j‚Å‚àA
+            ŠÇ—‚³‚ꂽó‘Ô‚Å‚àAHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚Å‚«‚Ü‚·B
+            ŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚ł́AHiberante‚ªƒf[ƒ^ƒx[ƒX‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+            ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­ŽÒ‚́Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽè“®‚Őݒ肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            Œ¾‚¢Š·‚¦‚é‚ƁAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠJŽnAƒRƒ~ƒbƒgAƒ[ƒ‹ƒoƒbƒN‚ð
+            ŠJ”­ŽÒŽ©g‚ªÝ’è‚·‚é•K—v‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            
+            ’ʏíAŠÇ—‚³‚ꂽŠÂ‹«‚ł́AƒRƒ“ƒeƒiŠÇ—‚É‚æ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“iCMTj‚ª’ñ‹Ÿ‚³‚ê‚Ü‚·B
+            —Ⴆ‚΁AƒZƒbƒVƒ‡ƒ“Bean‚̃fƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Ő錾“I‚É’è‹`‚µA
+            ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð‘g‚Ý—§‚Ä‚Ü‚·B
+            ƒvƒƒOƒ‰ƒ€‚É‚æ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Í‚à‚¤•K—v‚ ‚è‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ‚µ‚©‚µ‚È‚ª‚çAŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒŠƒ\[ƒXEƒ[ƒJƒ‹‚Ȋ‹«‚Æ
+            JTA‚Ɉˑ¶‚µ‚½ƒVƒXƒeƒ€iCMT‚Å‚Í‚È‚­BMTj‚Ì—¼•û‚ɁA
+            ‰i‘±‰»‘w‚ðƒ|[ƒ^ƒuƒ‹‚ɕۂ‚̂́A‚µ‚΂µ‚Ζ]‚Ü‚µ‚¢‚±‚Æ‚Å‚·B
+            
+            ƒfƒvƒƒCŠÂ‹«‚̃lƒCƒeƒBƒu‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒVƒXƒeƒ€‚ðŒÄ‚яo‚·
+            <literal>Transaction</literal> ‚Æ‚¢‚¤ƒ‰ƒbƒp[API‚ðHibernate‚ª’ñ‹Ÿ‚µ‚Ü‚·B
+            ‚±‚ÌAPI‚ðŽg‚¤‚©‚Í”CˆÓ‚Å‚·‚ªACMT‚̃ZƒbƒVƒ‡ƒ“Bean‚ðŽg‚í‚È‚¢‚Ì‚Å‚ ‚ê‚΁AŽg‚¤‚±‚Æ‚ð‹­‚­„§‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            ’ʏíA<literal>Session</literal> I—¹‚́A‚S‚‚̈قȂéƒtƒF[ƒY‚ðŠÜ‚Ý‚Ü‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    ƒZƒbƒVƒ‡ƒ“‚̃tƒ‰ƒbƒVƒ…
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃Rƒ~ƒbƒg
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    ƒZƒbƒVƒ‡ƒ“‚̃Nƒ[ƒY
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    —áŠO‚̃nƒ“ƒhƒŠƒ“ƒO
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            ƒZƒbƒVƒ‡ƒ“‚̃tƒ‰ƒbƒVƒ…‚ɂ‚¢‚ẮA‘O‚Ì‚Ù‚¤‚Å‚·‚Å‚É‹c˜_‚µ‚Ü‚µ‚½B
+            ŠÇ—‚³‚ꂽŠÂ‹«‚ÆŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚Ì—¼•û‚ɂ‚¢‚āA
+            ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ—áŠOƒnƒ“ƒhƒŠƒ“ƒO‚ð‚à‚Á‚Əڂµ‚­Œ©‚Ä‚¢‚«‚Ü‚µ‚傤B
+        </para>
+
+
+        <sect2 id="transactions-demarcation-nonmanaged" revision="2">
+            <title>ŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«</title>
+
+            <para>
+                Hibernate‰i‘±‰»‘w‚ðŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚ÅŽÀ‘•‚·‚éê‡‚́A
+                
+                ’ʏí’Pƒ‚ȃRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹i‚·‚È‚í‚¿DataSource‚Å‚Í‚È‚¢j‚É‚æ‚Á‚āA
+                ƒf[ƒ^ƒx[ƒXƒRƒlƒNƒVƒ‡ƒ“‚𐧌䂵‚Ü‚·B
+                Hibernate‚Í‚»‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚©‚ç•K—v‚ȃRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚µ‚Ü‚·B
+                
+                ƒZƒbƒVƒ‡ƒ“^ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“§Œä‚̃CƒfƒBƒIƒ€‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[// Non-managed environment idiom
+Session sess = factory.openSession();
+Transaction tx = null;
+try {
+    tx = sess.beginTransaction();
+
+    // do some work
+    ...
+
+    tx.commit();
+}
+catch (RuntimeException e) {
+    if (tx != null) tx.rollback();
+    throw e; // or display error message
+}
+finally {
+    sess.close();
+}]]></programlisting>
+
+            <para>
+                –¾Ž¦“I‚É <literal>Session</literal> ‚Ì <literal>flush()</literal> ‚ðŒÄ‚яo‚·‚ׂ«‚Å‚Í‚È‚­A
+                <literal>commit()</literal> ‚ðŒÄ‚яo‚·‚±‚Æ‚É‚æ‚èAŽ©“®“I‚É“¯Šú‰»ˆ—‚ªŽÀs‚³‚ê‚Ü‚·
+                iƒZƒbƒVƒ‡ƒ“‚Ì <xref linkend="objectstate-flushing">FlushMode</xref> ‚Ɉˑ¶‚µ‚Ä‚¢‚éjB
+                
+                <literal>close()</literal> ‚ðŒÄ‚яo‚·‚±‚Æ‚É‚æ‚èAƒZƒbƒVƒ‡ƒ“‚̏I‚í‚è‚𖾊m‚É‚µ‚Ü‚·B
+                <literal>close()</literal> ‚ªˆÃ–Ù“I‚ɍs‚¤Žå‚È‚±‚Ƃ́A
+                ƒZƒbƒVƒ‡ƒ“‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŠJ•ú‚·‚邱‚Æ‚Å‚·B
+                
+                ã‹L‚ÌJavaƒR[ƒh‚̓|[ƒ^ƒuƒ‹‚Å‚ ‚èAŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚ÆJTAŠÂ‹«‚Ì—¼•û‚ÅŽÀs‚Å‚«‚Ü‚·B
+            </para>
+
+           <para>
+                ‚æ‚è“K‰ž«‚Ì‚ ‚é‰ðŒˆô‚́AHibernate‚É—\‚ß‘g‚ݍž‚Ü‚ê‚Ä‚¢‚é
+                ucurrent sessionvƒRƒ“ƒeƒLƒXƒgŠÇ—‚Å‚·B
+                Œ¾—t‚Åà–¾‚·‚é‚æ‚艺‹L‚ðŒ©‚½‚Ù‚¤‚ª‘¬‚¢‚Å‚µ‚傤B
+            </para>
+
+            <programlisting><![CDATA[// Non-managed environment idiom with getCurrentSession()
+try {
+    factory.getCurrentSession().beginTransaction();
+
+    // do some work
+    ...
+
+    factory.getCurrentSession().getTransaction().commit();
+}
+catch (RuntimeException e) {
+    factory.getCurrentSession().getTransaction().rollback();
+    throw e; // or display error message
+}]]></programlisting>
+
+            <para>
+                ³‹K‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì’†‚ł́A‚±‚̂悤‚ȃR[ƒh‚̐؂ê’[‚ðŒˆ‚µ‚ÄŒ©‚È‚¢‚Å‚µ‚傤B
+                ’v–½“I‚ȁiƒVƒXƒeƒ€j—áŠO‚́Aí‚ɁuÅãˆÊv‚ŃLƒƒƒbƒ`‚·‚ׂ«‚Å‚·B
+                Œ¾‚¢Š·‚¦‚ê‚΁Ai‰i‘±‰»‘w‚ŁjHibernateŒÄ‚яo‚µ‚ðŽÀs‚·‚éƒR[ƒh‚ƁA
+                <literal>RuntimeException</literal> ‚𐧌䂷‚é
+                i’ʏí‚̓NƒŠ[ƒ“ƒAƒbƒv‚ƏI—¹‚̂ݍs‚¤‚±‚Æ‚ª‚Å‚«‚éjƒR[ƒh‚́A•ÊX‚Ì‘w‚Ì’†‚É‚ ‚è‚Ü‚·B
+                Hibernate‚É‚æ‚éƒJƒŒƒ“ƒgƒRƒ“ƒeƒLƒXƒgŠÇ—‚́A‚±‚̐݌v‚ð‚©‚È‚è’Pƒ‚É‚µ‚Ü‚·B
+                •K—v‚Ȃ̂́A<literal>SessionFactory</literal> ‚ɃAƒNƒZƒX‚·‚邱‚Æ‚¾‚¯‚Å‚·B
+                —áŠOˆ—‚́A‚±‚̏͂̌ã‚Ì‚Ù‚¤‚Å‹c˜_‚µ‚Ü‚·B
+            </para>
+
+           <para>
+                ’ˆÓFiƒfƒtƒHƒ‹ƒg‚Å‚·‚ªj
+                <literal>org.hibernate.transaction.JDBCTransactionFactory</literal>
+                ‚ð‘I‘ð‚·‚é‚ׂ«‚Å‚·B
+                ‘æ2‚Ì—p—á‚Æ‚µ‚ẮA
+                <literal>hibernate.current_session_context_class</literal> ‚ð
+                <literal>"thread"</literal> ‚Æ‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B
+            </para>
+            
+        </sect2>
+
+        <sect2 id="transactions-demarcation-jta" revision="3">
+            <title>JTA‚ðŽg—p‚·‚é</title>
+
+            <para>
+                ‰i‘±‰»‘w‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[i—Ⴆ‚΁AEJBƒZƒbƒVƒ‡ƒ“Bean‚Ì”wŒãj‚ÅŽÀs‚·‚éê‡A
+                Hibernate‚©‚çŽæ“¾‚·‚é‚·‚ׂẴf[ƒ^ƒ\[ƒXƒRƒlƒNƒVƒ‡ƒ“‚́A
+                Ž©“®“I‚ɃOƒ[ƒoƒ‹JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̈ꕔ‚É‚È‚è‚Ü‚·B
+                
+                EJB‚ðŽg‚킸‚ɁAƒXƒ^ƒ“ƒhƒAƒƒ“‚ÌJTAŽÀ‘•‚𓱓ü‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                JTA“‡‚Ì‚½‚߂ɁAHibernate‚Í‚Q‚‚̐헪‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                BeanŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“iBMTj‚ðŽg‚¢A<literal>Transaction</literal> API‚ðŽg‚¤ê‡A
+                Hibernate‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚ÉBMTƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ƏI‚í‚è‚ð‚°‚Ü‚·B
+                ‚·‚È‚í‚¿Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ—‚̃R[ƒh‚́AŠÇ—‚³‚ê‚È‚¢ŠÂ‹«‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B
+            </para>
+            
+           <programlisting><![CDATA[// BMT idiom
+Session sess = factory.openSession();
+Transaction tx = null;
+try {
+    tx = sess.beginTransaction();
+
+    // do some work
+    ...
+
+    tx.commit();
+}
+catch (RuntimeException e) {
+    if (tx != null) tx.rollback();
+    throw e; // or display error message
+}
+finally {
+    sess.close();
+}]]></programlisting>
+
+           <para>
+               ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ‚µ‚Ä <literal>Session</literal> ‚ðŽg‚¢‚½‚¢ê‡A
+               ŠÈ’P‚ɃRƒ“ƒeƒLƒXƒg‚ð“`”d‚·‚é‹@”\‚Å‚ ‚é <literal>getCurrentSession()</literal> ‚ª‚ ‚é‚̂ŁA
+               JTA‚Ì <literal>UserTransaction</literal> API‚𒼐ڎg—p‚·‚ׂ«‚Å‚µ‚傤B
+            </para>
+
+            <programlisting><![CDATA[// BMT idiom with getCurrentSession()
+try {
+    UserTransaction tx = (UserTransaction)new InitialContext()
+                            .lookup("java:comp/UserTransaction");
+
+    tx.begin();
+
+    // Do some work on Session bound to transaction
+    factory.getCurrentSession().load(...);
+    factory.getCurrentSession().persist(...);
+
+    tx.commit();
+}
+catch (RuntimeException e) {
+    tx.rollback();
+    throw e; // or display error message
+}]]></programlisting>
+
+            <para>
+                CMT‚ł́Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðƒZƒbƒVƒ‡ƒ“Bean‚̃fƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Å’è‹`‚µA
+                ƒvƒƒOƒ‰ƒ€‚ł͍s‚¢‚Ü‚¹‚ñB
+                ‚䂦‚ɁAƒR[ƒh‚ÍŽŸ‚̂悤‚ɏ­‚È‚­‚È‚è‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[// CMT idiom
+ Session sess = factory.getCurrentSession();
+
+ // do some work
+ ...
+]]></programlisting>
+
+            <para>
+                CMT/EJB‚Ì’†‚ł́Aí‚Ƀ[ƒ‹ƒoƒbƒN‚ªŽ©“®“I‚ÉŽÀŽ{‚³‚ê‚Ü‚·B
+                ‚È‚º‚È‚çAƒZƒbƒVƒ‡ƒ“ƒr[ƒ“‚̃ƒ\ƒbƒh‚É‚æ‚è“Š‚°‚ç‚ꂽ§Œä‚³‚ê‚Ä‚¢‚È‚¢
+                <literal>RuntimeException</literal> ‚́AƒOƒ[ƒoƒ‹ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð
+                ƒ[ƒ‹ƒoƒbƒN‚·‚é‚悤‚ɃRƒ“ƒeƒi‚É“`‚¦‚邽‚ß‚Å‚·B
+                <emphasis>‚±‚ê‚́ABMT‚à‚µ‚­‚ÍCMT‚Æ‚¢‚Á‚µ‚å‚ÉHibernate <literal>Transaction</literal>
+                API‚ðŽg‚¤•K—v‚͏­‚µ‚à‚È‚¢‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B</emphasis>
+            </para>
+
+            <para>
+                Hibernate‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒtƒ@ƒNƒgƒŠ‚ðÝ’è‚·‚éÛ‚ɁA
+                JTA‚𒼐ڎg‚¤iBMT‚́jê‡‚Í <literal>org.hibernate.transaction.JTATransactionFactory</literal> ‚ðA
+                CMTƒZƒbƒVƒ‡ƒ“ƒr[ƒ“‚Ì’†‚Å‚Í <literal>org.hibernate.transaction.CMTTransactionFactory</literal> ‚ð
+                ‘I‘ð‚·‚×‚«‚¾‚Æ‚¢‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                <literal>hibernate.transaction.manager_lookup_class</literal>
+                ‚ðƒZƒbƒg‚·‚邱‚Æ‚àŽv‚¢o‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚È‚¨A<literal>hibernate.current_session_context_class</literal> ‚́A
+                ƒZƒbƒg‚µ‚È‚¢‚©iŒã•ûŒÝŠ·jA<literal>"jta"</literal> ‚ðƒZƒbƒg‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+            
+            <para>
+                <literal>getCurrentSession()</literal> ƒIƒyƒŒ[ƒVƒ‡ƒ“‚́AJTAŠÂ‹«‚Å‚Í‚P‚‚̌‡“_‚ðŽ‚¿‚Ü‚·B
+                
+                ƒfƒtƒHƒ‹ƒg‚ÅŽg‚í‚ê‚é <literal>after_statement</literal> ƒRƒlƒNƒVƒ‡ƒ“ƒŠƒŠ[ƒXƒ‚[ƒh‚ðŽg—p‚·‚éã‚ŁA
+                Œx‚ª‚P‚‚ ‚è‚Ü‚·B
+                
+                JTAŽd—l‚Ì‹ð‚©‚È§–ñ‚Ì‚½‚߂ɁA
+                <literal>scroll()</literal> ‚Ü‚½‚Í <literal>iterate()</literal> ‚ª•Ô‚µ‚½A
+                •Â‚¶‚ç‚ê‚Ä‚¢‚È‚¢ <literal>ScrollableResults</literal> ‚Ü‚½‚Í <literal>Iterator</literal>
+                ƒCƒ“ƒXƒ^ƒ“ƒX‚ðHibernate‚ªŽ©“®“I‚ɃNƒŠ[ƒ“ƒAƒbƒv‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                
+                <literal>finally</literal> ƒuƒƒbƒN‚Ì’†‚ŁA
+                <literal>ScrollableResults.close()</literal> ‚Ü‚½‚Í
+                <literal>Hibernate.close(Iterator)</literal> ‚𖾎¦“I‚ɌĂяo‚µ‚āA
+                — ‚ɐö‚ñ‚¾ƒf[ƒ^ƒx[ƒXƒJ[ƒ\ƒ‹‚ð‰ð•ú <emphasis>‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ</emphasis>B
+                
+                i‚à‚¿‚ë‚ñA‘½‚­‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ł́AJTA‚©CMTƒR[ƒh‚Å <literal>scroll()</literal>
+                ‚â <literal>iterate()</literal> ‚ÌŽg—p‚ð”ð‚¯‚é‚Ì‚Í—eˆÕ‚Å‚·Bj
+            </para>
+
+        </sect2>
+
+        <sect2 id="transactions-demarcation-exceptions">
+            <title>—áŠOƒnƒ“ƒhƒŠƒ“ƒO</title>
+
+            <para>
+                <literal>Session</literal> ‚ª—áŠOi<literal>SQLException</literal>‚ðŠÜ‚ށj‚ð“Š‚°‚½ê‡A
+                ’¼‚¿‚ɁAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µA<literal>Session.close()</literal>
+                ‚ðŒÄ‚сA<literal>Session</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚ð”jŠü‚·‚ׂ«‚Å‚·B
+                <literal>Session</literal> ‚Ì‚¢‚­‚‚©‚̃ƒ\ƒbƒh‚́A
+                ƒZƒbƒVƒ‡ƒ“‚̏ó‘Ô‚ð <emphasis>–µ‚‚µ‚½‚Ü‚Ü</emphasis> ‚É‚µ‚Ü‚·B
+                Hibernate‚ª“Š‚°‚½—áŠO‚ðA‰ñ•œ‚Å‚«‚é‚à‚Ì‚Æ‚µ‚Ĉµ‚¤‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+                <literal>finally</literal> ƒuƒƒbƒN‚Ì’†‚Å <literal>close()</literal> ‚ðŒÄ‚ñ‚ŁA
+                <literal>Session</literal> ‚ðŠmŽÀ‚ɕ‚¶‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                <literal>HibernateException</literal> ‚́AHibernate‰i‘±‰»‘w‚Ì’†‚Å”­¶‚·‚鑽‚­‚̃Gƒ‰[‚ð
+                ƒ‰ƒbƒv‚·‚éAŒŸ¸‚³‚ê‚È‚¢—áŠO‚Å‚·iHibernate‚̌¢ƒo[ƒWƒ‡ƒ“‚͈Ⴂ‚Ü‚µ‚½jB
+                Ž„‚½‚¿‚̈ӌ©‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”­ŽÒ‚ɉñ•œ•s‰Â”\‚È—áŠO‚ð
+                ‰º‘w‚ŃLƒƒƒbƒ`‚·‚邱‚Æ‚ð‹­—v‚·‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                ‘½‚­‚̃VƒXƒeƒ€‚ł́AŒŸ¸‚³‚ê‚È‚¢—áŠO‚Æ’v–½“I‚È—áŠO‚́A
+                ƒR[ƒ‹ƒXƒ^ƒbƒN‚̍ŏ‰‚̃tƒŒ[ƒ€‚Ì‚P‚i—Ⴆ‚΁AÅãˆÊ‚Ì‘w‚Łj‚Ńnƒ“ƒhƒŠƒ“ƒO‚µA
+                ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒ†[ƒU[‚É•\Ž¦‚µ‚Ü‚·
+                i‚à‚µ‚­‚́A‘¼‚Ì“KØ‚ȏˆ—‚ðŽÀŽ{‚µ‚Ü‚·jB
+                Hibernate‚́A<literal>HibernateException</literal> ˆÈŠO‚ÌŒŸ¸‚³‚ê‚È‚¢—áŠO‚à
+                “Š‚°‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚ê‚ç‚à‚Ü‚½A‰ñ•œ•s‰Â”\‚Å‚ ‚èA“KØ‚ȏˆ—‚ðŽÀŽ{‚·‚ׂ«‚Å‚·B
+            </para>
+
+            <para>
+                Hibernate‚́Aƒf[ƒ^ƒx[ƒX‚Ƃ̑Θb’†‚É“Š‚°‚ç‚ꂽ <literal>SQLException</literal> ‚ð
+                <literal>JDBCException</literal> ‚щƒbƒv‚µ‚Ü‚·B
+                ŽÀ‚́A—áŠO‚ð‚æ‚èˆÓ–¡‚Ì‚ ‚é <literal>JDBCException</literal> ‚̃TƒuƒNƒ‰ƒX‚É
+                •ÏŠ·‚µ‚悤‚ÆŽŽ‚Ý‚Ü‚·B
+                Œ³‚Ì <literal>SQLException</literal> ‚́A<literal>JDBCException.getCause()</literal>
+                ‚É‚æ‚è‚¢‚Â‚Å‚à“¾‚ç‚ê‚Ü‚·B
+                Hibernate‚́A<literal>SessionFactory</literal> ‚ɒljÁ‚³‚ê‚Ä‚¢‚é
+                <literal>SQLExceptionConverter</literal> ‚ðŽg‚¢A<literal>SQLException</literal> ‚ð
+                “K“–‚È <literal>JDBCException</literal> ƒTƒuƒNƒ‰ƒX‚É•ÏŠ·‚µ‚Ü‚·B
+                ƒfƒtƒHƒ‹ƒg‚ł́A<literal>SQLExceptionConverter</literal> ‚͐ݒ肳‚ê‚Ä‚¢‚éSQL•ûŒ¾‚É‚æ‚è
+                ’è‹`‚³‚ê‚Ü‚·B
+                ˆê•û‚ŁA“ÆŽ©‚ÌŽÀ‘•‚ɍ·‚µ‘Ö‚¦‚邱‚Æ‚à‚Å‚«‚Ü‚·
+                iÚ×‚́A<literal>SQLExceptionConverterFactory</literal> ƒNƒ‰ƒX‚ÌJavadoc‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢jB
+                •W€“I‚È <literal>JDBCException</literal> ‚̃Tƒuƒ^ƒCƒv‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+            </para>
+
+            <itemizedlist spacing="compact">
+                <listitem>
+                    <para>
+                        <literal>JDBCConnectionException</literal> -
+                        Šî‘b‚Æ‚È‚éJDBC’ʐM‚̃Gƒ‰[‚ð•\‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>SQLGrammarException</literal> -
+                        ”­s‚·‚éSQL‚Ì•¶–@‚à‚µ‚­‚͍\•¶‚Ì–â‘è‚ð•\‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>ConstraintViolationException</literal> -
+                        ‰½‚ç‚©‚ÌŒ`Ž®‚ÌŠ®‘S«§–ñˆá”½‚ð•\‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>LockAcquisitionException</literal> -
+                        —v‹‚³‚ꂽ‘€ì‚ðŽÀŽ{‚·‚é‚Ì‚É•K—v‚ȃƒbƒNƒŒƒxƒ‹‚𓾂éÛ‚̃Gƒ‰[‚ð•\‚µ‚Ü‚·B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <literal>GenericJDBCException</literal> -
+                        ‘¼‚̃JƒeƒSƒŠ‚Ɉê’v‚µ‚È‚©‚Á‚½ˆê”Ê“I‚È—áŠO‚Å‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+        </sect2>
+
+        <sect2 id="transactions-demarcation-timeout">
+            <title>ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃^ƒCƒ€ƒAƒEƒg</title>
+
+            <para>
+                EJB‚̂悤‚ÈŠÇ—‚³‚ꂽŠÂ‹«‚ª’ñ‹Ÿ‚·‚é‚«‚í‚߂ďd—v‚È“Á’¥‚Ì‚P‚‚́A
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃^ƒCƒ€ƒAƒEƒg‚Å‚·B
+                ‚±‚ê‚ÍŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒR[ƒh‚É‚Í’ñ‹Ÿ‚Å‚«‚Ü‚¹‚ñB
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ^ƒCƒ€ƒAƒEƒg‚́A•s•is‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª
+                ƒ†[ƒU[‚ɃŒƒXƒ|ƒ“ƒX‚ð•Ô‚³‚È‚¢‚܂܁A–³ŠúŒÀ‚ɃŠƒ\[ƒX‚ðŽg‚¢‘±‚¯‚È‚¢
+                ‚±‚Æ‚ð•Ûá‚µ‚Ü‚·B
+                ŠÇ—‚³‚ꂽŠÂ‹«iJTAj‚ÌŠO‚ł́AHibernate‚Í‚±‚Ì‹@”\‚ðƒtƒ‹‚É’ñ‹Ÿ‚Å‚«‚Ü‚¹‚ñB
+                ‚µ‚©‚µ‚È‚ª‚çAHibernate‚ÍŽŸ‚̂悤‚ȃf[ƒ^ƒAƒNƒZƒX‘€ì‚̐§Œä‚­‚ç‚¢‚Í‚Å‚«‚Ü‚·B
+                ƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚̃fƒbƒhƒƒbƒN‚â‘å‚«‚ȃŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚·ƒNƒGƒŠ‚ð
+                ’è‹`‚³‚ꂽƒ^ƒCƒ€ƒAƒEƒg‚É‚æ‚Á‚ÄŠmŽÀ‚ɐ§ŒÀ‚µ‚Ü‚·B
+                ŠÇ—‚³‚ꂽŠÂ‹«‚ł́AHibernate‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ^ƒCƒ€ƒAƒEƒg‚ðJTA‚ɈϏ÷‚µ‚Ü‚·B
+                ‚±‚Ì‹@”\‚́AHibernate‚Ì <literal>Transaction</literal> ƒIƒuƒWƒFƒNƒg‚É
+                ‚æ‚Á‚Ä’ŠÛ‰»‚³‚ê‚Ä‚¢‚Ü‚·B
+            </para>
+            
+            <programlisting><![CDATA[
+Session sess = factory.openSession();
+try {
+    //set transaction timeout to 3 seconds
+    sess.getTransaction().setTimeout(3);
+    sess.getTransaction().begin();
+
+    // do some work
+    ...
+
+    sess.getTransaction().commit()
+}
+catch (RuntimeException e) {
+    sess.getTransaction().rollback();
+    throw e; // or display error message
+}
+finally {
+    sess.close();
+}]]></programlisting>
+
+            <para>
+                CMTƒr[ƒ“‚Ì’†‚Å‚Í <literal>setTimeout()</literal> ‚ð
+                ŒÄ‚яo‚¹‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ^ƒCƒ€ƒAƒEƒg‚͐錾“I‚É’è‹`‚³‚ê‚é‚ׂ«‚Å‚·B
+            </para>
+            
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="transactions-optimistic">
+        <title>ŠyŠÏ“I“¯ŽžŽÀs§Œä</title>
+
+        <para>
+            ‚‚¢•À—ñ«‚ƍ‚‚¢ƒXƒP[ƒ‰ƒrƒŠƒeƒB‚Ì—¼•û‚ðŽÀŒ»‚·‚éƒAƒvƒ[ƒ`‚́A
+            ƒo[ƒWƒ‡ƒjƒ“ƒO‚ðŽg‚Á‚½ŠyŠÏ“I“¯ŽžŽÀs§Œä‚Ì‚Ý‚Å‚·B
+            XV‚ÌÕ“Ë‚ðŒ©‚Â‚¯‚邽‚߂Ɂi‚¨‚æ‚сAXV‚ªŽ¸‚í‚ê‚é‚Ì‚ð–h‚®‚½‚߂ɁjA
+            ƒo[ƒWƒ‡ƒ“”ԍ†‚à‚µ‚­‚̓^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðŽg‚Á‚āAƒo[ƒWƒ‡ƒ“‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
+            Hibernate‚́AŠyŠÏ“I“¯ŽžŽÀs‚ðs‚¤ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒR[ƒh‚ð‘‚­‚½‚ß‚Ì
+            ƒAƒvƒ[ƒ`‚ð‚R‚Â’ñ‹Ÿ‚µ‚Ü‚·B
+            Ž„‚½‚¿‚ªŒ©‚¹‚郆[ƒXƒP[ƒX‚́A’·‚¢‘Θb‚ðŽ‚¿‚Ü‚·‚ªA
+            ƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚Í‚Ü‚¾‚P‚‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚ōXV‚ðŽ¸‚¤‚±‚Æ‚ð–h‚®
+            —˜“_‚àŽ‚Á‚Ä‚¢‚Ü‚·B
+        </para>
+
+        <sect2 id="transactions-optimistic-manual">
+            <title>ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚éƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN</title>
+
+            <para>
+                Hibernate‚É‚Ù‚Æ‚ñ‚Ǐ•‚¯‚Ä‚à‚ç‚킸‚ÉŽÀ‘•‚·‚éƒP[ƒX‚Å‚·B
+                ƒf[ƒ^ƒx[ƒX‚Æ‚Ì‚â‚èŽæ‚è‚́A‚»‚ꂼ‚êV‚µ‚¢ <literal>Session</literal> ‚Ì’†‚Å‹N‚±‚è‚Ü‚·B
+                ŠJ”­ŽÒ‚́A‚·‚ׂẲi‘±«ƒCƒ“ƒXƒ^ƒ“ƒX‚𑀍삷‚é‘O‚ɁA
+                ƒf[ƒ^ƒx[ƒX‚©‚çÄ“ǂݍž‚Ý‚·‚éÓ–±‚ª‚ ‚è‚Ü‚·B
+                ‚±‚̃Aƒvƒ[ƒ`‚ł́A‘Θbƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì•ª—£‚ðŽç‚邽‚߂ɁA
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“Ž©g‚ªƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ðs‚¤•K—v‚ª‚ ‚è‚Ü‚·B
+                ‚±‚̃Aƒvƒ[ƒ`‚́Aƒf[ƒ^ƒx[ƒXƒAƒNƒZƒX‚Ì’†‚ł́AÅ‚à”ñŒø—¦‚Å‚·B
+                ƒGƒ“ƒeƒBƒeƒBEJB‚ÆÅ‚àŽ—‚Ä‚¢‚éƒAƒvƒ[ƒ`‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[// foo is an instance loaded by a previous Session
+session = factory.openSession();
+Transaction t = session.beginTransaction();
+
+int oldVersion = foo.getVersion();
+session.load( foo, foo.getKey() ); // load the current state
+if ( oldVersion != foo.getVersion() ) throw new StaleObjectStateException();
+foo.setProperty("bar");
+
+t.commit();
+session.close();]]></programlisting>
+
+            <para>
+                <literal>&lt;version&gt;</literal> ‚ðŽg‚Á‚āA<literal>version</literal>
+                ƒvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                Hibernate‚́AƒGƒ“ƒeƒBƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚éê‡Aƒtƒ‰ƒbƒVƒ…‚µA
+                ‚»‚ÌŠÔ‚É <literal>version</literal> ƒvƒƒpƒeƒB‚ðŽ©“®“I‚ɃCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ‚à‚¿‚ë‚ñAƒf[ƒ^‚Ì•À—ñ«‚ª’á‚¢ŠÂ‹«‚ʼn^—p‚µ‚Ä‚¨‚èAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ª•s—v‚È‚çA
+                ‚±‚̃Aƒvƒ[ƒ`‚ðŽg‚¢Aƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ðƒXƒLƒbƒv‚·‚邾‚¯‚Å‚·B
+                ‚»‚̏ꍇ‚́A’·‚¢‘Θb‚ɂ́A
+                <emphasis>uÅŒã‚ɃRƒ~ƒbƒg‚µ‚½‚à‚Ì‚ªŸ‚v</emphasis> ‚ªƒfƒtƒHƒ‹ƒg‚̐헪‚Å‚µ‚傤B
+                ‚±‚̃Aƒvƒ[ƒ`‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃†[ƒU[‚ð¬—‚³‚¹‚é‚©‚à‚µ‚ê‚È‚¢‚±‚Æ‚ð
+                S‚É—¯‚ß‚Ä’u‚¢‚Ä‚­‚¾‚³‚¢B‚»‚ê‚́AƒGƒ‰[ƒƒbƒZ[ƒW‚â‹£‡‚µ‚½•ÏX‚ðƒ}[ƒW‚·‚é‹@‰ï‚ª
+                ‚È‚¢‚܂܁AXV‚ðŽ¸‚¤ŒoŒ±‚ð‚·‚é‚½‚ß‚Å‚·B
+            </para>
+
+            <para>
+                Šm‚©‚ɁAƒ}ƒjƒ…ƒAƒ‹‚É‚æ‚éƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚́A±×‚È‹VŽ®‚¾‚¯‚ÅŽÀs‚Å‚«‚Ü‚·‚ªA
+                ‘½‚­‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Æ‚Á‚ÄŽÀ—p“I‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                ‚µ‚΂µ‚΁A‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚¾‚¯‚Å‚È‚­A
+                C³‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÌŠ®‘S‚ȃOƒ‰ƒt‚ðƒ`ƒFƒbƒN‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                Hibernate‚́AÝŒvƒpƒ‰ƒ_ƒCƒ€‚Æ‚µ‚āAŠg’£ <literal>Session</literal> ‚©
+                •ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ðŽ©“®“I‚Ƀo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚µ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="transactions-optimistic-longsession">
+            <title>Šg’£ƒZƒbƒVƒ‡ƒ“‚ÆŽ©“®ƒo[ƒWƒ‡ƒjƒ“ƒO</title>
+
+            <para>
+                ‚P‚Â‚Ì <literal>Session</literal> ƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‚»‚̉i‘±«ƒCƒ“ƒXƒ^ƒ“ƒX‚́A
+                <emphasis>session-per-conversation</emphasis> ‚Æ‚µ‚Ä’m‚ç‚ê‚éA
+                ‘Θb‘S‘Ì‚ÅŽg‚í‚ê‚Ü‚·B
+                Hibernate‚̓tƒ‰ƒbƒVƒ…‚·‚éÛ‚ɁAƒCƒ“ƒXƒ^ƒ“ƒX‚̃o[ƒWƒ‡ƒ“‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
+                “¯Žž‚ɏC³‚³‚ꂽ‚±‚Æ‚ðŒŸo‚·‚é‚ƁA—áŠO‚ð“Š‚°‚Ü‚·B
+                ‚±‚Ì—áŠO‚ðƒLƒƒƒbƒ`‚µ‚Ĉµ‚¤‚̂́AŠJ”­ŽÒ‚̐ӔC‚Å‚·
+                iˆê”Ê“I‚È‘I‘ðŽˆ‚ÍA•ÏX‚ðƒ}[ƒW‚·‚é‚©ŒÃ‚­‚È‚¢ƒf[ƒ^‚ŃrƒWƒlƒX‘Θb‚ð
+                ÄƒXƒ^[ƒg‚·‚é‹@‰ï‚ðƒ†[ƒU[‚É’ñ‹Ÿ‚·‚邱‚Æ‚Å‚·jB
+            </para>
+
+            <para>
+                ƒ†[ƒU[‚̑Θb‚ð‘Ò‚Á‚Ä‚¢‚é‚Æ‚«‚́A
+                <literal>Session</literal> ‚ðŠî‘b‚Æ‚È‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚©‚çØ‚è—£‚µ‚Ü‚·B
+                ‚±‚̃Aƒvƒ[ƒ`‚́Aƒf[ƒ^ƒx[ƒXƒAƒNƒZƒX‚Ì’†‚ł́AÅ‚àŒø—¦“I‚Å‚·B
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́Aƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚╪—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ðÄ’ljÁ‚·‚邱‚Æ
+                ‚Ɋ֐S‚ðŽ‚Â•K—v‚Í‚ ‚è‚Ü‚¹‚ñB‚Ü‚½A‚ ‚ç‚ä‚éƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚Å
+                ƒCƒ“ƒXƒ^ƒ“ƒX‚ðÄ“ǂݍž‚Ý‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+            <programlisting><![CDATA[// foo is an instance loaded earlier by the old session
+Transaction t = session.beginTransaction(); // Obtain a new JDBC connection, start transaction
+
+foo.setProperty("bar");
+
+session.flush();    // Only for last transaction in conversation
+t.commit();         // Also return JDBC connection
+session.close();    // Only for last transaction in conversation]]></programlisting>
+
+            <para>
+                <literal>foo</literal> ƒIƒuƒWƒFƒNƒg‚́AŽ©•ª‚ðƒ[ƒh‚µ‚½ <literal>Session</literal>
+                ‚ð‚Ü‚¾’m‚Á‚Ä‚¢‚Ü‚·B
+                ŒÃ‚¢ƒZƒbƒVƒ‡ƒ“‚̏ã‚ŐV‚µ‚¢ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚·‚邱‚ƂŁA
+                V‚µ‚¢ƒRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚µA‚»‚̃ZƒbƒVƒ‡ƒ“‚ªÄŠJ‚³‚ê‚Ü‚·B
+                ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒRƒ~ƒbƒg‚·‚邱‚ƂŁA
+                ƒZƒbƒVƒ‡ƒ“‚©‚çJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðØ’f‚µAƒRƒlƒNƒVƒ‡ƒ“‚ðƒv[ƒ‹‚É•Ô‚µ‚Ü‚·B
+                ÄÚ‘±‚µ‚½ŒãAXV‚µ‚Ä‚¢‚È‚¢ƒf[ƒ^‚̃o[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ð‹­§‚·‚邽‚߂ɁA
+                ‘¼‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚æ‚èXV‚³‚ê‚Ä‚¢‚é‚©‚à‚µ‚ê‚È‚¢ƒIƒuƒWƒFƒNƒg‚ÉŠÖ‚µ‚āA
+                <literal>LockMode.READ</literal> ‚ð‚‚¯‚Ä <literal>Session.lock()</literal>
+                ‚ðŒÄ‚яo‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                XV‚µ‚Ä <emphasis>‚¢‚é</emphasis> ƒf[ƒ^‚ðƒƒbƒN‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+                
+                ’ʏíAŠg’£ <literal>Session</literal> ‚É <literal>FlushMode.MANUAL</literal>
+                ‚ðƒZƒbƒg‚µ‚Ü‚·B
+                ÅŒã‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŽüŠú‚ł̂݁A
+                ‘Θb‚Ì’†‚ŕύX‚³‚ꂽ‚·‚ׂĂðŽÀÛ‚ɉi‘±‰»‚³‚¹‚邽‚ß‚Å‚·B
+                ‚䂦‚ɁAÅŒã‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚Ý <literal>flush()</literal>
+                ƒIƒyƒŒ[ƒVƒ‡ƒ“‚ðŠÜ‚Ý‚Ü‚·B‚»‚µ‚āA‘Θb‚ðI‚í‚点‚邽‚߂ɁA
+                ƒZƒbƒVƒ‡ƒ“‚à <literal>close()</literal> ‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ƒ†[ƒU[‚ªl—¶’†‚ɁAŠi”[‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚­‚ç‚¢ <literal>Session</literal>
+                ‚ª‘å‚«‚¢‚Ì‚Å‚ ‚ê‚΁A‚±‚̃pƒ^[ƒ“‚Í–â‘肪‚ ‚è‚Ü‚·B
+                —Ⴆ‚΁A<literal>HttpSession</literal> ‚͉”\‚ÈŒÀ‚菬‚³‚­•Û‚‚ׂ«‚Å‚·B
+                <literal>Session</literal> ‚́i‹­§“I‚Ɂj‚PŽŸƒLƒƒƒbƒVƒ…‚Å‚à‚ ‚èA
+                ƒ[ƒh‚µ‚½ƒIƒuƒWƒFƒNƒg‚ð‚·‚×‚Ä•ÛŽ‚µ‚Ü‚·B
+                ‚¨‚»‚ç‚­AƒŠƒNƒGƒXƒg^ƒŒƒXƒ|ƒ“ƒX‚̃TƒCƒNƒ‹‚ª”‰ñ‚Å‚ ‚ê‚΁A‚±‚̐헪‚ªŽg‚¦‚Ü‚·B
+                
+                ‚P‚‚̑Θb‚Ì‚½‚ß‚¾‚¯‚É <literal>Session</literal> ‚ðŽg‚¤‚ׂ«‚Å‚·B
+                ‚È‚º‚È‚çA‚·‚®‚ɐV‘N‚Å‚È‚¢ƒf[ƒ^‚ðŽ‚Â‚½‚ß‚Å‚·B
+            </para>
+
+            <para>
+                iHibernate‚̈ȑO‚̃o[ƒWƒ‡ƒ“‚́A–¾Ž¦“I‚È <literal>Session</literal> ‚Ì
+                Ø’f‚ƍĐڑ±‚ª•K—v‚¾‚Á‚½‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚ê‚ç‚̃ƒ\ƒbƒh‚Í”ñ„§‚É‚È‚è‚Ü‚µ‚½B
+                ‚È‚º‚È‚çAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ƏI—¹‚Í“¯‚¶Œø‰Ê‚ª‚ ‚邽‚ß‚Å‚·Bj
+            </para>
+
+            <para>
+                Ø’f‚µ‚½ <literal>Session</literal> ‚ð‰i‘±‰»‘w‚Ì‹ß‚­‚Å•ÛŽ‚·‚ׂ«‚Å‚ ‚邱‚Æ‚É
+                ’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                Œ¾‚¢Š·‚¦‚é‚ƁA‚R‘wŠÂ‹«‚Ì’†‚Å <literal>Session</literal> ‚ð•ÛŽ‚·‚邽‚߂ɁA
+                EJBƒXƒe[ƒgƒtƒ‹ƒZƒbƒVƒ‡ƒ“Bean‚ðŽg‚Á‚Ä‚­‚¾‚³‚¢B
+                <literal>HttpSession</literal> ‚ÉŠi”[‚·‚邽‚߂ɁAWeb‘w‚É“]‘—‚µ‚È‚¢‚Å‚­‚¾‚³‚¢
+                i•Ê‚Ì‘w‚ւ̃VƒŠƒAƒ‰ƒCƒY‚à‚µ‚È‚¢‚Å‚­‚¾‚³‚¢jB
+            </para>
+
+            <para>
+                Šg’£ƒZƒbƒVƒ‡ƒ“ƒpƒ^[ƒ“i‚à‚µ‚­‚́A<emphasis>session-per-conversation</emphasis>j‚́A
+                Ž©“®“I‚ȃJƒŒƒ“ƒgƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgŠÇ—‚ðŽÀŽ{‚·‚é‚æ‚è“‚¢B
+                ‚±‚Ì‚½‚߂ɁA‚ ‚È‚½‚Í <literal>CurrentSessionContext</literal> ‚ÌŽÀ‘•‚ð‹Ÿ‹‹‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                Hibernate Wiki‚É‚ ‚é—á‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+        <sect2 id="transactions-optimistic-detached">
+            <title>ƒfƒ^ƒbƒ`‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÆŽ©“®ƒo[ƒWƒ‡ƒjƒ“ƒO</title>
+
+            <para>
+                V‚µ‚¢ <literal>Session</literal>‚É‚æ‚èA‰i‘±‰»ƒXƒgƒAi–󒍁F‚c‚aj‚Ƃ̑Θb‚ª”­¶‚µ‚Ü‚·B
+                ‚Ü‚½ˆê•ûA“¯‚¶‰i‘±«ƒCƒ“ƒXƒ^ƒ“ƒX‚ªAƒf[ƒ^ƒx[ƒX‚Ƃ̑Θb‚²‚Ƃɍė˜—p‚³‚ê‚Ü‚·B
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́AŒ³X‚Í‘¼‚Ì <literal>Session</literal> ‚э[ƒh‚³‚êA
+                ƒfƒ^ƒbƒ`‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚̏ó‘Ԃ𑀍삵‚Ü‚·B
+                ‚»‚µ‚āA<literal>Session.update()</literal> ‚à‚µ‚­‚́A<literal>Session.saveOrUpdate()</literal>A
+                <literal>Session.merge()</literal> ‚ðŽg‚Á‚āA‚»‚ê‚ç‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðÄ’ljÁ‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[// foo is an instance loaded by a previous Session
+foo.setProperty("bar");
+session = factory.openSession();
+Transaction t = session.beginTransaction();
+session.saveOrUpdate(foo); // Use merge() if "foo" might have been loaded already
+t.commit();
+session.close();]]></programlisting>
+
+            <para>
+                ‚±‚̏ꍇ‚à‚â‚Í‚èAHibernate‚̓tƒ‰ƒbƒVƒ…‚·‚éÛ‚ɁAƒCƒ“ƒXƒ^ƒ“ƒX‚̃o[ƒWƒ‡ƒ“‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
+                XV‚Ì‹£‡‚ª”­¶‚µ‚½ê‡‚ɂ́A—áŠO‚ð“Š‚°‚Ü‚·B
+            </para>
+
+            <para>
+                ƒIƒuƒWƒFƒNƒg‚ªC³‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚ðŠmM‚µ‚Ä‚¢‚éê‡‚́A
+                <literal>update()</literal> ‚Ì‘ã‚í‚è‚ɁA<literal>LockMode.READ</literal> ‚ðŽg‚Á‚āA
+                <literal>lock()</literal> ‚ðŒÄ‚яo‚·‚±‚Æ‚à‚Å‚«‚Ü‚·
+                i‚·‚ׂẴLƒƒƒbƒVƒ…‚ð‰I‰ñ‚µAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ðŽÀŽ{‚µ‚Ü‚·jB
+            </para>
+
+        </sect2>
+
+        <sect2 id="transactions-optimistic-customizing">
+            <title>Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚̃JƒXƒ^ƒ}ƒCƒY</title>
+
+            <para>
+                ƒ}ƒbƒsƒ“ƒO‚Ì <literal>optimistic-lock</literal> ‘®«‚É <literal>false</literal>
+                ‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚èA“Á’è‚̃vƒƒpƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚ß‚É
+                Ž©“®ƒo[ƒWƒ‡ƒ“ƒCƒ“ƒNƒŠƒƒ“ƒg‚𖳌ø‚É‚Å‚«‚Ü‚·B
+                ƒvƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚Á‚Ä‚àAƒo[ƒWƒ‡ƒ“‚ðƒCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ƒŒƒKƒV[‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚́A‚µ‚΂µ‚ΌŒè“I‚Å‚ ‚èA•ÏX‚Å‚«‚Ü‚¹‚ñB
+                ‚Ü‚½‚́A‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“¯‚¶ƒf[ƒ^ƒx[ƒX‚ɃAƒNƒZƒX‚µ‚È‚¯‚ê‚΂Ȃ炸A
+                ‚»‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̓o[ƒWƒ‡ƒ“”ԍ†‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚³‚¦‘€ì‚·‚é•û–@‚ð’m‚è‚Ü‚¹‚ñB
+                ‚Ç‚¿‚ç‚̏ꍇ‚àAƒe[ƒuƒ‹‚Ì“Á’è‚̃Jƒ‰ƒ€‚ð“–‚Ä‚É‚µ‚āAƒo[ƒWƒ‡ƒjƒ“ƒO‚ðs‚¦‚Ü‚¹‚ñB
+                ƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚¹‚¸‚ɁAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚³‚¹‚邽‚߂ɁA
+                <literal>&lt;class&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚É <literal>optimistic-lock="all"</literal> ‚ð
+                Žw’肵‚Ä‚­‚¾‚³‚¢B
+                s‚Ì‚·‚ׂẴtƒB[ƒ‹ƒh‚̏ó‘Ô‚ð”äŠr‚·‚é‚悤‚É‚È‚è‚Ü‚·B
+                ‚±‚ê‚́AHibernate‚ªŒÃ‚¢ó‘ԂƐV‚µ‚¢ó‘Ô‚ð”äŠr‚Å‚«‚éê‡‚ɁA
+                —˜_“I‚É“®ì‚·‚邾‚¯‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                —Ⴆ‚΁Asession-per-request-with-detached-objects ‚Å‚Í‚È‚­A
+                ‚P‚‚̒·‚¢ <literal>Session</literal> ‚ðŽg‚¤ê‡‚Å‚·B
+            </para>
+
+            <para>
+                ‚Æ‚«‚Ç‚«As‚í‚ꂽ•ÏX‚ªd‚È‚ç‚È‚¢ŒÀ‚èA“¯Žž‚ɍs‚í‚ꂽ•ÏX‚ðŽó‚¯“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                <literal>&lt;class&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚É <literal>optimistic-lock="dirty"</literal>
+                ‚ðÝ’肵‚½ê‡Aƒtƒ‰ƒbƒVƒ…‚·‚éÛ‚ɁAHibernate‚̓_[ƒeƒBƒtƒB[ƒ‹ƒh‚Ì‚Ý‚ð”äŠr‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ê—p‚̃o[ƒWƒ‡ƒ“^ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃Jƒ‰ƒ€‚ðŽg‚¤ê‡A
+                ‚à‚µ‚­‚Í‚·‚ׂā^ƒ_[ƒeƒB‚̃tƒB[ƒ‹ƒh‚ð”äŠr‚·‚éê‡‚Ç‚¿‚ç‚Å‚ ‚Á‚Ä‚àA
+                Hibernate‚̓Gƒ“ƒeƒBƒeƒB‚²‚Æ‚É1‚Â‚Ì <literal>UPDATE</literal> •¶‚ð
+                i“KØ‚È <literal>WHERE</literal> ß‚Æ‹¤‚ɁjŽg‚¢A
+                ƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚Əî•ñ‚̍XV‚ðs‚¢‚Ü‚·B
+                ŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚̍ĒljÁ‚ðƒJƒXƒP[ƒh‚·‚邽‚߂ɁA
+                ˜A½“I‚ȉi‘±‰»‚ðŽg—p‚µ‚½ê‡A•s•K—v‚ȍXV‚ðŽÀs‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                ‚±‚ê‚͒ʏí–â‘è‚É‚È‚è‚Ü‚¹‚ñB
+                ‚µ‚©‚µA•ª—£‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•ÏX‚µ‚Ä‚¢‚È‚­‚Æ‚àA
+                ƒf[ƒ^ƒx[ƒX‚Ì <emphasis>on update</emphasis> ƒgƒŠƒK[‚ªŽÀs‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                <literal>&lt;class&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚É
+                <literal>select-before-update="true"</literal> ‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚Á‚āA
+                ‚±‚̐U‚é•‘‚¢‚ðƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B
+                ŠmŽÀ‚ɕύX‚³‚ꂽ‚©‚ðŠm”F‚·‚邽‚߂ɁAs‚ðXV‚·‚é‘O‚ɁA
+                •K‚¸ƒCƒ“ƒXƒ^ƒ“ƒX‚ð <literal>SELECT</literal> ‚µ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="transactions-locking">
+        <title>”ߊϓIƒƒbƒN</title>
+
+        <para>
+            ƒ†[ƒU‚ªƒƒbƒNí—ª‚É”Y‚Þ‚Ì‚É‘½‚­‚ÌŽžŠÔ‚ð”ï‚â‚·‚±‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñB
+            ’ʏí‚́AJDBCƒRƒlƒNƒVƒ‡ƒ“‚É•ª—£ƒŒƒxƒ‹‚ðŽw’肵A
+            ’P‚Ƀf[ƒ^ƒx[ƒX‚É‚·‚ׂĂ̎dŽ–‚ð‚³‚¹‚ê‚Ώ\•ª‚Å‚·B
+            ‚µ‚©‚µ‚È‚ª‚çA‚“x‚ȃ†[ƒU‚́A”r‘¼“I‚ȔߊϓIƒƒbƒN‚ðŠl“¾‚·‚邱‚Æ‚©A
+            V‚µ‚¢ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠJŽn‚³‚ê‚éÛ‚ɃƒbƒN‚ðÄŠl“¾‚·‚邱‚Æ‚ð
+            ‚Æ‚«‚Ç‚«–]‚Þ‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            Hibernate‚Í‚¢‚‚àƒf[ƒ^ƒx[ƒX‚̃ƒbƒN‚ÌŽd‘g‚Ý‚ðŽg‚¢‚Ü‚·B
+            ƒƒ‚ƒŠ“à‚̃IƒuƒWƒFƒNƒg‚ðŒˆ‚µ‚ăƒbƒN‚µ‚Ü‚¹‚ñI
+        </para>
+
+        <para>
+            <literal>LockMode</literal> ƒNƒ‰ƒX‚́AHibernate‚ªŠl“¾‚Å‚«‚éˆÙ‚Ȃ郍ƒbƒNƒŒƒxƒ‹‚ð’è‹`‚µ‚Ü‚·B
+            ˆÈ‰º‚ÌŽd‘g‚Ý‚É‚æ‚èAƒƒbƒN‚ðŠl“¾‚Å‚«‚Ü‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>LockMode.WRITE</literal> ‚́A
+                    Hibernate‚ªs‚ðXV‚à‚µ‚­‚Í‘}“ü‚·‚éÛ‚ÉŽ©“®“I‚É“¾‚ç‚ê‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>LockMode.UPGRADE</literal> ‚́A
+                    ƒf[ƒ^ƒx[ƒX‚ŃTƒ|[ƒg‚³‚ê‚Ä‚¢‚镶–@ <literal>SELECT ... FOR UPDATE</literal>
+                    ‚ðŽg‚Á‚½A–¾Ž¦“I‚ȃ†[ƒU[—v‹‚É‚æ‚蓾‚ç‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>LockMode.UPGRADE_NOWAIT</literal> ‚́A
+                    Oracle ‚Å <literal>SELECT ... FOR UPDATE NOWAIT</literal> ‚ðŽg‚Á‚½A
+                    –¾Ž¦“I‚ȃ†[ƒU[—v‹‚É‚æ‚蓾‚ç‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>LockMode.READ</literal> ‚́A
+                    Repeatable Read‚à‚µ‚­‚ÍSerializable‚Ì•ª—£ƒŒƒxƒ‹‚ŁAƒf[ƒ^‚ð“Ç‚ñ‚¾Û‚ÉŽ©“®“I‚É“¾‚ç‚ê‚Ü‚·B
+                    ‚¨‚»‚ç‚­A–¾Ž¦“I‚ȃ†[ƒU[—v‹‚É‚æ‚èAÄŽæ“¾‚³‚ê‚Ü‚·B
+                </para>
+            </listitem>
+        <listitem>
+        <para>
+            <literal>LockMode.NONE</literal> ‚́AƒƒbƒN‚µ‚È‚¢‚±‚Æ‚ð•\‚µ‚Ü‚·B
+            <literal>Transaction</literal> ‚̏I‚í‚è‚ɁA
+            ‚·‚ׂẴIƒuƒWƒFƒNƒg‚Í‚±‚̃ƒbƒNƒ‚[ƒh‚ɐ؂è‘Ö‚í‚è‚Ü‚·B
+            <literal>update()</literal> ‚â <literal>saveOrUpdate()</literal> ‚ðŒÄ‚яo‚·‚±‚Æ‚É‚æ‚Á‚āA
+            ƒZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A•t‚¯‚ç‚ꂽƒIƒuƒWƒFƒNƒg‚àA‚±‚̃ƒbƒNƒ‚[ƒh‚ŏo”­‚µ‚Ü‚·B
+        </para>
+        </listitem>
+        </itemizedlist>
+
+        <para>
+            u–¾Ž¦“I‚ȃ†[ƒU[—v‹v‚Ƃ́A‰º‹L‚Ì•û–@‚Ì‚P‚‚Ō¾‚¢•\‚¹‚Ü‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>LockMode</literal> ‚ðŽw’肵‚½ <literal>Session.load()</literal> ‚̌Ăяo‚µB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>Session.lock()</literal> ‚̌Ăяo‚µB
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>Query.setLockMode()</literal> ‚̌Ăяo‚µB
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            <literal>UPGRADE</literal> ‚à‚µ‚­‚Í <literal>UPGRADE_NOWAIT</literal> ‚ªŽw’肳‚ꂽ
+            <literal>Session.load()</literal> ‚ªŒÄ‚яo‚³‚êA
+            ‚©‚—v‹‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ªƒZƒbƒVƒ‡ƒ“‚É‚æ‚Á‚Ä‚Ü‚¾ƒ[ƒh‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ê‡‚́A
+            <literal>SELECT ... FOR UPDATE</literal> ‚ðŽg‚Á‚āAƒIƒuƒWƒFƒNƒg‚ªƒ[ƒh‚³‚ê‚Ü‚·B
+            <literal>load()</literal> ‚ŌĂяo‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ªA
+            —v‹‚³‚ê‚Ä‚¢‚é‚æ‚萧ŒÀ‚ª­‚È‚¢ƒƒbƒN‚Å‚·‚łɃ[ƒh‚³‚ê‚Ä‚¢‚½ê‡‚́A
+            Hibernate‚Í‚»‚̃IƒuƒWƒFƒNƒg‚Ì‚½‚߂ɁA<literal>lock()</literal> ‚ðŒÄ‚яo‚µ‚Ü‚·B
+        </para>
+
+        <para>
+            Žw’肳‚ꂽƒƒbƒNƒ‚[ƒh‚ª <literal>READ</literal> ‚à‚µ‚­‚́A<literal>UPGRADE</literal>A
+            <literal>UPGRADE_NOWAIT</literal> ‚¾‚Á‚½ê‡A<literal>Session.lock()</literal>
+            ‚́Aƒo[ƒWƒ‡ƒ“”ԍ†‚̃`ƒFƒbƒN‚ðŽÀŽ{‚µ‚Ü‚·B
+            i<literal>UPGRADE</literal> ‚à‚µ‚­‚Í <literal>UPGRADE_NOWAIT</literal> ‚̏ꍇA
+            <literal>SELECT ... FOR UPDATE</literal> ‚ªŽg‚í‚ê‚Ü‚·Bj
+        </para>
+
+        <para>
+            ƒf[ƒ^ƒx[ƒX‚ª—v‹‚³‚ꂽƒƒbƒNƒ‚[ƒh‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢ê‡A
+            Hibernate‚́i—áŠO‚ð“Š‚°‚é‘ã‚í‚è‚ɁAj“KØ‚È‘ã‚í‚è‚̃‚[ƒh‚ðŽg‚¢‚Ü‚·B
+            ‚±‚ê‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒ|[ƒ^ƒuƒ‹‚Å‚ ‚邱‚Æ‚ð•ÛØ‚µ‚Ü‚·B
+        </para>
+
+    </sect1>
+
+    <sect1 id="transactions-connection-release">
+        <title>ƒRƒlƒNƒVƒ‡ƒ“ŠJ•úƒ‚[ƒh</title>
+
+        <para>
+            Hibernate‚̃ŒƒKƒV[i2.xj‚ÌJDBCƒRƒlƒNƒVƒ‡ƒ“ŠÇ—‚ÉŠÖ‚·‚éU‚é•‘‚¢‚́A
+            Å‰‚É•K—v‚Æ‚µ‚½Û‚É <literal>Session</literal> ‚ªƒRƒlƒNƒVƒ‡ƒ“‚𓾂é‚Æ‚¢‚¤‚à‚Ì‚Å‚µ‚½B
+            ‚»‚µ‚āAƒZƒbƒVƒ‡ƒ“‚ª•Â‚¶‚ç‚ê‚é‚܂ŁA‚»‚̃RƒlƒNƒVƒ‡ƒ“‚ð•ÛŽ‚µ‚Ü‚µ‚½B
+            Hibernate 3.x‚́AƒZƒbƒVƒ‡ƒ“‚ÉJDBCƒRƒlƒNƒVƒ‡ƒ“‚ð‚ǂ̂悤‚ɐ§Œä‚·‚é‚©‚ð“`‚¦‚é
+            ƒRƒlƒNƒVƒ‡ƒ“ŠJ•úƒ‚[ƒh‚Æ‚¢‚¤ŠT”O‚𓱓ü‚µ‚Ü‚µ‚½B
+            ˆÈ~‚Ì‹c˜_‚́A\¬‚³‚ꂽ <literal>ConnectionProvider</literal> ‚ð’Ê‚µ‚Ä’ñ‹Ÿ‚³‚ê‚é
+            ƒRƒlƒNƒVƒ‡ƒ“‚É“KØ‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            ˆÙ‚È‚éŠJ•úƒ‚[ƒh‚́A<literal>org.hibernate.ConnectionReleaseMode</literal> ‚É
+            —ñ‹“‚³‚ꂽ’l‚É‚æ‚èŠm”F‚³‚ê‚Ü‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>ON_CLOSE</literal> - –{Ž¿“I‚ɏã‹L‚ŏq‚ׂ½ƒŒƒKƒV[‚̐U‚é•‘‚¢‚Å‚·B
+                    HibernateƒZƒbƒVƒ‡ƒ“‚͍ŏ‰‚ÉJDBCƒAƒNƒZƒX‚ðŽÀs‚·‚é•K—v‚ª‚ ‚éÛ‚ɃRƒlƒNƒVƒ‡ƒ“‚𓾂܂·B
+                    ‚»‚µ‚āAƒZƒbƒVƒ‡ƒ“‚ª•Â‚¶‚ç‚ê‚é‚܂ŁAƒRƒlƒNƒVƒ‡ƒ“‚ð•ÛŽ‚µ‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>AFTER_TRANSACTION</literal> - 
+                    <literal>org.hibernate.Transaction</literal> ‚ªŠ®—¹‚µ‚½ŒãA
+                    ƒRƒlƒNƒVƒ‡ƒ“‚ðŠJ•ú‚µ‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>AFTER_STATEMENT</literal> iÏ‹É“I‚ÈŠJ•ú‚Æ‚àŒÄ‚΂ê‚éj -
+                    ‚·‚ׂẴXƒe[ƒgƒƒ“ƒg‚ª‚»‚ꂼ‚êŽÀs‚³‚ꂽŒãAƒRƒlƒNƒVƒ‡ƒ“‚ªŠJ•ú‚³‚ê‚Ü‚·B
+                    ƒXƒe[ƒgƒƒ“ƒg‚ªƒZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A‚·‚郊ƒ\[ƒX‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚·‚éê‡‚́A
+                    ‚±‚̐ϋɓI‚ÈŠJ•ú‚̓XƒLƒbƒv‚³‚ê‚Ü‚·B
+                    ¡‚Ì‚Æ‚±‚ëA‚±‚ꂪ‹N‚±‚é‚Ì‚Í <literal>org.hibernate.ScrollableResults</literal>
+                    ‚ªŽg‚í‚ê‚éê‡‚Ì‚Ý‚Å‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            ƒRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒpƒ‰ƒ[ƒ^‚Ì <literal>hibernate.connection.release_mode</literal>
+            ‚́AŽg—p‚·‚éŠJ•úƒ‚[ƒh‚ðŽw’è‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B
+            Žw’è‚Å‚«‚é’l‚ÍŽŸ‚Ì’Ê‚è‚Å‚·B
+        </para>
+
+        <itemizedlist spacing="compact">
+            <listitem>
+                <para>
+                    <literal>auto</literal> iƒfƒtƒHƒ‹ƒgj - ‚±‚ê‚ð‘I‘ð‚·‚é‚Æ
+                    <literal>org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()</literal>
+                    ƒƒ\ƒbƒh‚É‚æ‚Á‚Ä•Ô‚³‚ê‚éŠJ•úƒ‚[ƒh‚ɈϏ÷‚³‚ê‚Ü‚·B
+                    ‚±‚̃ƒ\ƒbƒh‚́A
+                    JTATransactionFactory‚É‚ÍConnectionReleaseMode.AFTER_STATEMENT‚ð•Ô‚µA
+                    JDBCTransactionFactory‚É‚ÍConnectionReleaseMode.AFTER_TRANSACTION‚ð•Ô‚µ‚Ü‚·B
+                    ‚±‚̃fƒtƒHƒ‹ƒg‚̐U‚é•‘‚¢‚ð•Ï‚¦‚Ä‚¤‚Ü‚­‚¢‚Á‚½ŽŽ‚µ‚ª‚ ‚è‚Ü‚¹‚ñB
+                    ‚»‚ê‚́A‚±‚̐ݒè’l‚ªŒ´ˆö‚Å‹N‚±‚éáŠQ‚́A
+                    ƒ†[ƒUƒR[ƒh‚Ì’†‚ŃoƒO‚âŠÔˆá‚Á‚½ðŒ‚É‚È‚è‚â‚·‚¢‚©‚ç‚Å‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>on_close</literal> - ConnectionReleaseMode.ON_CLOSE‚ðŽg‚¢‚Ü‚·B
+                    ‚±‚̐ݒè‚ÍŒã•ûŒÝŠ·‚Ì‚½‚ß‚ÉŽc‚³‚ê‚Ä‚¢‚Ü‚·‚ªAŽg‚í‚È‚¢‚±‚Æ‚ð‹­‚­Š©‚ß‚Ü‚·B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>after_transaction</literal> - ConnectionReleaseMode.AFTER_TRANSACTION‚ðŽg‚¢‚Ü‚·B
+                    ‚±‚̐ݒè‚ÍJTAŠÂ‹«‚Ì’†‚Å‚ÍŽg‚¤‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                    ConnectionReleaseMode.AFTER_TRANSACTION‚ðŽw’肵AŽ©“®ƒRƒ~ƒbƒgƒ‚[ƒh‚Ì’†‚ł́A
+                    ŠJ•úƒ‚[ƒh‚ªAFTER_STATEMENT‚Å‚ ‚é‚©‚̂悤‚ɁAƒRƒlƒNƒVƒ‡ƒ“‚ÍŠJ•ú‚³‚ê‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                </para>
+            </listitem>
+            <listitem>
+                <para>
+                    <literal>after_statement</literal> - ConnectionReleaseMode.AFTER_STATEMENT‚ðŽg‚¢‚Ü‚·B
+                    ‚³‚ç‚ɁAÝ’肳‚ꂽ <literal>ConnectionProvider</literal> ‚́A
+                    ‚±‚̐ݒè (<literal>supportsAggressiveRelease()</literal>) ‚ðƒTƒ|[ƒg‚·‚é‚©‚Ç‚¤‚©
+                    ‚𒲂ׂ邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
+                    ‚à‚µ‚»‚¤‚Å‚È‚¢ê‡AŠJ•úƒ‚[ƒh‚ÍConnectionReleaseMode.AFTER_TRANSACTION
+                    ‚ɃŠƒZƒbƒg‚³‚ê‚Ü‚·B
+                    ‚±‚̐ݒè‚ÍŽŸ‚̊‹«‚ł݈̂À‘S‚Å‚·B
+                    ‚»‚ê‚́A<literal>ConnectionProvider.getConnection()</literal> ‚ðŒÄ‚яo‚·‚½‚Ñ‚É
+                    Šî”Õ‚Æ‚È‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ª“¯‚¶‚à‚Ì‚ðŽæ“¾‚Å‚«‚é‚©A
+                    “¯‚¶ƒRƒlƒNƒVƒ‡ƒ“‚ª“¾‚ç‚ê‚邱‚Æ‚ª–â‘è‚Æ‚È‚ç‚È‚¢Ž©“®ƒRƒ~ƒbƒgŠÂ‹«‚Ì’†‚Å‚·B
+                </para>
+            </listitem>
+        </itemizedlist>
+
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/tutorial.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,1600 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="tutorial">
+    <title>Hibernate‚Ì“±“ü</title>
+    
+    <sect1 id="tutorial-intro" revision="1">
+        <title>‘O‘‚«</title>
+        
+        <para>
+            ‚±‚̏͂ÍHibernate‚ð‰‚ß‚ÄŽg‚¤ƒ†[ƒUŒü‚¯‚Ì“ü–å“I‚ȃ`ƒ…[ƒgƒŠƒAƒ‹‚Å‚·B
+            ƒCƒ“ƒƒ‚ƒŠƒf[ƒ^ƒx[ƒX‚ðŽg‚¤ŠÈ’P‚ȃRƒ}ƒ“ƒhƒ‰ƒCƒ“ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çŽn‚߁A
+            ˆê•àˆê•à‚í‚©‚è‚â‚·‚¢‚â‚è•û‚ÅŠJ”­‚ði‚ß‚Ü‚·B
+        </para>
+
+        <para>
+            ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚ÍHibernate‚ð‰‚ß‚ÄŽg‚¤ƒ†[ƒU‚ð‘z’肵‚Ä‚¢‚Ü‚·‚ªA
+            —‰ð‚·‚é‚É‚ÍJava‚ÆSQL‚ɂ‚¢‚Ä‚Ì’mŽ¯‚ª•K—v‚Å‚·B
+            ‚±‚ê‚ÍMichael Gloegl‚ÌŽè‚É‚æ‚éƒ`ƒ…[ƒgƒŠƒAƒ‹‚ð‰º•~‚«‚É‚µ‚Ä‚¢‚Ü‚·‚ªA
+            ‚±‚±‚ŃT[ƒhƒp[ƒeƒBƒ‰ƒCƒuƒ‰ƒŠ‚ÆŒ¾‚Á‚Ä‚¢‚é‚̂́AJDK 1.4‚Æ5.0—p‚Ì‚à‚Ì‚Å‚·B
+            JDK 1.3‚ð—˜—p‚·‚é‚Ì‚Å‚ ‚ê‚Α¼‚̃‰ƒCƒuƒ‰ƒŠ‚ª•K—v‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+             ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃\[ƒXƒR[ƒh‚ÍHibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì 
+             <literal>doc/reference/tutorial/</literal> ‚É‚ ‚è‚Ü‚·B
+        </para>
+
+    </sect1>
+    
+    <sect1 id="tutorial-firstapp" revision="2">
+        <title>ƒp[ƒg1 - ‰‚ß‚Ä‚ÌHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“</title>
+
+        <para>
+            Å‰‚ɃRƒ“ƒ\[ƒ‹ƒx[ƒX‚ÌŠÈ’P‚ÈHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðì¬‚µ‚Ü‚·B
+            Javaƒf[ƒ^ƒx[ƒXiHSQL DBj‚ð—˜—p‚·‚é‚̂ŁA
+            ƒf[ƒ^ƒx[ƒXƒT[ƒo‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+        </para>
+
+        <para>
+            ‰¼‚ɏ¬‚³‚ȃf[ƒ^ƒx[ƒXƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•K—v‚¾‚Æ‚µ‚Ü‚µ‚傤B
+            ‚»‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ɂ͏oÈ‚µ‚½‚¢ƒCƒxƒ“ƒg‚ƁA
+            ‚»‚̃Cƒxƒ“ƒg‚̃zƒXƒg‚ɂ‚¢‚Ă̏î•ñ‚ðŠi”[‚·‚é‚à‚Ì‚Æ‚µ‚Ü‚·B
+        </para>
+            
+        <para>
+            ‚Ü‚¸Å‰‚É‚·‚邱‚Æ‚ÍŠJ”­—p‚̃fƒBƒŒƒNƒgƒŠ‚ðƒZƒbƒgƒAƒbƒv‚µ‚āA
+            •K—v‚Æ‚È‚é‚·‚ׂĂÌJavaƒ‰ƒCƒuƒ‰ƒŠ‚ð”z’u‚·‚邱‚Æ‚Å‚·B
+            HibernateƒEƒFƒuƒTƒCƒg‚©‚çHibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚ðƒ_ƒEƒ“ƒ[ƒh‚µ‚Ä‚­‚¾‚³‚¢B
+            ƒtƒ@ƒCƒ‹‚ð‰ð“€‚µ‚Ä <literal>/lib</literal> ‚É‚ ‚é•K—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚Ì‚·‚ׂĂðA
+            V‚µ‚¢ŠJ”­—pƒfƒBƒŒƒNƒgƒŠ‚Ì <literal>/lib</literal> ƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚µ‚Ä‚­‚¾‚³‚¢B
+            ‚±‚̂悤‚É‚È‚Á‚Ä‚¢‚é‚Í‚¸‚Å‚·F
+        </para>
+            
+        <programlisting><![CDATA[.
++lib
+  antlr.jar
+  cglib.jar
+  asm.jar
+  asm-attrs.jars
+  commons-collections.jar
+  commons-logging.jar
+  hibernate3.jar
+  jta.jar
+  dom4j.jar
+  log4j.jar ]]></programlisting>
+
+        <para>
+            ‚±‚ꂪ <emphasis>–{ƒhƒLƒ…ƒƒ“ƒgŽ·•MŽž“_‚Å‚Ì</emphasis> Hibernate‚Ì•K—vÅ’áŒÀ‚̃‰ƒCƒuƒ‰ƒŠ‚Å‚·
+            iƒƒCƒ“ƒA[ƒJƒCƒu‚Ìhibernate3.jar‚àƒRƒs[‚µ‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢jB
+            Hibernate‚̃o[ƒWƒ‡ƒ“‚É‚æ‚Á‚Ä‚Í‚³‚ç‚É•K—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚âA•s—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+            HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì <literal>lib/</literal> ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é 
+            <literal>README.txt</literal> ƒtƒ@ƒCƒ‹‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+            •K{‚Ü‚½‚̓IƒvƒVƒ‡ƒ“‚̃T[ƒhƒp[ƒeƒBƒ‰ƒCƒuƒ‰ƒŠ‚ɂ‚¢‚Ă̏î•ñ‚ðÚ‚¹‚Ä‚¢‚Ü‚·
+            iŽÀÛLog4j‚Í•K{‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA‘½‚­‚ÌŠJ”­ŽÒ‚ªD‚ñ‚Å‚¢‚Ü‚·jB
+        </para>
+
+        <para>
+            ŽŸ‚Ƀf[ƒ^ƒx[ƒX‚ÉŠi”[‚·‚éƒCƒxƒ“ƒg‚ð•\‚·ƒNƒ‰ƒX‚ðì¬‚µ‚Ü‚·B
+        </para>
+      
+        <sect2 id="tutorial-firstapp-firstclass" revision="1">
+            <title>Å‰‚̃Nƒ‰ƒX</title>
+            
+            <para>
+				Å‰‚̉i‘±ƒNƒ‰ƒX‚́AƒvƒƒpƒeƒB‚ð‚¢‚­‚‚©Ž‚ƒVƒ“ƒvƒ‹‚ÈJavaBean‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[package events;
+
+import java.util.Date;
+
+public class Event {
+    private Long id;
+
+    private String title;
+    private Date date;
+
+    public Event() {}
+
+    public Long getId() {
+        return id;
+    }
+
+    private void setId(Long id) {
+        this.id = id;
+    }
+
+    public Date getDate() {
+        return date;
+    }
+
+    public void setDate(Date date) {
+        this.date = date;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+}]]></programlisting>
+
+            <para>
+                ‚²——‚Ì‚Æ‚¨‚èA‚±‚̃Nƒ‰ƒX‚̓tƒB[ƒ‹ƒh‚ªprivate‚̉Ž‹«‚ðŽ‚Á‚Ä‚¢‚é‚Ì‚Æ“¯Žž‚ɁA
+                JavaBean•W€‚̃Qƒbƒ^[AƒZƒbƒ^[ƒƒ\ƒbƒh‚Ì–½–¼‹K–ñ‚ɏ]‚Á‚Ä‚¢‚Ü‚·B
+                ‚±‚̂悤‚Ȑ݌v‚͐„§‚³‚ê‚Ä‚¢‚Ü‚·‚ª•K{‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                ƒAƒNƒZƒTƒƒ\ƒbƒh‚ðÝ‚¯‚é‚̂̓Šƒtƒ@ƒNƒ^ƒŠƒ“ƒO‚ðl‚¦‚½ŠæŒ’«‚Ì‚½‚߂ŁA
+                Hibernate‚̓tƒB[ƒ‹ƒh‚É’¼ÚƒAƒNƒZƒX‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+                ˆø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚́AƒŠƒtƒŒƒNƒVƒ‡ƒ“‚Å‚±‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðì¬‚·‚邽‚ß‚É
+                •K—v‚Å‚·B
+            </para>
+
+            <para>
+                <literal>id</literal> ƒvƒƒpƒeƒB‚́A‚ ‚é“Á’è‚̃Cƒxƒ“ƒg‚ɑ΂·‚郆ƒj[ƒN‚ÈŽ¯•ÊŽq‚Ì’l‚ð•ÛŽ‚µ‚Ü‚·B
+                Hibernate‚ÌŠ®‘S‚È‹@”\‚ðŽg‚¢‚½‚¯‚ê‚΁A‚·‚ׂẲi‘±ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX
+                i‚»‚ê‚قǏd—v‚Å‚Í‚È‚¢ˆË‘¶ƒNƒ‰ƒX‚Æ‚¢‚¤‚à‚Ì‚à‚ ‚è‚Ü‚·j
+                ‚É‚±‚̂悤‚ÈŽ¯•ÊŽqƒvƒƒpƒeƒB‚ª•K—v‚É‚È‚è‚Ü‚·B
+                Ž–ŽÀã‚Ù‚Æ‚ñ‚ǂ̃AƒvƒŠƒP[ƒVƒ‡ƒ“i“Á‚ÉwebƒAƒvƒŠƒP[ƒVƒ‡ƒ“j‚ł́A
+                Ž¯•ÊŽq‚ŃIƒuƒWƒFƒNƒg‚ð‹æ•Ê‚·‚é•K—v‚ª‚ ‚邽‚߁A‚±‚ê‚͐§ŒÀ‚Æ‚¢‚¤‚æ‚è‚à“Á’¥‚Å‚ ‚é‚ƍl‚¦‚é‚ׂ«‚Å‚·B
+                ‚µ‚©‚µ’ʏíƒIƒuƒWƒFƒNƒg‚ÌID‚𑀍삷‚é‚悤‚È‚±‚Æ‚Í‚µ‚Ü‚¹‚ñB
+                ‚»‚Ì‚½‚߃Zƒbƒ^[ƒƒ\ƒbƒh‚Íprivate‚É‚·‚é‚ׂ«‚Å‚·B
+                Hibernate‚¾‚¯‚ªƒIƒuƒWƒFƒNƒg‚ªƒZ[ƒu‚³‚ꂽ‚Æ‚«‚ÉŽ¯•ÊŽq‚Ö’l‚ð‘ã“ü‚µ‚Ü‚·B
+                Hibernate‚ªipublic, private, protectedjƒtƒB[ƒ‹ƒh‚É’¼ÚƒAƒNƒZƒX‚Å‚«‚é‚Ì‚Æ“¯—l‚ɁA
+                public, private, protected‚̃AƒNƒZƒTƒƒ\ƒbƒh‚ɃAƒNƒZƒX‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚í‚©‚é‚Å‚µ‚傤B
+                ‘I‘ð‚Í‚ ‚È‚½‚É”C‚³‚ê‚Ä‚¢‚é‚̂ŁA‚ ‚È‚½‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̐݌v‚ɍ‡‚킹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                ˆø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Í‚·‚ׂẲi‘±ƒNƒ‰ƒX‚É•K{‚Å‚·B
+                ‚±‚ê‚ÍHibernate‚ªJava‚̃ŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚āAƒIƒuƒWƒFƒNƒg‚ðì¬‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚½‚ß‚Å‚·B
+                ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðprivate‚É‚·‚邱‚Ƃ͉”\‚Å‚·‚ªA
+                ŽÀsŽž‚̃vƒƒLƒV¶¬‚ƁAƒoƒCƒgƒR[ƒh‘€ì‚È‚µ‚ÌŒø—¦“I‚ȃf[ƒ^‚Ì’Šo‚ɂ́A
+                package‰ÂŽ‹«‚ª•K—v‚Å‚·B
+            </para>
+
+            <para>
+                ŠJ”­ƒtƒHƒ‹ƒ_‚Ì <literal>src</literal> ‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚Ì“KØ‚ȃpƒbƒP[ƒW‚ɁA
+                ‚±‚ÌJavaƒ\[ƒXƒtƒ@ƒCƒ‹‚ð”z’u‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚ÌŽž“_‚ŃfƒBƒŒƒNƒgƒŠ‚͈ȉº‚̂悤‚É‚È‚Á‚Ä‚¢‚é‚Í‚¸‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[.
++lib
+  <Hibernate and third-party libraries>
++src
+  +events
+    Event.java]]></programlisting>
+
+            <para>
+                ŽŸ‚̃Xƒeƒbƒv‚ł́AHibernate‚É‚±‚̉i‘±ƒNƒ‰ƒX‚̏î•ñ‚ð‹³‚¦‚Ü‚·B
+            </para>
+                
+        </sect2>
+
+        <sect2 id="tutorial-firstapp-mapping" revision="1">
+            <title>ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹</title>
+
+            <para>
+                Hibernate‚́A‚ǂ̂悤‚ɉi‘±ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðƒ[ƒh‚µŠi”[‚·‚ê‚΂悢‚©‚ð’m‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                ‚±‚±‚ÅHibernateƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ª“oê‚µ‚Ü‚·B
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚́Aƒf[ƒ^ƒx[ƒX“à‚̂ǂ̃e[ƒuƒ‹‚ɃAƒNƒZƒX‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚©A
+                ‚»‚̃e[ƒuƒ‹‚̂ǂ̃Jƒ‰ƒ€‚ðŽg‚¤‚ׂ«‚©‚ðAHibernate‚É‹³‚¦‚Ü‚·B
+            </para>
+
+            <para>
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÌŠî–{“I‚ȍ\‘¢‚Í‚±‚̂悤‚É‚È‚è‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+
+<hibernate-mapping>
+[...]
+</hibernate-mapping>]]></programlisting>
+
+            <para>
+                Hibernate DTD‚ª”ñí‚ɐô—û‚³‚ê‚Ä‚¢‚邱‚Æ‚É’–Ú‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚ÌDTD‚́AƒGƒfƒBƒ^‚âIDE‚Å‚ÌXMLƒ}ƒbƒsƒ“ƒO—v‘f‚Æ‘®«‚̃I[ƒgƒRƒ“ƒvƒŠ[ƒVƒ‡ƒ“‹@”\‚É—˜—p‚Å‚«‚Ü‚·B
+                ‚Ü‚½DTDƒtƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¯‚Ä‚Ý‚Ä‚­‚¾‚³‚¢B
+                ‚Æ‚¢‚¤‚Ì‚àA‚·‚ׂĂ̗v‘f‚Æ‘®«‚ðŠTŠÏ‚µA
+                ƒRƒƒ“ƒg‚âƒfƒtƒHƒ‹ƒg‚Ì’l‚ðŒ©‚é‚ɂ͈ê”ÔŠÈ’P‚È•û–@‚¾‚©‚ç‚Å‚·B
+                Hibernate‚́Aweb‚©‚çDTDƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚¹‚¸‚ɁA
+                ‚Ü‚¸ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Nƒ‰ƒXƒpƒX‚©‚炱‚ê‚ð’T‚µo‚»‚¤‚Æ‚·‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                DTDƒtƒ@ƒCƒ‹‚ÍHibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì <literal>src/</literal> 
+                ƒfƒBƒŒƒNƒgƒŠ‚Æ“¯—lA<literal>hibernate3.jar</literal> ‚É‚àŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                ˆÈ~‚Ì—á‚ł̓R[ƒh‚ð’Z‚­‚·‚邽‚ß‚ÉDTDéŒ¾‚ðÈ—ª‚µ‚Ü‚·B
+                “–‘R‚Å‚·‚ª‚±‚ê‚̓IƒvƒVƒ‡ƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                2‚Â‚Ì <literal>hibernate-mapping</literal> ƒ^ƒO‚ÌŠÔ‚É
+                <literal>class</literal> —v‘f‚ðŠÜ‚ß‚Ä‚­‚¾‚³‚¢B
+                ‚·‚ׂẲi‘±ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒXi”O‚ð‰Ÿ‚µ‚Ü‚·‚ªA
+                ƒtƒ@[ƒXƒgƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB‚Å‚Í‚È‚¢ˆË‘¶ƒNƒ‰ƒX‚Æ‚¢‚¤‚à‚Ì‚ªŒã‚Ù‚Ç“oê‚µ‚Ü‚·j
+                ‚ÍSQLƒf[ƒ^ƒx[ƒX“à‚̃e[ƒuƒ‹‚Ö‚Ì‚±‚̂悤‚ȃ}ƒbƒsƒ“ƒO‚ð•K—v‚Æ‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="events.Event" table="EVENTS">
+
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+            <para>
+                ‚±‚ê‚Ü‚ÅŽ„‚½‚¿‚́A<literal>Event</literal> ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ð
+                <literal>EVENTS</literal> ƒe[ƒuƒ‹‚ɑ΂µ‚āA‚ǂ̂悤‚ɉi‘±‰»‚µ‚½‚胍[ƒh‚µ‚½‚è‚·‚é‚Ì‚©‚ð
+                Hibernate‚É‹³‚¦‚Ä‚«‚Ü‚µ‚½B‚»‚µ‚ȁX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̓e[ƒuƒ‹‚̍s‚Æ‚µ‚Ä•\Œ»‚³‚ê‚Ü‚·B
+                ‚»‚ê‚ł͈ø‚«‘±‚«ƒe[ƒuƒ‹‚ÌŽåƒL[‚ɑ΂·‚郆ƒj[ƒN‚ÈŽ¯•ÊŽqƒvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ä‚¢‚«‚Ü‚·B
+                ‚³‚ç‚ɁA‚±‚ÌŽ¯•ÊŽq‚̈µ‚¢‚É‹C‚ðŽg‚¢‚½‚­‚È‚©‚Á‚½‚Ì‚Æ“¯—l‚ɁA
+                ‘㗝‚ÌŽåƒL[ƒJƒ‰ƒ€‚ɑ΂·‚éHibernate‚ÌŽ¯•ÊŽq¶¬í—ª‚ðÝ’肵‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="events.Event" table="EVENTS">
+        <id name="id" column="EVENT_ID">
+            <generator class="native"/>
+        </id>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+            <para>
+                <literal>id</literal> —v‘f‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚̐錾‚Å‚ ‚èA
+                <literal>name="id"</literal> ‚ÅJavaƒvƒƒpƒeƒB‚Ì–¼‘O‚ðéŒ¾‚µ‚Ü‚·B
+                Hibernate‚Í‚±‚̃vƒƒpƒeƒB‚ÖƒAƒNƒZƒX‚·‚邽‚߂ɃQƒbƒ^[AƒZƒbƒ^[ƒƒ\ƒbƒh‚ðŽg‚¢‚Ü‚·B
+                ƒJƒ‰ƒ€‘®«‚Å‚Í <literal>EVENTS</literal> ƒe[ƒuƒ‹‚̂ǂ̃Jƒ‰ƒ€‚ðŽåƒL[‚Æ‚µ‚ÄŽg‚¤‚Ì‚©‚ð
+                Hibernate‚É‹³‚¦‚Ü‚·B
+                “ü‚êŽq‚É‚È‚Á‚Ä‚¢‚é <literal>generator</literal> —v‘f‚́AŽ¯•ÊŽq‚𐶐¬‚·‚鎞‚̐헪‚ðŽw’肵‚Ü‚·B
+                i‚±‚Ì—á‚Å‚Í <literal>native</literal> ‚ð—p‚¢‚Ü‚µ‚½jB
+                ‚±‚Ì—v‘f‚́AÝ’肵‚½ƒf[ƒ^ƒx[ƒXidialectj‚ɑ΂·‚éÅ—Ç‚ÈŽ¯•ÊŽq¶¬í—ª‚ð‘I’è‚·‚é‚à‚Ì‚Å‚·B
+                Hibernate‚́AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å’l‚ðŠ„‚è“–‚Ä‚éí—ªi‚à‚µ‚­‚Í“ÆŽ©‚ÉŠg’£‚µ‚½í—ªj‚Æ“¯—l‚ɁA
+                ƒOƒ[ƒoƒ‹‚Ƀ†ƒj[ƒN‚È’l‚ðƒf[ƒ^ƒx[ƒX‚ɐ¶¬‚³‚¹‚éí—ª‚àƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                ÅŒã‚ɃNƒ‰ƒX‚̉i‘±ƒvƒƒpƒeƒB‚̐錾‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚Ü‚·B
+                ƒfƒtƒHƒ‹ƒg‚ł́AƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚͉i‘±‚ÆŒ©‚È‚³‚ê‚Ü‚¹‚ñF
+            </para>
+            
+            <programlisting><![CDATA[
+<hibernate-mapping>
+
+    <class name="events.Event" table="EVENTS">
+        <id name="id" column="EVENT_ID">
+            <generator class="native"/>
+        </id>
+        <property name="date" type="timestamp" column="EVENT_DATE"/>
+        <property name="title"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+            
+            <para>
+                <literal>id</literal> —v‘f‚̏ꍇ‚Æ“¯—l‚ɁA <literal>property</literal> —v‘f‚Ì 
+                <literal>name</literal> ‘®«‚ŁA‚ǂ̃Qƒbƒ^[‚ƃZƒbƒ^[ƒƒ\ƒbƒh‚ðŽg‚¤‚ׂ«‚©‚ðHibernate‚É‹³‚¦‚Ü‚·B
+                ‚±‚Ì—á‚ł́AHibernate‚Í <literal>getDate()/setDate()</literal> ‚Æ <literal>getTitle()/setTitle()</literal> ‚ð
+                ’T‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ‚È‚º <literal>date</literal> ƒvƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚É‚Í <literal>column</literal> 
+                ‘®«‚ª‚ ‚èA<literal>title</literal> ƒvƒƒpƒeƒB‚É‚Í‚È‚¢‚Ì‚Å‚µ‚傤‚©H
+                <literal>column</literal> ‘®«‚ª‚È‚¯‚ê‚΁AHibernate‚̓vƒƒpƒeƒB–¼‚ðƒJƒ‰ƒ€–¼‚Æ‚µ‚ÄŽg‚¢‚Ü‚·B
+                ‚±‚ê‚Í <literal>title</literal> ‚ł͏ãŽè‚­s‚«‚Ü‚·B
+                ‚µ‚©‚µ <literal>date</literal> ‚Í‚Ù‚Æ‚ñ‚ǂ̃f[ƒ^ƒx[ƒX‚Å—\–ñŒê‚Ȃ̂ŁA
+                ˆá‚¤–¼‘O‚Ń}ƒbƒsƒ“ƒO‚µ‚½•û‚ª‚æ‚¢‚Ì‚Å‚·B
+            </para>
+
+            <para>
+                ŽŸ‚É‹»–¡[‚¢‚Ì‚Í <literal>title</literal> ƒ}ƒbƒsƒ“ƒO‚ª <literal>type</literal> 
+                ‘®«‚ð‚àŒ‡‚¢‚Ä‚¢‚é“_‚Å‚·B
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ő錾‚µ‚ÄŽg‚¤type‚́A‚¨‚í‚©‚è‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªJava‚̃f[ƒ^Œ^‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                SQLƒf[ƒ^ƒx[ƒX‚ÌŒ^‚Å‚à‚ ‚è‚Ü‚¹‚ñB
+                ‚±‚ê‚Í <emphasis>Hibernateƒ}ƒbƒsƒ“ƒOŒ^</emphasis> ‚ƌĂ΂ê‚éA
+                Java‚©‚çSQLƒf[ƒ^‚ÌŒ^‚Ö‚Ü‚½‚ÍSQL‚©‚çJavaƒf[ƒ^Œ^‚Ö–|–ó‚·‚éƒRƒ“ƒo[ƒ^‚Å‚·B
+                ŒJ‚è•Ô‚µ‚É‚È‚è‚Ü‚·‚ªAHibernate‚Í <literal>type</literal> ‘®«‚ªƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚É‚È‚¯‚ê‚΁A
+                ³‚µ‚¢ƒRƒ“ƒo[ƒWƒ‡ƒ“‚ƃ}ƒbƒsƒ“ƒOŒ^‚ðŽ©•ª‚Å‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
+                iJavaƒNƒ‰ƒX‚̃ŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚½j‚±‚ÌŽ©“®ŒŸ’m‚́A
+                ê‡‚É‚æ‚Á‚Ä‚Í‚ ‚È‚½‚ªŠú‘Ò‚Ü‚½‚Í•K—v‚Æ‚·‚éƒfƒtƒHƒ‹ƒg’l‚É‚È‚ç‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+                <literal>date</literal> ƒvƒƒpƒeƒB‚̏ꍇ‚ª‚»‚¤‚Å‚µ‚½B
+                Hibernate‚Í‚±‚́i <literal>java.util.Date</literal> ‚́jƒvƒƒpƒeƒB‚ð
+                SQL‚Ì <literal>date</literal> , <literal>timestamp</literal> , 
+                <literal>time</literal> ‚Ì‚¤‚¿A‚ǂ̃Jƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚·‚é‚ׂ«‚È‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñB
+                <literal>timestamp</literal> ƒRƒ“ƒo[ƒ^‚ŃvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚É‚æ‚èAŠ®‘S‚È“úŽž‚ð•Û‘¶‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚́A<literal>Event.hbm.xml</literal> ‚Æ‚µ‚Ä <literal>Event</literal> 
+                JavaƒNƒ‰ƒXƒ\[ƒXƒtƒ@ƒCƒ‹‚Ì‚·‚®—ׂɃZ[ƒu‚·‚é‚ׂ«‚Å‚·B
+                ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ì–½–¼•û–@‚Í”CˆÓ‚Å‚·‚ªA<literal>hbm.xml</literal> 
+                ƒTƒtƒBƒbƒNƒX‚ªHibernate‚ÌŠJ”­ŽÒ‚̃Rƒ~ƒ…ƒjƒeƒB“à‚ł̏KŠµ‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B
+                Œ»ÝƒfƒBƒŒƒNƒgƒŠ\‘¢‚Í‚±‚̂悤‚É‚È‚Á‚Ä‚¢‚é‚Í‚¸‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[.
++lib
+  <Hibernate and third-party libraries>
++src
+  +events
+    Event.java
+    Event.hbm.xml]]></programlisting>
+
+             <para>
+                 Hibernate‚ÌŽå—v‚Ȑݒè‚𑱂¯‚Ü‚·B
+             </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-firstapp-configuration" revision="2">
+            <title>Hibernate‚̐ݒè</title>
+
+            <para>
+                ‚±‚±‚܂łʼni‘±ƒNƒ‰ƒX‚ƃ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ª‘µ‚¢‚Ü‚µ‚½B‚±‚ê‚©‚çHibernate‚̐ݒè‚ðs‚¢‚Ü‚·‚ªA
+                ‚»‚Ì‘O‚Ƀf[ƒ^ƒx[ƒX‚ª•K—v‚Å‚·B
+                HSQL DB‚ÍJavaƒx[ƒX‚̃Cƒ“ƒƒ‚ƒŠSQL DBMS‚Å‚ ‚èAHSQL DBƒEƒFƒuƒTƒCƒg‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
+                ŽÀÛ‚ɂ̓_ƒEƒ“ƒ[ƒh‚µ‚½’†‚Ì <literal>hsqldb.jar</literal> ‚¾‚¯‚ª•K—v‚Å‚·B
+                ‚±‚̃tƒ@ƒCƒ‹‚ðŠJ”­ƒtƒHƒ‹ƒ_‚Ì <literal>lib/</literal> ƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                <literal>data</literal> ‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚ðŠJ”­ƒfƒBƒŒƒNƒgƒŠ‚̃‹[ƒg‚ɍ쐬‚µ‚Ä‚­‚¾‚³‚¢B
+                HSQL DB‚Í‚±‚±‚Ƀf[ƒ^ƒtƒ@ƒCƒ‹‚ðŠi”[‚µ‚Ü‚·B
+                ‚±‚̃f[ƒ^ƒfƒBƒŒƒNƒgƒŠ‚É‚¨‚¢‚Ä <literal>java -classpath lib/hsqldb.jar org.hsqldb.Server</literal> ‚ðŽÀs‚µA
+                ƒf[ƒ^ƒx[ƒX‚ð‹N“®‚³‚¹‚Ä‚­‚¾‚³‚¢B
+                “®ì‚ÌŠJŽn‚ƁATCP/IPƒ\ƒPƒbƒg‚̃oƒCƒ“ƒh‚ªŠm”F‚Å‚«‚Ü‚·B
+                Œã‚قǍ쐬‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í‚±‚±‚ɐڑ±‚µ‚Ü‚·B
+                ‚à‚µ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹’†‚Ƀf[ƒ^ƒx[ƒX‚ð‰Šú‰»‚µ‚½‚¯‚ê‚΁A
+                HSQL DB‚ðƒVƒƒƒbƒgƒ_ƒEƒ“‚µ‚āiì‹ÆƒEƒBƒ“ƒhƒE‚Å <literal>CTRL + C</literal> ‚ð‰Ÿ‚µ‚Ü‚·j
+                <literal>data/</literal> ƒfƒBƒŒƒNƒgƒŠ“à‚̃tƒ@ƒCƒ‹‚ð‘S‚ďÁ‹Ž‚µ‚½ŒãA
+                HSQL DB‚ðÄ‹N“®‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                Hibernate‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃f[ƒ^ƒx[ƒX‚ɐڑ±‚·‚é‘w‚Ȃ̂ŁA
+                ƒRƒlƒNƒVƒ‡ƒ“‚̏î•ñ‚ª•K—v‚É‚È‚è‚Ü‚·B
+                ƒRƒlƒNƒVƒ‡ƒ“‚ÍJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ð’Ê‚¶‚čs‚í‚ê‚Ü‚·‚ªA‚±‚ê‚àÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚É‚Í‚¢‚­‚‚©‚̃I[ƒvƒ“ƒ\[ƒX‚ÌJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒc[ƒ‹‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·‚ªA
+                ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚Å‚ÍHibernate‚É‘g‚ݍž‚܂ꂽƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ðŽg‚¢‚Ü‚·B
+                ‚à‚µ»•iƒŒƒxƒ‹‚Ì•iŽ¿‚̃T[ƒhƒp[ƒeƒBJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒ\ƒtƒgƒEƒFƒA‚ðŽg‚¢‚½‚¯‚ê‚΁A
+                ƒNƒ‰ƒXƒpƒX‚É•K—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚ðƒRƒs[‚µ‚āAˆÙ‚È‚éƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ðÝ’肵‚È‚¯‚ê‚Î
+                ‚È‚ç‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                Hibernate‚̐ݒè‚ł́A’Pƒ‚È <literal>hibernate.properties</literal> ƒtƒ@ƒCƒ‹A
+                ‚»‚ê‚æ‚菭‚µô—û‚³‚ê‚Ä‚¢‚é <literal>hibernate.cfg.xml</literal> ƒtƒ@ƒCƒ‹A
+                ‚Ü‚½‚ÍŠ®‘S‚ɃvƒƒOƒ‰ƒ€ã‚ŃZƒbƒgƒAƒbƒv‚·‚é•û–@‚ª—˜—p‚Å‚«‚Ü‚·B
+                ‚Ù‚Æ‚ñ‚ǂ̃†[ƒU‚ªD‚Þ‚Ì‚ÍXMLÝ’èƒtƒ@ƒCƒ‹‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[<?xml version='1.0' encoding='utf-8'?>
+<!DOCTYPE hibernate-configuration PUBLIC
+        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
+        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
+
+<hibernate-configuration>
+
+    <session-factory>
+
+        <!-- Database connection settings -->
+        <property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
+        <property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
+        <property name="connection.username">sa</property>
+        <property name="connection.password"></property>
+
+        <!-- JDBC connection pool (use the built-in) -->
+        <property name="connection.pool_size">1</property>
+
+        <!-- SQL dialect -->
+        <property name="dialect">org.hibernate.dialect.HSQLDialect</property>
+
+        <!-- Enable Hibernate's automatic session context management -->
+        <property name="current_session_context_class">thread</property>
+
+        <!-- Disable the second-level cache  -->
+        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
+
+        <!-- Echo all executed SQL to stdout -->
+        <property name="show_sql">true</property>
+
+        <!-- Drop and re-create the database schema on startup -->
+        <property name="hbm2ddl.auto">create</property>
+
+        <mapping resource="events/Event.hbm.xml"/>
+
+    </session-factory>
+
+</hibernate-configuration>]]></programlisting>
+
+            <para>
+                ‚±‚ÌXML‚̐ݒ肪ˆÙ‚È‚éDTD‚ðŽg‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                “Á’è‚̃f[ƒ^ƒx[ƒX‚ðŽó‚¯Ž‚ƒOƒ[ƒoƒ‹ƒtƒ@ƒNƒgƒŠ‚Å‚ ‚éHibernate‚Ì 
+                <literal>SessionFactory</literal> ‚ðÝ’肵‚Ü‚·B
+                ‚à‚µ•¡”‚̃f[ƒ^ƒx[ƒX‚ª‚ ‚éê‡‚ɂ́A
+                iƒXƒ^[ƒgƒAƒbƒv‚ðŠÈ’P‚É‚·‚邽‚߁j’ʏ킢‚­‚‚©‚̐ݒèƒtƒ@ƒCƒ‹“à‚ŁA
+                ‚¢‚­‚‚©‚Ì <literal>&lt;session-factory&gt;</literal> ‚ðŽg‚¤Ý’è‚É‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                Å‰‚Ì4‚Â‚Ì <literal>property</literal> —v‘f‚ÍJDBCƒRƒlƒNƒVƒ‡ƒ“‚É•K—v‚Ȑݒè‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·B
+                dialect‚Æ‚¢‚¤–¼‘O‚Ì <literal>property</literal> —v‘f‚́AHibernate‚ª¶¬‚·‚é“Á’è‚ÌSQL•ûŒ¾‚ðŽw’肵‚Ü‚·B
+                ‰i‘±“I‚ȃRƒ“ƒeƒLƒXƒg‚ɑ΂·‚éHibernate‚̃ZƒbƒVƒ‡ƒ“‚ÌŽ©“®ŠÇ—‚́AŒã‚Ì—á‚Å‚·‚®‚É‚í‚©‚é‚悤‚ɁA–ð‚É—§‚‚±‚Æ‚Å‚µ‚傤B
+                <literal>hbm2ddl.auto</literal> ƒIƒvƒVƒ‡ƒ“‚̓f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ÌŽ©“®¶¬‚ðon‚É‚µ‚Ü‚·B
+                ‚±‚ê‚Í’¼Úƒf[ƒ^ƒx[ƒX‚ɑ΂µ‚ж¬‚³‚ê‚Ü‚·B
+                “–‘RiconfigƒIƒvƒVƒ‡ƒ“‚ðíœ‚µ‚ājoff‚É‚µ‚½‚èA
+                <literal>SchemaExport</literal> ‚Æ‚¢‚¤Antƒ^ƒXƒN‚̏•‚¯‚ðŽØ‚è‚ătƒ@ƒCƒ‹‚ɃŠƒ_ƒCƒŒƒNƒg‚µ‚½‚è‚Å‚«‚Ü‚·B
+                ÅŒã‚ɉi‘±ƒNƒ‰ƒX‚Ì‚½‚߂̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðÝ’è‚ɒljÁ‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚̃tƒ@ƒCƒ‹‚ðƒ\[ƒXƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚·‚é‚Æ‚±‚ê‚̓Nƒ‰ƒXƒpƒX‚̃‹[ƒg‚É‚ ‚邱‚Æ‚É‚È‚è‚Ü‚·B
+                Hibernate‚́AƒXƒ^[ƒgƒAƒbƒvŽž‚ɃNƒ‰ƒXƒpƒX‚̃‹[ƒg‚Å <literal>hibernate.cfg.xml</literal> 
+                ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ðŽ©“®“I‚É’T‚µ‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-firstapp-ant" revision="1">
+            <title>Ant‚É‚æ‚éƒrƒ‹ƒh</title>
+
+            <para>
+                ‚»‚ê‚Å‚ÍAnt‚ðŽg‚Á‚ă`ƒ…[ƒgƒŠƒAƒ‹‚ðƒrƒ‹ƒh‚µ‚Ü‚µ‚傤B
+                ‚»‚ê‚É‚ÍAnt‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                <ulink url="http://ant.apache.org/bindownload.cgi">Antƒ_ƒEƒ“ƒ[ƒhƒy[ƒW</ulink> 
+                ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚Ä‚­‚¾‚³‚¢B
+                Ant‚̃Cƒ“ƒXƒg[ƒ‹•û–@‚Í‚±‚±‚Å‚Íà–¾‚µ‚Ü‚¹‚ñ‚̂ŁA
+                <ulink url="http://ant.apache.org/manual/index.html">Antƒ}ƒjƒ…ƒAƒ‹</ulink> 
+                ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                Ant‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚ê‚΁Aƒrƒ‹ƒhƒtƒ@ƒCƒ‹‚̍쐬‚ðŠJŽn‚Å‚«‚Ü‚·B
+                ‚±‚̃tƒ@ƒCƒ‹‚Í <literal>build.xml</literal> ‚ƌĂ΂êAŠJ”­ƒfƒBƒŒƒNƒgƒŠ‚É’¼Ú”z’u‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                Šî–{“I‚ȃrƒ‹ƒhƒtƒ@ƒCƒ‹‚Í‚±‚̂悤‚É‚È‚è‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[<project name="hibernate-tutorial" default="compile">
+
+    <property name="sourcedir" value="${basedir}/src"/>
+    <property name="targetdir" value="${basedir}/bin"/>
+    <property name="librarydir" value="${basedir}/lib"/>
+
+    <path id="libraries">
+        <fileset dir="${librarydir}">
+            <include name="*.jar"/>
+        </fileset>
+    </path>
+
+    <target name="clean">
+        <delete dir="${targetdir}"/>
+        <mkdir dir="${targetdir}"/>
+    </target>
+
+    <target name="compile" depends="clean, copy-resources">
+      <javac srcdir="${sourcedir}"
+             destdir="${targetdir}"
+             classpathref="libraries"/>
+    </target>
+
+    <target name="copy-resources">
+        <copy todir="${targetdir}">
+            <fileset dir="${sourcedir}">
+                <exclude name="**/*.java"/>
+            </fileset>
+        </copy>
+    </target>
+
+</project>]]></programlisting>
+
+            <para>
+                ‚±‚ê‚Í <literal>.jar</literal> ‚ŏI‚í‚élibƒfƒBƒŒƒNƒgƒŠ‚Ì‚·‚ׂẴtƒ@ƒCƒ‹‚ðA
+                ƒRƒ“ƒpƒCƒ‹‚ÉŽg—p‚·‚éƒNƒ‰ƒXƒpƒX‚ɒljÁ‚·‚邱‚Æ‚ðAnt‚É‹³‚¦‚Ü‚·B
+                ‚Ü‚½AJavaƒ\[ƒXƒtƒ@ƒCƒ‹‚Å‚È‚¢‚·‚ׂẴtƒ@ƒCƒ‹‚ðƒ^[ƒQƒbƒgƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚à‚ ‚è‚Ü‚·B
+                —Ⴆ‚ΐݒèƒtƒ@ƒCƒ‹‚âHibernateƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚È‚Ç‚Å‚·B
+                ¡Ant‚ðŽÀs‚·‚é‚ƁA‚±‚̂悤‚ȏo—Í‚ª‚ ‚é‚Í‚¸‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[C:\hibernateTutorial\>ant
+Buildfile: build.xml
+
+copy-resources:
+     [copy] Copying 2 files to C:\hibernateTutorial\bin
+
+compile:
+    [javac] Compiling 1 source file to C:\hibernateTutorial\bin
+
+BUILD SUCCESSFUL
+Total time: 1 second ]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="tutorial-firstapp-helpers" revision="3">
+            <title>ƒXƒ^[ƒgƒAƒbƒv‚ƃwƒ‹ƒp</title>
+
+            <para>
+                ‚³‚Ä <literal>Event</literal> ƒIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚µ‚½‚èŠi”[‚µ‚½‚è‚·‚鏀”õ‚ª‚Å‚«‚Ü‚µ‚½B
+                ‚µ‚©‚µ‚Ü‚¸‚̓Cƒ“ƒtƒ‰ƒXƒgƒ‰ƒNƒ`ƒƒ‚̃R[ƒh‚ð‘‚¢‚āAƒZƒbƒgƒAƒbƒv‚ðŠ®—¹‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                ‚Ü‚¸‚ÍHibernate‚ðƒXƒ^[ƒgƒAƒbƒv‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‚±‚̃Xƒ^[ƒgƒAƒbƒv‚ɂ́AƒOƒ[ƒoƒ‹‚Ì <literal>SessionFactory</literal> ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚āA
+                ‚»‚ê‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃R[ƒh‚ŃAƒNƒZƒX‚µ‚â‚·‚¢êŠ‚ÉŠi”[‚·‚邱‚Æ‚ªŠÜ‚Ü‚ê‚Ü‚·B
+                <literal>SessionFactory</literal> ‚͐V‚µ‚­ <literal>Session</literal> ‚ðƒI[ƒvƒ“‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                <literal>Session</literal> ‚̓Vƒ“ƒOƒ‹ƒXƒŒƒbƒh‚̍ì‹Æ’PˆÊ(Unit of Work)‚ð•\Œ»‚µ‚Ü‚·B
+                ‚»‚ê‚ɑ΂µ<literal>SessionFactory</literal> ‚̓XƒŒƒbƒhƒZ[ƒt‚̃Oƒ[ƒoƒ‹ƒIƒuƒWƒFƒNƒg‚Å‚ ‚èA
+                ˆê“x‚¾‚¯ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ê‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚±‚ŃXƒ^[ƒgƒAƒbƒv‚ðs‚¢A •Ö—˜‚É <literal>SessionFactory</literal> ‚ÖƒAƒNƒZƒX‚·‚é
+                <literal>HibernateUtil</literal> ƒwƒ‹ƒpƒNƒ‰ƒX‚ðì¬‚µ‚Ü‚·B
+                ŽÀ‘•‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤F
+            </para>
+
+            <programlisting><![CDATA[package util;
+
+import org.hibernate.*;
+import org.hibernate.cfg.*;
+
+public class HibernateUtil {
+
+    private static final SessionFactory sessionFactory;
+
+    static {
+        try {
+            // Create the SessionFactory from hibernate.cfg.xml
+            sessionFactory = new Configuration().configure().buildSessionFactory();
+        } catch (Throwable ex) {
+            // Make sure you log the exception, as it might be swallowed
+            System.err.println("Initial SessionFactory creation failed." + ex);
+            throw new ExceptionInInitializerError(ex);
+        }
+    }
+
+    public static SessionFactory getSessionFactory() {
+        return sessionFactory;
+    }
+
+}]]></programlisting>
+
+            <para>
+                ‚±‚̃Nƒ‰ƒX‚͐ÓI‰Šú‰»ƒuƒƒbƒNiƒNƒ‰ƒX‚ªƒ[ƒh‚³‚ê‚é‚Æ‚«‚ÉJVM‚É‚æ‚Á‚Ĉê“x‚¾‚¯ŒÄ‚΂ê‚éj
+                ‚ŃOƒ[ƒoƒ‹‚Ì <literal>SessionFactory</literal> ‚𐶐¬‚·‚邾‚¯‚Å‚Í‚È‚­A
+                Ã“IƒVƒ“ƒOƒ‹ƒgƒ“‚ÌŽg—p‚ð‰B•Á‚µ‚Ü‚·B
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚ÌJNDI‚©‚ç <literal>SessionFactory</literal> ‚ð
+                ƒ‹ƒbƒNƒAƒbƒv‚·‚é‚Ì‚Æ“¯—l‚Å‚·B
+           </para>
+
+            <para>
+                Ý’èƒtƒ@ƒCƒ‹“à‚Å <literal>SessionFactory</literal> ‚É–¼‘O‚ð—^‚¦‚é‚ƁA
+                Hibernate‚Í <literal>SessionFactory</literal> \’zŒã‚ÉJNDI‚ɑ΂µƒoƒCƒ“ƒh‚ðs‚¨‚¤‚Æ‚µ‚Ü‚·B
+                ‚±‚̃R[ƒh‚ðŠ®‘S‚É”rœ‚·‚邽‚߂ɂ́A
+                JMXƒfƒvƒƒCƒƒ“ƒg‚ð—˜—p‚µ‚Ä
+                JMX‚ð—˜—p‚Å‚«‚éƒRƒ“ƒeƒi‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µA
+                <literal>HibernateService</literal> ‚ðJNDI‚ÖƒoƒCƒ“ƒh‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                ‚±‚ê‚ç‚̍‚“x‚ȃIƒvƒVƒ‡ƒ“‚́AHibernate‚̃Šƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚Åà–¾‚³‚ê‚Ä‚¢‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>HibernateUtil.java</literal> ‚ðŠJ”­ƒ\[ƒXƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é <literal>events</literal> ƒpƒbƒP[ƒW‚Ì
+                —ׂɔz’u‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[.
++lib
+  <Hibernate and third-party libraries>
++src
+  +events
+    Event.java
+    Event.hbm.xml
+  +util
+    HibernateUtil.java
+  hibernate.cfg.xml
++data
+build.xml]]></programlisting>
+
+            <para>
+                ‚±‚ê‚Í–â‘è‚È‚­ÄƒRƒ“ƒpƒCƒ‹‚Å‚«‚é‚Í‚¸‚Å‚·B
+                ÅŒã‚ɃƒMƒ“ƒOƒVƒXƒeƒ€‚ðÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+                Hibernate‚Ícommons logging‚ðŽg‚¤‚½‚߁ALog4j‚ÆJDK 1.4 logging‚Ì‘I‘ð‚ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB
+                ‚Ù‚Æ‚ñ‚Ç‚ÌŠJ”­ŽÒ‚ªD‚Þ‚Ì‚ÍLog4j‚Å‚·B
+                HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“i‚Ì<literal>etc/</literal> ƒfƒBƒŒƒNƒgƒŠj‚©‚ç 
+                <literal>log4j.properties</literal> ‚ð‚ ‚È‚½‚Ì <literal>src</literal> ƒfƒBƒŒƒNƒgƒŠ“à‚Ì
+                <literal>hibernate.cfg.xml</literal> ‚ׂ̗ɃRƒs[‚µ‚Ä‚­‚¾‚³‚¢B
+                Ý’è—á‚ðŒ©‚ÄAç’·‚ȏo—Í‚ª‚悯‚ê‚ΐݒè‚ð•ÏX‚µ‚Ä‚­‚¾‚³‚¢B
+                ƒfƒtƒHƒ‹ƒg‚Å‚ÍHibernate‚̃Xƒ^[ƒgƒAƒbƒvƒƒbƒZ[ƒW‚¾‚¯‚ª•W€o—Í‚É•\Ž¦‚³‚ê‚Ü‚·B
+            </para>
+
+            <para>
+                ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃Cƒ“ƒtƒ‰‚ÍŠ®‘S‚Å‚·B
+                Hibernate‚ðŽg‚Á‚ÄŽÀÛ‚̍ì‹Æ‚ð‚·‚é€”õ‚ª®‚¢‚Ü‚µ‚½B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-firstapp-workingpersistence" revision="4">
+            <title>ƒIƒuƒWƒFƒNƒg‚̃[ƒh‚ÆŠi”[</title>
+
+            <para>
+                ‚‚¢‚ɃIƒuƒWƒFƒNƒg‚̃[ƒh‚ÆŠi”[‚ÉHibernate‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+                <literal>main()</literal> ƒƒ\ƒbƒh‚ðŽ‚Â <literal>EventManager</literal> 
+                ƒNƒ‰ƒX‚ð‘‚«‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[package events;
+import org.hibernate.Session;
+
+import java.util.Date;
+
+import util.HibernateUtil;
+
+public class EventManager {
+
+    public static void main(String[] args) {
+        EventManager mgr = new EventManager();
+
+        if (args[0].equals("store")) {
+            mgr.createAndStoreEvent("My Event", new Date());
+        }
+
+        HibernateUtil.getSessionFactory().close();
+    }
+
+    private void createAndStoreEvent(String title, Date theDate) {
+
+        Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+
+        session.beginTransaction();
+
+        Event theEvent = new Event();
+        theEvent.setTitle(title);
+        theEvent.setDate(theDate);
+
+        session.save(theEvent);
+
+        session.getTransaction().commit();
+    }
+
+}]]></programlisting>
+
+            <para>
+                V‚µ‚¢ <literal>Event</literal> ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µA‚»‚ê‚ðHibernate‚É“n‚µ‚Ü‚·B
+                ¡‚Å‚ÍHibernate‚ªSQL‚ðˆ—‚µAƒf[ƒ^ƒx[ƒX‚Å <literal>INSERT</literal> ‚ðŽÀs‚µ‚Ü‚·B
+                ŽÀs‘O‚É <literal>Session</literal> ‚Æ <literal>Transaction</literal> 
+                ‚ðˆ—‚·‚éƒR[ƒh‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                <literal>Session</literal> ‚Í1‚‚̍ì‹Æ’PˆÊ(Unit of Work)‚Å‚·B
+                “–•ª‚̊ԁA˜b‚ðŠÈ’P‚É‚·‚邽‚߂ɁA
+                <literal>Session</literal> ‚Æ <literal>Transaction</literal> ‚̑Ήž‚ðˆê‘Έê‚Ɖ¼’肵‚Ü‚·B
+                Žg—p‚µ‚Ä‚¢‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“EƒVƒXƒeƒ€i‚±‚̃P[ƒX‚Å‚ÍJTA‚Æ‹¤‘¶‚Å‚«‚é’Pƒ‚ÈJDBCj‚©‚çƒR[ƒh‚ð•ÛŒì‚·‚邽‚߂ɁA
+                Hibernate <literal>Session</literal> ã‚Å—˜—p‰Â”\‚È <literal>Transaction</literal> API‚ðŽg—p‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                <literal>sessionFactory.getCurrentSession()</literal> ‚Í‚È‚É‚ð‚·‚é‚Ì‚Å‚µ‚傤‚©H
+                ‚Ü‚¸A‚¢‚Á‚½‚ñ <literal>SessionFactory</literal> ‚ðŽæ“¾‚µ•ÛŽ‚·‚ê‚Î
+                i <literal>HibernateUtil</literal> ‚Ì‚¨‚©‚°‚ÅŠÈ’P‚Å‚·jA‚±‚̃ƒ\ƒbƒh‚ð‰½“x‚Å‚àA
+                ‚Ç‚±‚©‚ç‚Å‚àŒÄ‚яo‚·‚±‚Æ‚ªo—ˆ‚Ü‚·B
+                <literal>getCurrentSession()</literal> ƒƒ\ƒbƒh‚͏í‚ɁuŒ»Ý‚́vì‹Æ’PˆÊ(Unit of Work)‚ð•Ô‚µ‚Ü‚·B
+                <literal>hibernate.cfg.xml</literal> ‚Ì‚±‚Ì‹@”\‚̐ݒè‚ŁA"thread"‚ðŽw’肵‚½‚±‚Æ‚ðŽv‚¢o‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚Ì‚½‚ߌ»Ý‚̍ì‹Æ’PˆÊ‚̃XƒR[ƒv‚́A‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚·‚錻Ý‚ÌJavaƒXƒŒƒbƒh‚Å‚·B
+                ‚µ‚©‚µ‚±‚ê‚Å‘S‚Ä‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                <literal>Session</literal> ‚͍ŏ‰‚É•K—v‚Æ‚È‚Á‚½‚Æ‚«A‚‚܂èÅ‰‚É <literal>getCurrentSession()</literal> ‚ª
+                ŒÄ‚΂ꂽ‚Æ‚«‚ÉŠJŽn‚µ‚Ü‚·B
+                ‚»‚Ì‚Æ‚«Hibernate‚É‚æ‚茻Ý‚̃XƒŒƒbƒh‚ÉŒ‹‚Ñ•t‚¯‚ç‚ê‚Ü‚·B
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªI—¹iƒRƒ~ƒbƒg‚à‚µ‚­‚̓[ƒ‹ƒoƒbƒNj‚µ‚½‚Æ‚«A
+                Hibernate‚àƒXƒŒƒbƒh‚©‚ç <literal>Session</literal> ‚ðØ‚è—£‚µAƒNƒ[ƒY‚µ‚Ü‚·B
+                Ä‚Ñ <literal>getCurrentSession()</literal> ‚ðŒÄ‚ԂƁA
+                V‚µ‚¢ <literal>Session</literal> ‚ðŽæ“¾‚µ‚ĐV‚µ‚¢ì‹Æ’PˆÊ‚ðƒXƒ^[ƒg‚Å‚«‚Ü‚·B
+                ‚±‚Ì <emphasis>thread-bound</emphasis> ƒvƒƒOƒ‰ƒ~ƒ“ƒOEƒ‚ƒfƒ‹‚ÍHibernate‚ð—˜—p‚·‚éã‚ōłàl‹C‚ª‚ ‚è‚Ü‚·B
+            </para>
+
+            <para>
+                ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̈µ‚¢‚Æ‹«ŠE‚̏ڂµ‚¢î•ñ‚ɂ‚¢‚ẮA
+                <xref linkend="transactions"/> ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
+                ‚±‚Ì—á‚ł̓Gƒ‰[ˆ—‚⃍[ƒ‹ƒoƒbƒN‚àŠ„ˆ¤‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚̍ŏ‰‚̃‹[ƒ`ƒ“‚ðŽÀs‚·‚é‚ɂ́AAnt‚̃rƒ‹ƒhƒtƒ@ƒCƒ‹‚ɌĂяo‚µ‰Â”\‚ȃ^[ƒQƒbƒg‚ð
+                ’ljÁ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñF
+            </para>
+
+            <programlisting><![CDATA[<target name="run" depends="compile">
+    <java fork="true" classname="events.EventManager" classpathref="libraries">
+        <classpath path="${targetdir}"/>
+        <arg value="${action}"/>
+    </java>
+</target>]]></programlisting>
+
+            <para>
+                <literal>action</literal> ˆø”‚Ì’l‚́Aƒ^[ƒQƒbƒg‚ðŒÄ‚Ô‚Æ‚«‚ɃRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Őݒ肵‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[C:\hibernateTutorial\>ant run -Daction=store]]></programlisting>
+
+            <para>
+                ƒRƒ“ƒpƒCƒ‹‚·‚é‚ƁAHibernate‚ªƒXƒ^[ƒg‚µA‚ ‚È‚½‚̐ݒè‚É‚æ‚è‚Ü‚·‚ªA
+                ‘½‚­‚̃ƒOo—Í‚ª‚ ‚é‚Í‚¸‚Å‚·B
+                ‚»‚̍Ōã‚ɂ͈ȉº‚̍s‚ª‚ ‚é‚Å‚µ‚傤F
+            </para>
+
+            <programlisting><![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) values (?, ?, ?)]]></programlisting>
+
+            <para>
+                ‚±‚ê‚ÍHibernate‚ªŽÀs‚·‚é <literal>INSERT</literal> ‚ŁA
+                ƒNƒGƒXƒ`ƒ‡ƒ“ƒ}[ƒN‚ÍJDBCƒoƒCƒ“ƒhƒpƒ‰ƒ[ƒ^‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+                ˆø”‚Æ‚µ‚ăoƒCƒ“ƒh‚³‚ê‚é’l‚ðŒ©‚é‚½‚߁A‚ ‚é‚¢‚̓ƒO‚̏璷«‚ðŒ¸‚ç‚·‚½‚߂ɂ́A
+                <literal>log4j.properties</literal> ‚ðƒ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                ‚»‚ê‚Å‚Í“¯‚¶‚悤‚ÉŠi”[‚³‚ꂽƒCƒxƒ“ƒg‚̈ꗗ‚ðŒ©‚æ‚¤‚ÆŽv‚¢‚Ü‚·B
+                ‚»‚Ì‚½‚߃ƒCƒ“ƒƒ\ƒbƒh‚ɃIƒvƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[if (args[0].equals("store")) {
+    mgr.createAndStoreEvent("My Event", new Date());
+}
+else if (args[0].equals("list")) {
+    List events = mgr.listEvents();
+    for (int i = 0; i < events.size(); i++) {
+        Event theEvent = (Event) events.get(i);
+        System.out.println("Event: " + theEvent.getTitle() +
+                           " Time: " + theEvent.getDate());
+    }
+}]]></programlisting>
+
+            <para>
+                V‚µ‚¢ <literal>listEvents()ƒƒ\ƒbƒh</literal> ‚à’ljÁ‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[private List listEvents() {
+
+    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+
+    session.beginTransaction();
+
+    List result = session.createQuery("from Event").list();
+
+    session.getTransaction().commit();
+
+    return result;
+}]]></programlisting>
+
+            <para>
+                ‚±‚±‚Å‚·‚邱‚Ƃ́Aƒf[ƒ^ƒx[ƒX‚©‚瑶Ý‚·‚é‚·‚×‚Ä‚Ì <literal>Event</literal> 
+                ƒIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚·‚éHQL (Hibernate Query Language) ƒNƒGƒŠ‚ðŽg‚¤‚±‚Æ‚Å‚·B
+                Hibernate‚Í“KØ‚ÈSQL‚𐶐¬‚µA‚»‚ê‚ðƒf[ƒ^ƒx[ƒX‚É‘—‚èA
+                ‚»‚̃f[ƒ^‚ðŽg‚Á‚Ä <literal>Event</literal> ƒIƒuƒWƒFƒNƒg‚𐶐¬‚µ‚Ü‚·B
+                “–‘RHQL‚Å‚³‚ç‚É•¡ŽG‚ȃNƒGƒŠ‚ðì¬‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                 ˆÈ‰º‚̃Xƒeƒbƒv‚ŁA‚·‚ׂĂ̎Às‚ƃeƒXƒg‚ðs‚¢‚Ü‚·B
+            </para>
+
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        hbm2ddl‚ð’Ê‚·‘O‚Ƀf[ƒ^ƒx[ƒX‚̃f[ƒ^‚ðì¬‚µAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚𐶐¬‚·‚邽‚߂ɁA
+                         <literal>ant run -Daction=store</literal> ‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢B
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        ¡‚Í <literal>hibernate.cfg.xml</literal> ƒtƒ@ƒCƒ‹‚̃vƒƒpƒeƒB‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ähbm2ddl‚𖳌ø‚É‚µ‚Ä‚­‚¾‚³‚¢B
+                        ’ʏí‚ÍŒp‘±“I‚É’P‘̃eƒXƒg‚ð‚µ‚Ä‚¢‚éŠÔ‚Íhbm2ddl‚ð—LŒø‚É‚µ‚Ä‚¨‚­‚Ì‚Å‚·‚ªA
+                        ‚»‚êˆÈŠO‚̏ꍇ‚Éhbm2ddl‚ð‹N“®‚·‚é‚ÆŠi”[‚µ‚Ä‚¨‚¢‚½‘S‚Ẵf[ƒ^‚ð <emphasis>ƒhƒƒbƒv</emphasis> ‚·‚é‚Å‚µ‚傤B
+                        Ý’è‚ð <literal>create</literal> ‚É‚·‚é‚ƁAŒ‹‰Ê‚Æ‚µ‚Ä
+                       uSessionFactory¶¬‚̍ہAƒXƒL[ƒ}‚©‚ç‘S‚Ẵe[ƒuƒ‹‚ðƒhƒƒbƒv‚µ‚čč쐬‚·‚év‚Æ‚¢‚¤Ý’è‚É‚È‚è‚Ü‚·B
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                ¡ <literal>-Daction=list</literal> ‚ÆŽw’肵‚ÄAnt‚ðŒÄ‚ԂƁA
+                ‚±‚ê‚Ü‚ÅŠi”[‚µ‚½ƒCƒxƒ“ƒg‚ªŒ©‚¦‚é‚Í‚¸‚Å‚·B
+                <literal>store</literal> ƒAƒNƒVƒ‡ƒ“‚𐔉ñˆÈãŒÄ‚Ô‚±‚Æ‚à‰Â”\‚Å‚·B
+            </para>
+
+            <para>
+                ’ˆÓF‰‚ß‚ÄHibernate‚ɐG‚ê‚élX‚Ì‘½‚­‚ª‚±‚±‚ÅŽ¸”s‚·‚邽‚߁A<emphasis>Table not found</emphasis> ƒGƒ‰[ƒƒbƒZ[ƒW‚É
+                ŠÖ‚·‚鎿–â‚ð’èŠú“I‚ÉŒ©‚©‚¯‚Ü‚·B
+                ‚µ‚©‚µã‹L‚̃Xƒeƒbƒv‚ɏ]‚¦‚΁Ahbm2ddl‚ªÅ‰‚ÉŽÀs‚³‚ꂽ‚Æ‚«‚Ƀf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ðì¬‚µA
+                ‚»‚ÌŒã‚ÌŽÀs‚É‚¨‚¢‚Ä‚à‚±‚̃XƒL[ƒ}‚ðŽg—p‚·‚é‚̂ŁA–â‘è‚Í‹N‚±‚ç‚È‚¢‚Å‚µ‚傤B
+                ƒ}ƒbƒsƒ“ƒO‚âƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ð•ÏX‚µ‚½‚Æ‚«‚́A‚à‚¤ˆê“xhbm2ddl‚ð—LŒø‚É‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="tutorial-associations">
+        <title>ƒp[ƒg2 - ŠÖ˜A‚̃}ƒbƒsƒ“ƒO</title>
+
+        <para>
+            ‰i‘±ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ðƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚½B
+            ‚³‚ç‚É‚±‚̏ã‚É‚¢‚­‚‚©‚̃Nƒ‰ƒX‚ÌŠÖ˜A‚ð’ljÁ‚µ‚Ü‚µ‚傤B
+            ‚Ü‚¸‰‚߂ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɐlX‚ð’ljÁ‚µA”ނ炪ŽQ‰Á‚·‚éƒCƒxƒ“ƒg‚̃ŠƒXƒg‚ðŠi”[‚µ‚Ü‚·B
+        </para>
+
+        <sect2 id="tutorial-associations-mappinguser" revision="1">
+            <title>PersonƒNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO</title>
+
+            <para>
+                Å‰‚Ì <literal>Person</literal> ƒNƒ‰ƒX‚Í’Pƒ‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[package events;
+
+public class Person {
+
+    private Long id;
+    private int age;
+    private String firstname;
+    private String lastname;
+
+    public Person() {}
+
+    // Accessor methods for all properties, private setter for 'id'
+
+}]]></programlisting>
+
+            <para>
+                <literal>Person.hbm.xml</literal> ‚Æ‚¢‚¤V‚µ‚¢ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢
+                iƒtƒ@ƒCƒ‹‚̍ŏ‰‚ÉDTD‚Ö‚ÌŽQÆ‚ð–Y‚ꂸ‚É“ü‚ê‚Ä‚­‚¾‚³‚¢jF
+            </para>
+
+            <programlisting><![CDATA[<hibernate-mapping>
+
+    <class name="events.Person" table="PERSON">
+        <id name="id" column="PERSON_ID">
+            <generator class="native"/>
+        </id>
+        <property name="age"/>
+        <property name="firstname"/>
+        <property name="lastname"/>
+    </class>
+
+</hibernate-mapping>]]></programlisting>
+
+            <para>
+                ÅŒã‚ÉHibernate‚̐ݒè‚ɐV‚µ‚¢ƒ}ƒbƒsƒ“ƒO‚ð’ljÁ‚µ‚Ä‚­‚¾‚³‚¢F
+            </para>
+
+            <programlisting><![CDATA[<mapping resource="events/Event.hbm.xml"/>
+<mapping resource="events/Person.hbm.xml"/>]]></programlisting>
+
+            <para>
+                ‚»‚ê‚Å‚Í‚±‚ê‚ç2‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚ÌŠÖ˜A‚ðì¬‚µ‚Ü‚·B
+                lX‚ªƒCƒxƒ“ƒg‚ÉŽQ‰Á‚Å‚«AƒCƒxƒ“ƒg‚ªŽQ‰ÁŽÒ‚ðŽ‚Â‚Ì‚Í–¾‚ç‚©‚Å‚·B
+                ˆµ‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢ÝŒv‚Ì–â‘è‚́A•ûŒüA‘½d“xAƒRƒŒƒNƒVƒ‡ƒ“‚̐U‚é•‘‚¢‚Å‚·B
+            </para>
+        </sect2>
+
+        <sect2 id="tutorial-associations-unidirset" revision="3">
+            <title>’P•ûŒüSetƒx[ƒXŠÖ˜A</title>
+
+            <para>
+                ƒCƒxƒ“ƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ð <literal>Person</literal> ƒNƒ‰ƒX‚ɒljÁ‚µ‚Ü‚·B
+                ‚±‚¤‚µ‚Ä‚¨‚­‚ƁA–¾Ž¦“I‚ȃNƒGƒŠA‚‚܂è‚í‚´‚í‚´<literal>aPerson.getEvents()</literal>‚ðŒÄ‚яo‚³‚¸‚ɁA
+                “Á’è‚̐l‚É•R•t‚­ƒCƒxƒ“ƒg‚ðŠÈ’P‚ɃiƒrƒQ[ƒg‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                Ž„‚½‚¿‚ÍJava‚̃RƒŒƒNƒVƒ‡ƒ“A<literal>Set</literal> ‚ðŽg‚¢‚Ü‚·B
+                ƒRƒŒƒNƒVƒ‡ƒ“‚͏d•¡—v‘f‚ðŽ‚½‚È‚¢‚µA‡”Ô‚ÍŽ„‚½‚¿‚ɂ͈Ӗ¡‚ª‚È‚¢‚©‚ç‚Å‚·B
+            </para>
+
+            <para>
+                <literal>Set</literal> ‚ÅŽÀ‘•‚³‚ê‚é’P•ûŒüA‘½’lŠÖ˜A‚ª•K—v‚Å‚·B
+                JavaƒNƒ‰ƒX“à‚ɑΉž‚·‚éƒR[ƒh‚ð‘‚¢‚ă}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤F
+            </para>
+
+            <programlisting><![CDATA[public class Person {
+
+    private Set events = new HashSet();
+
+    public Set getEvents() {
+        return events;
+    }
+
+    public void setEvents(Set events) {
+        this.events = events;
+    }
+}]]></programlisting>
+
+            <para>
+                ‚±‚ÌŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‘O‚ɁA”½‘Α¤‚ɂ‚¢‚čl‚¦‚Ä‚­‚¾‚³‚¢B
+                –¾‚ç‚©‚È‚±‚Æ‚Å‚·‚ªA¡‚Í‚±‚ê‚ð’P•ûŒü‚É‚µ‚½‚¾‚¯‚Å‚·B
+                ‹t‚ɁA <literal>Event</literal> ‘¤‚É‚à•Ê‚̃RƒŒƒNƒVƒ‡ƒ“‚ðì‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                —Ⴆ‚Î <literal>anEvent.getParticipants()</literal> ‚̂悤‚ɁA
+                ‘o•ûŒü‚ɃiƒrƒQ[ƒg‚µ‚½‚¯‚ê‚΁A‚»‚¤‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                ‚±‚ê‚Í‹@”\“I‚É‚Ý‚Ä•K—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+                “Á’è‚̃Cƒxƒ“ƒg‚ÉŠÖŒW‚·‚éƒf[ƒ^‚ðŽæ“¾‚·‚é–¾Šm‚ȃNƒGƒŠ‚ðA‚¢‚‚łàŽÀs‚·‚邱‚Æ‚ªo—ˆ‚Ü‚µ‚½B
+                ‚±‚̐݌v‚Ì‘I‘ð‚ÍŠJ”­ŽÒ‚É”C‚³‚ê‚Ä‚¢‚āA‚±‚Ì‹c˜_‚É‚æ‚è–¾‚ç‚©‚È‚Ì‚ÍŠÖ˜A‚Ì‘½d“x‚Å‚·B
+                ‚‚܂藼‘¤‚ðu‘½v’l‚É‚·‚éA <emphasis>‘½‘Α½</emphasis> ‚ƌĂ΂ê‚éŠÖ˜A‚Å‚·B
+                ‚»‚Ì‚½‚ßHibernate‚Ìmany-to-manyƒ}ƒbƒsƒ“ƒO‚ðŽg‚¢‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[<class name="events.Person" table="PERSON">
+    <id name="id" column="PERSON_ID">
+        <generator class="native"/>
+    </id>
+    <property name="age"/>
+    <property name="firstname"/>
+    <property name="lastname"/>
+
+    <set name="events" table="PERSON_EVENT">
+        <key column="PERSON_ID"/>
+        <many-to-many column="EVENT_ID" class="events.Event"/>
+    </set>
+
+</class>]]></programlisting>
+
+            <para>
+                Hibernate‚Í‚ ‚è‚Æ‚ ‚ç‚ä‚éŽí—ނ̃RƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·‚ªA
+                Å‚àˆê”Ê“I‚È‚à‚Ì‚ª <literal>&lt;set&gt;</literal> ‚Å‚·B
+                ‘½‘Α½ŠÖ˜Ai‚Ü‚½‚Í <emphasis>n:m</emphasis> ƒGƒ“ƒeƒBƒeƒBƒŠƒŒ[ƒVƒ‡ƒ“ƒVƒbƒvj‚ɂ́A
+                ŠÖ˜Aƒe[ƒuƒ‹‚ª•K—v‚Å‚·B
+                ‚±‚̃e[ƒuƒ‹‚Ì‚»‚ꂼ‚ê‚̍s‚́Al‚ƃCƒxƒ“ƒgŠÔ‚̃Šƒ“ƒN‚ð•\Œ»‚µ‚Ü‚·B
+                ƒe[ƒuƒ‹–¼‚Í <literal>set</literal> —v‘f‚Ì <literal>table</literal> ‘®«‚Őݒ肵‚Ü‚·B
+                l‘¤‚ÌŠÖ˜A‚ÌŽ¯•ÊŽqƒJƒ‰ƒ€–¼‚Í <literal>&lt;key&gt;</literal> —v‘f‚ŁA
+                ƒCƒxƒ“ƒg‘¤‚̃Jƒ‰ƒ€–¼‚Í <literal>&lt;many-to-many&gt;</literal> ‚Ì <literal>column</literal> 
+                ‘®«‚Å’è‹`‚µ‚Ü‚·B
+                Hibernate‚ɃRƒŒƒNƒVƒ‡ƒ“‚̃IƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX
+                i³Šm‚ɂ́AŽQÆ‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì”½‘Α¤‚̃Nƒ‰ƒXj‚ð‹³‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ‚»‚Ì‚½‚ß‚±‚̃}ƒbƒsƒ“ƒO‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·BF
+            </para>
+
+            <programlisting><![CDATA[
+    _____________        __________________
+   |             |      |                  |       _____________
+   |   EVENTS    |      |   PERSON_EVENT   |      |             |
+   |_____________|      |__________________|      |    PERSON   |
+   |             |      |                  |      |_____________|
+   | *EVENT_ID   | <--> | *EVENT_ID        |      |             |
+   |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  |
+   |  TITLE      |      |__________________|      |  AGE        |
+   |_____________|                                |  FIRSTNAME  |
+                                                  |  LASTNAME   |
+                                                  |_____________|
+ ]]></programlisting>
+
+        </sect2>
+
+        <sect2 id="tutorial-associations-working" revision="2">
+            <title>ŠÖ˜A‚ð“­‚©‚¹‚é</title>
+
+            <para>
+                <literal>EventManager</literal> ‚̐V‚µ‚¢ƒƒ\ƒbƒh‚ŐlX‚ƃCƒxƒ“ƒg‚ðˆê‚É‚µ‚Ü‚µ‚傤F
+            </para>
+
+            <programlisting><![CDATA[private void addPersonToEvent(Long personId, Long eventId) {
+
+    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+    session.beginTransaction();
+
+    Person aPerson = (Person) session.load(Person.class, personId);
+    Event anEvent = (Event) session.load(Event.class, eventId);
+
+    aPerson.getEvents().add(anEvent);
+
+    session.getTransaction().commit();
+}]]></programlisting>
+
+            <para>
+                <literal>Person</literal> ‚Æ <literal>Event</literal> ‚ðƒ[ƒh‚µ‚½ŒãA
+                •’ʂ̃RƒŒƒNƒVƒ‡ƒ“ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä’Pƒ‚É‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ðC³‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚²——‚Ì‚Æ‚¨‚è <literal>update()</literal> ‚â <literal>save()</literal> 
+                ‚Ì–¾Ž¦“I‚ȌĂяo‚µ‚Í‚ ‚è‚Ü‚¹‚ñB
+                Hibernate‚́AC³‚³‚ꂽ‚±‚Æ‚É‚æ‚èXV‚·‚é•K—v‚Ì‚ ‚éƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ©“®“I‚ÉŒŸ’m‚µ‚Ü‚·B
+                ‚±‚ê‚Í <emphasis>Ž©“®ƒ_[ƒeƒBƒ`ƒFƒbƒN</emphasis> ‚ƌĂ΂êA
+                ƒIƒuƒWƒFƒNƒg‚Ì–¼‘O‚âdateƒvƒƒpƒeƒB‚ðC³‚·‚邱‚Æ‚ÅŽŽ‚·‚±‚Æ‚à‰Â”\‚Å‚·B
+                ‚»‚ê‚炪 <emphasis>‰i‘±</emphasis> ó‘Ô‚É‚ ‚éŒÀ‚èA
+                ‚‚܂è“Á’è‚ÌHibernate <literal>Session</literal> ‚ɃoƒCƒ“ƒh‚³‚ê‚Ä‚¢‚éŒÀ‚è
+                i—Ⴆ‚΍ì‹Æ’PˆÊ(Unit of Work)‚Ì’†‚Å’P‚Ƀ[ƒh‚Ü‚½‚̓Z[ƒu‚³‚ꂽjA
+                Hibernate‚Í‚Ç‚ñ‚ȕύX‚àƒ‚ƒjƒ^[‚µA’x‰„‘‚«ž‚Ý(write-behind)‚ÅSQL‚ðŽÀs‚µ‚Ü‚·B
+                ’ʏíAì‹Æ’PˆÊ(Unit of Work)‚̍Ōã‚É‚¾‚¯s‚í‚ê‚éƒf[ƒ^ƒx[ƒX‚ƃƒ‚ƒŠ‚̏ó‘Ԃ𓯊ú‚³‚¹‚鏈—‚́A
+                <emphasis>ƒtƒ‰ƒbƒVƒ…</emphasis> ‚ƌĂ΂ê‚Ü‚·B
+                ‚±‚̃R[ƒh‚ł́Aì‹Æ’PˆÊ(Unit of Work)‚̓f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃Rƒ~ƒbƒgi‚à‚µ‚­‚̓[ƒ‹ƒoƒbƒNj‚ŏI—¹‚µ‚Ü‚·B
+                ‚±‚ê‚́A <literal>CurrentSessionContext</literal> ƒNƒ‰ƒX‚ɑ΂µ‚Ä <literal>thread</literal> ‚ðÝ’肵‚½‚½‚ß‚Å‚·B
+            </para>
+
+            <para>
+                ˆÙ‚È‚éì‹Æ’PˆÊ(Unit of Work)‚ŐlX‚ƃCƒxƒ“ƒg‚ðƒ[ƒh‚·‚邱‚Æ‚à“–‘R‚Å‚«‚Ü‚·B
+                ‚»‚¤‚Å‚È‚¯‚ê‚΁A‰i‘±ó‘Ô‚É‚È‚¢‚Æ‚«iˆÈ‘O‚ɉi‘±‚Å‚ ‚Á‚½‚È‚çA‚±‚̏ó‘Ô‚ð <emphasis>•ª—£idetachedj</emphasis> 
+                ‚ƌĂт܂·jA <literal>Session</literal> ‚ÌŠO•”‚ŃIƒuƒWƒFƒNƒg‚ðC³‚µ‚Ü‚·B
+                •ª—£‚³‚ê‚é‚Æ‚«‚ɂ̓RƒŒƒNƒVƒ‡ƒ“‚ð•ÏX‚·‚邱‚Æ‚à‰Â”\‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[private void addPersonToEvent(Long personId, Long eventId) {
+
+    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+    session.beginTransaction();
+
+    Person aPerson = (Person) session
+            .createQuery("select p from Person p left join fetch p.events where p.id = :pid")
+            .setParameter("pid", personId)
+            .uniqueResult(); // Eager fetch the collection so we can use it detached
+
+    Event anEvent = (Event) session.load(Event.class, eventId);
+
+    session.getTransaction().commit();
+
+    // End of first unit of work
+
+    aPerson.getEvents().add(anEvent); // aPerson (and its collection) is detached
+
+    // Begin second unit of work
+
+    Session session2 = HibernateUtil.getSessionFactory().getCurrentSession();
+    session2.beginTransaction();
+
+    session2.update(aPerson); // Reattachment of aPerson
+
+    session2.getTransaction().commit();
+}]]></programlisting>
+
+            <para>
+                <literal>update</literal> ‚̌Ăяo‚µ‚Í•ª—£ƒIƒuƒWƒFƒNƒg‚ðÄ‚щi‘±‰»‚µ‚Ü‚·B
+                ‚±‚ê‚́AV‚µ‚¢ì‹Æ’PˆÊ(Unit of Work)‚ɃoƒCƒ“ƒh‚·‚é‚ÆŒ¾‚¦‚é‚Å‚µ‚傤B
+                ‚»‚Ì‚½‚ß•ª—£‚̊ԂɉÁ‚¦‚ç‚ꂽ‚ǂ̂悤‚ȏC³‚àƒf[ƒ^ƒx[ƒX‚ɃZ[ƒu‚Å‚«‚Ü‚·B
+                ƒGƒ“ƒeƒBƒeƒBƒIƒuƒWƒFƒNƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ւ̏C³i’ljÁ¥íœj‚à“¯—l‚ɃZ[ƒu‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                ‚±‚ê‚͍¡‚Í‚ ‚Ü‚èŽg‚¢‚Ý‚¿‚ª‚ ‚è‚Ü‚¹‚ñ‚ªA
+                Ž©•ª‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̐݌v‚É‘g‚ݍž‚Þ‚±‚Æ‚ª‚Å‚«‚éd—v‚ȃRƒ“ƒZƒvƒg‚Å‚·B
+                ‚»‚ê‚Å‚Í‚±‚̃GƒNƒTƒTƒCƒY‚̍Ōã‚ɁA
+                <literal>EventManager</literal> ‚̃ƒCƒ“ƒƒ\ƒbƒh‚ɐV‚µ‚¢ƒAƒNƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ä
+                ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚çŒÄ‚яo‚µ‚Ä‚Ý‚Ü‚µ‚傤B
+                l‚âƒCƒxƒ“ƒg‚ÌŽ¯•ÊŽq‚ª•K—v‚È‚çA <literal>save()</literal> ƒƒ\ƒbƒh‚ª•Ô‚µ‚Ä‚­‚ê‚Ü‚·
+                iê‡‚É‚æ‚Á‚Ä‚ÍŽ¯•ÊŽq‚ð•Ô‚·‚½‚߂Ƀƒ\ƒbƒh‚ðC³‚·‚é•K—v‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñjB
+            </para>
+
+            <programlisting><![CDATA[else if (args[0].equals("addpersontoevent")) {
+    Long eventId = mgr.createAndStoreEvent("My Event", new Date());
+    Long personId = mgr.createAndStorePerson("Foo", "Bar");
+    mgr.addPersonToEvent(personId, eventId);
+    System.out.println("Added person " + personId + " to event " + eventId);
+}]]></programlisting>
+
+            <para>
+                ‚±‚ê‚Í“¯‚¶‚悤‚ɏd—v‚È2‚‚̃Nƒ‰ƒXA‚‚܂è2‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚ÌŠÖ˜A‚Ì—á‚Å‚µ‚½B
+                ‘O‚ɏq‚ׂ½‚悤‚ɁA“TŒ^“I‚ȃ‚ƒfƒ‹‚ɂ́A•’ʁu”äŠr“Id—v‚Å‚Í‚È‚¢v‘¼‚̃Nƒ‰ƒX‚ÆŒ^‚ª‚ ‚è‚Ü‚·B
+                ‚±‚ê‚Ü‚Å‚ÉŒ©‚½‚悤‚È <literal>int</literal> ‚â <literal>String</literal> ‚̂悤‚È‚à‚Ì‚Å‚·B
+                ‚±‚̂悤‚ȃNƒ‰ƒX‚ð <emphasis>’lŒ^</emphasis> ‚ÆŒ¾‚¢‚Ü‚·B
+                ‚±‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Í“Á’è‚̃Gƒ“ƒeƒBƒeƒB‚É <emphasis>ˆË‘¶</emphasis> ‚µ‚Ü‚·B
+                ‚±‚ÌŒ^‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Í“ÆŽ©‚ÌID‚ðŽ‚¿‚Ü‚¹‚ñ‚µA
+                ƒGƒ“ƒeƒBƒeƒBŠÔ‚Å‹¤—L‚³‚ê‚邱‚Æ‚à‚ ‚è‚Ü‚¹‚ñ
+                iƒtƒ@[ƒXƒgƒl[ƒ€‚ª“¯‚¶‚¾‚Á‚½‚Æ‚µ‚Ä‚àA2l‚̐l‚Í“¯‚¶ <literal>firstname</literal> 
+                ƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ü‚¹‚ñjB
+                ’lŒ^‚Í‚à‚¿‚ë‚ñJDK“à‚ÉŒ©‚‚©‚è‚Ü‚·‚ªA‚»‚ꂾ‚¯‚Å‚Í‚È‚­
+                iŽÀÛAHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚¨‚¢‚Ä‚·‚ׂĂÌJDKƒNƒ‰ƒX‚Í’lŒ^‚ÆŒ©‚È‚¹‚Ü‚·jA
+                —Ⴆ‚Î <literal>Address</literal> ‚â <literal>MonetaryAmount</literal> 
+                ‚̂悤‚È“ÆŽ©‚̈ˑ¶ƒNƒ‰ƒX‚ð‘‚­‚±‚Æ‚à‚Å‚«‚Ü‚·B
+            </para>
+
+            <para>
+                ’lŒ^‚̃RƒŒƒNƒVƒ‡ƒ“‚ðÝŒv‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+                ‚±‚ê‚Í‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚̃RƒŒƒNƒVƒ‡ƒ“‚Æ‚ÍŠT”O“I‚É”ñí‚ɈقȂè‚Ü‚·‚ªA
+                Java‚Å‚Í‚Ù‚Æ‚ñ‚Ç“¯‚¶‚悤‚ÉŒ©‚¦‚Ü‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-associations-valuecollections">
+            <title>’l‚̃RƒŒƒNƒVƒ‡ƒ“</title>
+
+            <para>
+                ’lŒ^ƒIƒuƒWƒFƒNƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ð <literal>Person</literal> ƒGƒ“ƒeƒBƒeƒB‚֒ljÁ‚µ‚Ü‚·B
+                Eƒ[ƒ‹ƒAƒhƒŒƒX‚ðŠi”[‚µ‚½‚¢‚Ì‚Å‚·‚ªA<literal>String</literal> Œ^‚ðŽg‚Á‚Ä‚¢‚é‚̂ŁA
+                ƒRƒŒƒNƒVƒ‡ƒ“‚ÍÄ‚Ñ <literal>Set</literal> ‚Å‚·F
+            </para>
+            <programlisting><![CDATA[private Set emailAddresses = new HashSet();
+
+public Set getEmailAddresses() {
+    return emailAddresses;
+}
+
+public void setEmailAddresses(Set emailAddresses) {
+    this.emailAddresses = emailAddresses;
+}]]></programlisting>
+
+            <para>
+                ‚±‚Ì <literal>Set</literal> ‚̃}ƒbƒsƒ“ƒO‚Å‚·F
+            </para>
+
+            <programlisting><![CDATA[<set name="emailAddresses" table="PERSON_EMAIL_ADDR">
+    <key column="PERSON_ID"/>
+    <element type="string" column="EMAIL_ADDR"/>
+</set>]]></programlisting>
+
+            <para>
+                ‘O‚̃}ƒbƒsƒ“ƒO‚Æ”ä‚ׂĈႤ‚Ì‚Í <literal>element</literal> ‚Ì•”•ª‚Å‚·‚ªA
+                Hibernate‚É‚±‚̃RƒŒƒNƒVƒ‡ƒ“‚ª‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚ðŠÜ‚Ü‚¸A
+                <literal>String</literal> Œ^‚Ì—v‘f‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŠÜ‚Þ‚±‚Æ‚ð‹³‚¦‚Ü‚·B
+                i¬•¶Žš‚Ì–¼‘O(string)‚ÍHibernate‚̃}ƒbƒsƒ“ƒOŒ^‚Ü‚½‚̓Rƒ“ƒo[ƒ^‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·jB
+                ŒJ‚è•Ô‚µ‚Ü‚·‚ªA<literal>set</literal> —v‘f‚Ì <literal>table</literal> ‘®«‚́A
+                ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚߂̃e[ƒuƒ‹–¼‚ðŽw’肵‚Ü‚·B
+                <literal>key</literal> —v‘f‚̓RƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚ÌŠO•”ƒL[ƒJƒ‰ƒ€–¼‚ð’è‹`‚µ‚Ü‚·B
+                <literal>element</literal> —v‘f‚Ì <literal>column</literal> ‘®«‚Í <literal>String</literal> 
+                ‚Ì’l‚ªŽÀÛ‚ÉŠi”[‚³‚ê‚éƒJƒ‰ƒ€‚Ì–¼‘O‚ð’è‹`‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                XV‚µ‚½ƒXƒL[ƒ}‚ðŒ©‚Ä‚­‚¾‚³‚¢F
+            </para>
+
+            <programlisting><![CDATA[
+  _____________        __________________
+ |             |      |                  |       _____________
+ |   EVENTS    |      |   PERSON_EVENT   |      |             |       ___________________
+ |_____________|      |__________________|      |    PERSON   |      |                   |
+ |             |      |                  |      |_____________|      | PERSON_EMAIL_ADDR |
+ | *EVENT_ID   | <--> | *EVENT_ID        |      |             |      |___________________|
+ |  EVENT_DATE |      | *PERSON_ID       | <--> | *PERSON_ID  | <--> |  *PERSON_ID       |
+ |  TITLE      |      |__________________|      |  AGE        |      |  *EMAIL_ADDR      |
+ |_____________|                                |  FIRSTNAME  |      |___________________|
+                                                |  LASTNAME   |
+                                                |_____________|
+ ]]></programlisting>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚ÌŽåƒL[‚́AŽÀÛ‚Í—¼•û‚̃Jƒ‰ƒ€‚ðŽg‚Á‚½•¡‡ƒL[‚Å‚ ‚邱‚Æ‚ª‚í‚©‚è‚Ü‚·B
+                ‚±‚ê‚͐l‚²‚Æ‚ÉEƒ[ƒ‹ƒAƒhƒŒƒX‚ªd•¡‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚ƂŁA
+                Java‚Ìset‚É—v‹‚³‚ê‚éƒZƒ}ƒ“ƒeƒBƒNƒX‚»‚Ì‚à‚Ì‚Å‚·B
+            </para>
+
+            <para>
+                ˆÈ‘Ol‚ƃCƒxƒ“ƒg‚ðŠÖ˜A‚¯‚½‚Æ‚«‚Æ‘S‚­“¯‚¶‚悤‚ɁA
+                ¡‚⎎‚µ‚ɃRƒŒƒNƒVƒ‡ƒ“‚É—v‘f‚ð’ljÁ‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½B
+                —¼•û‚Æ‚àJava‚Å‚Í“¯‚¶ƒR[ƒh‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[private void addEmailToPerson(Long personId, String emailAddress) {
+
+    Session session = HibernateUtil.getSessionFactory().getCurrentSession();
+    session.beginTransaction();
+
+    Person aPerson = (Person) session.load(Person.class, personId);
+
+    // The getEmailAddresses() might trigger a lazy load of the collection
+    aPerson.getEmailAddresses().add(emailAddress);
+
+    session.getTransaction().commit();
+}]]></programlisting>
+
+            <para>
+                ¡‰ñAƒRƒŒƒNƒVƒ‡ƒ“‚̏‰Šú‰»‚É <emphasis>fetch</emphasis> ƒNƒGƒŠ‚ðŽg—p‚µ‚Ü‚¹‚ñ‚Å‚µ‚½B
+                ‚»‚Ì‚½‚߁Agetterƒƒ\ƒbƒh‚̌Ăяo‚µ‚É‚æ‚Á‚ăRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚·‚邽‚ß‚ÌSELECT‚ª
+                ŽÀs‚³‚ê‚é‚̂ŁAƒRƒŒƒNƒVƒ‡ƒ“‚É—v‘f‚ð’ljÁ‚Å‚«‚Ü‚·B
+                SQL‚̃ƒO‚ðŠÄŽ‹‚µ‚āA‘¦ŽžƒtƒFƒbƒ`‚ðŽg‚Á‚čœK‰»‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-associations-bidirectional" revision="1">
+            <title>‘o•ûŒüŠÖ˜A</title>
+
+            <para>
+                ŽŸ‚É‘o•ûŒüŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+                Java‚Å—¼‘¤‚©‚çl‚ƃCƒxƒ“ƒg‚ÌŠÖ˜A‚𓮍삳‚¹‚Ü‚·B
+                ‚à‚¿‚ë‚ñAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Í•Ï‚í‚è‚Ü‚¹‚ñ‚ªA‘½d“x‚Í‘½‘Α½‚Ì‚Ü‚Ü‚Å‚·B
+                ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚̓lƒbƒgƒ[ƒNƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚æ‚è‚à_“î‚Ȃ̂ŁA
+                ƒiƒrƒQ[ƒVƒ‡ƒ“‚Ì•ûŒü‚̂悤‚È‚à‚Ì‚ð•K—v‚Æ‚µ‚Ü‚¹‚ñB
+                ƒf[ƒ^‚Í‚ ‚ç‚ä‚é‚Ì•û–@‚ÅŒ©‚½‚è•œŒ³‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+            </para>
+
+            <para>
+                ‚Ü‚¸ <literal>Event</literal> ƒCƒxƒ“ƒgƒNƒ‰ƒX‚ÉŽQ‰ÁŽÒ‚̃RƒŒƒNƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ü‚·F
+            </para>
+
+            <programlisting><![CDATA[private Set participants = new HashSet();
+
+public Set getParticipants() {
+    return participants;
+}
+
+public void setParticipants(Set participants) {
+    this.participants = participants;
+}]]></programlisting>
+
+            <para>
+                ‚»‚ê‚Å‚Í <literal>Event.hbm.xml</literal> ‚ÅŠÖ˜A‚Ì‚±‚¿‚瑤‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[<set name="participants" table="PERSON_EVENT" inverse="true">
+    <key column="EVENT_ID"/>
+    <many-to-many column="PERSON_ID" class="events.Person"/>
+</set>]]></programlisting>
+
+            <para>
+                ‚²——‚Ì‚Æ‚¨‚èA‚¢‚¸‚ê‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg(XMLƒtƒ@ƒCƒ‹)‚Å‚àA•’Ê‚Ì <literal>set</literal> 
+                ƒ}ƒbƒsƒ“ƒO‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
+                <literal>key</literal> ‚Æ <literal>many-to-many</literal> ‚̃Jƒ‰ƒ€–¼‚ªA
+                —¼•û‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Å“ü‚ê‘Ö‚¦‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É’–Ú‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚±‚ōłàd—v‚ȒljÁ€–ڂ́A <literal>Event</literal> ‚̃RƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚Ì <literal>set</literal> 
+                —v‘f‚É‚ ‚é <literal>inverse="true"</literal> ‘®«‚Å‚·B
+            </para>
+
+            <para>
+                ‚±‚ÌŽw’è‚̈Ӗ¡‚́A2‚‚̊Ԃ̃Gƒ“ƒeƒBƒeƒBŠÔ‚̃Šƒ“ƒN‚ɂ‚¢‚Ă̏î•ñ‚ð’T‚·•K—v‚ª‚ ‚é‚Æ‚«A
+                Hibernate‚Í”½‘Α¤‚̃Gƒ“ƒeƒBƒeƒBA‚‚܂è <literal>Person</literal> ƒNƒ‰ƒX‚©‚ç’T‚·‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                ˆê“x2‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚Ì‘o•ûŒüƒŠƒ“ƒN‚ª‚ǂ̂悤‚ɍ쐬‚³‚ê‚é‚©‚ª‚í‚©‚ê‚΁A
+                ‚±‚ê‚ð—‰ð‚·‚é‚±‚Æ‚Í‚Æ‚Ä‚àŠÈ’P‚Å‚·B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-associations-usingbidir">
+            <title>‘o•ûŒüƒŠƒ“ƒN‚Ì“®ì</title>
+
+            <para>
+                ‚Ü‚¸AHibernate‚ª’ʏí‚ÌJava‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ɉe‹¿‚ð‹y‚Ú‚³‚È‚¢‚±‚Æ‚ðS‚É—¯‚ß‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢B
+                Ž„‚½‚¿‚́A’P•ûŒü‚Ì—á‚Æ‚µ‚Ăǂ̂悤‚É <literal>Person</literal> ‚Æ <literal>Event</literal> 
+                ‚̊Ԃ̃Šƒ“ƒN‚ðì¬‚µ‚½‚Å‚µ‚傤‚©H
+                <literal>Person</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̃Cƒxƒ“ƒg‚Ö‚ÌŽQÆ‚̃RƒŒƒNƒVƒ‡ƒ“‚É
+                <literal>Event</literal> ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð’ljÁ‚µ‚Ü‚µ‚½B
+                ‚»‚Ì‚½‚ß‚±‚̃Šƒ“ƒN‚ð‘o•ûŒü‚É‚µ‚½‚¯‚ê‚΁A
+                “–‚½‚è‘O‚Å‚·‚ª”½‘Α¤‚É‚à“¯‚¶‚±‚Æ‚ð‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                <literal>Event</literal> ‚̃RƒŒƒNƒVƒ‡ƒ“‚É <literal>Person</literal> ‚Ö‚Ì
+                ŽQÆ‚ð’ljÁ‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                ‚±‚́u—¼‘¤‚ŃŠƒ“ƒN‚ðÝ’è‚·‚邱‚Ɓv‚͐â‘΂ɕK—v‚Ȃ̂ŁAŒˆ‚µ‚Ä–Y‚ê‚È‚¢‚Å‚­‚¾‚³‚¢B
+            </para>
+
+            <para>
+                ‘½‚­‚ÌŠJ”­ŽÒ‚͐Td‚ɃvƒƒOƒ‰ƒ€‚·‚é‚̂ŁA
+                ƒGƒ“ƒeƒBƒeƒB‚Ì—¼‘¤‚ɐ³‚µ‚­ŠÖ˜A‚ðÝ’è‚·‚郊ƒ“ƒNŠÇ—ƒƒ\ƒbƒh‚ðì¬‚µ‚Ü‚·B
+                —Ⴆ‚Î <literal>Person</literal> ‚ł͈ȉº‚̂悤‚É‚È‚è‚Ü‚·BF
+            </para>
+
+            <programlisting><![CDATA[protected Set getEvents() {
+    return events;
+}
+
+protected void setEvents(Set events) {
+    this.events = events;
+}
+
+public void addToEvent(Event event) {
+    this.getEvents().add(event);
+    event.getParticipants().add(this);
+}
+
+public void removeFromEvent(Event event) {
+    this.getEvents().remove(event);
+    event.getParticipants().remove(this);
+}]]></programlisting>
+
+            <para>
+                ƒRƒŒƒNƒVƒ‡ƒ“‚̃Qƒbƒg‚ƃZƒbƒgƒƒ\ƒbƒh‚ªŒ»Ýprotected‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚ê‚Í“¯‚¶ƒpƒbƒP[ƒW‚̃Nƒ‰ƒX‚âƒTƒuƒNƒ‰ƒX‚̃ƒ\ƒbƒh‚͈ˑRƒAƒNƒZƒX‚ª‰Â”\‚Å‚·‚ªA
+                i‚Ù‚Æ‚ñ‚ǁj‚»‚̃pƒbƒP[ƒWŠO‚̂ǂ̃Nƒ‰ƒX‚Å‚à’¼Ú‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ð‘ä–³‚µ‚É‚·‚邱‚Æ‚ð–h‚¬‚Ü‚·B
+                ‚¨‚»‚ç‚­”½‘Α¤‚̃RƒŒƒNƒVƒ‡ƒ“‚É‚à“¯‚¶‚±‚Æ‚ð‚µ‚½•û‚ª‚¢‚¢‚Å‚µ‚傤B
+            </para>
+
+            <para>
+                <literal>inverse</literal> ƒ}ƒbƒsƒ“ƒO‘®«‚Æ‚Í‚¢‚Á‚½‚¢‰½‚Å‚µ‚傤‚©H
+                ŠJ”­ŽÒ‚ÆJava‚É‚Æ‚Á‚ẮA‘o•ûŒüƒŠƒ“ƒN‚Í’P‚É—¼‘¤‚ÌŽQÆ‚𐳂µ‚­Ý’è‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                ‚µ‚©‚µHibernate‚́i§–ñˆá”½‚ð”ð‚¯‚é‚½‚߂ɁjSQL‚Ì <literal>INSERT</literal> ‚Æ <literal>UPDATE</literal> 
+                •¶‚𐳊m‚ɕύX‚·‚邽‚߂̏\•ª‚ȏî•ñ‚ðŽ‚Á‚Ä‚¢‚È‚¢‚̂ŁA
+                ‘o•ûŒüŠÖ˜AƒvƒƒpƒeƒB‚ðˆµ‚¤‚½‚߂̉½‚ç‚©‚̏•‚¯‚ð•K—v‚Æ‚µ‚Ü‚·B
+                ŠÖ˜A‚̕Б¤‚ð <literal>inverse</literal> ‚ɐݒ肷‚邱‚ƂŁAHibernate‚ÍŠî–{“I‚ɂ͐ݒ肵‚½‘¤‚𖳎‹‚µA
+                ”½‘Α¤‚Ì <emphasis>‹¾</emphasis> ‚Æ‚µ‚čl‚¦‚Ü‚·B
+                ‚±‚ꂾ‚¯‚ŁAHibernate‚Í•ûŒü‚ðŽ‚ÂƒiƒrƒQ[ƒVƒ‡ƒ“ƒ‚ƒfƒ‹‚ðSQLƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Ö•ÏŠ·‚·‚é‚Æ‚«‚Ì
+                ‚·‚ׂĂ̖â‘è‚É‚¤‚Ü‚­‘Ώˆ‚Å‚«‚Ü‚·B
+                Šo‚¦‚Ä‚¨‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢ƒ‹[ƒ‹‚ÍŠÈ’P‚Å‚·B
+                ‘o•ûŒüŠÖ˜A‚Í•K‚¸•Ð‘¤‚ð <literal>inverse</literal> ‚É‚·‚é•K—v‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+                ˆê‘Α½ŠÖ˜A‚Å‚Í‚»‚ê‚Í‘½‘¤‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+                ‘½‘Α½ŠÖ˜A‚Å‚Í‚Ç‚¿‚瑤‚Å‚à\‚¢‚Ü‚¹‚ñB‚Ç‚¿‚ç‚Å‚àˆá‚¢‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+        </sect2>
+
+        <para>
+             ‚Å‚Í‚±‚ê‚ð¬‚³‚ÈWebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚µ‚Ä‚Ý‚Ü‚µ‚傤B
+        </para>
+
+    </sect1>
+
+    <sect1 id="tutorial-webapp">
+        <title>ƒp[ƒg3 - EventManager WebƒAƒvƒŠƒP[ƒVƒ‡ƒ“</title>
+
+        <para>
+             Hibernate‚ÌWebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚́AƒXƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̂悤‚É
+             <literal>Session</literal> ‚Æ <literal>Transaction</literal> ‚ðŽg—p‚µ‚Ü‚·B
+             ‚µ‚©‚µ‚¢‚­‚‚©‚̈ê”Ê“I‚ȃpƒ^[ƒ“‚ª–𗧂¿‚Ü‚·B
+             ‚±‚±‚Å <literal>EventManagerServlet</literal> ‚ðì¬‚µ‚Ü‚·B‚±‚̃T[ƒuƒŒƒbƒg‚́A
+             ƒf[ƒ^ƒx[ƒX‚ÉŠi”[‚µ‚½‘S‚ẴCƒxƒ“ƒg‚ðƒŠƒXƒg‚É‚Å‚«A‚³‚ç‚ÉHTMLƒtƒH[ƒ€‚©‚çV‚µ‚¢ƒCƒxƒ“ƒg‚ð“ü—Í‚Å‚«‚é‚à‚Ì‚Å‚·B
+        </para>
+
+        <sect2 id="tutorial-webapp-servlet" revision="1">
+            <title>Šî–{“I‚ÈServlet‚Ì‹Lq</title>
+
+            <para>
+                V‚µ‚¢ƒNƒ‰ƒX‚ðAƒ\[ƒXƒfƒBƒŒƒNƒgƒŠ‚Ì <literal>events</literal> ƒpƒbƒP[ƒW‚ɍ쐬‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+            <programlisting><![CDATA[package events;
+
+// Imports
+
+public class EventManagerServlet extends HttpServlet {
+
+    // Servlet code
+}]]></programlisting>
+
+            <para>
+                Servlet‚ÍHTTP‚Ì <literal>GET</literal> ƒŠƒNƒGƒXƒg‚Ì‚Ý‚ðˆ—‚·‚é‚̂ŁA
+                 <literal>doGet()</literal> ‚ðŽÀ‘•‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[protected void doGet(HttpServletRequest request,
+                     HttpServletResponse response)
+        throws ServletException, IOException {
+
+    SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy");
+
+    try {
+        // Begin unit of work
+        HibernateUtil.getSessionFactory()
+                .getCurrentSession().beginTransaction();
+
+        // Process request and render page...
+
+        // End unit of work
+        HibernateUtil.getSessionFactory()
+                .getCurrentSession().getTransaction().commit();
+
+    } catch (Exception ex) {
+        HibernateUtil.getSessionFactory()
+                .getCurrentSession().getTransaction().rollback();
+        throw new ServletException(ex);
+    }
+
+}]]></programlisting>
+
+            <para>
+                ‚±‚ê‚Í <emphasis>session-per-request</emphasis> ‚Æ‚¢‚¤ƒpƒ^[ƒ“‚Å‚·B
+                Servlet‚ªƒŠƒNƒGƒXƒg‚ðŽó‚¯Žæ‚é‚ƁA <literal>SessionFactory</literal> ‚Ì
+                <literal>getCurrentSession()</literal> ‚̍ŏ‰‚̌Ăяo‚µ‚ŁA
+                Hibernate‚̐V‚µ‚¢ <literal>Session</literal> ‚ªŠJ‚©‚ê‚Ü‚·B
+                ‚»‚Ì‚Æ‚«ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠJŽn‚³‚ê‚Ü‚·B
+                ƒf[ƒ^‚̓ǂݏ‘‚«‚ÉŠÖ‚í‚炸A‚·‚ׂẴf[ƒ^ƒAƒNƒZƒX‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ““à‚ōs‚¢‚Ü‚·B
+                iƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚ł̓I[ƒgƒRƒ~ƒbƒgƒ‚[ƒh‚ðŽg—p‚µ‚Ü‚¹‚ñjB
+            </para>
+
+            <para>
+                ŽŸ‚ɁAƒŠƒNƒGƒXƒg‚̃AƒNƒVƒ‡ƒ“‚͏ˆ—‚³‚êAƒŒƒXƒ|ƒ“ƒX‚Å‚ ‚éHTML‚ª•`‰æ‚³‚ê‚Ü‚·B
+                ‚±‚ê‚ɂ‚¢‚Ä‚Í‚·‚®‚Éà–¾‚µ‚Ü‚·B
+            </para>
+
+            <para>
+                ÅŒã‚ɃŠƒNƒGƒXƒg‚̏ˆ—‚ÆHTML•`‰æ‚ªŠ®—¹‚µ‚½‚Æ‚«‚ɁAì‹Æ’PˆÊ(Unit of Work)‚ðI—¹‚µ‚Ü‚·B
+                ‚à‚µˆ—‚â•`‰æ’†‚É–â‘肪”­¶‚µ‚½ê‡Aexception‚ª“Š‚°‚ç‚ê‚ăf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µ‚Ü‚·B
+                ‚±‚ê‚Å <literal>session-per-request</literal> ƒpƒ^[ƒ“‚ªŠ®—¹‚µ‚Ü‚·B
+                ‘S‚ẴT[ƒuƒŒƒbƒg‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚̃R[ƒh‚ð‘‚­‘ã‚í‚è‚ɁAƒT[ƒuƒŒƒbƒgƒtƒBƒ‹ƒ^‚É‹Lq‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+                <emphasis>Open Session in View</emphasis> ‚ƌĂ΂ê‚邱‚̃pƒ^[ƒ“‚ɂ‚¢‚ẮA
+                Hibernate‚ÌWebƒTƒCƒg‚âWiki‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+                ƒT[ƒuƒŒƒbƒg‚Å‚Í‚È‚­JSP‚ÅHTML•`‰æ‚ð‚µ‚æ‚¤‚Æ‚·‚é‚ƁA‚·‚®‚É‚±‚̃pƒ^[ƒ“‚ɂ‚¢‚Ă̏î•ñ‚ª•K—v‚É‚È‚é‚Å‚µ‚傤B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-webapp-processing" revision="1">
+            <title>ˆ—‚Æ•`‰æ</title>
+
+            <para>
+                 ‚ł́AƒŠƒNƒGƒXƒg‚̏ˆ—‚ƃy[ƒW‚Ì•`‰æ‚ðŽÀ‘•‚µ‚Ü‚·B
+            </para>
+
+<programlisting><![CDATA[// Write HTML header
+PrintWriter out = response.getWriter();
+out.println("<html><head><title>Event Manager</title></head><body>");
+
+// Handle actions
+if ( "store".equals(request.getParameter("action")) ) {
+
+    String eventTitle = request.getParameter("eventTitle");
+    String eventDate = request.getParameter("eventDate");
+
+    if ( "".equals(eventTitle) || "".equals(eventDate) ) {
+        out.println("<b><i>Please enter event title and date.</i></b>");
+    } else {
+        createAndStoreEvent(eventTitle, dateFormatter.parse(eventDate));
+        out.println("<b><i>Added event.</i></b>");
+    }
+}
+
+// Print page
+printEventForm(out);
+listEvents(out, dateFormatter);
+
+// Write HTML footer
+out.println("</body></html>");
+out.flush();
+out.close();]]></programlisting>
+
+            <para>
+                Java‚ÆHTML‚ª¬Ý‚·‚éƒR[ƒfƒBƒ“ƒOƒXƒ^ƒCƒ‹‚́A‚æ‚è•¡ŽG‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Í“K‚µ‚Ä‚¢‚È‚¢‚Å‚µ‚傤
+                i‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚ł́AŠî–{“I‚ÈHibernate‚̃Rƒ“ƒZƒvƒg‚ðŽ¦‚µ‚Ä‚¢‚邾‚¯‚Å‚ ‚邱‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚­‚¾‚³‚¢jB
+                ‚±‚̃R[ƒh‚ÍHTML‚̃wƒbƒ_[‚ƃtƒbƒ^[‚Ì‹Lq‚Å‚·B
+                ‚±‚̃y[ƒW‚ɂ́AƒCƒxƒ“ƒg‚ð“ü—Í‚·‚éHTMLƒtƒH[ƒ€‚ƁAƒf[ƒ^ƒx[ƒX‚É‚ ‚é‘S‚ẴCƒxƒ“ƒg‚̃ŠƒXƒg‚ª•\Ž¦‚³‚ê‚Ü‚·B
+                Å‰‚̃ƒ\ƒbƒh‚Í‚²‚­’Pƒ‚ÈHTMLo—Í‚Å‚·B
+            </para>
+
+            <programlisting><![CDATA[private void printEventForm(PrintWriter out) {
+    out.println("<h2>Add new event:</h2>");
+    out.println("<form>");
+    out.println("Title: <input name='eventTitle' length='50'/><br/>");
+    out.println("Date (e.g. 24.12.2009): <input name='eventDate' length='10'/><br/>");
+    out.println("<input type='submit' name='action' value='store'/>");
+    out.println("</form>");
+}]]></programlisting>
+
+            <para>
+                 <literal>listEvents()</literal> ƒƒ\ƒbƒh‚́AŒ»Ý‚̃XƒŒƒbƒh‚ÉŒ‹‚т‚­
+                 Hibernate‚Ì <literal>Session</literal> ‚ðŽg—p‚µ‚āAƒNƒGƒŠ‚ðŽÀs‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat dateFormatter) {
+
+    List result = HibernateUtil.getSessionFactory()
+                    .getCurrentSession().createCriteria(Event.class).list();
+    if (result.size() > 0) {
+        out.println("<h2>Events in database:</h2>");
+        out.println("<table border='1'>");
+        out.println("<tr>");
+        out.println("<th>Event title</th>");
+        out.println("<th>Event date</th>");
+        out.println("</tr>");
+        for (Iterator it = result.iterator(); it.hasNext();) {
+            Event event = (Event) it.next();
+            out.println("<tr>");
+            out.println("<td>" + event.getTitle() + "</td>");
+            out.println("<td>" + dateFormatter.format(event.getDate()) + "</td>");
+            out.println("</tr>");
+        }
+        out.println("</table>");
+    }
+}]]></programlisting>
+
+            <para>
+                ÅŒã‚ɁA <literal>store</literal> ƒAƒNƒVƒ‡ƒ“‚ª <literal>createAndStoreEvent()</literal> ƒƒ\ƒbƒh‚ð
+                ŒÄ‚яo‚µ‚Ü‚·B‚±‚̃ƒ\ƒbƒh‚Å‚àŒ»Ý‚̃XƒŒƒbƒh‚Ì <literal>Session</literal> ‚ð—˜—p‚µ‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[protected void createAndStoreEvent(String title, Date theDate) {
+    Event theEvent = new Event();
+    theEvent.setTitle(title);
+    theEvent.setDate(theDate);
+
+    HibernateUtil.getSessionFactory()
+                    .getCurrentSession().save(theEvent);
+}]]></programlisting>
+
+            <para>
+                ‚±‚ê‚ŃT[ƒuƒŒƒbƒg‚ÌŠ®¬‚Å‚·B
+                ƒT[ƒuƒŒƒbƒg‚ւ̃ŠƒNƒGƒXƒg‚́Aˆê‚Â‚Ì <literal>Session</literal> ‚Æ 
+                <literal>Transaction</literal> ‚ŏˆ—‚³‚ê‚é‚Å‚µ‚傤B
+                Å‰‚̃Xƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̂悤‚ɁA
+                Hibernate‚ÍŽ©“®“I‚É‚±‚ê‚ç‚̃IƒuƒWƒFƒNƒg‚ðŽÀs‚·‚éƒXƒŒƒbƒh‚ÉŒ‹‚Ñ•t‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+                ‚±‚ê‚É‚æ‚èAŠJ”­ŽÒ‚ªŽ©—R‚ɃR[ƒh‚ðƒŒƒCƒ„[•ª‚¯‚Å‚«A
+                D‚«‚È•û–@‚Å <literal>SessionFactory</literal> ‚ւ̃AƒNƒZƒX‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
+                ’ʏíAŠJ”­ŽÒ‚Í‚æ‚èô—û‚³‚ꂽƒfƒUƒCƒ“‚ðŽg—p‚µ‚āAƒf[ƒ^ƒAƒNƒZƒX‚̃R[ƒh‚ð
+                ƒf[ƒ^ƒAƒNƒZƒXƒIƒuƒWƒFƒNƒg‚Ɉړ®‚·‚é‚Å‚µ‚傤iDAOƒpƒ^[ƒ“jB
+                ‚æ‚葽‚­‚Ì—á‚́AHibernate‚ÌWiki‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+        <sect2 id="tutorial-webapp-deploy">
+            <title>ƒfƒvƒƒC‚ƃeƒXƒg</title>
+
+            <para>
+                ‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃fƒvƒƒC‚Ì‚½‚߂ɁAWebƒA[ƒJƒCƒuiWARj‚ðì¬‚µ‚Ä‚­‚¾‚³‚¢B
+                ˆÈ‰º‚ÌAntƒ^[ƒQƒbƒg‚ð <literal>build.xml</literal> ‚ɉÁ‚¦‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+<programlisting><![CDATA[<target name="war" depends="compile">
+    <war destfile="hibernate-tutorial.war" webxml="web.xml">
+        <lib dir="${librarydir}">
+          <exclude name="jsdk*.jar"/>
+        </lib>
+
+        <classes dir="${targetdir}"/>
+    </war>
+</target>]]></programlisting>
+
+            <para>
+                ‚±‚̃^[ƒQƒbƒg‚Í <literal>hibernate-tutorial.war</literal> ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ð
+                ƒvƒƒWƒFƒNƒgƒfƒBƒŒƒNƒgƒŠ‚ɍ쐬‚µ‚Ü‚·B
+                ‚±‚̃tƒ@ƒCƒ‹‚Í‚·‚ׂẴ‰ƒCƒuƒ‰ƒŠ‚Æ <literal>web.xml</literal> ‹LqŽq‚ðŠÜ‚ñ‚Å‚¨‚èA
+                ƒvƒƒWƒFƒNƒg‚̃x[ƒXƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ê‚邱‚Æ‚ðŠú‘Ò‚³‚ê‚Ü‚·B
+            </para>
+
+            <programlisting><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
+<web-app version="2.4"
+    xmlns="http://java.sun.com/xml/ns/j2ee"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
+
+    <servlet>
+        <servlet-name>Event Manager</servlet-name>
+        <servlet-class>events.EventManagerServlet</servlet-class>
+    </servlet>
+
+    <servlet-mapping>
+        <servlet-name>Event Manager</servlet-name>
+        <url-pattern>/eventmanager</url-pattern>
+    </servlet-mapping>
+</web-app>]]></programlisting>
+
+            <para>
+                WebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Rƒ“ƒpƒCƒ‹‚ƃfƒvƒƒC‚Ì‘O‚ɁA <literal>jsdk.jar</literal> ‚Æ‚¢‚¤
+                ’ljÁ‚̃‰ƒCƒuƒ‰ƒŠ‚ª•K—v‚È‚±‚Æ‚É’ˆÓ‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚±‚ê‚ÍJavaƒT[ƒuƒŒƒbƒg‚ÌŠJ”­ƒLƒbƒg‚Å‚·B
+                ‚à‚µ‚Ü‚¾‚±‚̃‰ƒCƒuƒ‰ƒŠ‚ðŽ‚Á‚Ä‚¢‚È‚¢‚È‚çASun‚̃EƒFƒuƒTƒCƒg‚Å“üŽè‚µ‚āA
+                ƒ‰ƒCƒuƒ‰ƒŠƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚µ‚©‚µA‚±‚ê‚̓Rƒ“ƒpƒCƒ‹‚É‚Ì‚ÝŽg—p‚³‚êAWARƒpƒbƒP[ƒW‚©‚ç‚͏œŠO‚³‚ê‚Ü‚·B
+            </para>
+
+            <para>
+                ƒrƒ‹ƒh‚ƃfƒvƒƒC‚Ì‚½‚߂ɁAƒvƒƒWƒFƒNƒgƒfƒBƒŒƒNƒgƒŠ‚Å <literal>ant war</literal> ‚ðŒÄ‚яo‚µA
+                <literal>hibernate-tutorial.war</literal> ƒtƒ@ƒCƒ‹‚ðTomcat‚Ì <literal>webapp</literal> 
+                ƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚­‚¾‚³‚¢B
+                ‚Ü‚¾Tomcat‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚È‚¯‚ê‚΁Aƒ_ƒEƒ“ƒ[ƒh‚µ‚āAˆÈ‰º‚̃Cƒ“ƒXƒg[ƒ‹ƒKƒCƒh‚ɏ]‚Á‚Ä‚­‚¾‚³‚¢B
+                ‚µ‚©‚µA‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃fƒvƒƒC‚·‚邽‚߂ɁATomcat‚̐ݒè‚ð•ÏX‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+            </para>
+
+            <para>
+                ˆê“xƒfƒvƒƒC‚µ‚ÄTomcat‚ð‹N“®‚·‚ê‚΁A <literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal> ‚Å
+                ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ւ̃AƒNƒZƒX‚ª‰Â”\‚Å‚·B
+                Å‰‚̃ŠƒNƒGƒXƒg‚ªì¬‚µ‚½ƒT[ƒuƒŒƒbƒg‚É“n‚Á‚½‚Æ‚«‚ɁATomcat‚̃ƒO‚Å
+                Hibernate‚̏‰Šú‰»ˆ—‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢
+               i <literal>HibernateUtil</literal> “à‚̐ÓI‰Šú‰»ƒuƒƒbƒN‚ªŒÄ‚΂ê‚Ä‚¢‚Ü‚·jB
+                ‚Ü‚½Aexception‚ª”­¶‚µ‚½‚È‚çÚ×‚ðŠm”F‚µ‚Ä‚­‚¾‚³‚¢B
+            </para>
+
+        </sect2>
+
+    </sect1>
+
+    <sect1 id="tutorial-summary" revision="1">
+        <title>—v–ñ</title>
+
+        <para>
+            ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚ł́AŠÈ’P‚ȃXƒ^ƒ“ƒhƒAƒ[ƒ“‚ÌHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ
+            ¬‹K–Í‚ÌWebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‘‚­‚½‚ß‚ÌŠî–{‚ðÐ‰î‚µ‚Ü‚µ‚½B
+        </para>
+
+        <para>
+            ‚à‚¤Hibernate‚ÉŽ©M‚ª‚ ‚ê‚΁AƒŠƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚Ì–ÚŽŸ‚É–Ú‚ð’Ê‚µ‚āA
+            –Ê”’‚»‚¤‚¾‚ÆŽv‚¤ƒgƒsƒbƒN‚ð’T‚µ‚Ä‚­‚¾‚³‚¢B
+            Å‚à•p”É‚ÉŽ¿–₪‚ ‚é‚̂́Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ˆ—i<xref linkend="transactions"/>jA
+            ƒtƒFƒbƒ`‚̃pƒtƒH[ƒ}ƒ“ƒXi<xref linkend="performance"/>jA
+            API‚ÌŽg‚¢•ûi<xref linkend="objectstate"/>j‚ƃNƒGƒŠ
+            i<xref linkend="objectstate-querying"/>j‚Å‚·B
+        </para>
+
+        <para>
+            ‚³‚ç‚Ɂi“Á•Ê‚ȁjƒ`ƒ…[ƒgƒŠƒAƒ‹‚ª•K—v‚È‚çAHibernateƒEƒFƒuƒTƒCƒg‚ð–Y‚ꂸ‚Ƀ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢B
+        </para>
+
+    </sect1>
+
+</chapter>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/content/xml.xml (from rev 14075, core/trunk/documentation/manual/ja-JP/src/main/docbook/modules/xml.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/content/xml.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/content/xml.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,299 @@
+<?xml version="1.0" encoding="Shift_JIS"?>
+<chapter id="xml">
+    <title>XMLƒ}ƒbƒsƒ“ƒO</title>
+
+    <para><emphasis>XMLƒ}ƒbƒsƒ“ƒO‚ÍHibernate3.0‚Å‚ÍŽŽŒ±“I‚È‹@”\‚Å‚ ‚èA”ñí‚ÉŠˆ“®“I‚ÉŠJ”­’†‚Å‚·B</emphasis></para>
+
+    <sect1 id="xml-intro" revision="1">
+        <title>XMLƒf[ƒ^‚ł̍ì‹Æ</title>
+
+        <para>
+            Hibernate‚ł͉i‘±«‚ÌPOJO‚ðŽg‚Á‚čì‹Æ‚·‚é‚Ì‚Æ‚Ù‚Ú“¯‚¶‚悤‚È‚â‚è•û‚ŁA
+            ‰i‘±«‚ÌXMLƒf[ƒ^‚ðŽg‚Á‚čì‹Æ‚Å‚«‚Ü‚·B
+        </para>
+
+        <para>
+            Hibernate‚ÍXMLƒcƒŠ[‚𑀍삷‚邽‚ß‚ÌAPI‚Æ‚µ‚Ädom4j‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+            ƒf[ƒ^ƒx[ƒX‚©‚çdom4j‚̃cƒŠ[‚𕜌³‚·‚éƒNƒGƒŠ‚ð‘‚­‚±‚Æ‚ª‚Å‚«A
+            ƒcƒŠ[‚ɑ΂µ‚čs‚Á‚½C³‚ÍŽ©“®“I‚Ƀf[ƒ^ƒx[ƒX‚Æ“¯Šú‚³‚ê‚Ü‚·B
+            
+            ‚Ü‚½XMLƒhƒLƒ…ƒƒ“ƒg‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«Adom4j‚ðŽg‚Á‚ăhƒLƒ…ƒƒ“ƒg‚ðƒp[ƒX‚µA
+            Hibernate‚Ì”CˆÓ‚ÌŠî–{‘€ì‚ðŽg‚Á‚ăf[ƒ^ƒx[ƒX‚֏‘‚«ž‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚·BF
+            ‚‚܂èA<literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal>
+            ‘€ì‚Å‚·(ƒ}[ƒW‚Í‚Ü‚¾ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ)B
+           
+        </para>
+
+        <para>
+            ƒf[ƒ^‚̃Cƒ“ƒ|[ƒg/ƒGƒNƒXƒ|[ƒgA
+            JMS‚É‚æ‚éƒGƒ“ƒeƒBƒeƒBƒf[ƒ^‚ÌŠO•”‰»‚âSOAPAXSLTƒx[ƒX‚̃Œƒ|[ƒg‚ȂǁA
+            ‚±‚Ì‹@”\‚É‚Í‘½‚­‚Ì—p“r‚ª‚ ‚è‚Ü‚·B
+        </para>
+        
+        <para>
+            ’Pˆê‚̃}ƒbƒsƒ“ƒO‚́AƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ÆXMLƒhƒLƒ…ƒƒ“ƒg‚̃m[ƒh‚ð
+            “¯Žž‚Ƀf[ƒ^ƒx[ƒX‚Öƒ}ƒbƒsƒ“ƒO‚·‚邽‚ß‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            ‚Ü‚½ƒ}ƒbƒsƒ“ƒO‚·‚éƒNƒ‰ƒX‚ª‚È‚¯‚ê‚΁A
+            XML‚¾‚¯‚ðƒ}ƒbƒsƒ“ƒO‚·‚邽‚ß‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+            
+        </para>
+        
+        <sect2 id="xml-intro-mapping">
+            <title>XML‚ƃNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚𓯎ž‚ÉŽw’è‚·‚é</title>
+
+            <para>
+                ‚±‚ê‚ÍPOJO‚ÆXML‚𓯎ž‚Ƀ}ƒbƒsƒ“ƒO‚·‚é—á‚Å‚·BF
+            </para>
+            
+            <programlisting><![CDATA[<class name="Account" 
+        table="ACCOUNTS" 
+        node="account">
+        
+    <id name="accountId" 
+            column="ACCOUNT_ID" 
+            node="@id"/>
+            
+    <many-to-one name="customer" 
+            column="CUSTOMER_ID" 
+            node="customer/@id" 
+            embed-xml="false"/>
+            
+    <property name="balance" 
+            column="BALANCE" 
+            node="balance"/>
+            
+    ...
+    
+</class>]]></programlisting>
+        </sect2>
+        
+        <sect2 id="xml-onlyxml">
+            <title>XMLƒ}ƒbƒsƒ“ƒO‚¾‚¯‚ðŽw’è‚·‚é</title>
+
+            <para>
+                ‚±‚ê‚ÍPOJOƒNƒ‰ƒX‚ª‚È‚¢ƒ}ƒbƒsƒ“ƒO‚Ì—á‚Å‚·BF
+            </para>
+            
+            <programlisting><![CDATA[<class entity-name="Account" 
+        table="ACCOUNTS" 
+        node="account">
+        
+    <id name="id" 
+            column="ACCOUNT_ID" 
+            node="@id" 
+            type="string"/>
+            
+    <many-to-one name="customerId" 
+            column="CUSTOMER_ID" 
+            node="customer/@id" 
+            embed-xml="false" 
+            entity-name="Customer"/>
+            
+    <property name="balance" 
+            column="BALANCE" 
+            node="balance" 
+            type="big_decimal"/>
+            
+    ...
+    
+</class>]]></programlisting>
+        
+            <para>
+                ‚±‚̃}ƒbƒsƒ“ƒO‚É‚æ‚èAdom4jƒcƒŠ[‚©A
+                ƒvƒƒpƒeƒB–¼/’l‚Ì‘g‚̃Oƒ‰ƒtijava‚Ì <literal>Map</literal>j‚Æ‚µ‚Ä
+                ƒf[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B
+                
+                ƒvƒƒpƒeƒB‚Ì–¼‘O‚́AHQLƒNƒGƒŠ[“à‚ÅŽQÆ‚Å‚«‚鏃ˆ‚Ș_—\‘¢‚Å‚·B
+            </para>
+
+        </sect2>
+        
+     </sect1>
+     
+    <sect1 id="xml-mapping" revision="1">
+        <title>XMLƒ}ƒbƒsƒ“ƒO‚̃ƒ^ƒf[ƒ^</title>
+
+        <para>
+            ‘½‚­‚ÌHibernate‚̃}ƒbƒsƒ“ƒO—v‘f‚́@<literal>node</literal>@‘®«‚ªŽg—p‚Å‚«‚Ü‚·B
+            ‚±‚ê‚É‚æ‚èXML‘®«‚Ì–¼‘O‚âƒvƒƒpƒeƒB‚âƒGƒ“ƒeƒBƒeƒBƒf[ƒ^‚ð•ÛŽ‚·‚é—v‘f‚ðŽw’è‚Å‚«‚Ü‚·B
+            <literal>node</literal>@‘®«‚̃tƒH[ƒ}ƒbƒg‚͈ȉº‚Ì’†‚Ì1‚‚łȂ¯‚ê‚΂Ȃè‚Ü‚¹‚ñBF
+        </para>
+        
+        <itemizedlist spacing="compact">
+        <listitem>
+            <para>
+            <literal>"element-name"</literal> - Žw’肵‚½XML—v‘f‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+            <literal>"@attribute-name"</literal> - Žw’肵‚½XML‘®«‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+            <literal>"."</literal> -@e—v‘f‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+            </para>
+        </listitem>
+        <listitem>
+            <para>
+                <literal>"element-name/@attribute-name"</literal> - 
+                Žw’肵‚½ƒGƒŒƒƒ“ƒg‚ÌŽw’肵‚½‘®«‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+            </para>
+        </listitem>
+        </itemizedlist>
+        
+        <para>
+            ƒRƒŒƒNƒVƒ‡ƒ“‚Æ’Pˆê‚Ì’l‚ÌŠÖ˜A‚ɑ΂µ‚āA
+            ‚¨‚Ü‚¯‚Ì <literal>embed-xml</literal> ‘®«‚ª‚ ‚è‚Ü‚·B
+            ƒfƒtƒHƒ‹ƒg‚Ì <literal>embed-xml="true"</literal> ‚Ɛݒ肵‚½ê‡A
+            ŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB(’lŒ^‚̃RƒŒƒNƒVƒ‡ƒ“)‚ÌXMLƒcƒŠ[‚́A
+            ’¼ÚŠÖ˜A‚ðŠ—L‚·‚éƒGƒ“ƒeƒBƒeƒB‚ÌXMLƒcƒŠ[“à‚É–„‚ߍž‚Ü‚ê‚Ü‚·B
+            ”½‘΂ɁA<literal>embed-xml="false"</literal> ‚Ɛݒ肵‚½ê‡A
+            ŽQÆ‚³‚ê‚鎯•ÊŽq‚Ì’l‚¾‚¯‚ª‘½d“x‚P‘¤‚ÌŠÖ˜A‚ɑ΂·‚éXML‚ÉŒ»‚êA
+            ’Pƒ‚ɃRƒŒƒNƒVƒ‡ƒ“‚Í‚Ü‚Á‚½‚­Œ»‚ê‚È‚­‚È‚è‚Ü‚·B
+        </para>
+        
+        <para>
+            ‚ ‚Ü‚è‚É‘½‚­‚ÌŠÖ˜A‚ɑ΂µ‚Ä
+            <literal>embed-xml="true"</literal> ‚Æ‚µ‚½‚Ü‚Ü‚É‚·‚é‚Ì‚Í’ˆÓ‚·‚ׂ«‚Å‚·B
+            XML‚͏zŠÂ‚ð‚¤‚Ü‚­ˆµ‚¦‚Ü‚¹‚ñB
+        </para>
+        
+        <programlisting><![CDATA[<class name="Customer" 
+        table="CUSTOMER" 
+        node="customer">
+        
+    <id name="id" 
+            column="CUST_ID" 
+            node="@id"/>
+            
+    <map name="accounts" 
+            node="." 
+            embed-xml="true">
+        <key column="CUSTOMER_ID" 
+                not-null="true"/>
+        <map-key column="SHORT_DESC" 
+                node="@short-desc" 
+                type="string"/>
+        <one-to-many entity-name="Account"
+                embed-xml="false" 
+                node="account"/>
+    </map>
+    
+    <component name="name" 
+            node="name">
+        <property name="firstName" 
+                node="first-name"/>
+        <property name="initial" 
+                node="initial"/>
+        <property name="lastName" 
+                node="last-name"/>
+    </component>
+    
+    ...
+    
+</class>]]></programlisting>
+
+        <para>
+            ‚±‚Ì—á‚ł́AŽÀÛ‚Ìaccount‚̃f[ƒ^‚Å‚Í‚È‚­A
+            account‚Ìid‚̃RƒŒƒNƒVƒ‡ƒ“‚𖄂ߍž‚Þ‚±‚Æ‚É‚µ‚Ü‚µ‚½B
+            ‘±‚«‚ÌHQLƒNƒGƒŠ‚Å‚·F
+        </para>
+        
+        <programlisting><![CDATA[from Customer c left join fetch c.accounts where c.lastName like :lastName]]></programlisting>
+        
+        <para>
+            ‚±‚̂悤‚ȃf[ƒ^ƒZƒbƒg‚ð•Ô‚·‚Å‚µ‚傤
+        </para>
+        
+        <programlisting><![CDATA[<customer id="123456789">
+    <account short-desc="Savings">987632567</account>
+    <account short-desc="Credit Card">985612323</account>
+    <name>
+        <first-name>Gavin</first-name>
+        <initial>A</initial>
+        <last-name>King</last-name>
+    </name>
+    ...
+</customer>]]></programlisting>
+
+        <para>
+            <literal>&lt;one-to-many&gt;</literal> ƒ}ƒbƒsƒ“ƒO‚Å
+            <literal>embed-xml="true"</literal> ‚Ɛݒ肵‚½ê‡A
+            ƒf[ƒ^‚Í‚±‚̂悤‚É‚È‚é‚Å‚µ‚傤B
+        </para>
+        
+        <programlisting><![CDATA[<customer id="123456789">
+    <account id="987632567" short-desc="Savings">
+        <customer id="123456789"/>
+        <balance>100.29</balance>
+    </account>
+    <account id="985612323" short-desc="Credit Card">
+        <customer id="123456789"/>
+        <balance>-2370.34</balance>
+    </account>
+    <name>
+        <first-name>Gavin</first-name>
+        <initial>A</initial>
+        <last-name>King</last-name>
+    </name>
+    ...
+</customer>]]></programlisting>
+       
+    </sect1>
+    
+    
+    <sect1 id="xml-manipulation" revision="1">
+        <title>XMLƒf[ƒ^‚ðˆµ‚¤</title>
+        
+        <para>
+            XMLƒhƒLƒ…ƒƒ“ƒg‚ðAƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚ōēǂݍž‚Ý‚âXV‚ð‚µ‚Ä‚Ý‚Ü‚µ‚傤B
+            ˆÈ‰º‚Å‚Ídom4j‚̃ZƒbƒVƒ‡ƒ“‚ðŽæ“¾‚·‚邱‚Ƃōs‚¢‚Ü‚·BF
+        </para>
+        
+       <programlisting><![CDATA[Document doc = ....;
+       
+Session session = factory.openSession();
+Session dom4jSession = session.getSession(EntityMode.DOM4J);
+Transaction tx = session.beginTransaction();
+
+List results = dom4jSession
+    .createQuery("from Customer c left join fetch c.accounts where c.lastName like :lastName")
+    .list();
+for ( int i=0; i<results.size(); i++ ) {
+    //add the customer data to the XML document
+    Element customer = (Element) results.get(i);
+    doc.getRootElement().add(customer);
+}
+
+tx.commit();
+session.close();]]></programlisting>
+       
+       <programlisting><![CDATA[Session session = factory.openSession();
+Session dom4jSession = session.getSession(EntityMode.DOM4J);
+Transaction tx = session.beginTransaction();
+
+Element cust = (Element) dom4jSession.get("Customer", customerId);
+for ( int i=0; i<results.size(); i++ ) {
+    Element customer = (Element) results.get(i);
+    //change the customer name in the XML and database
+    Element name = customer.element("name");
+    name.element("first-name").setText(firstName);
+    name.element("initial").setText(initial);
+    name.element("last-name").setText(lastName);
+}
+
+tx.commit();
+session.close();]]></programlisting>
+
+        <para>
+            XMLƒx[ƒX‚̃f[ƒ^‚̃Cƒ“ƒ|[ƒg/ƒGƒNƒXƒ|[ƒg‚ðŽÀ‘•‚·‚邽‚߂ɁA
+            Hibernate‚Ì <literal>replicate()</literal> ‘€ì‚ð‚±‚Ì‹@”\‚ðŒ‹‚Ñ‚Â‚¯‚é‚Ì‚Í
+            ‹É‚ß‚Ä—LŒø‚Å‚·B
+        </para>
+       
+    </sect1>
+     
+</chapter>
+

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/AuthorWork.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/AuthorWork.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/AuthorWork.zargo (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/AuthorWork.zargo)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/CustomerOrderProduct.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/CustomerOrderProduct.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/CustomerOrderProduct.zargo (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/CustomerOrderProduct.zargo)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/EmployerEmployee.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/EmployerEmployee.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/EmployerEmployee.zargo (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/EmployerEmployee.zargo)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/full_cream.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/full_cream.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/full_cream.svg (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/full_cream.svg)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/images/full_cream.svg	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/images/full_cream.svg	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,429 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
+]>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="354.331"
+   height="336.614"
+   id="svg1">
+  <defs
+     id="defs3">
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       id="linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop128" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop129" />
+    </linearGradient>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       id="linearGradient130"
+       xlink:href="#linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad" />
+    <radialGradient
+       cx="0.5"
+       cy="0.5"
+       fx="0.5"
+       fy="0.5"
+       r="0.5"
+       id="radialGradient131"
+       xlink:href="#linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad" />
+  </defs>
+  <g
+     transform="matrix(0.823795,0,0,0.823795,0.120302,5.25349)"
+     style="font-size:12;"
+     id="g659">
+    <rect
+       width="212.257"
+       height="57.2441"
+       x="17.9576"
+       y="100.132"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect137" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       transform="matrix(0.743454,0,0,0.482981,6.46949,52.2178)"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect132" />
+  </g>
+  <rect
+     width="325.86"
+     height="63.6537"
+     x="17.4083"
+     y="15.194"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect136" />
+  <rect
+     width="325.86"
+     height="63.6537"
+     x="13.6713"
+     y="12.4966"
+     style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect126" />
+  <g
+     transform="matrix(1.14345,0,0,0.729078,-1.67818,105.325)"
+     style="font-size:12;"
+     id="g164">
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="16.6979"
+       y="222.966"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect138" />
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="14.7335"
+       y="221.002"
+       transform="translate(-1.30962,-1.30992)"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect133" />
+  </g>
+  <text
+     x="170.824753"
+     y="58.402939"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text183">
+    <tspan
+       x="170.824997"
+       y="58.402901"
+       id="tspan360">
+Application</tspan>
+  </text>
+  <text
+     x="178.076340"
+     y="364.281433"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text197">
+    <tspan
+       x="178.076004"
+       y="364.281006"
+       id="tspan421">
+Database</tspan>
+  </text>
+  <text
+     x="68.605331"
+     y="138.524582"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text216">
+    <tspan
+       x="68.605301"
+       y="138.524994"
+       id="tspan384">
+SessionFactory</tspan>
+  </text>
+  <rect
+     width="67.0014"
+     height="101.35"
+     x="196.927"
+     y="89.2389"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect387" />
+  <rect
+     width="67.0014"
+     height="101.35"
+     x="194.633"
+     y="86.4389"
+     style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect388" />
+  <text
+     x="249.108841"
+     y="173.885559"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text389">
+    <tspan
+       x="249.108994"
+       y="173.886002"
+       id="tspan392">
+Session</tspan>
+  </text>
+  <rect
+     width="73.0355"
+     height="101.35"
+     x="270.995"
+     y="90.0018"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect395" />
+  <rect
+     width="73.0355"
+     height="101.35"
+     x="267.869"
+     y="87.2018"
+     style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect396" />
+  <text
+     x="328.593658"
+     y="174.715622"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text397">
+    <tspan
+       x="328.593994"
+       y="174.716003"
+       id="tspan563">
+Transaction</tspan>
+  </text>
+  <g
+     transform="matrix(0.29544,0,0,0.397877,9.70533,103.96)"
+     style="font-size:12;"
+     id="g565">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect566" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect567" />
+  </g>
+  <text
+     x="25.592752"
+     y="204.497803"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:10;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text568">
+    <tspan
+       x="25.592800"
+       y="204.498001"
+       id="tspan662">
+TransactionFactory</tspan>
+  </text>
+  <g
+     transform="matrix(0.298082,0,0,0.397877,99.6898,103.96)"
+     style="font-size:12;"
+     id="g573">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect574" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect575" />
+  </g>
+  <text
+     x="134.030670"
+     y="205.532791"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:10;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text576">
+    <tspan
+       x="134.031006"
+       y="205.533005"
+       id="tspan664">
+ConnectionProvider</tspan>
+  </text>
+  <g
+     transform="matrix(1.14345,0,0,0.729078,-1.67818,38.9539)"
+     style="font-size:12;"
+     id="g587">
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="16.6979"
+       y="222.966"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect588" />
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="14.7335"
+       y="221.002"
+       transform="translate(-1.30962,-1.30992)"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect589" />
+  </g>
+  <rect
+     width="90.951"
+     height="44.4829"
+     x="25.6196"
+     y="206.028"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect594" />
+  <rect
+     width="90.951"
+     height="44.4829"
+     x="24.4229"
+     y="204.135"
+     style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect595" />
+  <text
+     x="85.575645"
+     y="282.300354"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;"
+     id="text596">
+    <tspan
+       x="85.575600"
+       y="282.299988"
+       id="tspan607">
+JNDI</tspan>
+  </text>
+  <rect
+     width="90.951"
+     height="44.4829"
+     x="236.937"
+     y="206.791"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect610" />
+  <rect
+     width="90.951"
+     height="44.4829"
+     x="235.741"
+     y="204.898"
+     style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect611" />
+  <text
+     x="342.093201"
+     y="283.226410"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;"
+     id="text612">
+    <tspan
+       x="342.092987"
+       y="283.226013"
+       id="tspan621">
+JTA</tspan>
+  </text>
+  <rect
+     width="90.951"
+     height="44.4829"
+     x="130.134"
+     y="206.791"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect616" />
+  <rect
+     width="90.951"
+     height="44.4829"
+     x="128.937"
+     y="204.898"
+     style="font-size:12;fill:#b3b3b3;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect617" />
+  <text
+     x="212.445343"
+     y="283.226410"
+     transform="scale(0.823795,0.823795)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;"
+     id="text618">
+    <tspan
+       x="212.445007"
+       y="283.226013"
+       id="tspan623">
+JDBC</tspan>
+  </text>
+  <g
+     transform="matrix(0.823795,0,0,0.823795,0.120302,6.19341)"
+     style="font-size:12;"
+     id="g637">
+    <g
+       transform="matrix(0.499515,0,0,0.415467,-0.237339,5.61339)"
+       id="g167">
+      <rect
+         width="199.065"
+         height="61.5532"
+         x="61.8805"
+         y="68.4288"
+         style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+         id="rect134" />
+      <rect
+         width="199.065"
+         height="61.5532"
+         x="59.2613"
+         y="65.8095"
+         style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+         id="rect135" />
+    </g>
+    <text
+       x="33.749969"
+       y="50.589706"
+       style="font-size:11;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+       id="text188">
+      <tspan
+         x="33.750000"
+         y="50.589699"
+         id="tspan635">
+Transient Objects</tspan>
+    </text>
+  </g>
+  <g
+     transform="matrix(0.823795,0,0,0.823795,0.120302,5.25349)"
+     style="font-size:12;"
+     id="g644">
+    <g
+       transform="matrix(0.297486,0,0,0.516482,230.251,36.9178)"
+       id="g364">
+      <rect
+         width="199.065"
+         height="61.5532"
+         x="61.8805"
+         y="68.4288"
+         style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+         id="rect365" />
+      <rect
+         width="199.065"
+         height="61.5532"
+         x="59.2613"
+         y="65.8095"
+         style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+         id="rect366" />
+    </g>
+    <text
+       x="277.123230"
+       y="85.155571"
+       style="font-size:11;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;"
+       id="text367">
+      <tspan
+         x="277.122986"
+         y="85.155602"
+         id="tspan631">
+Persistent</tspan>
+      <tspan
+         x="277.122986"
+         y="96.155602"
+         id="tspan633">
+Objects</tspan>
+    </text>
+  </g>
+</svg>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/hibernate_logo_a.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/hibernate_logo_a.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/lite.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/lite.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/lite.svg (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/lite.svg)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/images/lite.svg	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/images/lite.svg	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,334 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
+]>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="318.898"
+   height="248.031"
+   id="svg1">
+  <defs
+     id="defs3">
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       id="linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop128" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop129" />
+    </linearGradient>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       id="linearGradient130"
+       xlink:href="#linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad" />
+    <radialGradient
+       cx="0.5"
+       cy="0.5"
+       fx="0.5"
+       fy="0.5"
+       r="0.5"
+       id="radialGradient131"
+       xlink:href="#linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad" />
+  </defs>
+  <rect
+     width="291.837"
+     height="57.0074"
+     x="17.3169"
+     y="18.646"
+     style="font-size:12;fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect136" />
+  <rect
+     width="291.837"
+     height="57.0074"
+     x="13.9703"
+     y="16.2302"
+     style="font-size:12;fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+     id="rect126" />
+  <g
+     transform="matrix(0.326107,0,0,0.765831,9.59261,8.98517)"
+     style="font-size:12;"
+     id="g161">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect137" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect132" />
+  </g>
+  <g
+     transform="matrix(1.02406,0,0,0.652953,0.223384,39.9254)"
+     style="font-size:12;"
+     id="g164">
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="16.6979"
+       y="222.966"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect138" />
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="14.7335"
+       y="221.002"
+       transform="translate(-1.30962,-1.30992)"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect133" />
+  </g>
+  <g
+     transform="matrix(0.449834,0,0,0.338463,-3.15909,9.73319)"
+     style="font-size:12;"
+     id="g167">
+    <rect
+       width="199.065"
+       height="61.5532"
+       x="61.8805"
+       y="68.4288"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect134" />
+    <rect
+       width="199.065"
+       height="61.5532"
+       x="59.2613"
+       y="65.8095"
+       style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect135" />
+  </g>
+  <text
+     x="302.277679"
+     y="65.943230"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text183">
+    <tspan
+       x="302.277954"
+       y="65.943184"
+       id="tspan360">
+Application</tspan>
+  </text>
+  <text
+     x="36.235924"
+     y="63.796055"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:14;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text188">
+    <tspan
+       x="36.235950"
+       y="63.796051"
+       id="tspan427">
+Transient Objects</tspan>
+  </text>
+  <text
+     x="180.416245"
+     y="290.543701"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:18;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text197">
+    <tspan
+       x="180.415939"
+       y="290.543549"
+       id="tspan421">
+Database</tspan>
+  </text>
+  <text
+     x="25.037701"
+     y="179.154755"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text216">
+    <tspan
+       x="25.037655"
+       y="179.154648"
+       id="tspan384">
+SessionFactory</tspan>
+  </text>
+  <g
+     transform="matrix(0.252763,0,0,0.765831,109.104,8.98517)"
+     style="font-size:12;"
+     id="g386">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect387" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect388" />
+  </g>
+  <g
+     transform="matrix(0.297394,0,0,0.572692,101.502,21.6359)"
+     style="font-size:12;"
+     id="g364">
+    <rect
+       width="199.065"
+       height="61.5532"
+       x="61.8805"
+       y="68.4288"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect365" />
+    <rect
+       width="199.065"
+       height="61.5532"
+       x="59.2613"
+       y="65.8095"
+       style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect366" />
+  </g>
+  <text
+     x="202.746506"
+     y="102.992203"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:14;font-weight:normal;stroke-width:1pt;font-family:Helvetica;text-anchor:middle;"
+     id="text367">
+    <tspan
+       x="202.746948"
+       y="102.992249"
+       id="tspan423">
+Persistent</tspan>
+    <tspan
+       x="202.746948"
+       y="116.992355"
+       id="tspan425">
+Objects</tspan>
+  </text>
+  <text
+     x="174.458496"
+     y="180.080795"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text389">
+    <tspan
+       x="174.458618"
+       y="180.080338"
+       id="tspan392">
+Session</tspan>
+  </text>
+  <g
+     transform="matrix(0.127369,0,0,0.765831,188.675,8.98517)"
+     style="font-size:12;"
+     id="g394">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect395" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect396" />
+  </g>
+  <text
+     x="260.413269"
+     y="179.154739"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text397">
+    <tspan
+       x="260.412964"
+       y="179.154343"
+       id="tspan400">
+JDBC</tspan>
+  </text>
+  <g
+     transform="matrix(0.127369,0,0,0.765831,229.156,8.98517)"
+     style="font-size:12;"
+     id="g405">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect406" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect407" />
+  </g>
+  <text
+     x="320.606903"
+     y="179.154739"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text408">
+    <tspan
+       x="320.606964"
+       y="179.154343"
+       id="tspan417">
+JNDI</tspan>
+  </text>
+  <g
+     transform="matrix(0.127369,0,0,0.765831,269.281,8.98517)"
+     style="font-size:12;"
+     id="g411">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect412" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect413" />
+  </g>
+  <text
+     x="377.096313"
+     y="179.154739"
+     transform="scale(0.73778,0.73778)"
+     style="font-size:16;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text414">
+    <tspan
+       x="377.096008"
+       y="179.154999"
+       id="tspan145">
+JTA</tspan>
+  </text>
+</svg>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/overview.png (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/overview.png)
===================================================================
(Binary files differ)

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/images/overview.svg (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/images/overview.svg)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/images/overview.svg	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/images/overview.svg	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,250 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"
+[
+ <!ATTLIST svg
+  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink">
+]>
+<!-- Created with Sodipodi ("http://www.sodipodi.com/") -->
+<svg
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   width="248.031"
+   height="248.031"
+   id="svg1">
+  <defs
+     id="defs3">
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       id="linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad">
+      <stop
+         style="stop-color:#000000;stop-opacity:1;"
+         offset="0"
+         id="stop128" />
+      <stop
+         style="stop-color:#ffffff;stop-opacity:1;"
+         offset="1"
+         id="stop129" />
+    </linearGradient>
+    <linearGradient
+       x1="0"
+       y1="0"
+       x2="1"
+       y2="0"
+       id="linearGradient130"
+       xlink:href="#linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad" />
+    <radialGradient
+       cx="0.5"
+       cy="0.5"
+       fx="0.5"
+       fy="0.5"
+       r="0.5"
+       id="radialGradient131"
+       xlink:href="#linearGradient127"
+       gradientUnits="objectBoundingBox"
+       spreadMethod="pad" />
+  </defs>
+  <g
+     transform="matrix(0.771934,0,0,0.771934,4.36019,-3.02123)"
+     style="font-size:12;"
+     id="g158">
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="16.6979"
+       y="17.3527"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect136" />
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="14.7335"
+       y="15.3883"
+       transform="translate(-1.30962,-1.30992)"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect126" />
+  </g>
+  <g
+     transform="matrix(0.771934,0,0,0.771934,4.36019,3.04452)"
+     style="font-size:12;"
+     id="g161">
+    <rect
+       width="285.502"
+       height="118.523"
+       x="16.6979"
+       y="99.2053"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect137" />
+    <rect
+       width="285.502"
+       height="118.523"
+       x="13.4238"
+       y="95.9309"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect132" />
+  </g>
+  <g
+     transform="matrix(0.771934,0,0,0.771934,4.36019,8.0993)"
+     style="font-size:12;"
+     id="g164">
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="16.6979"
+       y="222.966"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect138" />
+    <rect
+       width="285.502"
+       height="77.2688"
+       x="14.7335"
+       y="221.002"
+       transform="translate(-1.30962,-1.30992)"
+       style="fill:#d2d2d2;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect133" />
+  </g>
+  <g
+     transform="matrix(0.771934,0,0,0.543505,2.59104,21.1103)"
+     style="font-size:12;"
+     id="g167">
+    <rect
+       width="199.065"
+       height="61.5532"
+       x="61.8805"
+       y="68.4288"
+       style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect134" />
+    <rect
+       width="199.065"
+       height="61.5532"
+       x="59.2613"
+       y="65.8095"
+       style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+       id="rect135" />
+  </g>
+  <text
+     x="105.392174"
+     y="56.568123"
+     transform="scale(0.771934,0.771934)"
+     style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text183">
+    <tspan
+       x="105.392273"
+       y="56.568146"
+       id="tspan186">
+Application</tspan>
+  </text>
+  <text
+     x="81.820183"
+     y="103.149330"
+     transform="scale(0.771934,0.771934)"
+     style="font-size:20;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text188">
+    <tspan
+       x="81.820213"
+       y="103.149727"
+       id="tspan206">
+Persistent Objects</tspan>
+  </text>
+  <text
+     x="111.548180"
+     y="278.927887"
+     transform="scale(0.771934,0.771934)"
+     style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text197">
+    <tspan
+       x="111.547874"
+       y="278.927551"
+       id="tspan200">
+Database</tspan>
+  </text>
+  <text
+     x="94.436180"
+     y="153.805740"
+     transform="scale(0.771934,0.771934)"
+     style="font-size:24;font-weight:normal;stroke-width:1pt;font-family:Helvetica;"
+     id="text216">
+    <tspan
+       x="94.436180"
+       y="153.805740"
+       id="tspan221">
+HIBERNATE</tspan>
+  </text>
+  <g
+     transform="matrix(0.771934,0,0,0.771934,2.59083,1.02261)"
+     style="font-size:12;"
+     id="g254">
+    <g
+       transform="translate(4.58374,2.61928)"
+       id="g176">
+      <g
+         transform="matrix(0.571429,0,0,0.67347,-10.6174,117.093)"
+         id="g170">
+        <rect
+           width="199.065"
+           height="61.5532"
+           x="61.8805"
+           y="68.4288"
+           style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+           id="rect171" />
+        <rect
+           width="199.065"
+           height="61.5532"
+           x="59.2613"
+           y="65.8095"
+           style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+           id="rect172" />
+      </g>
+      <g
+         transform="matrix(0.571429,0,0,0.67347,138.682,117.093)"
+         id="g173">
+        <rect
+           width="199.065"
+           height="61.5532"
+           x="61.8805"
+           y="68.4288"
+           style="fill:#757575;fill-rule:evenodd;stroke-width:1pt;"
+           id="rect174" />
+        <rect
+           width="199.065"
+           height="61.5532"
+           x="59.2613"
+           y="65.8095"
+           style="fill:#e0e0e0;fill-rule:evenodd;stroke-width:1pt;"
+           id="rect175" />
+      </g>
+    </g>
+    <text
+       x="47.259438"
+       y="182.367538"
+       style="font-weight:bold;stroke-width:1pt;font-family:Courier;"
+       id="text191">
+      <tspan
+         x="47.259399"
+         y="182.367996"
+         id="tspan212">
+hibernate.</tspan>
+      <tspan
+         x="47.259399"
+         y="194.367996"
+         id="tspan214">
+properties</tspan>
+    </text>
+    <text
+       x="198.523010"
+       y="188.260941"
+       style="font-weight:normal;stroke-width:1pt;font-family:helvetica;"
+       id="text194">
+      <tspan
+         id="tspan195">
+XML Mapping</tspan>
+    </text>
+  </g>
+</svg>

Copied: core/trunk/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml (from rev 14073, core/trunk/documentation/manual/en-US/src/main/docbook/legal_notice.xml)
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml	                        (rev 0)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -0,0 +1,52 @@
+<?xml version='1.0'?>
+<!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<!--
+  ~ Copyright (c) 2007, Red Hat Middleware, LLC. All rights reserved.
+  ~
+  ~ This copyrighted material is made available to anyone wishing to use, modify,
+  ~ copy, or redistribute it subject to the terms and conditions of the GNU
+  ~ Lesser General Public License, v. 2.1. This program is distributed in the
+  ~ hope that it will be useful, but WITHOUT A WARRANTY; without even the implied
+  ~ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  ~ Lesser General Public License for more details. You should have received a
+  ~ copy of the GNU Lesser General Public License, v.2.1 along with this
+  ~ distribution; if not, write to the Free Software Foundation, Inc.,
+  ~ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+  ~
+  ~ Red Hat Author(s): Steve Ebersole
+  -->
+<legalnotice id="Legal_Notice">
+    <title>Legal Notice</title>
+    <para>
+        <address>
+            <street>1801 Varsity Drive</street>
+            <city>Raleigh</city>, <state>NC</state><postcode>27606-2072</postcode><country>USA</country>
+            <phone>Phone: +1 919 754 3700</phone>
+            <phone>Phone: 888 733 4281</phone>
+            <fax>Fax: +1 919 754 3701</fax>
+            <pob>PO Box 13588</pob><city>Research Triangle Park</city>, <state>NC</state><postcode>27709</postcode><country>USA</country>
+        </address>
+    </para>
+    <para>
+        Copyright <trademark class="copyright"></trademark> 2007 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at <ulink url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
+    </para>
+    <para>
+        Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.
+    </para>
+    <para>
+        Distribution of the work or derivative of the work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
+    </para>
+    <para>
+        Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
+    </para>
+    <para>
+    All other trademarks referenced herein are the property of their respective owners.
+    </para>
+    <para>
+        The GPG fingerprint of the security at redhat.com key is:
+    </para>
+    <para>
+        CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
+    </para>
+</legalnotice>
\ No newline at end of file

Deleted: core/trunk/documentation/manual/ja-JP/src/main/docbook/master.xml
===================================================================
--- core/trunk/documentation/manual/ja-JP/src/main/docbook/master.xml	2007-10-09 18:45:36 UTC (rev 14075)
+++ core/trunk/documentation/manual/ja-JP/src/main/docbook/master.xml	2007-10-09 19:02:00 UTC (rev 14076)
@@ -1,231 +0,0 @@
-<?xml version="1.0" encoding="Shift_JIS"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3CR3//EN"
-                      "../support/docbook-dtd/docbookx.dtd"
-[
-<!ENTITY tutorial               SYSTEM "modules/tutorial.xml">
-<!ENTITY architecture           SYSTEM "modules/architecture.xml">
-<!ENTITY configuration          SYSTEM "modules/configuration.xml">
-<!ENTITY persistent-classes     SYSTEM "modules/persistent_classes.xml">
-<!ENTITY basic-mapping          SYSTEM "modules/basic_mapping.xml">
-<!ENTITY collection-mapping     SYSTEM "modules/collection_mapping.xml">
-<!ENTITY association-mapping    SYSTEM "modules/association_mapping.xml">
-<!ENTITY component-mapping      SYSTEM "modules/component_mapping.xml">
-<!ENTITY inheritance-mapping    SYSTEM "modules/inheritance_mapping.xml">
-<!ENTITY session-api            SYSTEM "modules/session_api.xml">
-<!ENTITY transactions           SYSTEM "modules/transactions.xml">
-<!ENTITY events                 SYSTEM "modules/events.xml">
-<!ENTITY batch                  SYSTEM "modules/batch.xml">
-<!ENTITY query-hql              SYSTEM "modules/query_hql.xml">
-<!ENTITY query-criteria         SYSTEM "modules/query_criteria.xml">
-<!ENTITY query-sql              SYSTEM "modules/query_sql.xml">
-<!ENTITY filters                SYSTEM "modules/filters.xml">
-<!ENTITY xml                    SYSTEM "modules/xml.xml">
-<!ENTITY performance            SYSTEM "modules/performance.xml">
-<!ENTITY toolset-guide          SYSTEM "modules/toolset_guide.xml">
-<!ENTITY example-parentchild    SYSTEM "modules/example_parentchild.xml">
-<!ENTITY example-weblog         SYSTEM "modules/example_weblog.xml">
-<!ENTITY example-mappings       SYSTEM "modules/example_mappings.xml">
-<!ENTITY best-practices         SYSTEM "modules/best_practices.xml">
-]>
-
-<book lang="ja">
-
-    <bookinfo>
-        <title>HIBERNATE - Relational Persistence for Idiomatic Java</title>
-        <subtitle>Hibernate Reference Documentation</subtitle>
-        <releaseinfo>3.2 cr3</releaseinfo>
-    </bookinfo>
-
-    <toc/>
-
-    <preface id="preface" revision="2">
-        <title>‘O‘‚«</title>
-
-        <para>
-            ¡“ú‚ÌŠé‹ÆŠÂ‹«‚É‚¨‚¢‚āAƒIƒuƒWƒFƒNƒgŽwŒüƒ\ƒtƒgƒEƒFƒA‚ƃŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚ÉŠÖ‚í‚éì‹Æ‚Í
-            ”ÏŽG‚Å–c‘å‚ÈŽžŠÔ‚ð•K—v‚Æ‚µ‚Ü‚·B
-            Hibernate‚ÍJavaŠÂ‹«‚̃IƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOƒc[ƒ‹‚Å‚·B
-            ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOiORMj‚Ƃ́A
-            ƒIƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚©‚çSQLƒx[ƒXƒXƒL[ƒ}‚̃ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒ‚ƒfƒ‹‚ւƁA
-            ƒf[ƒ^•\Œ»‚ðƒ}ƒbƒsƒ“ƒO‚·‚éi‘Ήž•t‚¯‚éj‹Zp‚Ì‚±‚Æ‚Å‚·B
-        </para>
-
-        <para>
-            Hibernate‚ÍJavaƒNƒ‰ƒX‚©‚çƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ցi‚»‚µ‚ÄJavaƒf[ƒ^Œ^‚©‚çSQLƒf[ƒ^Œ^‚ցj
-            ‚̃}ƒbƒsƒ“ƒO‚ðˆ—‚·‚邾‚¯‚Å‚Í‚È‚­Aƒf[ƒ^‚̃NƒGƒŠ‚Æ•œŒ³‚ÌŽd‘g‚Ý‚à’ñ‹Ÿ‚µ‚Ü‚·B
-            ‚±‚Ì‚¨‚©‚°‚ÅSQL‚ÆJDBC‚ðŽg‚Á‚½Žèì‹Æ‚ł̃f[ƒ^ˆ—‚É”ï‚₳‚ê‚Ä‚¢‚½ŠJ”­ŽžŠÔ‚ð‘啝‚ɍ팸‚Å‚«‚Ü‚·B
-        </para>
-
-        <para>
-            Hibernate‚̍ŏI–Ú•W‚́Aƒf[ƒ^‚̉i‘±‰»‚ÉŠÖ‚í‚éˆê”Ê“I‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOì‹Æ‚Ì95“‚©‚çŠJ”­ŽÒ‚ð‰ð•ú‚·‚邱‚Æ‚Å‚·B
-            Hibernate‚̓rƒWƒlƒXƒƒWƒbƒN‚ÌŽÀ‘•‚ɃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤
-            ƒf[ƒ^’†SƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚ẴxƒXƒgƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Å‚ ‚é‚É—¯‚Ü‚è‚Ü‚¹‚ñB
-            ƒIƒuƒWƒFƒNƒgŽwŒüƒhƒƒCƒ“ƒ‚ƒfƒ‹‚ÆJavaƒx[ƒX‚Ì’†ŠÔ‘w‚ł̃rƒWƒlƒXƒƒWƒbƒN‚ɑ΂µ‚čłà–ð‚É—§‚¿‚Ü‚·B
-            ‚µ‚©‚µHibernate‚̓xƒ“ƒ_ŒÅ—L‚ÌSQLƒR[ƒh‚ðíŒ¸‚Ü‚½‚̓JƒvƒZƒ‹‰»‚µ‚½‚èA
-            •\Œ`Ž®‚©‚çƒIƒuƒWƒFƒNƒg‚̃Oƒ‰ƒt‚ւƃŠƒUƒ‹ƒgƒZƒbƒg‚ð•ÏŠ·‚·‚é‚Ȃǂ́A
-            ˆê”Ê“I‚ȃ^ƒXƒN‚É‚à–𗧂‚łµ‚傤B
-        </para>
-
-        <para>
-            Hibernate‚âƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOA
-            ‚³‚ç‚É‚ÍJava‚ª‰‚ß‚Ä‚Ì•û‚́AˆÈ‰º‚̃Xƒeƒbƒv‚ɏ]‚Á‚Ä‚­‚¾‚³‚¢F
-        </para>
-
-        <orderedlist>
-            <listitem>
-                <para>
-                    <xref linkend="tutorial"/> ‚ð“Ç‚ñ‚Å‚­‚¾‚³‚¢B
-                    ’iŠK“I‚ɉðà‚µ‚Ä‚¢‚«‚Ü‚·B
-                    ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃\[ƒXƒR[ƒh‚̓fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì 
-                    <literal>doc/reference/tutorial</literal> ƒfƒBƒŒƒNƒgƒŠ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    <xref linkend="architecture"/> ‚ð“Ç‚ñ‚ŁAHibernate‚ª—˜—p‰Â”\‚Ȋ‹«‚ð—‰ð‚µ‚Ä‚­‚¾‚³‚¢B
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì <literal>eg/</literal> ƒfƒBƒŒƒNƒgƒŠ‚ðŒ©‚Ä‚­‚¾‚³‚¢B
-                    ŠÈ’P‚ȃXƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚ ‚è‚Ü‚·B
-                    JDBCƒhƒ‰ƒCƒo‚ð <literal>lib/</literal> ƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚āA
-                    Ž©•ª‚̃f[ƒ^ƒx[ƒX‚ɍ‡‚¤³‚µ‚¢’l‚ðŽw’è‚·‚é‚悤‚É <literal>etc/hibernate.properties</literal> 
-                    ‚ð•ÒW‚µ‚Ä‚­‚¾‚³‚¢B
-                    ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“ƒfƒBƒŒƒNƒgƒŠ‚©‚çAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å
-                     <literal>ant eg</literal> ‚ƃ^ƒCƒv‚µ‚Ä‚­‚¾‚³‚¢iAnt‚ðŽg‚¢‚Ü‚·jB
-                    ‚Ü‚½WindowsŠÂ‹«‚Å‚Í <literal>build eg</literal> ‚ƃ^ƒCƒv‚µ‚Ä‚­‚¾‚³‚¢B
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    ‚±‚̃Šƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚ð‘æˆê‚̏î•ñŒ¹‚Æ‚µ‚Ä—˜—p‚µ‚Ä‚­‚¾‚³‚¢B
-                    ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ÝŒv‚ɂ‚¢‚Ä‚Ì‚³‚ç‚È‚éî•ñ‚â’iŠK“I‚ȃ`ƒ…[ƒgƒŠƒAƒ‹‚ð’T‚µ‚Ä‚¢‚é‚È‚çA
-                    <emphasis>Java Persistence with Hibernate</emphasis>ihttp://www.manning.com/bauer2j
-                    ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
-                    ‚Ü‚½http://caveatemptor.hibernate.org‚©‚ç
-                    Java Persistence with Hibernate‚Ì—á‘è‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
-                </para>
-            </listitem>
-            <listitem>
-                <para>
-                    FAQ‚ÍHibernateƒEƒFƒuƒTƒCƒg‚É‚ ‚è‚Ü‚·B
-                </para>
-            </listitem>
-			<listitem>
-                <para>
-                    ƒT[ƒhƒp[ƒeƒB‚̃fƒ‚A—áAƒ`ƒ…[ƒgƒŠƒAƒ‹‚ÍHibernateƒEƒFƒuƒTƒCƒg‚ɃŠƒ“ƒN‚ª‚ ‚è‚Ü‚·B
-                </para>
-			</listitem>
-            <listitem>
-                <para>
-                    HibernateƒEƒFƒuƒTƒCƒg‚̃Rƒ~ƒ…ƒjƒeƒBƒGƒŠƒA‚́AƒfƒUƒCƒ“ƒpƒ^[ƒ“‚₳‚Ü‚´‚Ü‚È“‡ƒ\ƒŠƒ…[ƒVƒ‡ƒ“
-                    iTomcat, JBoss AS, Struts, EJB, “™j‚ɂ‚¢‚Ä‚Ì‚æ‚¢î•ñŒ¹‚Å‚·B
-                </para>
-            </listitem>
-         </orderedlist>
-
-         <para>
-             Ž¿–₪‚ ‚ê‚ÎHibernateƒEƒFƒuƒTƒCƒg‚̃†[ƒUƒtƒH[ƒ‰ƒ€‚ðŠˆ—p‚µ‚Ä‚­‚¾‚³‚¢B
-             ‚Ü‚½ƒoƒOƒŒƒ|[ƒg‚ƃtƒB[ƒ`ƒƒƒŠƒNƒGƒXƒg‚Ì‚½‚ßJIRA‰Û‘è’ǐՃVƒXƒeƒ€‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
-             Hibernate‚ÌŠJ”­‚É‹»–¡‚ª‚ ‚ê‚΁AŠJ”­ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ÉŽQ‰Á‚µ‚Ä‚­‚¾‚³‚¢B
-             ‚±‚̃hƒLƒ…ƒƒ“ƒg‚ð‚ ‚È‚½‚̍‘‚ÌŒ¾—t‚É–|–󂵂½‚¢ê‡‚́A
-             ŠJ”­ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ÅŽ„‚½‚¿‚ɃRƒ“ƒ^ƒNƒg‚ðŽæ‚Á‚Ä‚­‚¾‚³‚¢B
-         </para>
-
-         <para>
-             ¤—pŠJ”­‚̃Tƒ|[ƒgA»•i‚̃Tƒ|[ƒgAHibernate‚̃gƒŒ[ƒjƒ“ƒO‚ÍJBoss Inc.‚ª’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·
-             ihttp://www.hibernate.org/SupportTraining/‚ðŒ©‚Ä‚­‚¾‚³‚¢jB
-             Hibernate‚ÍProfessional Open SourceƒvƒƒWƒFƒNƒgA
-             ‚»‚µ‚ÄJBoss Enterprise Middleware SystemiJEMSjƒvƒƒ_ƒNƒgƒXƒC[ƒg‚̃NƒŠƒeƒBƒJƒ‹ƒRƒ“ƒ|[ƒlƒ“ƒg‚Å‚·B
-         </para>
-
-           <sect1 id="preface-s1" revision="-1">
-           
-               <title>“ú–{Œê–ó‚ɂ‚¢‚Ä</title>
-             
-               <para id="preface-s1-p1" revision="-1">
-                   ‚±‚Ì“ú–{Œê”ÅHibernate Reference DocumentiˆÈ‰ºA“ú–{Œê”Łj‚́A
-                   HibernateƒvƒƒWƒFƒNƒg‚Ì–|–óƒvƒƒZƒX‚ÉŠî‚¢‚č쐬‚³‚ê‚Ä‚¢‚Ü‚·B
-                   “ú–{Œê”Å‚È‚ç‚Ñ‚ÉŒ´•¶‚ÍLGPLƒ‰ƒCƒZƒ“ƒX‚ɏ€‚¶‚Ü‚·B
-               </para>
-             
-               <para id="preface-s1-p2" revision="-1">
-                   “ú–{Œê”Å‚Ì—˜—p‚É‚æ‚Á‚Ä‘æŽOŽÒ‚ª”í‚é‚ ‚ç‚ä‚é•s—˜‰v‚ɑ΂µ‚āA
-                   Œ´’˜ŽÒA–|–óŽÒ‚È‚ç‚Ñ‚É‚»‚Ì‘gD‚͈êØ‚Ì•ÛØ‚ð‚¢‚½‚µ‚©‚Ë‚Ü‚·B
-                   “ú–{Œê”Å‚ÍŒë‚è‚ðŠÜ‚މ”\«‚ª‚ ‚邱‚Æ‚ð”FŽ¯‚µ‚½ã‚Å‚²—˜—p‚­‚¾‚³‚¢B
-                   “à—e‚̐³Šm‚ȈӖ¡‚ð”cˆ¬‚·‚邽‚߂ɂ́AŒ´•¶‚ð“Ç‚Þ‚±‚Æ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
-                   ‚Ü‚½A‚à‚µ“ú–{Œê”Å‚ÉŒë‚è‚ðŒ©‚Â‚¯‚ç‚ꂽê‡‚́A–|–óŽÒ‚É‚²˜A—‚¢‚½‚¾‚¯‚ê‚΍K‚¢‚Å‚·B
-                   ‚½‚¾‚µ“à—e‚ÉŠÖ‚µ‚Ä‚Ì‚¨–â‚¢‡‚킹‚ɂ͉ž‚¶‚©‚Ë‚Ü‚·‚̂ŁA‚²—¹³‚­‚¾‚³‚¢B
-               </para>
-             
-               <sect2 id="preface-s1-1" revision="-1">
-               
-                   <title>“ú–{Œê”Å–|–óŽÒ‚ɂ‚¢‚Ä</title>
-               
-                   <para id="preface-s1-1-p4" revision="-1">
-                       “ú–{Œê”Ńo[ƒWƒ‡ƒ“3.2 cr3‚Ì–|–ó‚ÍŠ”Ž®‰ïŽÐƒGƒNƒT
-                       i<ulink url="http://www.exa-corp.co.jp">ƒz[ƒ€ƒy[ƒW‚Í‚±‚¿‚ç</ulink>j
-                       ‚̈ȉº‚̃ƒ“ƒo[‚ōs‚¢‚Ü‚µ‚½B
-                       –{ŠÔ—́i6,18,19,21,22,23Í’S“–jA
-                       LŒË—T‰îi‘O‘‚«,2,5,13,14,24,25Í’S“–jA
-                       •Žs³li7,8,9,10Í’S“–jA
-                       “ߐ{G’ji12,16,17Í’S“–jA
-                       ˆäŠÖ’m•¶i1,3,11Í’S“–jA
-                       ”Ñ“c_Žii4,15Í’S“–jA
-                       •½ŠÔŒ’ˆêi20Í’S“–jA
-                       X—´“ñiƒŒƒrƒ…[’S“–jB
-                       ‚È‚¨Œë–ó“™‚Ì‚²Žw“E‚Í–{ŠÔALŒË‚Ü‚Å‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B
-                       
-        <mediaobject>
-            <imageobject role="fo">
-                <imagedata fileref="images/mailaddr.gif" format="GIF" align="center"/>
-            </imageobject>
-            <imageobject role="html">
-                <imagedata fileref="../shared/images/mailaddr.gif" format="GIF" align="center"/>
-            </imageobject>
-        </mediaobject>
-
-                   </para>
-               </sect2>
-           </sect1>
-
-    </preface>
-
-    &tutorial;
-
-    &architecture;
-
-    &configuration;
-
-    &persistent-classes;
-
-    &basic-mapping;
-    &collection-mapping;
-    &association-mapping;
-    &component-mapping;
-    &inheritance-mapping;
-
-    &session-api;
-    &transactions;
-    &events;
-    &batch;
-
-    &query-hql;
-    &query-criteria;
-    &query-sql;
-    &filters;
-    &xml;
-
-    &performance;
-
-    &toolset-guide;
-
-    &example-parentchild;
-    &example-weblog;
-    &example-mappings;
-
-    &best-practices;
-
-</book>
-




More information about the hibernate-commits mailing list