📄 inheritance_mapping.po
字号:
msgid ""msgstr """Project-Id-Version: PACKAGE VERSION\n""Report-Msgid-Bugs-To: http://bugs.kde.org\n""POT-Creation-Date: 2007-10-25 07:47+0000\n""PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n""Last-Translator: FULL NAME <EMAIL@ADDRESS>\n""Language-Team: LANGUAGE <LL@li.org>\n""MIME-Version: 1.0\n""Content-Type: text/plain; charset=UTF-8\n""Content-Transfer-Encoding: 8bit\n"#. Tag: title#: inheritance_mapping.xml:5#, no-c-formatmsgid "Inheritance Mapping"msgstr "継承マッピング"#. Tag: title#: inheritance_mapping.xml:8#, no-c-formatmsgid "The Three Strategies"msgstr "3つの戦略"#. Tag: para#: inheritance_mapping.xml:10#, no-c-formatmsgid "Hibernate supports the three basic inheritance mapping strategies:"msgstr "Hibernateは3つの基本的な継承のマッピング戦略をサポートします。"#. Tag: para#: inheritance_mapping.xml:16#, no-c-formatmsgid "table per class hierarchy"msgstr "クラス階層ごとのテーブル(table-per-class-hierarchy)"#. Tag: para#: inheritance_mapping.xml:21#, fuzzy, no-c-formatmsgid "<para>table per subclass</para>"msgstr """#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n""サブクラスごとのテーブル(table-per-subclass)\n""#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n""table per subclass"#. Tag: para#: inheritance_mapping.xml:26#, no-c-formatmsgid "table per concrete class"msgstr "具象クラスごとのテーブル(table-per-concrete-class)"#. Tag: para#: inheritance_mapping.xml:32#, no-c-formatmsgid """In addition, Hibernate supports a fourth, slightly different kind of ""polymorphism:"msgstr """加えて4つ目に、Hibernateはわずかに異なる性質を持ったポリモーフィズムをサポー""トします。"#. Tag: para#: inheritance_mapping.xml:39#, no-c-formatmsgid "implicit polymorphism"msgstr "暗黙的ポリモーフィズム"#. Tag: para#: inheritance_mapping.xml:45#, no-c-formatmsgid """It is possible to use different mapping strategies for different branches of ""the same inheritance hierarchy, and then make use of implicit polymorphism ""to achieve polymorphism across the whole hierarchy. However, Hibernate does ""not support mixing <literal><subclass></literal>, and <literal><""joined-subclass></literal> and <literal><union-subclass></literal> ""mappings under the same root <literal><class></literal> element. It is ""possible to mix together the table per hierarchy and table per subclass ""strategies, under the the same <literal><class></literal> element, by ""combining the <literal><subclass></literal> and <literal><join></""literal> elements (see below)."msgstr """同一の継承階層の異なるブランチに対して異なるマッピング戦略を使うことができま""す。 その場合には全体の階層に渡るポリモーフィズムを実現するために暗黙的ポリ""モーフィズムを使用します。 しかし、Hibernateは同じルート <literal><""class></literal> 要素内で <literal><subclass></literal> マッピング、""<literal><joined-subclass></literal> マッピング、 <literal><union-""subclass></literal> マッピングの同時使用をサポートしていません。 ""<literal><subclass></literal> 要素と <literal><join></literal> 要""素を組み合わせることで、 同一 <literal><class></literal> 要素内での ""table-per-hierarchy 戦略と table-per-subclass 戦略の同時使用は可能です。次の""例を見てください。"#. Tag: para#: inheritance_mapping.xml:59#, no-c-formatmsgid """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."msgstr """<literal>subclass</literal>, <literal>union-subclass</literal> と ""<literal>joined-subclass</literal> マッピングを複数のマッピングドキュメントに""定義することが出来、 <literal>hibernate-mapping</literal> の直下に配置しま""す。 これは新しいマッピングファイルを追加するだけで、クラス階層を拡張できると""いうことです。 あらかじめマップしたスーパークラスを指定して、サブクラスマッピ""ングに <literal>extends</literal> 属性を記述しなければなりません。 注意:この""特徴により、以前はマッピング・ドキュメントの順番が重要でした。 Hibernate3から""は、extendsキーワードを使う場合、マッピングドキュメントの順番は問題になりませ""ん。 1つのマッピングファイル内で順番付けを行うときは、 依然として、サブクラ""スを定義する前にスーパークラスを定義する必要があります。)"#. Tag: programlisting#: inheritance_mapping.xml:70#, no-c-formatmsgid """<![CDATA[\n"" <hibernate-mapping>\n"" <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D""\">\n"" <property name=\"name\" type=\"string\"/>\n"" </subclass>\n"" </hibernate-mapping>]]>"msgstr ""#. Tag: title#: inheritance_mapping.xml:74#, no-c-formatmsgid "Table per class hierarchy"msgstr "クラス階層ごとのテーブル(table-per-class-hierarchy)"#. Tag: para#: inheritance_mapping.xml:76#, no-c-formatmsgid """Suppose we have an interface <literal>Payment</literal>, with implementors ""<literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, ""<literal>ChequePayment</literal>. The table per hierarchy mapping would look ""like:"msgstr """例えば、インターフェイス <literal>Payment</literal> と、それを実装した ""<literal>CreditCardPayment</literal>、<literal>CashPayment</literal>、 ""<literal>ChequePayment</literal> があるとします。階層ごとのテーブルマッピング""は 以下のようになります。"#. Tag: programlisting#: inheritance_mapping.xml:83#, no-c-formatmsgid """<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"" <generator class=\"native\"/>\n"" </id>\n"" <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"" <property name=\"amount\" column=\"AMOUNT\"/>\n"" ...\n"" <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"" ...\n"" </subclass>\n"" <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"" ...\n"" </subclass>\n"" <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"" ...\n"" </subclass>\n""</class>]]>"msgstr ""#. Tag: para#: inheritance_mapping.xml:85#, no-c-formatmsgid """Exactly one table is required. There is one big limitation of this mapping ""strategy: columns declared by the subclasses, such as <literal>CCTYPE</""literal>, may not have <literal>NOT NULL</literal> constraints."msgstr """ちょうど一つのテーブルが必要です。 このマッピング戦略には一つ大きな制限があり""ます。 <literal>CCTYPE</literal> のような、サブクラスで宣言されたカラムは ""<literal>NOT NULL</literal> 制約を持てません。"#. Tag: title#: inheritance_mapping.xml:94#, no-c-formatmsgid "Table per subclass"msgstr "サブクラスごとのテーブル(table-per-subclass)"#. Tag: para#: inheritance_mapping.xml:96#, no-c-formatmsgid "A table per subclass mapping would look like:"msgstr "table-per-subclass マッピングは以下のようになります。"#. Tag: programlisting#: inheritance_mapping.xml:100#, no-c-formatmsgid """<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"" <generator class=\"native\"/>\n"" </id>\n"" <property name=\"amount\" column=\"AMOUNT\"/>\n"" ...\n"" <joined-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"" <key column=\"PAYMENT_ID\"/>\n"" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"" ...\n"" </joined-subclass>\n"" <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"" <key column=\"PAYMENT_ID\"/>\n"" ...\n"" </joined-subclass>\n"" <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"" <key column=\"PAYMENT_ID\"/>\n"" ...\n"" </joined-subclass>\n""</class>]]>"msgstr ""#. Tag: para#: inheritance_mapping.xml:102#, no-c-formatmsgid """Four tables are required. The three subclass tables have primary key ""associations to the superclass table (so the relational model is actually a ""one-to-one association)."msgstr """このマッピングには4つのテーブルが必要です。3つのサブクラステーブルは スーパー""クラステーブルとの関連を示す主キーを持っています (実際、関係モデル上は一対一""関連です)。"#. Tag: title#: inheritance_mapping.xml:111#, no-c-formatmsgid "Table per subclass, using a discriminator"msgstr "弁別子を用いた table-per-subclass"#. Tag: para#: inheritance_mapping.xml:113#, no-c-formatmsgid """Note that Hibernate's implementation of table per subclass requires no ""discriminator column. Other object/relational mappers use a different ""implementation of table per subclass which requires a type discriminator ""column in the superclass table. The approach taken by Hibernate is much more ""difficult to implement but arguably more correct from a relational point of ""view. If you would like to use a discriminator column with the table per ""subclass strategy, you may combine the use of <literal><subclass></""literal> and <literal><join></literal>, as follow:"msgstr """Hibernateの table-per-subclass 実装は、discriminatorカラムを必要としないこと""を覚えておいてください。 Hibernate以外のO/Rマッパーは、table-per-subclass に""異なる実装を用います。 それは、スーパークラスのテーブルにタイプdiscriminator""カラムを必要とします。 このアプローチは実装が困難になりますが、関係の視点から""見ると、より正確なものです。 table-per-subclass 戦略でdiscriminatorカラムを使""いたければ、 <literal><subclass></literal> と <literal><join></""literal> を以下のように組み合わせて使ってください。"#. Tag: programlisting#: inheritance_mapping.xml:125#, no-c-formatmsgid """<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"" <generator class=\"native\"/>\n"" </id>\n"" <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"" <property name=\"amount\" column=\"AMOUNT\"/>\n"" ...\n"" <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"" <join table=\"CREDIT_PAYMENT\">\n"" <key column=\"PAYMENT_ID\"/>\n"" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -