Author: christian.bauer(a)jboss.com
Date: 2006-12-08 03:01:55 -0500 (Fri, 08 Dec 2006)
New Revision: 10955
Modified:
branches/Branch_3_2/Hibernate3/doc/reference/ja/master.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/architecture.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/basic_mapping.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/configuration.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/performance.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/persistent_classes.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/query_sql.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/session_api.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/tutorial.xml
branches/Branch_3_2/Hibernate3/doc/reference/ja/readme_ja.txt
Log:
Synchronized JA translation between 3.2 branch and trunk
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/master.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/master.xml 2006-12-07 22:28:06 UTC
(rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/master.xml 2006-12-08 08:01:55 UTC
(rev 10955)
@@ -33,7 +33,7 @@
<bookinfo>
<title>HIBERNATE - Relational Persistence for Idiomatic Java</title>
<subtitle>Hibernate Reference Documentation</subtitle>
- <releaseinfo>3.1.2</releaseinfo>
+ <releaseinfo>3.2 cr3</releaseinfo>
</bookinfo>
<toc/>
@@ -42,19 +42,6 @@
<title>�O����</title>
<para>
- WARNING! This is a translated version of the English Hibernate reference
- documentation. The translated version might not be up to date! However, the
- differences should only be very minor. Consult the English reference
- documentation if you are missing information or encounter a translation
- error. If you like to contribute to a particular translation, contact us
- on the Hibernate developer mailing list.
- </para>
-
- <para>
- Translator(s): Chikara Honma, Yusuke Hiroto;
- </para>
-
- <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
@@ -65,7 +52,7 @@
<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
+ �̃}�b�s���O�������邾���ł͂Ȃ��A�f�[�^�̃N�G���ƕ����̎d�g�݂���܂��B
���̂�������SQL��JDBC��g�������Ƃł̃f�[�^�����ɔ�₳��Ă����J�����Ԃ�啝�ɍ팸�ł��܂��B
</para>
@@ -89,8 +76,6 @@
<para>
<xref linkend="tutorial"/> ��ǂ�ł��������B
�i�K�I�ɉ����Ă����܂��B
- <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>
@@ -127,11 +112,11 @@
FAQ��Hibernate�E�F�u�T�C�g�ɂ���܂��B
</para>
</listitem>
- <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>
<listitem>
<para>
Hibernate�E�F�u�T�C�g�̃R�~���j�e�B�G���A�́A�f�U�C���p�^�[���₳�܂��܂ȓ����\�����[�V����
@@ -142,9 +127,9 @@
<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
+ �܂��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���Ȃ��B�̌���֖|�����ꍇ�́A
+ ���̃h�L�������g���Ȃ��̍��̌��t�ɖ|�����ꍇ�́A
�J���҃��[�����O���X�g�Ŏ������ɃR���^�N�g�����Ă��������B
</para>
@@ -154,7 +139,7 @@
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>
@@ -179,7 +164,7 @@
<title>���{��Ŗ|��҂ɂ���</title>
<para id="preface-s1-1-p4" revision="-1">
- ���{��Ńo�[�W����3.1.2�̖|��͊�����ЃG�N�T
+ ���{��Ń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
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/architecture.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/architecture.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/architecture.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -79,7 +79,7 @@
<listitem>
<para>
�A�v���P�[�V�����Ɖi���X�g�A�Ƃ̑Θb��\���A
- �V���O���E�X���b�h�ŒZ���̃I�u�W�F�N�g�B
+ �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
@@ -118,7 +118,7 @@
<listitem>
<para>
(�I�v�V����)���q������ƒP��(Unit of
Work)��w�肷�邽�߂ɁA�A�v���P�[�V�������g�p����A
- �V���O���E�X���b�h�ŒZ���ȃI�u�W�F�N�g�B
+ �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
@@ -277,18 +277,19 @@
</para>
</sect1>
- <sect1 id="architecture-current-session" revision="1">
+ <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�A�v���P�[�V�������ƂɃR���e�L�X�g��\�������̂̒�`�͈قȂ�܂��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
+ �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
@@ -301,7 +302,7 @@
���̍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
@@ -309,6 +310,7 @@
�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
@@ -322,41 +324,52 @@
<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
- �ڍׂ́AJavadoc ��Q�Ƃ��Ă��������B
+ �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
- �ڍׂ́AJavadoc ��Q�Ƃ��Ă��������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>
- ����2�̎����́A"1�Z�b�V���� - 1�f�[�^�x�[�X�g�����U�N�V����"
�v���O���~���O���f������܂��B
- �܂��A <emphasis>���N�G�X�g���Ƃ̃Z�b�V����</emphasis>
�Ƃ��Ēm���Ă���A�g���Ă��܂��B
+ �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
- ����A�v���O�����ɂ��g�����U�N�V�������E�ݒ�i��F������ J2SE ��
JTA/UserTransaction/BMT ��g�p����ꍇ�j
- ��g�������Ȃ�A���ʂɂ���g�����U�N�V�����V�X�e����B�����邽�߂ɁA
- Hibernate �� <literal>Transaction</literal> ��g���������ǂ��ł��B
- ����ACMT ��T�|�[�g���� EJB �R���e�i�[�œ��삳������Ȃ�A�g�����U�N�V�������E�́A
- �錾�I�ɒ�`�ł��A�g�����U�N�V������Z�b�V�����̋��E�ݒ�Ɋւ���ǂ̂悤�ȑ����K�v�ƂȂ�܂���B
- ���ڍׂȏ���R�[�h�̗�́A <xref linkend="transactions"/>
��Q�Ƃ��Ă��������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>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
- <literal>org.hibernate.context.JTASessionContext</literal>
��g���܂��B
-
�ʏ�A���̃p�����[�^�̒l�ɂ́A2�̂����Ɏg��������̂����A�g�p������̎����N���X�̖��O��w�肵�܂����A
- "jta" �� "thread" �Ƃ������ꂼ��̏ȗ�����p�ӂ���Ă��܂��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>
+
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/basic_mapping.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/basic_mapping.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/basic_mapping.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -97,7 +97,7 @@
- <sect2 id="mapping-declaration-doctype" revision="2">
+ <sect2 id="mapping-declaration-doctype" revision="3">
<title>Doctype</title>
<para>
@@ -108,6 +108,68 @@
�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">
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/configuration.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/configuration.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/configuration.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -689,9 +689,17 @@
JDBC�g�����U�N�V�����̏ꍇ�A
<literal>after_transaction</literal> �ŃN���[�Y���܂��B
<para>
<emphasis
role="strong">��F</emphasis>
- <literal>on_close</literal> (default) |
<literal>after_transaction</literal> |
- <literal>after_statement</literal> |
<literal>auto</literal>
+ <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>
@@ -906,7 +914,7 @@
</tgroup>
</table>
- <table frame="topbot" id="configuration-misc-properties"
revision="9">
+ <table frame="topbot" id="configuration-misc-properties"
revision="10">
<title>���̑��̃v���p�e�B</title>
<tgroup cols="2">
<colspec colname="c1" colwidth="1*"/>
@@ -929,7 +937,7 @@
<para>
<emphasis
role="strong">��F</emphasis>
<literal>jta</literal> |
<literal>thread</literal> |
- <literal>custom.Class</literal>
+ <literal>managed</literal> |
<literal>custom.Class</literal>
</para>
</entry>
</row>
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/performance.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/performance.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/performance.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -634,11 +634,13 @@
�l�����܂���i�L���b�V���f�[�^�����I�Ɋ�����ɂ���ݒ�͏o���܂��j�B
</para>
- <para>
-
�f�t�H���g�ł́AHibernate��JVM���x���̃L���b�V����EHCache��g���܂��B�iJCS�T�|�[�g�͌��ݐ�������Ă��炸�A
- Hibernate�̏����̃o�[�W�����ł͍폜�����ł��傤�j�B
<literal>hibernate.cache.provider_class</literal>
- �v���p�e�B�ɁA
<literal>org.hibernate.cache.CacheProvider</literal>
����������N���X�̖��O��w�肷�邱�ƂŁA
- �ʂ̎�����I���邱�Ƃ�o���܂��B
+ <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">
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/persistent_classes.xml
===================================================================
---
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/persistent_classes.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++
branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/persistent_classes.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -461,7 +461,7 @@
</sect1>
- <sect1 id="persistent-classes-tuplizers" revision="0">
+ <sect1 id="persistent-classes-tuplizers" revision="1">
<title>Tuplizer</title>
<para>
@@ -511,7 +511,7 @@
public class CustomMapTuplizerImpl
- extends org.hibernate.tuple.DynamicMapEntityTuplizer {
+ 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) {
@@ -531,7 +531,7 @@
</sect1>
<para>
- <!-- TODO: �v���p�e�B�ƃv���L�V�p�b�P�[�W�̃��[�U�g���t���[�����[�N�������邱��
-->
+ TODO: �v���p�e�B�ƃv���L�V�p�b�P�[�W�̃��[�U�g���t���[�����[�N�������邱��
</para>
</chapter>
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/query_sql.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/query_sql.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/query_sql.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -1,548 +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="3">
- <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
- ���ɊȒP�ȏꍇ�A���̂悤�Ȍ`��g���܂��B</para>
-
- <programlisting><![CDATA[List cats = sess.createSQLQuery("select * from
cats")
- .addEntity(Cat.class)
- .list();]]></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</para>
- </listitem>
- </itemizedlist>
-
- <para>�����ł́A
- ���U���g�Z�b�g�̗́A�}�b�s���O�t�@�C���Ŏw�肳�ꂽ�Ɠ������Ɖ��肳��܂��B
- ����͓����������̃e�[�u����������SQL�N�G���ł͖��ƂȂ�܂��B
- ���̌`�́A���d�����Ă��݂ɂȂ�܂���B</para>
-
- <programlisting><![CDATA[List cats = sess.createSQLQuery("select
{cat.*} from cats cat")
- .addEntity("cat", Cat.class)
- .list();]]></programlisting>
-
- <para>���̃N�G���Ŏw�肳��Ă����̂��L�Ɏ����܂��B</para>
-
- <itemizedlist>
- <listitem>
- <para>SQL�N�G��������
- �iHibernate����̕ʖ���}�����邽�߂̃v���[�X�z���_��܂ށj</para>
- </listitem>
-
- <listitem>
- <para>�N�G�����Ԃ��G���e�B�e�B��SQL�e�[�u���̕ʖ�</para>
- </listitem>
- </itemizedlist>
-
- <para><literal>addEntity()</literal> ���\�b�h�ɂ��A
- SQL�̃e�[�u���ʖ��ƕԂ����G���e�B�e�B�N���X��֘A�t���A
- �N�G���̃��U���g�Z�b�g�̍\�����肵�܂��B</para>
-
- <para><literal>addJoin()</literal> ���\�b�h��g���A
- ���̃G���e�B�e�B�Ƃ̊֘A�ƃR���N�V�������[�h���܂��B</para>
-
- <programlisting><![CDATA[List cats = sess.createSQLQuery(
- "select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten.mother =
cat.id"
- )
- .addEntity("cat", Cat.class)
- .addJoin("kitten", "cat.kittens")
- .list();]]></programlisting>
-
- <para>�l�C�e�B�uSQL�N�G���́A�P���ȃX�J���l��X�J���l��
- �G���e�B�e�B�̑g�ݍ��킹��Ԃ��Ă�悢�ł��B</para>
-
- <programlisting><![CDATA[Double max = (Double)
sess.createSQLQuery("select max(cat.weight) as maxWeight from cats cat")
- .addScalar("maxWeight", Hibernate.DOUBLE);
- .uniqueResult();]]></programlisting>
-
- <para>����ɁAhbm�t�@�C���Ƀ��U���g�Z�b�g�̃}�b�s���O����L�q���A
- �N�G���Ŏ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>
- </sect1>
-
- <sect1 id="querysql-aliasreferences">
- <title>�ʖ��ƃv���p�e�B�̎Q��</title>
- <para>��L�� <literal>{cat.*}</literal>
�Ƃ����\�L�́A�u���ׂẴv���p�e�B�v��\���ȗ��`�ł��B
- ����ɁA�����I�ɃJ��������Ă�悢�ł����A
- ���̏ꍇ�́AHibernate�Ɋe�v���p�e�B�ɑΉ�����SQL��̕ʖ���}��������ׂ��ł��傤�B
- ��̕ʖ��̂��߂̃v���[�X�z���_�́A�e�[�u���̕ʖ��ɂ���ďC�����ꂽ�v���p�e�B���ł��B
- ���L�̗�ł́A�ʂ̃e�[�u���i<literal>cat_log</literal>�j����
- �}�b�s���O���^�f�[�^�Œ�`���ꂽ <literal>Cat</literal> �����܂��B
- ����D�ނȂ�Awhere�߂̒��ł����A�v���p�e�B�̕ʖ���g���邱�ƂɋC����Ă��������B</para>
-
- <para>���O�t���N�G���ɑ��� <literal>{}</literal> �\���͕K�{�ł�
<emphasis>�Ȃ�</emphasis> �ł��B
- <xref linkend="querysql-namedqueries"/>
��Q�Ƃ��Ă��������B</para>
-
- <programlisting><![CDATA[String sql = "select cat.originalId as
{cat.id}, " +
- "cat.mateid as {cat.mate}, cat.sex as {cat.sex}, " +
- "cat.weight*10 as {cat.weight}, cat.name as {cat.name} " +
- "from cat_log cat where {cat.mate} = :catId"
-
-List loggedCats = sess.createSQLQuery(sql)
- .addEntity("cat", Cat.class)
- .setLong("catId", catId)
- .list();]]></programlisting>
-
- <para><emphasis>���ӁF</emphasis> ��������I�Ɋe�v���p�e�B�����Ȃ�A
- �N���X <emphasis>�ƃT�u�N���X</emphasis>
�̂��ׂẴv���p�e�B��܂߂Ȃ���Ȃ�܂���I</para>
-
-
- <para>�ʖ��ɑ}���ł����̂��\�Ɏ����܂��B
- ���ӁF���\�̕ʖ��͈��ł��B
- ���ꂼ��̕ʖ��͈�ӂł���A�g�p����ۂɂ͂����炭�قȂ閼�O�����܂��B</para>
-
- <table frame="topbot" id="aliasinjection-summary">
- <title>�ʖ��ɑ}�����閼�O</title>
-
- <tgroup cols="4">
- <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>
- <entry></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>
- </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><return-join></literal> ��
<literal><load-collection></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},
- adddress.STREET AS {address.street},
- adddress.CITY AS {address.city},
- adddress.STATE AS {address.state},
- adddress.ZIP AS {address.zip}
- FROM PERSON person
- JOIN ADDRESS adddress
- 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><return-scalar></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><resultset></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},
- adddress.STREET AS {address.street},
- adddress.CITY AS {address.city},
- adddress.STATE AS {address.state},
- adddress.ZIP AS {address.zip}
- FROM PERSON person
- JOIN ADDRESS adddress
- ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'
- WHERE person.NAME LIKE :namePattern
-</sql-query>]]></programlisting>
-
- <sect2 id="propertyresults">
- <title>��Ɨ�̕ʖ����I�Ɏw�肷�邽�߂� return-property ��g��</title>
-
- <para>�ʖ���}�����邽�߂� <literal>{}</literal> �\����g������ɁA
- <literal><return-property></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><return-property></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><return-property></literal>
��g���Ă��邱�Ƃɒ��ӂ��Ă��������B
- ��ƃv���p�e�B��ǂ̂悤�ɎQ�Ƃ��邩��I�ׂ܂��B</para>
-
- <para>�}�b�s���O�� discriminator ���܂܂�Ă���ꍇ�A
- discriminator �̗��w�肷�邽�߂ɁA<return-discriminator>
- ��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><return-join></literal> ��
<literal><load-collection></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(<parameters>)
}</literal> ��
- <literal>{ ? = call procedureName(<parameters>)
}</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><sql-insert></literal>�A
- <literal><sql-delete></literal>�A
- <literal><sql-update></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>
-
+<?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><return-join></literal> ��
<literal><load-collection></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},
+ adddress.STREET AS {address.street},
+ adddress.CITY AS {address.city},
+ adddress.STATE AS {address.state},
+ adddress.ZIP AS {address.zip}
+ FROM PERSON person
+ JOIN ADDRESS adddress
+ 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><return-scalar></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><resultset></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},
+ adddress.STREET AS {address.street},
+ adddress.CITY AS {address.city},
+ adddress.STATE AS {address.state},
+ adddress.ZIP AS {address.zip}
+ FROM PERSON person
+ JOIN ADDRESS adddress
+ 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><return-property></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><return-property></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><return-property></literal>
��g���Ă��邱�Ƃɒ��ӂ��Ă��������B
+ ��ƃv���p�e�B��ǂ̂悤�ɎQ�Ƃ��邩��I�ׂ܂��B</para>
+
+ <para>�}�b�s���O�� discriminator ���܂܂�Ă���ꍇ�A
+ discriminator �̗��w�肷�邽�߂ɁA<return-discriminator>
+ ��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><return-join></literal> ��
<literal><load-collection></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(<parameters>)
}</literal> ��
+ <literal>{ ? = call procedureName(<parameters>)
}</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><sql-insert></literal>�A
+ <literal><sql-delete></literal>�A
+ <literal><sql-update></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
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/session_api.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/session_api.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/session_api.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -434,7 +434,7 @@
</sect3>
- <sect3 id="objectstate-querying-executing-named">
+ <sect3 id="objectstate-querying-executing-named"
revision="1">
<title>���O�t���N�G���̊O�o��</title>
<para>
@@ -443,7 +443,7 @@
�g�����Ƃ�Y��Ȃ��悤�ɂ��܂��傤�B�j </para>
- <programlisting><![CDATA[<query
name="eg.DomesticCat.by.name.and.minimum.weight"><![CDATA[
+ <programlisting><![CDATA[<query
name="ByNameAndMaximumWeight"><![CDATA[
from eg.DomesticCat as cat
where cat.name = ?
and cat.weight > ?
@@ -452,7 +452,7 @@
<para>�p�����[�^�̃o�C���f�B���O�Ǝ��s�́A�ȉ��̂悤�ȃv���O�����ōs���܂��B
</para>
- <programlisting><![CDATA[Query q =
sess.getNamedQuery("eg.DomesticCat.by.name.and.minimum.weight");
+ <programlisting><![CDATA[Query q =
sess.getNamedQuery("ByNameAndMaximumWeight");
q.setString(0, name);
q.setInt(1, minWeight);
List cats = q.list();]]></programlisting>
@@ -460,7 +460,12 @@
<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><hibernate-mapping></literal>
�̒��̃N�G����`�́A�N�G���ɑ���
+ ���j�[�N�Ȗ��O���K�v�Ȃ��Ƃɂ���ӂ��Ă��������B����ɑ��āA
<literal><class></literal> �̒���
+
�N�G����`�́A�N���X�̊��S���薼���O�ɕt������̂ŁA�����I�Ƀ��j�[�N�Ȗ��O�ɂȂ�܂��B
+ ��F <literal>eg.Cat.ByNameAndMaximumWeight</literal>
+ </para>
</sect3>
</sect2>
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/tutorial.xml
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/tutorial.xml 2006-12-07
22:28:06 UTC (rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/modules/tutorial.xml 2006-12-08
08:01:55 UTC (rev 10955)
@@ -6,13 +6,13 @@
<title>�O����</title>
<para>
- ���̏͂�Hibernate���߂Ďg�����[�U�ւ̓���I�ȃ`���[�g���A���ł��B
+ ���̏͂�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��Ӑ}������̂ł����A
+ ���̃`���[�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
@@ -20,7 +20,8 @@
</para>
<para>
- �`���[�g���A���̃\�[�X�R�[�h��Hibernate�f�B�X�g���r���[�V������
<literal>doc/reference/tutorial/</literal> �ɂ���܂��B
+ �`���[�g���A���̃\�[�X�R�[�h��Hibernate�f�B�X�g���r���[�V������
+ <literal>doc/reference/tutorial/</literal> �ɂ���܂��B
</para>
</sect1>
@@ -63,7 +64,7 @@
log4j.jar ]]></programlisting>
<para>
- ���ꂪ <emphasis>�{�h�L�������g�L�q���_�ł�</emphasis>
Hibernate�̕K�v�Œ���̃��C�u�����ł�
+ ���ꂪ <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���ɂ���
@@ -80,7 +81,7 @@
<title>�ŏ��̃N���X</title>
<para>
- �ŏ��̉i���N���X�͂������̃v���p�e�B���P����JavaBean�N���X�ł��B
+ �ŏ��̉i���N���X�́A�v���p�e�B���������V���v����JavaBean�ł��F
</para>
<programlisting><![CDATA[package events;
@@ -233,7 +234,7 @@
<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
+ ����ɁA���̎��ʎq�̈����ɋC��g�������Ȃ������̂Ɠ��l�ɁA
�㗝�̎�L�[�J�����ɑ���Hibernate�̎��ʎq�����헪��ݒ肵�܂��B
</para>
@@ -398,7 +399,7 @@
<property
name="dialect">org.hibernate.dialect.HSQLDialect</property>
<!-- Enable Hibernate's automatic session context management -->
- <property name="current_session__class">thread</property>
+ <property
name="current_session_context_class">thread</property>
<!-- Disable the second-level cache -->
<property
name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
@@ -814,7 +815,6 @@
��������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>
@@ -882,7 +882,6 @@
�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">
@@ -976,7 +975,7 @@
</sect2>
- <sect2 id="tutorial-associations-working"
revision="1">
+ <sect2 id="tutorial-associations-working"
revision="2">
<title>�֘A������</title>
<para>
@@ -1053,7 +1052,7 @@
<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
- ���̃I�u�W�F�N�g�̃R���N�V�����ւ̏C���i�lj���폜�j����l�Ƀ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>
@@ -1070,7 +1069,8 @@
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>
+ 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
@@ -1128,7 +1128,7 @@
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
- ���K�ł����A<literal>set</literal> �v�f��
<literal>table</literal> �����́A
+ �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>
@@ -1193,7 +1193,7 @@
<para>
���ɑo�����֘A��}�b�s���O���܂��B
Java�ŗ�������l�ƃC�x���g�̊֘A�삳���܂��B
- �f�[�^�x�[�X�X�L�[�}�͓��R�ς��܂��A���d�x�͑��Α��̂܂܂ł��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
@@ -1288,7 +1288,7 @@
</para>
<para>
- <literal>inverse</literal>
�}�b�s���O�����Ƃ͂��������Ȃ�ł��傤���H
+ <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
@@ -1306,7 +1306,7 @@
</sect2>
<para>
- �ł͂�����K�͂�Web�A�v���P�[�V�����ɂ��Ă݂܂��傤�B
+ �ł͂��������Web�A�v���P�[�V�����ɂ��Ă݂܂��傤�B
</para>
</sect1>
@@ -1322,11 +1322,11 @@
�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">
+ <sect2 id="tutorial-webapp-servlet" revision="1">
<title>��{�I��Servlet�̋L�q</title>
<para>
- �\�[�X�f�B���N�g���� <literal>events</literal>
�p�b�P�[�W�ɐV�����N���X��쐬���Ă��������B
+ �V�����N���X��A�\�[�X�f�B���N�g���� <literal>events</literal>
�p�b�P�[�W�ɍ쐬���Ă��������B
</para>
<programlisting><![CDATA[package events;
@@ -1335,19 +1335,10 @@
public class EventManagerServlet extends HttpServlet {
- private final SimpleDateFormat dateFormatter =
- new SimpleDateFormat("dd.MM.yyyy");
-
// Servlet code
}]]></programlisting>
<para>
- <literal>dateFormatter</literal> ��
<literal>Date</literal> �I�u�W�F�N�g��
- String�I�u�W�F�N�g�̊Ԃ̕ϊ���s���c�[���ŁA��ŕK�v�ƂȂ�܂��B
- ����̓T�[�u���b�g�̃����o�Ƃ���1�̃t�H�[�}�b�^���������Ȃ����Ƃ����܂��B
- </para>
-
- <para>
Servlet��HTTP�� <literal>GET</literal>
���N�G�X�g�݂̂�������̂ŁA
<literal>doGet()</literal> ��������܂��B
</para>
@@ -1356,6 +1347,8 @@
HttpServletResponse response)
throws ServletException, IOException {
+ SimpleDateFormat dateFormatter = new SimpleDateFormat("dd.MM.yyyy");
+
try {
// Begin unit of work
HibernateUtil.getSessionFactory()
@@ -1393,7 +1386,7 @@
<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
- ����ɂ��A <literal>session-per-request</literal>
�p�^�[�����������܂��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
@@ -1402,7 +1395,7 @@
</sect2>
- <sect2 id="tutorial-webapp-processing">
+ <sect2 id="tutorial-webapp-processing" revision="1">
<title>�����ƕ`��</title>
<para>
@@ -1429,7 +1422,7 @@
// Print page
printEventForm(out);
-listEvents(out);
+listEvents(out, dateFormatter);
// Write HTML footer
out.println("</body></html>");
@@ -1438,7 +1431,7 @@
<para>
Java��HTML�����݂���R�[�f�B���O�X�^�C���́A��蕡�G�ȃA�v���P�[�V�����ɂ͓K���Ă��Ȃ��ł��傤
-
�i���̃`���[�g���A���ł͊�{�I��Hibernate�̃R���Z�v�g�����Ă��邾���ł��邱�Ƃ�o���Ă����Ă��������j�B
+
�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
@@ -1458,7 +1451,8 @@
Hibernate�� <literal>Session</literal>
��g�p���āA�N�G������s���܂��B
</para>
- <programlisting><![CDATA[private void listEvents(PrintWriter out) {
+ <programlisting><![CDATA[private void listEvents(PrintWriter out,
SimpleDateFormat dateFormatter) {
+
List result = HibernateUtil.getSessionFactory()
.getCurrentSession().createCriteria(Event.class).list();
if (result.size() > 0) {
@@ -1494,12 +1488,15 @@
}]]></programlisting>
<para>
- ����ŃT�[�u���b�g���������܂����B
- �T�[�u���b�g�ւ̃��N�G�X�g�́A�P�� <literal>Session</literal>
�� <literal>Transaction</literal> �ŏ��������ł��傤�B
+ ����Ń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
- ���̂��ƂŊJ���҂̓R�[�h�̃��C���[���������R�ɂȂ�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�E�I�u�W�F�N�g�iDAO�p�^�[���j�Ɉړ�����ł��傤�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>
@@ -1524,8 +1521,10 @@
</target>]]></programlisting>
<para>
- ���̃^�[�Q�b�g�� <literal>hibernate-tutorial.war</literal>
�Ƃ����t�@�C����v���W�F�N�g�E�f�B���N�g���ɍ쐬���܂��B
- ���̃t�@�C���͂��ׂẴ��C�u������<literal>web.xml</literal>
�L�q�q��܂�ł���A�v���W�F�N�g�̃x�[�X�E�f�B���N�g���ɒu����܂��B
+ ���̃^�[�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"?>
@@ -1549,15 +1548,17 @@
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�����E�f�B���N�g���ɃR�s�[���Ă��������B
- ����̓R���p�C���ɂ̂ݎg�p����AWAR�p�b�P�[�W����͏��O����܂��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�E�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����肵�Ă��Ȃ��̂ł���A���肵�ăC���X�g�[����s���Ă��������B
- ���̃A�v���P�[�V�����̃f�v���C�̂��߂�Tomcat�̐ݒ��ύX����K�v�͂���܂���B
+ �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>
@@ -1582,10 +1583,10 @@
</para>
<para>
- ���ł�Hibernate�ɑ��Ď��M������A�ʔ��������Ǝv���g�s�b�N��T���āA
- ���t�@�����X�h�L�������g�̖ڎ��ɖڂ�ʂ��Ă��������B
+ ���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
+ �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>
Modified: branches/Branch_3_2/Hibernate3/doc/reference/ja/readme_ja.txt
===================================================================
--- branches/Branch_3_2/Hibernate3/doc/reference/ja/readme_ja.txt 2006-12-07 22:28:06 UTC
(rev 10954)
+++ branches/Branch_3_2/Hibernate3/doc/reference/ja/readme_ja.txt 2006-12-08 08:01:55 UTC
(rev 10955)
@@ -1 +1 @@
-This translated reference document is v3.1.2.
\ No newline at end of file
+This is v3.2.0
\ No newline at end of file