'converted docs for publican compatibility and added translations from Core 3.3.2.GA branch'

git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@18776 1b8cb986-b30d-0410-93ca-fae66ebed9b2
This commit is contained in:
Richard Wilding 2010-02-11 07:04:06 +00:00
parent 7d0258ec55
commit 9400bc277c
240 changed files with 86436 additions and 130791 deletions

View File

@ -38,13 +38,13 @@
</executions> </executions>
<configuration> <configuration>
<sourceDocumentName>Hibernate_Reference.xml</sourceDocumentName> <sourceDocumentName>HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.xml</sourceDocumentName>
<masterTranslation>en-US</masterTranslation> <masterTranslation>en-US</masterTranslation>
<translations> <translations>
<translation>es-ES</translation> <translation>es-ES</translation>
<translation>fr-FR</translation> <translation>fr-FR</translation>
<translation>ja-JP</translation> <translation>ja-JP</translation>
<translation>ko-KR</translation> <!-- <translation>ko-KR</translation> -->
<translation>pt-BR</translation> <translation>pt-BR</translation>
<translation>zh-CN</translation> <translation>zh-CN</translation>
</translations> </translations>

View File

@ -1,3 +1,4 @@
<?xml version='1.0' encoding='UTF-8' ?>
<!-- <!--
~ Hibernate, Relational Persistence for Idiomatic Java ~ Hibernate, Relational Persistence for Idiomatic Java
~ ~
@ -21,8 +22,8 @@
~ 51 Franklin Street, Fifth Floor ~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
<authorgroup> <authorgroup>
<author> <author>
<firstname>Gavin</firstname> <firstname>Gavin</firstname>

View File

@ -23,13 +23,17 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="architecture"> <chapter id="architecture">
<title>Architecture</title> <title>Architecture</title>
<sect1 id="architecture-overview" revision="1"> <section id="architecture-overview" revision="1">
<title>Overview</title> <title>Overview</title>
<para> <para>
@ -38,10 +42,10 @@
<mediaobject> <mediaobject>
<imageobject role="fo"> <imageobject role="fo">
<imagedata fileref="../images/overview.svg" format="SVG" align="center"/> <imagedata fileref="images/overview.svg" format="SVG" align="center"/>
</imageobject> </imageobject>
<imageobject role="html"> <imageobject role="html">
<imagedata fileref="../images/overview.png" format="PNG" align="center"/> <imagedata fileref="images/overview.png" format="PNG" align="center"/>
</imageobject> </imageobject>
</mediaobject> </mediaobject>
@ -64,10 +68,10 @@
<mediaobject> <mediaobject>
<imageobject role="fo"> <imageobject role="fo">
<imagedata fileref="../images/lite.svg" format="SVG" align="center"/> <imagedata fileref="images/lite.svg" format="SVG" align="center"/>
</imageobject> </imageobject>
<imageobject role="html"> <imageobject role="html">
<imagedata fileref="../images/lite.png" format="PNG" align="center"/> <imagedata fileref="images/lite.png" format="PNG" align="center"/>
</imageobject> </imageobject>
</mediaobject> </mediaobject>
@ -78,10 +82,10 @@
<mediaobject> <mediaobject>
<imageobject role="fo"> <imageobject role="fo">
<imagedata fileref="../images/full_cream.svg" format="SVG" align="center"/> <imagedata fileref="images/full_cream.svg" format="SVG" align="center"/>
</imageobject> </imageobject>
<imageobject role="html"> <imageobject role="html">
<imagedata fileref="../images/full_cream.png" format="PNG" align="center"/> <imagedata fileref="images/full_cream.png" format="PNG" align="center"/>
</imageobject> </imageobject>
</mediaobject> </mediaobject>
@ -185,9 +189,9 @@
<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or <literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or
<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC directly. <literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC directly.
</para> </para>
</sect1> </section>
<sect1 id="architecture-states" revision="1"> <section id="architecture-states" revision="1">
<title>Instance states</title> <title>Instance states</title>
<para> <para>
An instance of a persistent class can be in one of three different states. These states are An instance of a persistent class can be in one of three different states. These states are
@ -235,9 +239,9 @@
</listitem> </listitem>
</varlistentry> </varlistentry>
</variablelist> </variablelist>
</sect1> </section>
<sect1 id="architecture-jmx" revision="1"> <section id="architecture-jmx" revision="1">
<title>JMX Integration</title> <title>JMX Integration</title>
<para> <para>
@ -285,17 +289,17 @@
Another feature available as a JMX service is runtime Hibernate statistics. See Another feature available as a JMX service is runtime Hibernate statistics. See
<xref linkend="configuration-optional-statistics"/> for more information. <xref linkend="configuration-optional-statistics"/> for more information.
</para> </para>
</sect1> </section>
<sect1 id="architecture-jca" revision="1"> <section id="architecture-jca" revision="1">
<title>JCA Support</title> <title>JCA Support</title>
<para> <para>
Hibernate can also be configured as a JCA connector. Please see the website for more Hibernate can also be configured as a JCA connector. Please see the website for more
information. Please note, however, that at this stage Hibernate JCA support is under development. information. Please note, however, that at this stage Hibernate JCA support is under development.
</para> </para>
</sect1> </section>
<sect1 id="architecture-current-session" revision="2"> <section id="architecture-current-session" revision="2">
<title>Contextual sessions</title> <title>Contextual sessions</title>
<para> <para>
Most applications using Hibernate need some form of "contextual" session, where a given Most applications using Hibernate need some form of "contextual" session, where a given
@ -379,7 +383,7 @@
short names: "jta", "thread", and "managed". short names: "jta", "thread", and "managed".
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,13 +23,17 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="associations"> <chapter id="associations">
<title>Association Mappings</title> <title>Association Mappings</title>
<sect1 id="assoc-intro" revision="1"> <section id="assoc-intro" revision="1">
<title>Introduction</title> <title>Introduction</title>
<para> <para>
@ -52,12 +56,12 @@
nullability constraints. nullability constraints.
</para> </para>
</sect1> </section>
<sect1 id="assoc-unidirectional" revision="1"> <section id="assoc-unidirectional" revision="1">
<title>Unidirectional associations</title> <title>Unidirectional associations</title>
<sect2 id="assoc-unidirectional-m21"> <section id="assoc-unidirectional-m21">
<title>Many-to-one</title> <title>Many-to-one</title>
<para> <para>
@ -84,9 +88,9 @@ create table Person ( personId bigint not null primary key, addressId bigint not
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-unidirectional-121"> <section id="assoc-unidirectional-121">
<title>One-to-one</title> <title>One-to-one</title>
<para> <para>
@ -139,9 +143,9 @@ create table Person ( personId bigint not null primary key )
create table Address ( personId bigint not null primary key ) create table Address ( personId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-unidirectional-12m"> <section id="assoc-unidirectional-12m">
<title>One-to-many</title> <title>One-to-many</title>
<para> <para>
@ -174,14 +178,14 @@ create table Address ( addressId bigint not null primary key, personId bigint no
You should instead use a join table for this kind of association. You should instead use a join table for this kind of association.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="assoc-unidirectional-join" revision="1"> <section id="assoc-unidirectional-join" revision="1">
<title>Unidirectional associations with join tables</title> <title>Unidirectional associations with join tables</title>
<sect2 id="assoc-unidirectional-join-12m"> <section id="assoc-unidirectional-join-12m">
<title>One-to-many</title> <title>One-to-many</title>
<para> <para>
@ -213,9 +217,9 @@ create table PersonAddress ( personId not null, addressId bigint not null primar
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-unidirectional-join-m21"> <section id="assoc-unidirectional-join-m21">
<title>Many-to-one</title> <title>Many-to-one</title>
<para> <para>
@ -247,9 +251,9 @@ create table PersonAddress ( personId bigint not null primary key, addressId big
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-unidirectional-join-121"> <section id="assoc-unidirectional-join-121">
<title>One-to-one</title> <title>One-to-one</title>
<para> <para>
@ -283,9 +287,9 @@ create table PersonAddress ( personId bigint not null primary key, addressId big
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-unidirectional-join-m2m"> <section id="assoc-unidirectional-join-m2m">
<title>Many-to-many</title> <title>Many-to-many</title>
<para> <para>
@ -314,14 +318,14 @@ create table PersonAddress ( personId bigint not null, addressId bigint not null
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
</sect1> </section>
<sect1 id="assoc-bidirectional" revision="1"> <section id="assoc-bidirectional" revision="1">
<title>Bidirectional associations</title> <title>Bidirectional associations</title>
<sect2 id="assoc-bidirectional-m21" revision="2"> <section id="assoc-bidirectional-m21" revision="2">
<title>one-to-many / many-to-one</title> <title>one-to-many / many-to-one</title>
<para> <para>
@ -392,9 +396,9 @@ create table Address ( addressId bigint not null primary key )
element. element.
</para> </para>
</sect2> </section>
<sect2 id="assoc-bidirectional-121"> <section id="assoc-bidirectional-121">
<title>One-to-one</title> <title>One-to-one</title>
<para> <para>
@ -450,14 +454,14 @@ create table Person ( personId bigint not null primary key )
create table Address ( personId bigint not null primary key ) create table Address ( personId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
</sect1> </section>
<sect1 id="assoc-bidirectional-join" revision="1"> <section id="assoc-bidirectional-join" revision="1">
<title>Bidirectional associations with join tables</title> <title>Bidirectional associations with join tables</title>
<sect2 id="assoc-bidirectional-join-12m"> <section id="assoc-bidirectional-join-12m">
<title>one-to-many / many-to-one</title> <title>one-to-many / many-to-one</title>
<para> <para>
@ -498,9 +502,9 @@ create table PersonAddress ( personId bigint not null, addressId bigint not null
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-bidirectional-join-121"> <section id="assoc-bidirectional-join-121">
<title>one to one</title> <title>one to one</title>
<para> <para>
@ -544,9 +548,9 @@ create table PersonAddress ( personId bigint not null primary key, addressId big
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="assoc-bidirectional-join-m2m" revision="1"> <section id="assoc-bidirectional-join-m2m" revision="1">
<title>Many-to-many</title> <title>Many-to-many</title>
<para> <para>
@ -581,11 +585,11 @@ create table PersonAddress ( personId bigint not null, addressId bigint not null
create table Address ( addressId bigint not null primary key ) create table Address ( addressId bigint not null primary key )
]]></programlisting> ]]></programlisting>
</sect2> </section>
</sect1> </section>
<sect1 id="assoc-complex"> <section id="assoc-complex">
<title>More complex association mappings</title> <title>More complex association mappings</title>
<para> <para>
@ -644,7 +648,7 @@ create table Address ( addressId bigint not null primary key )
to handle these kinds of cases using HQL or a criteria query. to handle these kinds of cases using HQL or a criteria query.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,12 +23,16 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="mapping"> <chapter id="mapping">
<title>Basic O/R Mapping</title> <title>Basic O/R Mapping</title>
<sect1 id="mapping-declaration" revision="2"> <section id="mapping-declaration" revision="2">
<title>Mapping declaration</title> <title>Mapping declaration</title>
<para> <para>
@ -48,7 +52,8 @@
Here is an example mapping: Here is an example mapping:
</para> </para>
<programlisting id="mapping-declaration-ex1" role="XML"><![CDATA[<?xml version="1.0"?>
<programlisting role="XML"><![CDATA[<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC <!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN" "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
@ -123,7 +128,7 @@
<sect2 id="mapping-declaration-doctype" revision="3"> <section id="mapping-declaration-doctype" revision="3">
<title>Doctype</title> <title>Doctype</title>
<para> <para>
@ -135,7 +140,7 @@
classpath. classpath.
</para> </para>
<sect3 id="mapping-declaration-entity-resolution"> <section id="mapping-declaration-entity-resolution">
<title>EntityResolver</title> <title>EntityResolver</title>
<para> <para>
Hibernate will first attempt to resolve DTDs in its classpath. Hibernate will first attempt to resolve DTDs in its classpath.
@ -166,29 +171,17 @@
<para> <para>
The following is an example of utilizing user namespacing: The following is an example of utilizing user namespacing:
</para> </para>
<programlisting role="XML"><![CDATA[<?xml version="1.0"?> <programlisting language="XML" role="XML">
<!DOCTYPE hibernate-mapping PUBLIC <xi:include parse="text" href="../extras/namespacing.xml_sample" xmlns:xi="http://www.w3.org/2001/XInclude" />
"-//Hibernate/Hibernate Mapping DTD 3.0//EN" </programlisting>
"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> <para>
Where <literal>types.xml</literal> is a resource in the <literal>your.domain</literal> Where <literal>types.xml</literal> is a resource in the <literal>your.domain</literal>
package and contains a custom <link linkend="mapping-types-custom">typedef</link>. package and contains a custom <link linkend="mapping-types-custom">typedef</link>.
</para> </para>
</sect3> </section>
</sect2> </section>
<sect2 id="mapping-declaration-mapping" revision="3"> <section id="mapping-declaration-mapping" revision="3">
<title>Hibernate-mapping</title> <title>Hibernate-mapping</title>
<para> <para>
@ -284,9 +277,9 @@
<literal>Animal.hbm.xml</literal>. <literal>Animal.hbm.xml</literal>.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-class" revision="3"> <section id="mapping-declaration-class" revision="3">
<title>Class</title> <title>Class</title>
<para> <para>
@ -601,9 +594,9 @@
a nested mapping element. a nested mapping element.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-id" revision="4"> <section id="mapping-declaration-id" revision="4">
<title>id</title> <title>id</title>
<para> <para>
@ -679,7 +672,7 @@
legacy data with composite keys. Its use is strongly discouraged for anything else. legacy data with composite keys. Its use is strongly discouraged for anything else.
</para> </para>
<sect3 id="mapping-declaration-id-generator" revision="2"> <section id="mapping-declaration-id-generator" revision="2">
<title>Generator</title> <title>Generator</title>
<para> <para>
@ -829,9 +822,9 @@
</variablelist> </variablelist>
</para> </para>
</sect3> </section>
<sect3 id="mapping-declaration-id-hilo" revision="1"> <section id="mapping-declaration-id-hilo" revision="1">
<title>Hi/lo algorithm</title> <title>Hi/lo algorithm</title>
<para> <para>
The <literal>hilo</literal> and <literal>seqhilo</literal> generators provide two alternate The <literal>hilo</literal> and <literal>seqhilo</literal> generators provide two alternate
@ -861,9 +854,9 @@
server datasource to obtain connections enlisted with JTA, you must configure server datasource to obtain connections enlisted with JTA, you must configure
the <literal>hibernate.transaction.manager_lookup_class</literal>. the <literal>hibernate.transaction.manager_lookup_class</literal>.
</para> </para>
</sect3> </section>
<sect3 id="mapping-declaration-id-uuid"> <section id="mapping-declaration-id-uuid">
<title>UUID algorithm</title> <title>UUID algorithm</title>
<para> <para>
The UUID contains: IP address, startup time of the JVM that is accurate to a quarter The UUID contains: IP address, startup time of the JVM that is accurate to a quarter
@ -871,9 +864,9 @@
possible to obtain a MAC address or memory address from Java code, so this is possible to obtain a MAC address or memory address from Java code, so this is
the best option without using JNI. the best option without using JNI.
</para> </para>
</sect3> </section>
<sect3 id="mapping-declaration-id-sequences"> <section id="mapping-declaration-id-sequences">
<title>Identity columns and sequences</title> <title>Identity columns and sequences</title>
<para> <para>
For databases that support identity columns (DB2, MySQL, Sybase, MS SQL), you For databases that support identity columns (DB2, MySQL, Sybase, MS SQL), you
@ -898,9 +891,9 @@
choose from the <literal>identity</literal>, <literal>sequence</literal> and choose from the <literal>identity</literal>, <literal>sequence</literal> and
<literal>hilo</literal> strategies. <literal>hilo</literal> strategies.
</para> </para>
</sect3> </section>
<sect3 id="mapping-declaration-id-assigned"> <section id="mapping-declaration-id-assigned">
<title>Assigned identifiers</title> <title>Assigned identifiers</title>
<para> <para>
If you want the application to assign identifiers, as opposed to having If you want the application to assign identifiers, as opposed to having
@ -918,9 +911,9 @@
there is a version or timestamp property, or you define there is a version or timestamp property, or you define
<literal>Interceptor.isUnsaved()</literal>. <literal>Interceptor.isUnsaved()</literal>.
</para> </para>
</sect3> </section>
<sect3 id="mapping-declaration-id-select"> <section id="mapping-declaration-id-select">
<title>Primary keys assigned by triggers</title> <title>Primary keys assigned by triggers</title>
<para> <para>
Hibernate does not generate DDL with triggers. It is for legacy schemas only. Hibernate does not generate DDL with triggers. It is for legacy schemas only.
@ -939,11 +932,11 @@
whose value is generated by a trigger. whose value is generated by a trigger.
</para> </para>
</sect3> </section>
</sect2> </section>
<sect2 id="mapping-declaration-id-enhanced"> <section id="mapping-declaration-id-enhanced">
<title>Enhanced identifier generators</title> <title>Enhanced identifier generators</title>
<para> <para>
@ -1070,9 +1063,9 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-id-enhanced-optimizers"> <section id="mapping-declaration-id-enhanced-optimizers">
<title>Identifier generator optimization</title> <title>Identifier generator optimization</title>
<para> <para>
For identifier generators that store values in the database, it is inefficient for them to hit the For identifier generators that store values in the database, it is inefficient for them to hit the
@ -1107,9 +1100,9 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-compositeid" revision="3"> <section id="mapping-declaration-compositeid" revision="3">
<title>composite-id</title> <title>composite-id</title>
<programlisting role="XML"><![CDATA[<composite-id <programlisting role="XML"><![CDATA[<composite-id
@ -1224,9 +1217,9 @@
for almost all applications. for almost all applications.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-discriminator" revision="3"> <section id="mapping-declaration-discriminator" revision="3">
<title>Discriminator</title> <title>Discriminator</title>
<para> <para>
@ -1312,9 +1305,9 @@
formula="case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end" formula="case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end"
type="integer"/>]]></programlisting> type="integer"/>]]></programlisting>
</sect2> </section>
<sect2 id="mapping-declaration-version" revision="4"> <section id="mapping-declaration-version" revision="4">
<title>Version (optional)</title> <title>Version (optional)</title>
<para> <para>
@ -1407,9 +1400,9 @@
problems with transitive reattachment in Hibernate. It is especially useful for people problems with transitive reattachment in Hibernate. It is especially useful for people
using assigned identifiers or composite keys</emphasis>. using assigned identifiers or composite keys</emphasis>.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-timestamp" revision="4" > <section id="mapping-declaration-timestamp" revision="4" >
<title>Timestamp (optional)</title> <title>Timestamp (optional)</title>
<para> <para>
@ -1499,10 +1492,10 @@
</para> </para>
</note> </note>
</sect2> </section>
<sect2 id="mapping-declaration-property" revision="4"> <section id="mapping-declaration-property" revision="4">
<title>Property</title> <title>Property</title>
<para> <para>
@ -1695,9 +1688,9 @@
if you do not want to use the attribute. if you do not want to use the attribute.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-manytoone" revision="5"> <section id="mapping-declaration-manytoone" revision="5">
<title>Many-to-one</title> <title>Many-to-one</title>
<para> <para>
@ -1908,9 +1901,9 @@
<programlisting role="XML"><![CDATA[<many-to-one name="owner" property-ref="identity.ssn" column="OWNER_SSN"/>]]></programlisting> <programlisting role="XML"><![CDATA[<many-to-one name="owner" property-ref="identity.ssn" column="OWNER_SSN"/>]]></programlisting>
</sect2> </section>
<sect2 id="mapping-declaration-onetoone" revision="3"> <section id="mapping-declaration-onetoone" revision="3">
<title>One-to-one</title> <title>One-to-one</title>
<para> <para>
@ -2084,9 +2077,9 @@
<programlisting role="XML"><![CDATA[<one-to-one name="employee" class="Employee" property-ref="person"/>]]></programlisting> <programlisting role="XML"><![CDATA[<one-to-one name="employee" class="Employee" property-ref="person"/>]]></programlisting>
</sect2> </section>
<sect2 id="mapping-declaration-naturalid"> <section id="mapping-declaration-naturalid">
<title>Natural-id</title> <title>Natural-id</title>
<programlisting role="XML"><![CDATA[<natural-id mutable="true|false"/> <programlisting role="XML"><![CDATA[<natural-id mutable="true|false"/>
@ -2122,9 +2115,9 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect2> </section>
<sect2 id="mapping-declaration-component" revision="2"> <section id="mapping-declaration-component" revision="2">
<title>Component and dynamic-component</title> <title>Component and dynamic-component</title>
<para> <para>
@ -2233,9 +2226,9 @@
<xref linkend="components-dynamic"/> for more information. <xref linkend="components-dynamic"/> for more information.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-properties" revision="2"> <section id="mapping-declaration-properties" revision="2">
<title>Properties</title> <title>Properties</title>
<para> <para>
@ -2336,9 +2329,9 @@
legacy data is not recommended. legacy data is not recommended.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-subclass" revision="4"> <section id="mapping-declaration-subclass" revision="4">
<title>Subclass</title> <title>Subclass</title>
<para> <para>
@ -2407,9 +2400,9 @@
For information about inheritance mappings see <xref linkend="inheritance"/>. For information about inheritance mappings see <xref linkend="inheritance"/>.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-joinedsubclass" revision="3"> <section id="mapping-declaration-joinedsubclass" revision="3">
<title>Joined-subclass</title> <title>Joined-subclass</title>
<para> <para>
@ -2514,9 +2507,9 @@
For information about inheritance mappings see <xref linkend="inheritance"/>. For information about inheritance mappings see <xref linkend="inheritance"/>.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-unionsubclass" revision="2"> <section id="mapping-declaration-unionsubclass" revision="2">
<title>Union-subclass</title> <title>Union-subclass</title>
<para> <para>
@ -2590,9 +2583,9 @@
For information about inheritance mappings see <xref linkend="inheritance"/>. For information about inheritance mappings see <xref linkend="inheritance"/>.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-join" revision="3"> <section id="mapping-declaration-join" revision="3">
<title>Join</title> <title>Join</title>
<para> <para>
@ -2696,9 +2689,9 @@
explained later. explained later.
</para> </para>
</sect2> </section>
<sect2 id="mapping-declaration-key"> <section id="mapping-declaration-key">
<title>Key</title> <title>Key</title>
<para> <para>
@ -2786,9 +2779,9 @@
<literal>&lt;key not-null="true"&gt;</literal>. <literal>&lt;key not-null="true"&gt;</literal>.
</para> </para>
</sect2> </section>
<sect2 id="mapping-column" revision="5"> <section id="mapping-column" revision="5">
<title>Column and formula elements</title> <title>Column and formula elements</title>
<para> <para>
Mapping elements which accept a <literal>column</literal> attribute will alternatively Mapping elements which accept a <literal>column</literal> attribute will alternatively
@ -2833,9 +2826,9 @@
<formula>'MAILING'</formula> <formula>'MAILING'</formula>
</many-to-one>]]></programlisting> </many-to-one>]]></programlisting>
</sect2> </section>
<sect2 id="mapping-declaration-import"> <section id="mapping-declaration-import">
<title>Import</title> <title>Import</title>
<para> <para>
@ -2871,9 +2864,9 @@
</calloutlist> </calloutlist>
</programlistingco> </programlistingco>
</sect2> </section>
<sect2 id="mapping-types-anymapping" revision="2"> <section id="mapping-types-anymapping" revision="2">
<title>Any</title> <title>Any</title>
<para> <para>
@ -2965,14 +2958,14 @@
</calloutlist> </calloutlist>
</programlistingco> </programlistingco>
</sect2> </section>
</sect1> </section>
<sect1 id="mapping-types"> <section id="mapping-types">
<title>Hibernate types</title> <title>Hibernate types</title>
<sect2 id="mapping-types-entitiesvalues" revision="1"> <section id="mapping-types-entitiesvalues" revision="1">
<title>Entities and values</title> <title>Entities and values</title>
<para> <para>
@ -3037,9 +3030,9 @@
With the exception of collections, all built-in Hibernate types support null semantics. With the exception of collections, all built-in Hibernate types support null semantics.
</para> </para>
</sect2> </section>
<sect2 id="mapping-types-basictypes" revision="3"> <section id="mapping-types-basictypes" revision="3">
<title>Basic value types</title> <title>Basic value types</title>
<para> <para>
@ -3193,9 +3186,9 @@
represents the <literal>string</literal> type. represents the <literal>string</literal> type.
</para> </para>
</sect2> </section>
<sect2 id="mapping-types-custom" revision="2"> <section id="mapping-types-custom" revision="2">
<title>Custom value types</title> <title>Custom value types</title>
<para> <para>
@ -3281,11 +3274,11 @@
monetary values are represented. monetary values are represented.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="mapping-entityname"> <section id="mapping-entityname">
<title>Mapping a class more than once</title> <title>Mapping a class more than once</title>
<para> <para>
It is possible to provide more than one mapping for a particular persistent class. In this It is possible to provide more than one mapping for a particular persistent class. In this
@ -3318,9 +3311,9 @@
<literal>class</literal>. <literal>class</literal>.
</para> </para>
</sect1> </section>
<sect1 id="mapping-quotedidentifiers"> <section id="mapping-quotedidentifiers">
<title>SQL quoted identifiers</title> <title>SQL quoted identifiers</title>
<para> <para>
You can force Hibernate to quote an identifier in the generated SQL by enclosing the table or You can force Hibernate to quote an identifier in the generated SQL by enclosing the table or
@ -3335,17 +3328,17 @@
... ...
</class>]]></programlisting> </class>]]></programlisting>
</sect1> </section>
<sect1 id="mapping-alternatives"> <section id="mapping-alternatives">
<title>Metadata alternatives</title> <title>Metadata alternatives</title>
<para> <para>
XML does not suit all users so there are some alternative ways to define O/R mapping metadata in Hibernate. XML does not suit all users so there are some alternative ways to define O/R mapping metadata in Hibernate.
</para> </para>
<sect2 id="mapping-xdoclet"> <section id="mapping-xdoclet">
<title>Using XDoclet markup</title> <title>Using XDoclet markup</title>
<para> <para>
@ -3464,9 +3457,9 @@ public class Cat {
See the Hibernate website for more examples of XDoclet and Hibernate. See the Hibernate website for more examples of XDoclet and Hibernate.
</para> </para>
</sect2> </section>
<sect2 id="mapping-annotations" revision="2"> <section id="mapping-annotations" revision="2">
<title>Using JDK 5.0 Annotations</title> <title>Using JDK 5.0 Annotations</title>
<para> <para>
@ -3515,10 +3508,10 @@ public class Customer implements Serializable {
</para> </para>
</note> </note>
</sect2> </section>
</sect1> </section>
<sect1 id="mapping-generated" revision="1"> <section id="mapping-generated" revision="1">
<title>Generated properties</title> <title>Generated properties</title>
<para> <para>
Generated properties are properties that have their values generated by the Generated properties are properties that have their values generated by the
@ -3552,9 +3545,9 @@ public class Customer implements Serializable {
<literal>always</literal>: the property value is generated both <literal>always</literal>: the property value is generated both
on insert and on update. on insert and on update.
</para> </para>
</sect1> </section>
<sect1 id="mapping-column-read-and-write" revision="1"> <section id="mapping-column-read-and-write" revision="1">
<title>Column read and write expressions</title> <title>Column read and write expressions</title>
<para> <para>
Hibernate allows you to customize the SQL it uses to read and write the values Hibernate allows you to customize the SQL it uses to read and write the values
@ -3590,9 +3583,9 @@ public class Customer implements Serializable {
The <literal>write</literal> expression, if specified, must contain exactly one '?' placeholder The <literal>write</literal> expression, if specified, must contain exactly one '?' placeholder
for the value. for the value.
</para> </para>
</sect1> </section>
<sect1 id="mapping-database-object"> <section id="mapping-database-object">
<title>Auxiliary database objects</title> <title>Auxiliary database objects</title>
<para> <para>
Auxiliary database objects allow for the CREATE and DROP of arbitrary database objects. In conjunction with Auxiliary database objects allow for the CREATE and DROP of arbitrary database objects. In conjunction with
@ -3637,6 +3630,6 @@ public class Customer implements Serializable {
<dialect-scope name="org.hibernate.dialect.Oracle10gDialect"/> <dialect-scope name="org.hibernate.dialect.Oracle10gDialect"/>
</database-object> </database-object>
</hibernate-mapping>]]></programlisting> </hibernate-mapping>]]></programlisting>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="batch"> <chapter id="batch">
<title>Batch processing</title> <title>Batch processing</title>
@ -75,7 +79,7 @@ session.close();]]></programlisting>
<literal>CacheMode</literal> to disable interaction with the second-level cache. <literal>CacheMode</literal> to disable interaction with the second-level cache.
</para> </para>
<sect1 id="batch-inserts"> <section id="batch-inserts">
<title>Batch inserts</title> <title>Batch inserts</title>
<para> <para>
@ -100,9 +104,9 @@ for ( int i=0; i<100000; i++ ) {
tx.commit(); tx.commit();
session.close();]]></programlisting> session.close();]]></programlisting>
</sect1> </section>
<sect1 id="batch-update" > <section id="batch-update" >
<title>Batch updates</title> <title>Batch updates</title>
<para> <para>
@ -131,9 +135,9 @@ while ( customers.next() ) {
tx.commit(); tx.commit();
session.close();]]></programlisting> session.close();]]></programlisting>
</sect1> </section>
<sect1 id="batch-statelesssession"> <section id="batch-statelesssession">
<title>The StatelessSession interface</title> <title>The StatelessSession interface</title>
<para> <para>
Alternatively, Hibernate provides a command-oriented API that can be used for Alternatively, Hibernate provides a command-oriented API that can be used for
@ -180,9 +184,9 @@ session.close();]]></programlisting>
interface. interface.
</para> </para>
</sect1> </section>
<sect1 id="batch-direct" revision="3"> <section id="batch-direct" revision="3">
<title>DML-style operations</title> <title>DML-style operations</title>
<para> <para>
@ -372,6 +376,6 @@ int createdEntities = s.createQuery( hqlInsert )
tx.commit(); tx.commit();
session.close();]]></programlisting> session.close();]]></programlisting>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="best-practices" revision="3"> <chapter id="best-practices" revision="3">
<title>Best Practices</title> <title>Best Practices</title>

View File

@ -1,3 +1,4 @@
<?xml version='1.0' encoding="UTF-8"?>
<!-- <!--
~ Hibernate, Relational Persistence for Idiomatic Java ~ Hibernate, Relational Persistence for Idiomatic Java
~ ~
@ -21,7 +22,11 @@
~ 51 Franklin Street, Fifth Floor ~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE bibliography PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<bibliography> <bibliography>
<title>References</title> <title>References</title>
@ -72,4 +77,4 @@
</publisher> </publisher>
</biblioentry> </biblioentry>
</bibliography> </bibliography>

View File

@ -23,12 +23,16 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="collections"> <chapter id="collections">
<title>Collection mapping</title> <title>Collection mapping</title>
<sect1 id="collections-persistent" revision="3"> <section id="collections-persistent" revision="3">
<title>Persistent collections</title> <title>Persistent collections</title>
<para> <para>
@ -99,9 +103,9 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
the semantics of bidirectional associations (these are discussed later). the semantics of bidirectional associations (these are discussed later).
</para> </para>
</sect1> </section>
<sect1 id="collections-mapping" revision="4"> <section id="collections-mapping" revision="4">
<title>Collection mappings</title> <title>Collection mappings</title>
<tip> <tip>
@ -270,7 +274,7 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
</calloutlist> </calloutlist>
</programlistingco> </programlistingco>
<sect2 id="collections-foreignkeys" > <section id="collections-foreignkeys" >
<title>Collection foreign keys</title> <title>Collection foreign keys</title>
<para> <para>
@ -301,9 +305,9 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
element. element.
</para> </para>
</sect2> </section>
<sect2 id="collections-elements" > <section id="collections-elements" >
<title>Collection elements</title> <title>Collection elements</title>
<para> <para>
@ -324,9 +328,9 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
associations. associations.
</para> </para>
</sect2> </section>
<sect2 id="collections-indexed"> <section id="collections-indexed">
<title>Indexed collections</title> <title>Indexed collections</title>
<para> <para>
@ -439,9 +443,9 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
optionally sorted or ordered. optionally sorted or ordered.
</para> </para>
</sect2> </section>
<sect2 id="collections-ofvalues" revision="2"> <section id="collections-ofvalues" revision="2">
<title>Collections of values and many-to-many associations</title> <title>Collections of values and many-to-many associations</title>
<para> <para>
@ -643,9 +647,9 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
</composite-element> </composite-element>
</list>]]></programlisting> </list>]]></programlisting>
</sect2> </section>
<sect2 id="collections-onetomany"> <section id="collections-onetomany">
<title>One-to-many associations</title> <title>One-to-many associations</title>
<para> <para>
@ -740,14 +744,14 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
<map-key formula="partName"/> <map-key formula="partName"/>
<one-to-many class="Part"/> <one-to-many class="Part"/>
</map>]]></programlisting> </map>]]></programlisting>
</sect2> </section>
</sect1> </section>
<sect1 id="collections-advancedmappings"> <section id="collections-advancedmappings">
<title>Advanced collection mappings</title> <title>Advanced collection mappings</title>
<sect2 id="collections-sorted" revision="2"> <section id="collections-sorted" revision="2">
<title>Sorted collections</title> <title>Sorted collections</title>
<para> <para>
@ -814,9 +818,9 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
<programlisting role="JAVA"><![CDATA[sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();]]></programlisting> <programlisting role="JAVA"><![CDATA[sortedUsers = s.createFilter( group.getUsers(), "order by this.name" ).list();]]></programlisting>
</sect2> </section>
<sect2 id="collections-bidirectional" revision="1"> <section id="collections-bidirectional" revision="1">
<title>Bidirectional associations</title> <title>Bidirectional associations</title>
<para> <para>
@ -925,9 +929,9 @@ session.persist(category); // The relationship will be saved]]></p
affect the operation of cascades as these are orthogonal concepts. affect the operation of cascades as these are orthogonal concepts.
</para> </para>
</sect2> </section>
<sect2 id="collections-indexedbidirectional"> <section id="collections-indexedbidirectional">
<title>Bidirectional associations with indexed collections</title> <title>Bidirectional associations with indexed collections</title>
<para> <para>
A bidirectional association where one end is represented as a <literal>&lt;list&gt;</literal> A bidirectional association where one end is represented as a <literal>&lt;list&gt;</literal>
@ -993,9 +997,9 @@ session.persist(category); // The relationship will be saved]]></p
updates to the foreign key. <!--TODO: Does this really result in some unnecessary update statements?--> updates to the foreign key. <!--TODO: Does this really result in some unnecessary update statements?-->
</para> </para>
</sect2> </section>
<sect2 id="collections-ternary"> <section id="collections-ternary">
<title>Ternary associations</title> <title>Ternary associations</title>
<para> <para>
@ -1024,9 +1028,9 @@ session.persist(category); // The relationship will be saved]]></p
A final alternative is to use composite elements, which will be discussed later. A final alternative is to use composite elements, which will be discussed later.
</para> </para>
</sect2> </section>
<sect2 id="collections-idbag" revision="1"> <section id="collections-idbag" revision="1">
<title><literal>Using an &lt;idbag&gt;</literal></title> <title><literal>Using an &lt;idbag&gt;</literal></title>
<para> <para>
@ -1070,13 +1074,13 @@ session.persist(category); // The relationship will be saved]]></p
strategy is not supported for <literal>&lt;idbag&gt;</literal> collection identifiers. strategy is not supported for <literal>&lt;idbag&gt;</literal> collection identifiers.
</para> </para>
</sect2> </section>
</sect1> </section>
<!--undocumenting this stuff --> <!--undocumenting this stuff -->
<!--sect1 id="collections-heterogeneous"> <!--section id="collections-heterogeneous">
<title>Heterogeneous Associations</title> <title>Heterogeneous Associations</title>
<para> <para>
@ -1086,9 +1090,9 @@ session.persist(category); // The relationship will be saved]]></p
rarely, if ever. rarely, if ever.
</para> </para>
</sect1--> </section-->
<sect1 id="collections-example" revision="1"> <section id="collections-example" revision="1">
<title>Collection examples</title> <title>Collection examples</title>
<para> <para>
@ -1264,6 +1268,6 @@ alter table childset add constraint childsetfk1 (child_id) references child]]></
in the next chapter. in the next chapter.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="components"> <chapter id="components">
<title>Component Mapping</title> <title>Component Mapping</title>
@ -33,7 +37,7 @@
throughout Hibernate. throughout Hibernate.
</para> </para>
<sect1 id="components-dependentobjects" revision="2" > <section id="components-dependentobjects" revision="2" >
<title>Dependent objects</title> <title>Dependent objects</title>
<para> <para>
@ -157,9 +161,9 @@
</component> </component>
</class>]]></programlisting> </class>]]></programlisting>
</sect1> </section>
<sect1 id="components-incollections" revision="1"> <section id="components-incollections" revision="1">
<title>Collections of dependent objects</title> <title>Collections of dependent objects</title>
<para> <para>
@ -258,9 +262,9 @@
associations to other entities. associations to other entities.
</para> </para>
</sect1> </section>
<sect1 id="components-asmapindex"> <section id="components-asmapindex">
<title>Components as Map indices</title> <title>Components as Map indices</title>
<para> <para>
@ -269,9 +273,9 @@
<literal>hashCode()</literal> and <literal>equals()</literal> correctly on <literal>hashCode()</literal> and <literal>equals()</literal> correctly on
the component class. the component class.
</para> </para>
</sect1> </section>
<sect1 id="components-compositeid" revision="1"> <section id="components-compositeid" revision="1">
<title>Components as composite identifiers</title> <title>Components as composite identifiers</title>
<para> <para>
@ -409,9 +413,9 @@
</set> </set>
</class>]]></programlisting> </class>]]></programlisting>
</sect1> </section>
<sect1 id="components-dynamic" revision="1"> <section id="components-dynamic" revision="1">
<title>Dynamic components</title> <title>Dynamic components</title>
<para> <para>
@ -433,6 +437,6 @@
configuration-time metamodel via the <literal>Configuration</literal> object. configuration-time metamodel via the <literal>Configuration</literal> object.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="session-configuration" revision="1"> <chapter id="session-configuration" revision="1">
<title>Configuration</title> <title>Configuration</title>
@ -36,7 +40,7 @@
the various options. Simply put the example file in your classpath and customize it to suit your needs. the various options. Simply put the example file in your classpath and customize it to suit your needs.
</para> </para>
<sect1 id="configuration-programmatic" revision="1"> <section id="configuration-programmatic" revision="1">
<title>Programmatic configuration</title> <title>Programmatic configuration</title>
<para> <para>
@ -122,9 +126,9 @@
be discarded once a <literal>SessionFactory</literal> is created. be discarded once a <literal>SessionFactory</literal> is created.
</para> </para>
</sect1> </section>
<sect1 id="configuration-sessionfactory"> <section id="configuration-sessionfactory">
<title>Obtaining a SessionFactory</title> <title>Obtaining a SessionFactory</title>
<para> <para>
@ -141,9 +145,9 @@
one database. one database.
</para> </para>
</sect1> </section>
<sect1 id="configuration-hibernatejdbc" revision="1"> <section id="configuration-hibernatejdbc" revision="1">
<title>JDBC connections</title> <title>JDBC connections</title>
<para> <para>
@ -248,7 +252,8 @@
The following is an example <filename>hibernate.properties</filename> file for c3p0: The following is an example <filename>hibernate.properties</filename> file for c3p0:
</para> </para>
<programlisting id="c3p0-configuration" revision="1"><![CDATA[hibernate.connection.driver_class = org.postgresql.Driver
<programlisting><![CDATA[hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql://localhost/mydatabase hibernate.connection.url = jdbc:postgresql://localhost/mydatabase
hibernate.connection.username = myuser hibernate.connection.username = myuser
hibernate.connection.password = secret hibernate.connection.password = secret
@ -349,9 +354,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
custom implementation via the <property>hibernate.connection.provider_class</property> property. custom implementation via the <property>hibernate.connection.provider_class</property> property.
</para> </para>
</sect1> </section>
<sect1 id="configuration-optional" revision="1"> <section id="configuration-optional" revision="1">
<title>Optional configuration properties</title> <title>Optional configuration properties</title>
<para> <para>
@ -360,9 +365,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
</para> </para>
<para> <para>
<warning><emphasis>Some of these properties are "system-level" only.</emphasis> System-level properties can <warning><para><emphasis>Some of these properties are "system-level" only.</emphasis> System-level properties can
be set only via <literal>java -Dproperty=value</literal> or <filename>hibernate.properties</filename>. They be set only via <literal>java -Dproperty=value</literal> or <filename>hibernate.properties</filename>. They
<emphasis>cannot</emphasis> be set by the other techniques described above.</warning> <emphasis>cannot</emphasis> be set by the other techniques described above.</para></warning>
</para> </para>
<table frame="topbot" id="configuration-optional-properties" revision="8"> <table frame="topbot" id="configuration-optional-properties" revision="8">
@ -1040,7 +1045,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
</tgroup> </tgroup>
</table> </table>
<sect2 id="configuration-optional-dialects" revision="1"> <section id="configuration-optional-dialects" revision="1">
<title>SQL Dialects</title> <title>SQL Dialects</title>
<para> <para>
@ -1137,9 +1142,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
</tgroup> </tgroup>
</table> </table>
</sect2> </section>
<sect2 id="configuration-optional-outerjoin" revision="4"> <section id="configuration-optional-outerjoin" revision="4">
<title>Outer Join Fetching</title> <title>Outer Join Fetching</title>
<para> <para>
@ -1163,9 +1168,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
See <xref linkend="performance-fetching"/> for more information. See <xref linkend="performance-fetching"/> for more information.
</para> </para>
</sect2> </section>
<sect2 id="configuration-optional-binarystreams" revision="1"> <section id="configuration-optional-binarystreams" revision="1">
<title>Binary Streams</title> <title>Binary Streams</title>
<para> <para>
@ -1176,9 +1181,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
<emphasis>This is a system-level setting only.</emphasis> <emphasis>This is a system-level setting only.</emphasis>
</para> </para>
</sect2> </section>
<sect2 id="configuration-optional-cacheprovider" revision="2"> <section id="configuration-optional-cacheprovider" revision="2">
<title>Second-level and query cache</title> <title>Second-level and query cache</title>
<para> <para>
@ -1188,9 +1193,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
more information. more information.
</para> </para>
</sect2> </section>
<sect2 id="configuration-optional-querysubstitution"> <section id="configuration-optional-querysubstitution">
<title>Query Language Substitution</title> <title>Query Language Substitution</title>
<para> <para>
@ -1211,9 +1216,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
This would allow you to rename the SQL <literal>LOWER</literal> function. This would allow you to rename the SQL <literal>LOWER</literal> function.
</para> </para>
</sect2> </section>
<sect2 id="configuration-optional-statistics" revision="2"> <section id="configuration-optional-statistics" revision="2">
<title>Hibernate statistics</title> <title>Hibernate statistics</title>
<para> <para>
@ -1224,10 +1229,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
<literal>org.hibernate.stats</literal> for more information. <literal>org.hibernate.stats</literal> for more information.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="configuration-logging"> <section id="configuration-logging">
<title>Logging</title> <title>Logging</title>
<para> <para>
@ -1320,9 +1325,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
</para> </para>
</sect1> </section>
<sect1 id="configuration-namingstrategy"> <section id="configuration-namingstrategy">
<title>Implementing a <literal>NamingStrategy</literal></title> <title>Implementing a <literal>NamingStrategy</literal></title>
<para> <para>
@ -1355,9 +1360,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
strategy that might be a useful starting point for some applications. strategy that might be a useful starting point for some applications.
</para> </para>
</sect1> </section>
<sect1 id="configuration-xmlconfig" revision="2"> <section id="configuration-xmlconfig" revision="2">
<title>XML configuration file</title> <title>XML configuration file</title>
<para> <para>
@ -1428,9 +1433,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
.configure("catdb.cfg.xml") .configure("catdb.cfg.xml")
.buildSessionFactory();]]></programlisting> .buildSessionFactory();]]></programlisting>
</sect1> </section>
<sect1 id="configuration-j2ee" revision="1"> <section id="configuration-j2ee" revision="1">
<title>J2EE Application Server integration</title> <title>J2EE Application Server integration</title>
<para> <para>
@ -1493,7 +1498,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
application server shows "connection containment" exceptions. application server shows "connection containment" exceptions.
</para> </para>
<sect2 id="configuration-optional-transactionstrategy" revision="3"> <section id="configuration-optional-transactionstrategy" revision="3">
<title>Transaction strategy configuration</title> <title>Transaction strategy configuration</title>
<para> <para>
@ -1608,9 +1613,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
</tgroup> </tgroup>
</table> </table>
</sect2> </section>
<sect2 id="configuration-optional-jndi" revision="3"> <section id="configuration-optional-jndi" revision="3">
<title>JNDI-bound <literal>SessionFactory</literal></title> <title>JNDI-bound <literal>SessionFactory</literal></title>
<para> <para>
@ -1656,15 +1661,15 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
class is also a convenient way to startup Hibernate&mdash;see chapter 1. class is also a convenient way to startup Hibernate&mdash;see chapter 1.
</para> </para>
</sect2> </section>
<sect2 id="configuration-j2ee-currentsession" revision="4"> <section id="configuration-j2ee-currentsession" revision="4">
<title>Current Session context management with JTA</title> <title>Current Session context management with JTA</title>
<para> <para>
The easiest way to handle <literal>Sessions</literal> and transactions is The easiest way to handle <literal>Sessions</literal> and transactions is
Hibernate's automatic "current" <literal>Session</literal> management. Hibernate's automatic "current" <literal>Session</literal> management.
For a discussion of contextual sessions see <link linkend="architecture-current-session"></link>. For a discussion of contextual sessions see <xref linkend="architecture-current-session"/>.
Using the <literal>"jta"</literal> session context, if there is no Hibernate Using the <literal>"jta"</literal> session context, if there is no Hibernate
<literal>Session</literal> associated with the current JTA transaction, one will <literal>Session</literal> associated with the current JTA transaction, one will
be started and associated with that JTA transaction the first time you call be started and associated with that JTA transaction the first time you call
@ -1681,9 +1686,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
demarcation with CMT is preferred. demarcation with CMT is preferred.
</para> </para>
</sect2> </section>
<sect2 id="configuration-j2ee-jmx" revision="1"> <section id="configuration-j2ee-jmx" revision="1">
<title>JMX deployment</title> <title>JMX deployment</title>
<para> <para>
@ -1754,9 +1759,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]></programlisting>
documentation for more information about JMX service and EJB deployment. documentation for more information about JMX service and EJB deployment.
</para> </para>
</sect2> </section>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="events"> <chapter id="events">
<title>Interceptors and events</title> <title>Interceptors and events</title>
@ -34,7 +38,7 @@
functionality and the extension of Hibernate functionality. functionality and the extension of Hibernate functionality.
</para> </para>
<sect1 id="objectstate-interceptors" revision="3"> <section id="objectstate-interceptors" revision="3">
<title>Interceptors</title> <title>Interceptors</title>
<para> <para>
@ -160,9 +164,9 @@ public class AuditInterceptor extends EmptyInterceptor {
<programlisting role="JAVA"><![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]></programlisting> <programlisting role="JAVA"><![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]></programlisting>
</sect1> </section>
<sect1 id="objectstate-events" revision="4"> <section id="objectstate-events" revision="4">
<title>Event system</title> <title>Event system</title>
<para> <para>
@ -249,9 +253,9 @@ cfg.EventListeners().setLoadEventListeners(stack);]]></programlisting>
or off during configuration. or off during configuration.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-decl-security" revision="2"> <section id="objectstate-decl-security" revision="2">
<title>Hibernate declarative security</title> <title>Hibernate declarative security</title>
<para> <para>
Usually, declarative security in Hibernate applications is managed in a session facade Usually, declarative security in Hibernate applications is managed in a session facade
@ -286,7 +290,7 @@ cfg.EventListeners().setLoadEventListeners(stack);]]></programlisting>
The role names are the roles understood by your JACC provider. The role names are the roles understood by your JACC provider.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="example-mappings"> <chapter id="example-mappings">
<title>Example: Various Mappings</title> <title>Example: Various Mappings</title>
@ -33,7 +37,7 @@
This chapters explores some more complex association mappings. This chapters explores some more complex association mappings.
</para> </para>
<sect1 id="example-mappings-emp"> <section id="example-mappings-emp">
<title>Employer/Employee</title> <title>Employer/Employee</title>
<para> <para>
@ -46,10 +50,10 @@
<mediaobject> <mediaobject>
<imageobject role="html"> <imageobject role="html">
<imagedata fileref="../images/EmployerEmployee.png" format="PNG" align="center" /> <imagedata fileref="images/EmployerEmployee.png" format="PNG" align="center" />
</imageobject> </imageobject>
<imageobject role="fo"> <imageobject role="fo">
<imagedata fileref="../images/EmployerEmployee.png" format="PNG" align="center" width="17cm" /> <imagedata fileref="images/EmployerEmployee.png" format="PNG" align="center" width="17cm" />
</imageobject> </imageobject>
</mediaobject> </mediaobject>
@ -144,9 +148,9 @@ create sequence employee_id_seq
create sequence employment_id_seq create sequence employment_id_seq
create sequence employer_id_seq]]></programlisting> create sequence employer_id_seq]]></programlisting>
</sect1> </section>
<sect1 id="example-mappings-authorwork"> <section id="example-mappings-authorwork">
<title>Author/Work</title> <title>Author/Work</title>
<para> <para>
@ -160,10 +164,10 @@ create sequence employer_id_seq]]></programlisting>
<mediaobject> <mediaobject>
<imageobject role="html"> <imageobject role="html">
<imagedata fileref="../images/AuthorWork.png" format="PNG" align="center" /> <imagedata fileref="images/AuthorWork.png" format="PNG" align="center" />
</imageobject> </imageobject>
<imageobject role="fo"> <imageobject role="fo">
<imagedata fileref="../images/AuthorWork.png" format="PNG" align="center" width="17cm" /> <imagedata fileref="images/AuthorWork.png" format="PNG" align="center" width="17cm" />
</imageobject> </imageobject>
</mediaobject> </mediaobject>
@ -266,9 +270,9 @@ alter table author_work
alter table author_work alter table author_work
add constraint author_workFK1 foreign key (work_id) references works]]></programlisting> add constraint author_workFK1 foreign key (work_id) references works]]></programlisting>
</sect1> </section>
<sect1 id="example-mappings-customerorderproduct"> <section id="example-mappings-customerorderproduct">
<title>Customer/Order/Product</title> <title>Customer/Order/Product</title>
<para> <para>
@ -284,10 +288,10 @@ alter table author_work
<mediaobject> <mediaobject>
<imageobject role="html"> <imageobject role="html">
<imagedata fileref="../images/CustomerOrderProduct.png" format="PNG" align="center" /> <imagedata fileref="images/CustomerOrderProduct.png" format="PNG" align="center" />
</imageobject> </imageobject>
<imageobject role="fo"> <imageobject role="fo">
<imagedata fileref="../images/CustomerOrderProduct.png" format="PNG" align="center" width="17cm" /> <imagedata fileref="images/CustomerOrderProduct.png" format="PNG" align="center" width="17cm" />
</imageobject> </imageobject>
</mediaobject> </mediaobject>
@ -374,9 +378,9 @@ alter table line_items
alter table line_items alter table line_items
add constraint line_itemsFK1 foreign key (order_id) references orders]]></programlisting> add constraint line_itemsFK1 foreign key (order_id) references orders]]></programlisting>
</sect1> </section>
<sect1 id="misc"> <section id="misc">
<title>Miscellaneous example mappings</title> <title>Miscellaneous example mappings</title>
<para> <para>
@ -387,7 +391,7 @@ alter table line_items
<!-- <<para>TODO: put words around this stuff</para>--> <!-- <<para>TODO: put words around this stuff</para>-->
<sect2 id="example-mappings-typed-onetone"> <section id="example-mappings-typed-onetone">
<title>"Typed" one-to-one association</title> <title>"Typed" one-to-one association</title>
<programlisting role="XML"><![CDATA[<class name="Person"> <programlisting role="XML"><![CDATA[<class name="Person">
<id name="name"/> <id name="name"/>
@ -415,9 +419,9 @@ alter table line_items
<property name="state"/> <property name="state"/>
<property name="zip"/> <property name="zip"/>
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
<sect2 id="example-mappings-composite-key"> <section id="example-mappings-composite-key">
<title>Composite key example</title> <title>Composite key example</title>
<programlisting role="XML"><![CDATA[<class name="Customer"> <programlisting role="XML"><![CDATA[<class name="Customer">
@ -532,9 +536,9 @@ alter table line_items
</property> </property>
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
<sect2 id="example-mappings-composite-key-manytomany"> <section id="example-mappings-composite-key-manytomany">
<title>Many-to-many with shared composite key attribute</title> <title>Many-to-many with shared composite key attribute</title>
<programlisting role="XML"><![CDATA[<class name="User" table="`User`"> <programlisting role="XML"><![CDATA[<class name="User" table="`User`">
<composite-id> <composite-id>
@ -571,9 +575,9 @@ alter table line_items
</set> </set>
</class> </class>
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="example-mappings-content-discrimination"> <section id="example-mappings-content-discrimination">
<title>Content based discrimination</title> <title>Content based discrimination</title>
<programlisting role="XML"><![CDATA[<class name="Person" <programlisting role="XML"><![CDATA[<class name="Person"
discriminator-value="P"> discriminator-value="P">
@ -625,9 +629,9 @@ alter table line_items
</subclass> </subclass>
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
<sect2 id="example-mappings-association-alternatekeys" revision="2"> <section id="example-mappings-association-alternatekeys" revision="2">
<title>Associations on alternate keys</title> <title>Associations on alternate keys</title>
<programlisting role="XML"><![CDATA[<class name="Person"> <programlisting role="XML"><![CDATA[<class name="Person">
@ -678,9 +682,9 @@ alter table line_items
<property name="type" not-null="true"/> <property name="type" not-null="true"/>
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="example-parentchild"> <chapter id="example-parentchild">
<title>Example: Parent/Child</title> <title>Example: Parent/Child</title>
@ -41,7 +45,7 @@
</para> </para>
<sect1 id="example-parentchild-collections"> <section id="example-parentchild-collections">
<title>A note about collections</title> <title>A note about collections</title>
<para> <para>
@ -82,9 +86,9 @@
child is bound to the life cycle of the parent. child is bound to the life cycle of the parent.
</para> </para>
</sect1> </section>
<sect1 id="example-parentchild-bidir"> <section id="example-parentchild-bidir">
<title>Bidirectional one-to-many</title> <title>Bidirectional one-to-many</title>
<para> <para>
@ -195,9 +199,9 @@ p.addChild(c);
session.save(c); session.save(c);
session.flush();]]></programlisting> session.flush();]]></programlisting>
</sect1> </section>
<sect1 id="example-parentchild-cascades"> <section id="example-parentchild-cascades">
<title>Cascading life cycle</title> <title>Cascading life cycle</title>
<para> <para>
@ -268,9 +272,9 @@ session.flush();]]></programlisting>
<literal>setParent()</literal>. <literal>setParent()</literal>.
</para> </para>
</sect1> </section>
<sect1 id="example-parentchild-update"> <section id="example-parentchild-update">
<title>Cascades and <literal>unsaved-value</literal></title> <title>Cascades and <literal>unsaved-value</literal></title>
<para> <para>
@ -306,9 +310,9 @@ session.flush();]]></programlisting>
row exists. row exists.
</para> </para>
</sect1> </section>
<sect1 id="example-parentchild-conclusion"> <section id="example-parentchild-conclusion">
<title>Conclusion</title> <title>Conclusion</title>
<para> <para>
@ -323,6 +327,6 @@ session.flush();]]></programlisting>
cannot own collections and they should not be the child of any entity other than the unique parent. cannot own collections and they should not be the child of any entity other than the unique parent.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,12 +23,16 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="example-weblog"> <chapter id="example-weblog">
<title>Example: Weblog Application</title> <title>Example: Weblog Application</title>
<sect1 id="example-weblog-classes"> <section id="example-weblog-classes">
<title>Persistent Classes</title> <title>Persistent Classes</title>
<para> <para>
@ -110,9 +114,9 @@ public class BlogItem {
} }
}]]></programlisting> }]]></programlisting>
</sect1> </section>
<sect1 id="example-weblog-mappings"> <section id="example-weblog-mappings">
<title>Hibernate Mappings</title> <title>Hibernate Mappings</title>
<para> <para>
@ -203,9 +207,9 @@ public class BlogItem {
</hibernate-mapping>]]></programlisting> </hibernate-mapping>]]></programlisting>
</sect1> </section>
<sect1 id="example-weblog-code"> <section id="example-weblog-code">
<title>Hibernate Code</title> <title>Hibernate Code</title>
<para> <para>
@ -451,7 +455,7 @@ public class BlogMain {
} }
}]]></programlisting> }]]></programlisting>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="filters"> <chapter id="filters">
<title>Filtering data</title> <title>Filtering data</title>
@ -34,7 +38,7 @@
enabled or disabled for a particular Hibernate session. enabled or disabled for a particular Hibernate session.
</para> </para>
<sect1 id="objectstate-filters" revision="1"> <section id="objectstate-filters" revision="1">
<title>Hibernate filters</title> <title>Hibernate filters</title>
<para> <para>
@ -167,7 +171,7 @@ List results = session.createQuery("from Employee as e where e.salary > :targetS
particular case. particular case.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,12 +23,16 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="inheritance"> <chapter id="inheritance">
<title>Inheritance mapping</title> <title>Inheritance mapping</title>
<sect1 id="inheritance-strategies" revision="3"> <section id="inheritance-strategies" revision="3">
<title>The three strategies</title> <title>The three strategies</title>
<para> <para>
@ -99,7 +103,7 @@
</hibernate-mapping>]]></programlisting> </hibernate-mapping>]]></programlisting>
<sect2 id="inheritance-tableperclass" > <section id="inheritance-tableperclass" >
<title>Table per class hierarchy</title> <title>Table per class hierarchy</title>
<para> <para>
@ -134,9 +138,9 @@
cannot have <literal>NOT NULL</literal> constraints. cannot have <literal>NOT NULL</literal> constraints.
</para> </para>
</sect2> </section>
<sect2 id="inheritance-tablepersubclass"> <section id="inheritance-tablepersubclass">
<title>Table per subclass</title> <title>Table per subclass</title>
<para> <para>
@ -170,9 +174,9 @@
is actually a one-to-one association. is actually a one-to-one association.
</para> </para>
</sect2> </section>
<sect2 id="inheritance-tablepersubclass-discriminator" revision="2"> <section id="inheritance-tablepersubclass-discriminator" revision="2">
<title>Table per subclass: using a discriminator</title> <title>Table per subclass: using a discriminator</title>
<para> <para>
@ -221,9 +225,9 @@
outer join when querying the superclass. outer join when querying the superclass.
</para> </para>
</sect2> </section>
<sect2 id="inheritance-mixing-tableperclass-tablepersubclass"> <section id="inheritance-mixing-tableperclass-tablepersubclass">
<title>Mixing table per class hierarchy with table per subclass</title> <title>Mixing table per class hierarchy with table per subclass</title>
<para> <para>
@ -260,9 +264,9 @@
<programlisting role="XML"><![CDATA[<many-to-one name="payment" column="PAYMENT_ID" class="Payment"/>]]></programlisting> <programlisting role="XML"><![CDATA[<many-to-one name="payment" column="PAYMENT_ID" class="Payment"/>]]></programlisting>
</sect2> </section>
<sect2 id="inheritance-tableperconcrete" revision="2"> <section id="inheritance-tableperconcrete" revision="2">
<title>Table per concrete class</title> <title>Table per concrete class</title>
<para> <para>
@ -309,9 +313,9 @@
of the superclass. of the superclass.
</para> </para>
</sect2> </section>
<sect2 id="inheritance-tableperconcreate-polymorphism"> <section id="inheritance-tableperconcreate-polymorphism">
<title>Table per concrete class using implicit polymorphism</title> <title>Table per concrete class using implicit polymorphism</title>
<para> <para>
@ -349,7 +353,7 @@
using XML entities using XML entities
(for example, <literal>[ &lt;!ENTITY allproperties SYSTEM "allproperties.xml"&gt; ]</literal> (for example, <literal>[ &lt;!ENTITY allproperties SYSTEM "allproperties.xml"&gt; ]</literal>
in the <literal>DOCTYPE</literal> declaration and in the <literal>DOCTYPE</literal> declaration and
<literal>&amp;allproperties;</literal> in the mapping). <literal>&amp;allproperties&semi;</literal> in the mapping).
</para> </para>
<para> <para>
@ -370,9 +374,9 @@
<column name="PAYMENT_ID"/> <column name="PAYMENT_ID"/>
</any>]]></programlisting> </any>]]></programlisting>
</sect2> </section>
<sect2 id="inheritance-mixingpolymorphism"> <section id="inheritance-mixingpolymorphism">
<title>Mixing implicit polymorphism with other inheritance mappings</title> <title>Mixing implicit polymorphism with other inheritance mappings</title>
<para> <para>
@ -421,11 +425,11 @@
not instances of <literal>NonelectronicTransaction</literal>. not instances of <literal>NonelectronicTransaction</literal>.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="inheritance-limitations"> <section id="inheritance-limitations">
<title>Limitations</title> <title>Limitations</title>
<para> <para>
@ -514,6 +518,6 @@
</tgroup> </tgroup>
</table> </table>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,12 +23,16 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="performance"> <chapter id="performance">
<title>Improving performance</title> <title>Improving performance</title>
<sect1 id="performance-fetching" revision="2"> <section id="performance-fetching" revision="2">
<title>Fetching strategies</title> <title>Fetching strategies</title>
<para> <para>
@ -139,7 +143,7 @@
in any detached instance of a particular class. in any detached instance of a particular class.
</para> </para>
<sect2 id="performance-fetching-lazy"> <section id="performance-fetching-lazy">
<title>Working with lazy associations</title> <title>Working with lazy associations</title>
<para> <para>
@ -198,9 +202,9 @@ Integer accessLevel = (Integer) permissions.get("accounts"); // Error!]]></prog
collections. collections.
</para> </para>
</sect2> </section>
<sect2 id="performance-fetching-custom" revision="4"> <section id="performance-fetching-custom" revision="4">
<title>Tuning fetch strategies</title> <title>Tuning fetch strategies</title>
<para> <para>
@ -278,9 +282,9 @@ Integer accessLevel = (Integer) permissions.get("accounts"); // Error!]]></prog
second-level cache. second-level cache.
</para> </para>
</sect2> </section>
<sect2 id="performance-fetching-proxies" revision="2"> <section id="performance-fetching-proxies" revision="2">
<title>Single-ended association proxies</title> <title>Single-ended association proxies</title>
<para> <para>
@ -427,9 +431,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
will result in immediate proxy initialization. will result in immediate proxy initialization.
</para> </para>
</sect2> </section>
<sect2 id="performance-fetching-initialization" revision="1"> <section id="performance-fetching-initialization" revision="1">
<title>Initializing collections and proxies</title> <title>Initializing collections and proxies</title>
<para> <para>
@ -521,9 +525,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
<programlisting role="JAVA"><![CDATA[s.createFilter( lazyCollection, "").setFirstResult(0).setMaxResults(10).list();]]></programlisting> <programlisting role="JAVA"><![CDATA[s.createFilter( lazyCollection, "").setFirstResult(0).setMaxResults(10).list();]]></programlisting>
</sect2> </section>
<sect2 id="performance-fetching-batch"> <section id="performance-fetching-batch">
<title>Using batch fetching</title> <title>Using batch fetching</title>
<para> <para>
@ -575,9 +579,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
<emphasis>materialized path</emphasis> might be a better option for read-mostly trees. <emphasis>materialized path</emphasis> might be a better option for read-mostly trees.
</para> </para>
</sect2> </section>
<sect2 id="performance-fetching-subselect"> <section id="performance-fetching-subselect">
<title>Using subselect fetching</title> <title>Using subselect fetching</title>
<para> <para>
@ -588,9 +592,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
<!-- TODO: Write more about this --> <!-- TODO: Write more about this -->
</sect2> </section>
<sect2 id="performance-fetching-profiles"> <section id="performance-fetching-profiles">
<title>Fetch profiles</title> <title>Fetch profiles</title>
<para> <para>
@ -657,9 +661,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
styles. See <ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HHH-3414">HHH-3414</ulink> styles. See <ulink url="http://opensource.atlassian.com/projects/hibernate/browse/HHH-3414">HHH-3414</ulink>
for details. for details.
</para> </para>
</sect2> </section>
<sect2 id="performance-fetching-lazyproperties"> <section id="performance-fetching-lazyproperties">
<title>Using lazy property fetching</title> <title>Using lazy property fetching</title>
<para> <para>
@ -721,10 +725,10 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
properties</literal> in HQL. properties</literal> in HQL.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="performance-cache" revision="1"> <section id="performance-cache" revision="1">
<title>The Second Level Cache</title> <title>The Second Level Cache</title>
<para> <para>
@ -809,7 +813,7 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
</tgroup> </tgroup>
</table> </table>
<sect2 id="performance-cache-mapping" revision="2"> <section id="performance-cache-mapping" revision="2">
<title>Cache mappings</title> <title>Cache mappings</title>
<para> <para>
@ -865,9 +869,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
The <literal>usage</literal> attribute specifies a <emphasis>cache concurrency strategy</emphasis>. The <literal>usage</literal> attribute specifies a <emphasis>cache concurrency strategy</emphasis>.
</para> </para>
</sect2> </section>
<sect2 id="performance-cache-readonly"> <section id="performance-cache-readonly">
<title>Strategy: read only</title> <title>Strategy: read only</title>
<para> <para>
@ -881,10 +885,10 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
.... ....
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
<sect2 id="performance-cache-readwrite"> <section id="performance-cache-readwrite">
<title>Strategy: read/write</title> <title>Strategy: read/write</title>
<para> <para>
@ -907,9 +911,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
</set> </set>
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
<sect2 id="performance-cache-nonstrict"> <section id="performance-cache-nonstrict">
<title>Strategy: nonstrict read/write</title> <title>Strategy: nonstrict read/write</title>
<para> <para>
@ -921,9 +925,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
<literal>Session.close()</literal> or <literal>Session.disconnect()</literal> is called. <literal>Session.close()</literal> or <literal>Session.disconnect()</literal> is called.
</para> </para>
</sect2> </section>
<sect2 id="performance-cache-transactional"> <section id="performance-cache-transactional">
<title>Strategy: transactional</title> <title>Strategy: transactional</title>
<para> <para>
@ -932,9 +936,9 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
specify <literal>hibernate.transaction.manager_lookup_class</literal>. specify <literal>hibernate.transaction.manager_lookup_class</literal>.
</para> </para>
</sect2> </section>
<sect2 id="performance-cache-compat-matrix"> <section id="performance-cache-compat-matrix">
<title>Cache-provider/concurrency-strategy compatibility</title> <title>Cache-provider/concurrency-strategy compatibility</title>
<important> <important>
@ -1011,11 +1015,11 @@ Cat fritz = (Cat) iter.next();]]></programlisting>
</tgroup> </tgroup>
</table> </table>
</sect2> </section>
</sect1> </section>
<sect1 id="performance-sessioncache" revision="2"> <section id="performance-sessioncache" revision="2">
<title>Managing the caches</title> <title>Managing the caches</title>
<para> <para>
@ -1109,9 +1113,9 @@ sessionFactory.evictCollection("Cat.kittens"); //evict all kitten collections]]>
<programlisting><![CDATA[hibernate.generate_statistics true <programlisting><![CDATA[hibernate.generate_statistics true
hibernate.cache.use_structured_entries true]]></programlisting> hibernate.cache.use_structured_entries true]]></programlisting>
</sect1> </section>
<sect1 id="performance-querycache" revision="1"> <section id="performance-querycache" revision="1">
<title>The Query Cache</title> <title>The Query Cache</title>
<para> <para>
@ -1119,7 +1123,7 @@ hibernate.cache.use_structured_entries true]]></programlisting>
frequently with the same parameters. frequently with the same parameters.
</para> </para>
<sect2 id="performance-querycache-enable"> <section id="performance-querycache-enable">
<title>Enabling query caching</title> <title>Enabling query caching</title>
<para> <para>
Caching of query results introduces some overhead in terms of your applications normal Caching of query results introduces some overhead in terms of your applications normal
@ -1175,9 +1179,9 @@ hibernate.cache.use_structured_entries true]]></programlisting>
collection caching). collection caching).
</para> </para>
</note> </note>
</sect2> </section>
<sect2 id="performance-querycache-regions"> <section id="performance-querycache-regions">
<title>Query cache regions</title> <title>Query cache regions</title>
<para> <para>
If you require fine-grained control over query cache expiration policies, you can If you require fine-grained control over query cache expiration policies, you can
@ -1201,10 +1205,10 @@ hibernate.cache.use_structured_entries true]]></programlisting>
efficient alternative to bulk eviction of the region via efficient alternative to bulk eviction of the region via
<literal>org.hibernate.SessionFactory.evictQueries()</literal>. <literal>org.hibernate.SessionFactory.evictQueries()</literal>.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="performance-collections"> <section id="performance-collections">
<title>Understanding Collection performance</title> <title>Understanding Collection performance</title>
<para> <para>
@ -1213,7 +1217,7 @@ hibernate.cache.use_structured_entries true]]></programlisting>
collections at runtime. collections at runtime.
</para> </para>
<sect2 id="performance-collections-taxonomy"> <section id="performance-collections-taxonomy">
<title>Taxonomy</title> <title>Taxonomy</title>
<para>Hibernate defines three basic kinds of collections:</para> <para>Hibernate defines three basic kinds of collections:</para>
@ -1290,9 +1294,9 @@ hibernate.cache.use_structured_entries true]]></programlisting>
collection. collection.
</para> </para>
</sect2> </section>
<sect2 id="performance-collections-mostefficientupdate"> <section id="performance-collections-mostefficientupdate">
<title>Lists, maps, idbags and sets are the most efficient collections to update</title> <title>Lists, maps, idbags and sets are the most efficient collections to update</title>
<para> <para>
@ -1325,9 +1329,9 @@ hibernate.cache.use_structured_entries true]]></programlisting>
considerations of collection update performance simply do not apply. considerations of collection update performance simply do not apply.
</para> </para>
</sect2> </section>
<sect2 id="performance-collections-mostefficentinverse"> <section id="performance-collections-mostefficentinverse">
<title>Bags and lists are the most efficient inverse collections</title> <title>Bags and lists are the most efficient inverse collections</title>
<para> <para>
@ -1346,9 +1350,9 @@ c.setParent(p);
p.getChildren().add(c); //no need to fetch the collection! p.getChildren().add(c); //no need to fetch the collection!
sess.flush();]]></programlisting> sess.flush();]]></programlisting>
</sect2> </section>
<sect2 id="performance-collections-oneshotdelete"> <section id="performance-collections-oneshotdelete">
<title>One shot delete</title> <title>One shot delete</title>
<para> <para>
@ -1395,11 +1399,11 @@ sess.flush();]]></programlisting>
One-shot-delete does not apply to collections mapped <literal>inverse="true"</literal>. One-shot-delete does not apply to collections mapped <literal>inverse="true"</literal>.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="performance-monitoring" revision="1"> <section id="performance-monitoring" revision="1">
<title>Monitoring performance</title> <title>Monitoring performance</title>
<para> <para>
@ -1408,7 +1412,7 @@ sess.flush();]]></programlisting>
Statistics in Hibernate are available per <literal>SessionFactory</literal>. Statistics in Hibernate are available per <literal>SessionFactory</literal>.
</para> </para>
<sect2 id="performance-monitoring-sf" revision="2"> <section id="performance-monitoring-sf" revision="2">
<title>Monitoring a SessionFactory</title> <title>Monitoring a SessionFactory</title>
<para> <para>
@ -1469,9 +1473,9 @@ server.registerMBean(stats, on); // Register the MBean on the server]]></program
method. method.
</para> </para>
</sect2> </section>
<sect2 id="performance-monitoring-metrics" revision="1"> <section id="performance-monitoring-metrics" revision="1">
<title>Metrics</title> <title>Metrics</title>
<para> <para>
@ -1542,8 +1546,8 @@ log.info(Cat.class.getName() + " changed " + changes + "times" );]]></programli
<literal>getSecondLevelCacheRegionNames()</literal>. <literal>getSecondLevelCacheRegionNames()</literal>.
</para> </para>
</sect2> </section>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="persistent-classes" revision="2"> <chapter id="persistent-classes" revision="2">
<title>Persistent Classes</title> <title>Persistent Classes</title>
@ -43,7 +47,7 @@
ways (using trees of <literal>Map</literal> instances, for example). ways (using trees of <literal>Map</literal> instances, for example).
</para> </para>
<sect1 id="persistent-classes-pojo"> <section id="persistent-classes-pojo">
<title>A simple POJO example</title> <title>A simple POJO example</title>
<para> <para>
@ -134,7 +138,7 @@ public class Cat {
</para> </para>
<sect2 id="persistent-classes-pojo-constructor" revision="1"> <section id="persistent-classes-pojo-constructor" revision="1">
<title>Implement a no-argument constructor</title> <title>Implement a no-argument constructor</title>
<para> <para>
@ -144,9 +148,9 @@ public class Cat {
default constructor with at least <emphasis>package</emphasis> visibility for runtime proxy default constructor with at least <emphasis>package</emphasis> visibility for runtime proxy
generation in Hibernate. generation in Hibernate.
</para> </para>
</sect2> </section>
<sect2 id="persistent-classes-pojo-identifier" revision="2"> <section id="persistent-classes-pojo-identifier" revision="2">
<title>Provide an identifier property (optional)</title> <title>Provide an identifier property (optional)</title>
<para> <para>
@ -191,9 +195,9 @@ public class Cat {
We recommend that you declare consistently-named identifier properties on persistent We recommend that you declare consistently-named identifier properties on persistent
classes and that you use a nullable (i.e., non-primitive) type. classes and that you use a nullable (i.e., non-primitive) type.
</para> </para>
</sect2> </section>
<sect2 id="persistent-classes-pojo-final"> <section id="persistent-classes-pojo-final">
<title>Prefer non-final classes (optional)</title> <title>Prefer non-final classes (optional)</title>
<para> <para>
A central feature of Hibernate, <emphasis>proxies</emphasis>, depends upon the A central feature of Hibernate, <emphasis>proxies</emphasis>, depends upon the
@ -210,9 +214,9 @@ public class Cat {
non-final classes. If you want to use a class with a <literal>public final</literal> non-final classes. If you want to use a class with a <literal>public final</literal>
method, you must explicitly disable proxying by setting <literal>lazy="false"</literal>. method, you must explicitly disable proxying by setting <literal>lazy="false"</literal>.
</para> </para>
</sect2> </section>
<sect2 id="persistent-classes-pojo-accessors" revision="2"> <section id="persistent-classes-pojo-accessors" revision="2">
<title>Declare accessors and mutators for persistent fields (optional)</title> <title>Declare accessors and mutators for persistent fields (optional)</title>
<para> <para>
@ -231,11 +235,11 @@ public class Cat {
<literal>private</literal> get / set pair. <literal>private</literal> get / set pair.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="persistent-classes-inheritance"> <section id="persistent-classes-inheritance">
<title>Implementing inheritance</title> <title>Implementing inheritance</title>
<para> <para>
@ -255,9 +259,9 @@ public class DomesticCat extends Cat {
this.name=name; this.name=name;
} }
}]]></programlisting> }]]></programlisting>
</sect1> </section>
<sect1 id="persistent-classes-equalshashcode" revision="1"> <section id="persistent-classes-equalshashcode" revision="1">
<title>Implementing <literal>equals()</literal> and <literal>hashCode()</literal></title> <title>Implementing <literal>equals()</literal> and <literal>hashCode()</literal></title>
<para> <para>
@ -340,9 +344,9 @@ public class DomesticCat extends Cat {
candidates for a business key. candidates for a business key.
</para> </para>
</sect1> </section>
<sect1 id="persistent-classes-dynamicmodels"> <section id="persistent-classes-dynamicmodels">
<title>Dynamic models</title> <title>Dynamic models</title>
@ -485,9 +489,9 @@ dynamicSession.close()
in <xref linkend="xml"/>. in <xref linkend="xml"/>.
</para> </para>
</sect1> </section>
<sect1 id="persistent-classes-tuplizers" revision="1"> <section id="persistent-classes-tuplizers" revision="1">
<title>Tuplizers</title> <title>Tuplizers</title>
<para> <para>
@ -554,10 +558,10 @@ public class CustomMapTuplizerImpl
}]]></programlisting> }]]></programlisting>
</sect1> </section>
<sect1 id="persistent-classes-entity-name-resolver" revision="0"> <section id="persistent-classes-entity-name-resolver" revision="0">
<title>EntityNameResolvers</title> <title>EntityNameResolvers</title>
<para> <para>
@ -701,7 +705,7 @@ public class MyEntityTuplizer extends PojoEntityTuplizer {
</listitem> </listitem>
</orderedlist> </orderedlist>
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -20,12 +20,17 @@
~ 51 Franklin Street, Fifth Floor ~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="portability"> <chapter id="portability">
<title>Database Portability Considerations</title> <title>Database Portability Considerations</title>
<sect1 id="portability-basics"> <section id="portability-basics">
<title>Portability Basics</title> <title>Portability Basics</title>
<para> <para>
@ -36,9 +41,9 @@
the exact scenario, the basic idea is that you want Hibernate to help you run against any number the exact scenario, the basic idea is that you want Hibernate to help you run against any number
of databases without changes to your code, and ideally without any changes to the mapping metadata. of databases without changes to your code, and ideally without any changes to the mapping metadata.
</para> </para>
</sect1> </section>
<sect1 id="portability-dialect"> <section id="portability-dialect">
<title>Dialect</title> <title>Dialect</title>
<para> <para>
@ -49,9 +54,9 @@
of dialects for many of the most popular databases. If you find that your particular database is of dialects for many of the most popular databases. If you find that your particular database is
not among them, it is not terribly difficult to write your own. not among them, it is not terribly difficult to write your own.
</para> </para>
</sect1> </section>
<sect1 id="portability-dialectresolver"> <section id="portability-dialectresolver">
<title>Dialect resolution</title> <title>Dialect resolution</title>
<para> <para>
@ -92,9 +97,9 @@
<constant>DIALECT_RESOLVERS</constant> constant on <constant>DIALECT_RESOLVERS</constant> constant on
<classname>org.hibernate.cfg.Environment</classname>). <classname>org.hibernate.cfg.Environment</classname>).
</para> </para>
</sect1> </section>
<sect1 id="portability-idgen"> <section id="portability-idgen">
<title>Identifier generation</title> <title>Identifier generation</title>
<para> <para>
@ -148,9 +153,9 @@
<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> mimics the behavior of <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> mimics the behavior of
a sequence on databases which do not support sequences by using a table. a sequence on databases which do not support sequences by using a table.
</para> </para>
</sect1> </section>
<sect1 id="portability-functions"> <section id="portability-functions">
<title>Database functions</title> <title>Database functions</title>
<warning> <warning>
@ -181,9 +186,9 @@
</para> </para>
</important> </important>
</para> </para>
</sect1> </section>
<sect1 id="portability-types"> <section id="portability-types">
<title>Type mappings</title> <title>Type mappings</title>
<para> <para>
@ -192,13 +197,13 @@
<!-- <!--
todo : todo :
<sect2 id="portability-types-lobs"> <section id="portability-types-lobs">
<title>BLOB/CLOB mappings</title> <title>BLOB/CLOB mappings</title>
</sect2> </section>
<sect2 id="portability-types-bool"> <section id="portability-types-bool">
<title>Boolean mappings</title> <title>Boolean mappings</title>
</sect2> </section>
--> -->
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE preface PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<preface id="preface"> <preface id="preface">
<title>Preface</title> <title>Preface</title>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="querycriteria"> <chapter id="querycriteria">
<title>Criteria Queries</title> <title>Criteria Queries</title>
@ -32,7 +36,7 @@
Hibernate features an intuitive, extensible criteria query API. Hibernate features an intuitive, extensible criteria query API.
</para> </para>
<sect1 id="querycriteria-creating"> <section id="querycriteria-creating">
<title>Creating a <literal>Criteria</literal> instance</title> <title>Creating a <literal>Criteria</literal> instance</title>
<para> <para>
@ -45,9 +49,9 @@
crit.setMaxResults(50); crit.setMaxResults(50);
List cats = crit.list();]]></programlisting> List cats = crit.list();]]></programlisting>
</sect1> </section>
<sect1 id="querycriteria-narrowing"> <section id="querycriteria-narrowing">
<title>Narrowing the result set</title> <title>Narrowing the result set</title>
<para> <para>
@ -117,9 +121,9 @@ List cats = sess.createCriteria(Cat.class)
.add( Property.forName("name").in( new String[] { "Fritz", "Izi", "Pk" } ) ) .add( Property.forName("name").in( new String[] { "Fritz", "Izi", "Pk" } ) )
.list();]]></programlisting> .list();]]></programlisting>
</sect1> </section>
<sect1 id="querycriteria-ordering"> <section id="querycriteria-ordering">
<title>Ordering the results</title> <title>Ordering the results</title>
<para> <para>
@ -140,9 +144,9 @@ List cats = sess.createCriteria(Cat.class)
.setMaxResults(50) .setMaxResults(50)
.list();]]></programlisting> .list();]]></programlisting>
</sect1> </section>
<sect1 id="querycriteria-associations" revision="2"> <section id="querycriteria-associations" revision="2">
<title>Associations</title> <title>Associations</title>
<para> <para>
@ -224,9 +228,9 @@ while ( iter.hasNext() ) {
<para> <para>
Thirdly, in memory; the lists would need to be joined manually. Thirdly, in memory; the lists would need to be joined manually.
</para> </para>
</sect1> </section>
<sect1 id="querycriteria-dynamicfetching" revision="1"> <section id="querycriteria-dynamicfetching" revision="1">
<title>Dynamic association fetching</title> <title>Dynamic association fetching</title>
<para> <para>
@ -245,9 +249,9 @@ while ( iter.hasNext() ) {
by outer join. See <xref linkend="performance-fetching"/> for more information. by outer join. See <xref linkend="performance-fetching"/> for more information.
</para> </para>
</sect1> </section>
<sect1 id="querycriteria-examples"> <section id="querycriteria-examples">
<title>Example queries</title> <title>Example queries</title>
<para> <para>
@ -290,9 +294,9 @@ List results = session.createCriteria(Cat.class)
.add( Example.create( cat.getMate() ) ) .add( Example.create( cat.getMate() ) )
.list();]]></programlisting> .list();]]></programlisting>
</sect1> </section>
<sect1 id="querycriteria-projection"> <section id="querycriteria-projection">
<title>Projections, aggregation and grouping</title> <title>Projections, aggregation and grouping</title>
<para> <para>
The class <literal>org.hibernate.criterion.Projections</literal> is a The class <literal>org.hibernate.criterion.Projections</literal> is a
@ -384,9 +388,9 @@ List results = session.createCriteria(Cat.class)
.addOrder( Order.desc("avgWeight") ) .addOrder( Order.desc("avgWeight") )
.list();]]></programlisting> .list();]]></programlisting>
</sect1> </section>
<sect1 id="querycriteria-detachedqueries"> <section id="querycriteria-detachedqueries">
<title>Detached queries and subqueries</title> <title>Detached queries and subqueries</title>
<para> <para>
The <literal>DetachedCriteria</literal> class allows you to create a query outside the scope The <literal>DetachedCriteria</literal> class allows you to create a query outside the scope
@ -431,13 +435,13 @@ session.createCriteria(Cat.class, "cat")
.add( Property.forName("weight").gt(avgWeightForSex) ) .add( Property.forName("weight").gt(avgWeightForSex) )
.list();]]></programlisting> .list();]]></programlisting>
</sect1> </section>
<!--TODO: ResultSetTransformer + aliasing. AliasToBeanTransformer allow returning arbitrary <!--TODO: ResultSetTransformer + aliasing. AliasToBeanTransformer allow returning arbitrary
user objects - similar to setResultClass in JDO2. General use of ResultTransformer user objects - similar to setResultClass in JDO2. General use of ResultTransformer
could also be explained. --> could also be explained. -->
<sect1 id="query-criteria-naturalid"> <section id="query-criteria-naturalid">
<title>Queries by natural identifier</title> <title>Queries by natural identifier</title>
<para> <para>
@ -483,6 +487,6 @@ session.createCriteria(Cat.class, "cat")
).setCacheable(true) ).setCacheable(true)
.uniqueResult();]]></programlisting> .uniqueResult();]]></programlisting>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="queryhql" revision="1"> <chapter id="queryhql" revision="1">
<title>HQL: The Hibernate Query Language</title> <title>HQL: The Hibernate Query Language</title>
@ -34,7 +38,7 @@
and understands notions like inheritance, polymorphism and association. and understands notions like inheritance, polymorphism and association.
</para> </para>
<sect1 id="queryhql-casesensitivity"> <section id="queryhql-casesensitivity">
<title>Case Sensitivity</title> <title>Case Sensitivity</title>
<para> <para>
@ -53,9 +57,9 @@
more readable, but this convention is unsuitable for queries embedded in Java code. more readable, but this convention is unsuitable for queries embedded in Java code.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-from"> <section id="queryhql-from">
<title>The from clause</title> <title>The from clause</title>
<para> <para>
@ -101,9 +105,9 @@
(e.g. <literal>domesticCat</literal>). (e.g. <literal>domesticCat</literal>).
</para> </para>
</sect1> </section>
<sect1 id="queryhql-joins" revision="2"> <section id="queryhql-joins" revision="2">
<title>Associations and joins</title> <title>Associations and joins</title>
<para> <para>
@ -213,9 +217,9 @@
<programlisting><![CDATA[from Document fetch all properties order by name]]></programlisting> <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> <programlisting><![CDATA[from Document doc fetch all properties where lower(doc.name) like '%cats%']]></programlisting>
</sect1> </section>
<sect1 id="queryhql-joins-forms"> <section id="queryhql-joins-forms">
<title>Forms of join syntax</title> <title>Forms of join syntax</title>
<para> <para>
@ -235,9 +239,9 @@
</para> </para>
<programlisting><![CDATA[from Cat as cat where cat.mate.name like '%s%']]></programlisting> <programlisting><![CDATA[from Cat as cat where cat.mate.name like '%s%']]></programlisting>
</sect1> </section>
<sect1 id="queryhql-identifier-property"> <section id="queryhql-identifier-property">
<title>Referring to identifier property</title> <title>Referring to identifier property</title>
<para> <para>
@ -274,9 +278,9 @@
</para> </para>
</important> </important>
</sect1> </section>
<sect1 id="queryhql-select"> <section id="queryhql-select">
<title>The select clause</title> <title>The select clause</title>
<para> <para>
@ -351,9 +355,9 @@ from Cat cat]]></programlisting>
This query returns a <literal>Map</literal> from aliases to selected values. This query returns a <literal>Map</literal> from aliases to selected values.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-aggregation"> <section id="queryhql-aggregation">
<title>Aggregate functions</title> <title>Aggregate functions</title>
<para> <para>
@ -416,9 +420,9 @@ group by cat.id, cat.weight]]></programlisting>
select count(distinct cat.name), count(cat) from Cat cat]]></programlisting> select count(distinct cat.name), count(cat) from Cat cat]]></programlisting>
</sect1> </section>
<sect1 id="queryhql-polymorphism"> <section id="queryhql-polymorphism">
<title>Polymorphic queries</title> <title>Polymorphic queries</title>
<para> <para>
@ -450,9 +454,9 @@ select count(distinct cat.name), count(cat) from Cat cat]]></programlisting>
It also means you cannot call these queries using <literal>Query.scroll()</literal>. It also means you cannot call these queries using <literal>Query.scroll()</literal>.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-where" revision="1"> <section id="queryhql-where" revision="1">
<title>The where clause</title> <title>The where clause</title>
<para> <para>
@ -577,9 +581,9 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]></programlisting
would refer to the values of completely different database columns in the above query. would refer to the values of completely different database columns in the above query.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-expressions"> <section id="queryhql-expressions">
<title>Expressions</title> <title>Expressions</title>
<para> <para>
@ -870,9 +874,9 @@ WHERE prod.name = 'widget'
AND cust.current_order = o.id AND cust.current_order = o.id
)]]></programlisting> )]]></programlisting>
</sect1> </section>
<sect1 id="queryhql-ordering"> <section id="queryhql-ordering">
<title>The order by clause</title> <title>The order by clause</title>
<para> <para>
@ -886,9 +890,9 @@ order by cat.name asc, cat.weight desc, cat.birthdate]]></programlisting>
The optional <literal>asc</literal> or <literal>desc</literal> indicate ascending or descending order The optional <literal>asc</literal> or <literal>desc</literal> indicate ascending or descending order
respectively. respectively.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-grouping" revision="1"> <section id="queryhql-grouping" revision="1">
<title>The group by clause</title> <title>The group by clause</title>
<para> <para>
@ -934,9 +938,9 @@ order by count(kitten) asc, sum(kitten.weight) desc]]></programlisting>
non-aggregated properties explicitly. non-aggregated properties explicitly.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-subqueries" revision="3"> <section id="queryhql-subqueries" revision="3">
<title>Subqueries</title> <title>Subqueries</title>
<para> <para>
@ -977,9 +981,9 @@ from Cat as cat]]></programlisting>
<xref linkend="queryhql-tuple"/> for more information. <xref linkend="queryhql-tuple"/> for more information.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-examples"> <section id="queryhql-examples">
<title>HQL examples</title> <title>HQL examples</title>
<para> <para>
@ -1100,9 +1104,9 @@ where :currentUser = user
and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID) and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, PaymentStatus.UNPAID)
order by account.type.sortOrder, account.accountNumber, payment.dueDate]]></programlisting> order by account.type.sortOrder, account.accountNumber, payment.dueDate]]></programlisting>
</sect1> </section>
<sect1 id="queryhql-bulk" revision="2"> <section id="queryhql-bulk" revision="2">
<title>Bulk update and delete</title> <title>Bulk update and delete</title>
<para> <para>
@ -1110,9 +1114,9 @@ order by account.type.sortOrder, account.accountNumber, payment.dueDate]]></prog
<literal>insert ... select ...</literal> statements. <literal>insert ... select ...</literal> statements.
See <xref linkend="batch-direct"/> for more information. See <xref linkend="batch-direct"/> for more information.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-tipstricks"> <section id="queryhql-tipstricks">
<title>Tips &amp; Tricks</title> <title>Tips &amp; Tricks</title>
<para> <para>
@ -1190,9 +1194,9 @@ Collection counts = s.filter( collection, "select this.type, count(this) group b
<programlisting role="JAVA"><![CDATA[( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue();]]></programlisting> <programlisting role="JAVA"><![CDATA[( (Integer) session.createQuery("select count(*) from ....").iterate().next() ).intValue();]]></programlisting>
</sect1> </section>
<sect1 id="queryhql-components"> <section id="queryhql-components">
<title>Components</title> <title>Components</title>
<para> <para>
@ -1221,9 +1225,9 @@ Collection counts = s.filter( collection, "select this.type, count(this) group b
<para> <para>
Another common use of components is in <link linkend="queryhql-tuple">row value constructors</link>. Another common use of components is in <link linkend="queryhql-tuple">row value constructors</link>.
</para> </para>
</sect1> </section>
<sect1 id="queryhql-tuple"> <section id="queryhql-tuple">
<title>Row value constructor syntax</title> <title>Row value constructor syntax</title>
<para> <para>
@ -1263,7 +1267,7 @@ where not ( cat.name, cat.color ) in (
be dependent upon the ordering of the component sub-properties in the metadata. be dependent upon the ordering of the component sub-properties in the metadata.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="querysql" revision="2"> <chapter id="querysql" revision="2">
<title>Native SQL</title> <title>Native SQL</title>
@ -37,7 +41,7 @@
<para>Hibernate3 allows you to specify handwritten SQL, including stored <para>Hibernate3 allows you to specify handwritten SQL, including stored
procedures, for all create, update, delete, and load operations.</para> procedures, for all create, update, delete, and load operations.</para>
<sect1 id="querysql-creating" revision="4"> <section id="querysql-creating" revision="4">
<title>Using a <literal>SQLQuery</literal></title> <title>Using a <literal>SQLQuery</literal></title>
<para>Execution of native SQL queries is controlled via the <para>Execution of native SQL queries is controlled via the
@ -45,7 +49,7 @@
<literal>Session.createSQLQuery()</literal>. The following sections describe how <literal>Session.createSQLQuery()</literal>. The following sections describe how
to use this API for querying.</para> to use this API for querying.</para>
<sect2> <section>
<title>Scalar queries</title> <title>Scalar queries</title>
<para>The most basic SQL query is to get a list of scalars <para>The most basic SQL query is to get a list of scalars
@ -108,9 +112,9 @@ sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").list();
not mapped, or does not result in the expected type, it is possible to not mapped, or does not result in the expected type, it is possible to
customize it via calls to <literal>registerHibernateType</literal> in customize it via calls to <literal>registerHibernateType</literal> in
the Dialect.</para> the Dialect.</para>
</sect2> </section>
<sect2> <section>
<title>Entity queries</title> <title>Entity queries</title>
<para>The above queries were all about returning scalar values, <para>The above queries were all about returning scalar values,
@ -150,9 +154,9 @@ sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").addEntity(Cat.class)
]]></programlisting> ]]></programlisting>
<para>This will allow cat.getDog() to function properly.</para> <para>This will allow cat.getDog() to function properly.</para>
</sect2> </section>
<sect2> <section>
<title>Handling associations and collections</title> <title>Handling associations and collections</title>
<para>It is possible to eagerly join in the <literal>Dog</literal> to <para>It is possible to eagerly join in the <literal>Dog</literal> to
@ -183,9 +187,9 @@ sess.createSQLQuery("SELECT ID, NAME, BIRTHDATE FROM CATS").addEntity(Cat.class)
enhance the sql queries to make them usable in Hibernate. Problems can arise when returning enhance the sql queries to make them usable in Hibernate. Problems can arise when returning
multiple entities of the same type or when the default alias/column names are not enough. multiple entities of the same type or when the default alias/column names are not enough.
</para> </para>
</sect2> </section>
<sect2> <section>
<title>Returning multiple entities</title> <title>Returning multiple entities</title>
<para>Until now, the result set column names are assumed to be the same <para>Until now, the result set column names are assumed to be the same
@ -251,7 +255,7 @@ List loggedCats = sess.createSQLQuery(sql)
.addEntity("mother", Cat.class).list() .addEntity("mother", Cat.class).list()
]]></programlisting> ]]></programlisting>
<sect3 id="querysql-aliasreferences" revision="2"> <section id="querysql-aliasreferences" revision="2">
<title>Alias and property references</title> <title>Alias and property references</title>
<para>In most cases the above alias injection is needed. For <para>In most cases the above alias injection is needed. For
@ -368,10 +372,10 @@ List loggedCats = sess.createSQLQuery(sql)
</tbody> </tbody>
</tgroup> </tgroup>
</table> </table>
</sect3> </section>
</sect2> </section>
<sect2> <section>
<title>Returning non-managed entities</title> <title>Returning non-managed entities</title>
<para>It is possible to apply a ResultTransformer to native SQL queries, allowing it to return non-managed entities.</para> <para>It is possible to apply a ResultTransformer to native SQL queries, allowing it to return non-managed entities.</para>
@ -395,17 +399,17 @@ List loggedCats = sess.createSQLQuery(sql)
The above query will return a list of <literal>CatDTO</literal> which has been instantiated and injected the values of NAME and BIRTHNAME into its corresponding The above query will return a list of <literal>CatDTO</literal> which has been instantiated and injected the values of NAME and BIRTHNAME into its corresponding
properties or fields. properties or fields.
</para> </para>
</sect2> </section>
<sect2> <section>
<title>Handling inheritance</title> <title>Handling inheritance</title>
<para>Native SQL queries which query for entities that are mapped as part <para>Native SQL queries which query for entities that are mapped as part
of an inheritance must include all properties for the baseclass and all of an inheritance must include all properties for the baseclass and all
its subclasses.</para> its subclasses.</para>
</sect2> </section>
<sect2> <section>
<title>Parameters</title> <title>Parameters</title>
<para>Native SQL queries support positional as well as named <para>Native SQL queries support positional as well as named
@ -416,13 +420,13 @@ List pusList = query.setString(0, "Pus%").list();
query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like :name").addEntity(Cat.class); query = sess.createSQLQuery("SELECT * FROM CATS WHERE NAME like :name").addEntity(Cat.class);
List pusList = query.setString("name", "Pus%").list(); ]]></programlisting> List pusList = query.setString("name", "Pus%").list(); ]]></programlisting>
</sect2> </section>
</sect1> </section>
<sect1 id="querysql-namedqueries" revision="3"> <section id="querysql-namedqueries" revision="3">
<title>Named SQL queries</title> <title>Named SQL queries</title>
<para>Named SQL queries can be defined in the mapping document and called <para>Named SQL queries can be defined in the mapping document and called
@ -509,7 +513,7 @@ List pusList = query.setString("name", "Pus%").list(); ]]></programlist
.setResultSetMapping("catAndKitten") .setResultSetMapping("catAndKitten")
.list();]]></programlisting> .list();]]></programlisting>
<sect2 id="propertyresults"> <section id="propertyresults">
<title>Using return-property to explicitly specify column/alias <title>Using return-property to explicitly specify column/alias
names</title> names</title>
@ -560,9 +564,9 @@ List pusList = query.setString("name", "Pus%").list(); ]]></programlist
<para>If your mapping has a discriminator you must use <para>If your mapping has a discriminator you must use
<literal>&lt;return-discriminator&gt;</literal> to specify the <literal>&lt;return-discriminator&gt;</literal> to specify the
discriminator column.</para> discriminator column.</para>
</sect2> </section>
<sect2 id="sp_query" revision="1"> <section id="sp_query" revision="1">
<title>Using stored procedures for querying</title> <title>Using stored procedures for querying</title>
<para>Hibernate3 provides support for queries via stored procedures <para>Hibernate3 provides support for queries via stored procedures
@ -607,7 +611,7 @@ BEGIN
entities. <literal>&lt;return-join&gt;</literal> and entities. <literal>&lt;return-join&gt;</literal> and
<literal>&lt;load-collection&gt;</literal> are not supported.</para> <literal>&lt;load-collection&gt;</literal> are not supported.</para>
<sect3 id="querysql-limits-storedprocedures" revision="1"> <section id="querysql-limits-storedprocedures" revision="1">
<title>Rules/limitations for using stored procedures</title> <title>Rules/limitations for using stored procedures</title>
<para>You cannot use stored procedures with Hibernate unless you follow some procedure/function <para>You cannot use stored procedures with Hibernate unless you follow some procedure/function
@ -655,11 +659,11 @@ BEGIN
requirement.</para> requirement.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect3> </section>
</sect2> </section>
</sect1> </section>
<sect1 id="querysql-cud"> <section id="querysql-cud">
<title>Custom SQL for create, update and delete</title> <title>Custom SQL for create, update and delete</title>
<para>Hibernate3 can use custom SQL for create, update, and delete operations. <para>Hibernate3 can use custom SQL for create, update, and delete operations.
@ -731,9 +735,9 @@ BEGIN
return SQL%ROWCOUNT; return SQL%ROWCOUNT;
END updatePerson;]]></programlisting> END updatePerson;]]></programlisting>
</sect1> </section>
<sect1 id="querysql-load"> <section id="querysql-load">
<title>Custom SQL for loading</title> <title>Custom SQL for loading</title>
<para>You can also declare your own SQL (or HQL) queries for entity <para>You can also declare your own SQL (or HQL) queries for entity
@ -792,5 +796,5 @@ END updatePerson;]]></programlisting>
ON pers.ID = emp.PERSON_ID ON pers.ID = emp.PERSON_ID
WHERE ID=? WHERE ID=?
</sql-query>]]></programlisting> </sql-query>]]></programlisting>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="objectstate"> <chapter id="objectstate">
<title>Working with objects</title> <title>Working with objects</title>
@ -44,7 +48,7 @@
relevant for the application developer when tuning the performance of the system. relevant for the application developer when tuning the performance of the system.
</para> </para>
<sect1 id="objectstate-overview"> <section id="objectstate-overview">
<title>Hibernate object states</title> <title>Hibernate object states</title>
<para> <para>
@ -95,9 +99,9 @@
trigger a transition) in more detail. trigger a transition) in more detail.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-makingpersistent" revision="1"> <section id="objectstate-makingpersistent" revision="1">
<title>Making objects persistent</title> <title>Making objects persistent</title>
<para> <para>
@ -177,9 +181,9 @@ sess.save( pk, new Long(1234) );]]></programlisting>
Transitive persistence is discussed later in this chapter. Transitive persistence is discussed later in this chapter.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-loading"> <section id="objectstate-loading">
<title>Loading an object</title> <title>Loading an object</title>
<para> <para>
@ -259,9 +263,9 @@ sess.refresh(cat); //re-read the state (after the trigger executes)]]></programl
<xref linkend="performance-fetching"/>. <xref linkend="performance-fetching"/>.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-querying" revision="1"> <section id="objectstate-querying" revision="1">
<title>Querying</title> <title>Querying</title>
<para> <para>
@ -273,7 +277,7 @@ sess.refresh(cat); //re-read the state (after the trigger executes)]]></programl
optional support from Hibernate for result set conversion into objects. optional support from Hibernate for result set conversion into objects.
</para> </para>
<sect2 id="objectstate-querying-executing" revision="1"> <section id="objectstate-querying-executing" revision="1">
<title>Executing queries</title> <title>Executing queries</title>
<para> <para>
@ -318,7 +322,7 @@ Set uniqueMothers = new HashSet(mothersWithKittens.list());]]></programlisting>
these duplicates through a <literal>Set</literal>. these duplicates through a <literal>Set</literal>.
</para> </para>
<sect3 id="objectstate-querying-executing-iterate"> <section id="objectstate-querying-executing-iterate">
<title>Iterating results</title> <title>Iterating results</title>
<para> <para>
@ -345,9 +349,9 @@ while ( iter.hasNext() ) {
break; break;
} }
}]]></programlisting> }]]></programlisting>
</sect3> </section>
<sect3 id="objectstate-querying-executing-tuples"> <section id="objectstate-querying-executing-tuples">
<title>Queries that return tuples</title> <title>Queries that return tuples</title>
<para> <para>
@ -367,9 +371,9 @@ while ( kittensAndMothers.hasNext() ) {
.... ....
}]]></programlisting> }]]></programlisting>
</sect3> </section>
<sect3 id="objectstate-querying-executing-scalar" revision="1"> <section id="objectstate-querying-executing-scalar" revision="1">
<title>Scalar results</title> <title>Scalar results</title>
<para> <para>
@ -392,9 +396,9 @@ while ( results.hasNext() ) {
..... .....
}]]></programlisting> }]]></programlisting>
</sect3> </section>
<sect3 id="objectstate-querying-executing-parameters"> <section id="objectstate-querying-executing-parameters">
<title>Bind parameters</title> <title>Bind parameters</title>
<para> <para>
@ -442,9 +446,9 @@ Query q = sess.createQuery("from DomesticCat cat where cat.name in (:namesList)"
q.setParameterList("namesList", names); q.setParameterList("namesList", names);
List cats = q.list();]]></programlisting> List cats = q.list();]]></programlisting>
</sect3> </section>
<sect3 id="objectstate-querying-executing-pagination"> <section id="objectstate-querying-executing-pagination">
<title>Pagination</title> <title>Pagination</title>
<para> <para>
@ -463,9 +467,9 @@ List cats = q.list();]]></programlisting>
SQL of your DBMS. SQL of your DBMS.
</para> </para>
</sect3> </section>
<sect3 id="objectstate-querying-executing-scrolling"> <section id="objectstate-querying-executing-scrolling">
<title>Scrollable iteration</title> <title>Scrollable iteration</title>
<para> <para>
@ -503,9 +507,9 @@ cats.close()]]></programlisting>
if you need offline pagination functionality. if you need offline pagination functionality.
</para> </para>
</sect3> </section>
<sect3 id="objectstate-querying-executing-named" revision="1"> <section id="objectstate-querying-executing-named" revision="1">
<title>Externalizing named queries</title> <title>Externalizing named queries</title>
<para> <para>
@ -543,11 +547,11 @@ List cats = q.list();]]></programlisting>
<literal>eg.Cat.ByNameAndMaximumWeight</literal>. <literal>eg.Cat.ByNameAndMaximumWeight</literal>.
</para> </para>
</sect3> </section>
</sect2> </section>
<sect2 id="objectstate-filtering" revision="1"> <section id="objectstate-filtering" revision="1">
<title>Filtering collections</title> <title>Filtering collections</title>
<para> <para>
A collection <emphasis>filter</emphasis> is a special type of query that can be applied to A collection <emphasis>filter</emphasis> is a special type of query that can be applied to
@ -588,9 +592,9 @@ List cats = q.list();]]></programlisting>
.setFirstResult(0).setMaxResults(10) .setFirstResult(0).setMaxResults(10)
.list();]]></programlisting> .list();]]></programlisting>
</sect2> </section>
<sect2 id="objecstate-querying-criteria" revision="1"> <section id="objecstate-querying-criteria" revision="1">
<title>Criteria queries</title> <title>Criteria queries</title>
<para> <para>
@ -609,9 +613,9 @@ List cats = crit.list();]]></programlisting>
API are discussed in more detail in <xref linkend="querycriteria"/>. API are discussed in more detail in <xref linkend="querycriteria"/>.
</para> </para>
</sect2> </section>
<sect2 id="objectstate-querying-nativesql" revision="2"> <section id="objectstate-querying-nativesql" revision="2">
<title>Queries in native SQL</title> <title>Queries in native SQL</title>
<para> <para>
@ -639,11 +643,11 @@ List cats = crit.list();]]></programlisting>
<xref linkend="querysql"/>. <xref linkend="querysql"/>.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="objectstate-modifying" revision="1"> <section id="objectstate-modifying" revision="1">
<title>Modifying persistent objects</title> <title>Modifying persistent objects</title>
<para> <para>
@ -682,9 +686,9 @@ sess.flush(); // changes to cat are automatically detected and persisted]]></pr
</para> </para>
</important> </important>
</sect1> </section>
<sect1 id="objectstate-detached" revision="2"> <section id="objectstate-detached" revision="2">
<title>Modifying detached objects</title> <title>Modifying detached objects</title>
<para> <para>
@ -757,9 +761,9 @@ sess.lock(pk, LockMode.UPGRADE);]]></programlisting>
Other models for long units of work are discussed in <xref linkend="transactions-optimistic"/>. Other models for long units of work are discussed in <xref linkend="transactions-optimistic"/>.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-saveorupdate"> <section id="objectstate-saveorupdate">
<title>Automatic state detection</title> <title>Automatic state detection</title>
<para> <para>
@ -895,9 +899,9 @@ secondSession.saveOrUpdate(mate); // save the new instance (mate has a null id)
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </section>
<sect1 id="objectstate-deleting" revision="1"> <section id="objectstate-deleting" revision="1">
<title>Deleting persistent objects</title> <title>Deleting persistent objects</title>
<para> <para>
@ -917,9 +921,9 @@ secondSession.saveOrUpdate(mate); // save the new instance (mate has a null id)
children. children.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-replicating" revision="1"> <section id="objectstate-replicating" revision="1">
<title>Replicating object between two different datastores</title> <title>Replicating object between two different datastores</title>
<para> <para>
@ -981,9 +985,9 @@ session2.close();]]></programlisting>
rolling back changes made during non-ACID transactions and more. rolling back changes made during non-ACID transactions and more.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-flushing"> <section id="objectstate-flushing">
<title>Flushing the Session</title> <title>Flushing the Session</title>
<para> <para>
@ -1094,9 +1098,9 @@ sess.close();]]></programlisting>
behavior, we discuss it in <xref linkend="transactions"/>. behavior, we discuss it in <xref linkend="transactions"/>.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-transitive" revision="1"> <section id="objectstate-transitive" revision="1">
<title>Transitive persistence</title> <title>Transitive persistence</title>
<para> <para>
@ -1248,9 +1252,9 @@ sess.close();]]></programlisting>
<literal>Session</literal>. <literal>Session</literal>.
</para> </para>
</sect1> </section>
<sect1 id="objectstate-metadata"> <section id="objectstate-metadata">
<title>Using metadata</title> <title>Using metadata</title>
<para> <para>
@ -1282,7 +1286,7 @@ for ( int i=0; i<propertyNames.length; i++ ) {
} }
}]]></programlisting> }]]></programlisting>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="toolsetguide" revision="2"> <chapter id="toolsetguide" revision="2">
<title>Toolset Guide</title> <title>Toolset Guide</title>
@ -75,7 +79,7 @@
be used from "inside" Hibernate. be used from "inside" Hibernate.
</para> </para>
<sect1 id="toolsetguide-s1" revision="2"> <section id="toolsetguide-s1" revision="2">
<title>Automatic schema generation</title> <title>Automatic schema generation</title>
<para> <para>
@ -95,7 +99,7 @@
First, you must customize your mapping files to improve the generated schema. The next section covers schema customization. First, you must customize your mapping files to improve the generated schema. The next section covers schema customization.
</para> </para>
<sect2 id="toolsetguide-s1-2" revision="3"> <section id="toolsetguide-s1-2" revision="3">
<title>Customizing the schema</title> <title>Customizing the schema</title>
<para> <para>
@ -304,9 +308,9 @@
DDL where supported. DDL where supported.
</para> </para>
</sect2> </section>
<sect2 id="toolsetguide-s1-3" revision="2"> <section id="toolsetguide-s1-3" revision="2">
<title>Running the tool</title> <title>Running the tool</title>
<para> <para>
@ -384,9 +388,9 @@
<programlisting role="JAVA"><![CDATA[Configuration cfg = ....; <programlisting role="JAVA"><![CDATA[Configuration cfg = ....;
new SchemaExport(cfg).create(false, true);]]></programlisting> new SchemaExport(cfg).create(false, true);]]></programlisting>
</sect2> </section>
<sect2 id="toolsetguide-s1-4"> <section id="toolsetguide-s1-4">
<title>Properties</title> <title>Properties</title>
<para> <para>
@ -445,9 +449,9 @@ new SchemaExport(cfg).create(false, true);]]></programlisting>
</tgroup> </tgroup>
</table> </table>
</sect2> </section>
<sect2 id="toolsetguide-s1-5"> <section id="toolsetguide-s1-5">
<title>Using Ant</title> <title>Using Ant</title>
<para> <para>
@ -472,9 +476,9 @@ new SchemaExport(cfg).create(false, true);]]></programlisting>
</schemaexport> </schemaexport>
</target>]]></programlisting> </target>]]></programlisting>
</sect2> </section>
<sect2 id="toolsetguide-s1-6" revision="2"> <section id="toolsetguide-s1-6" revision="2">
<title>Incremental schema updates</title> <title>Incremental schema updates</title>
<para> <para>
@ -531,9 +535,9 @@ new SchemaExport(cfg).create(false, true);]]></programlisting>
<programlisting role="JAVA"><![CDATA[Configuration cfg = ....; <programlisting role="JAVA"><![CDATA[Configuration cfg = ....;
new SchemaUpdate(cfg).execute(false);]]></programlisting> new SchemaUpdate(cfg).execute(false);]]></programlisting>
</sect2> </section>
<sect2 id="toolsetguide-s1-7"> <section id="toolsetguide-s1-7">
<title>Using Ant for incremental schema updates</title> <title>Using Ant for incremental schema updates</title>
<para> <para>
@ -554,9 +558,9 @@ new SchemaUpdate(cfg).execute(false);]]></programlisting>
</schemaupdate> </schemaupdate>
</target>]]></programlisting> </target>]]></programlisting>
</sect2> </section>
<sect2 id="toolsetguide-s1-8" revision="1"> <section id="toolsetguide-s1-8" revision="1">
<title>Schema validation</title> <title>Schema validation</title>
<para> <para>
@ -606,9 +610,9 @@ new SchemaUpdate(cfg).execute(false);]]></programlisting>
<programlisting role="JAVA"><![CDATA[Configuration cfg = ....; <programlisting role="JAVA"><![CDATA[Configuration cfg = ....;
new SchemaValidator(cfg).validate();]]></programlisting> new SchemaValidator(cfg).validate();]]></programlisting>
</sect2> </section>
<sect2 id="toolsetguide-s1-9"> <section id="toolsetguide-s1-9">
<title>Using Ant for schema validation</title> <title>Using Ant for schema validation</title>
<para> <para>
@ -628,9 +632,9 @@ new SchemaValidator(cfg).validate();]]></programlisting>
</schemavalidator> </schemavalidator>
</target>]]></programlisting> </target>]]></programlisting>
</sect2> </section>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="transactions" revision="2"> <chapter id="transactions" revision="2">
<title>Transactions and Concurrency</title> <title>Transactions and Concurrency</title>
@ -56,7 +60,7 @@
<literal>Session</literal>, as well as database transactions and long conversations. <literal>Session</literal>, as well as database transactions and long conversations.
</para> </para>
<sect1 id="transactions-basics" revision="1"> <section id="transactions-basics" revision="1">
<title>Session and transaction scopes</title> <title>Session and transaction scopes</title>
<para> <para>
@ -88,7 +92,7 @@
database transaction boundaries? These questions are addressed in the following sections. database transaction boundaries? These questions are addressed in the following sections.
</para> </para>
<sect2 id="transactions-basics-uow" revision="1"> <section id="transactions-basics-uow" revision="1">
<title>Unit of work</title> <title>Unit of work</title>
<para> <para>
@ -167,9 +171,9 @@
this <emphasis>Open Session in View</emphasis> pattern. this <emphasis>Open Session in View</emphasis> pattern.
</para> </para>
</sect2> </section>
<sect2 id="transactions-basics-apptx" revision="1"> <section id="transactions-basics-apptx" revision="1">
<title>Long conversations</title> <title>Long conversations</title>
<para> <para>
@ -261,9 +265,9 @@
These disadvantages are discussed later in this chapter in the context of optimistic concurrency control. These disadvantages are discussed later in this chapter in the context of optimistic concurrency control.
</para> </para>
</sect2> </section>
<sect2 id="transactions-basics-identity"> <section id="transactions-basics-identity">
<title>Considering object identity</title> <title>Considering object identity</title>
<para> <para>
@ -328,9 +332,9 @@
a Hibernate issue, but simply how Java object identity and equality has to be implemented. a Hibernate issue, but simply how Java object identity and equality has to be implemented.
</para> </para>
</sect2> </section>
<sect2 id="transactions-basics-issues"> <section id="transactions-basics-issues">
<title>Common issues</title> <title>Common issues</title>
<para> <para>
@ -378,11 +382,11 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect2> </section>
</sect1> </section>
<sect1 id="transactions-demarcation"> <section id="transactions-demarcation">
<title>Database transaction demarcation</title> <title>Database transaction demarcation</title>
<para> <para>
@ -447,7 +451,7 @@
</para> </para>
<sect2 id="transactions-demarcation-nonmanaged" revision="2"> <section id="transactions-demarcation-nonmanaged" revision="2">
<title>Non-managed environment</title> <title>Non-managed environment</title>
<para> <para>
@ -520,9 +524,9 @@ catch (RuntimeException e) {
<literal>hibernate.current_session_context_class</literal>. <literal>hibernate.current_session_context_class</literal>.
</para> </para>
</sect2> </section>
<sect2 id="transactions-demarcation-jta" revision="3"> <section id="transactions-demarcation-jta" revision="3">
<title>Using JTA</title> <title>Using JTA</title>
<para> <para>
@ -623,9 +627,9 @@ catch (RuntimeException e) {
<literal>iterate()</literal> from the JTA or CMT code.) <literal>iterate()</literal> from the JTA or CMT code.)
</para> </para>
</sect2> </section>
<sect2 id="transactions-demarcation-exceptions"> <section id="transactions-demarcation-exceptions">
<title>Exception handling</title> <title>Exception handling</title>
<para> <para>
@ -698,9 +702,9 @@ catch (RuntimeException e) {
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect2> </section>
<sect2 id="transactions-demarcation-timeout"> <section id="transactions-demarcation-timeout">
<title>Transaction timeout</title> <title>Transaction timeout</title>
<para> <para>
@ -741,11 +745,11 @@ finally {
where transaction timeouts must be defined declaratively. where transaction timeouts must be defined declaratively.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="transactions-optimistic"> <section id="transactions-optimistic">
<title>Optimistic concurrency control</title> <title>Optimistic concurrency control</title>
<para> <para>
@ -758,7 +762,7 @@ finally {
also has the benefit of preventing lost updates in single database transactions. also has the benefit of preventing lost updates in single database transactions.
</para> </para>
<sect2 id="transactions-optimistic-manual"> <section id="transactions-optimistic-manual">
<title>Application version checking</title> <title>Application version checking</title>
<para> <para>
@ -805,9 +809,9 @@ session.close();]]></programlisting>
as the design paradigm. as the design paradigm.
</para> </para>
</sect2> </section>
<sect2 id="transactions-optimistic-longsession"> <section id="transactions-optimistic-longsession">
<title>Extended session and automatic versioning</title> <title>Extended session and automatic versioning</title>
<para> <para>
@ -883,9 +887,9 @@ session.close(); // Only for last transaction in conversation]]></programlist
for this. See the Hibernate Wiki for examples. for this. See the Hibernate Wiki for examples.
</para> </para>
</sect2> </section>
<sect2 id="transactions-optimistic-detached"> <section id="transactions-optimistic-detached">
<title>Detached objects and automatic versioning</title> <title>Detached objects and automatic versioning</title>
<para> <para>
@ -915,9 +919,9 @@ session.close();]]></programlisting>
caches) if you are sure that the object has not been modified. caches) if you are sure that the object has not been modified.
</para> </para>
</sect2> </section>
<sect2 id="transactions-optimistic-customizing"> <section id="transactions-optimistic-customizing">
<title>Customizing automatic versioning</title> <title>Customizing automatic versioning</title>
<para> <para>
@ -958,11 +962,11 @@ session.close();]]></programlisting>
the instance to ensure that changes did occur before updating the row. the instance to ensure that changes did occur before updating the row.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="transactions-locking"> <section id="transactions-locking">
<title>Pessimistic locking</title> <title>Pessimistic locking</title>
<para> <para>
@ -1062,9 +1066,9 @@ session.close();]]></programlisting>
portable. portable.
</para> </para>
</sect1> </section>
<sect1 id="transactions-connection-release"> <section id="transactions-connection-release">
<title>Connection release modes</title> <title>Connection release modes</title>
<para> <para>
@ -1147,7 +1151,7 @@ session.close();]]></programlisting>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</sect1> </section>
</chapter> </chapter>

View File

@ -24,8 +24,11 @@
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY mdash "-"> <!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
<!ENTITY mdash "-">
]> ]>
<chapter id="tutorial"> <chapter id="tutorial">
<title>Tutorial</title> <title>Tutorial</title>
@ -55,7 +58,7 @@
</para> </para>
</note> </note>
<sect1 id="tutorial-firstapp"> <section id="tutorial-firstapp">
<title>Part 1 - The first Hibernate Application</title> <title>Part 1 - The first Hibernate Application</title>
<para> <para>
@ -72,7 +75,7 @@
</para> </para>
</note> </note>
<sect2 id="tutorial-firstapp-setup"> <section id="tutorial-firstapp-setup">
<title>Setup</title> <title>Setup</title>
<para> <para>
@ -155,10 +158,10 @@
<para> <para>
Save this file as <filename>pom.xml</filename> in the project root directory. Save this file as <filename>pom.xml</filename> in the project root directory.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-firstapp-firstclass"> <section id="tutorial-firstapp-firstclass">
<title>The first class</title> <title>The first class</title>
<para> <para>
@ -238,9 +241,9 @@ public class Event {
Save this file to the <filename>src/main/java/org/hibernate/tutorial/domain</filename> Save this file to the <filename>src/main/java/org/hibernate/tutorial/domain</filename>
directory. directory.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-firstapp-mapping"> <section id="tutorial-firstapp-mapping">
<title>The mapping file</title> <title>The mapping file</title>
<para> <para>
@ -414,9 +417,9 @@ public class Event {
<filename>src/main/resources/org/hibernate/tutorial/domain/Event.hbm.xml</filename>. <filename>src/main/resources/org/hibernate/tutorial/domain/Event.hbm.xml</filename>.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-firstapp-configuration" revision="2"> <section id="tutorial-firstapp-configuration" revision="2">
<title>Hibernate configuration</title> <title>Hibernate configuration</title>
<para> <para>
@ -542,9 +545,9 @@ public class Event {
<filename>src/main/resources</filename> directory. <filename>src/main/resources</filename> directory.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-firstapp-mvn" revision="1"> <section id="tutorial-firstapp-mvn" revision="1">
<title>Building with Maven</title> <title>Building with Maven</title>
<para> <para>
@ -575,9 +578,9 @@ public class Event {
[INFO] Final Memory: 5M/547M [INFO] Final Memory: 5M/547M
[INFO] ------------------------------------------------------------------------]]></programlisting> [INFO] ------------------------------------------------------------------------]]></programlisting>
</sect2> </section>
<sect2 id="tutorial-firstapp-helpers" revision="3"> <section id="tutorial-firstapp-helpers" revision="3">
<title>Startup and helpers</title> <title>Startup and helpers</title>
<para> <para>
@ -665,9 +668,9 @@ public class HibernateUtil {
Hibernate. Hibernate.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-firstapp-workingpersistence" revision="5"> <section id="tutorial-firstapp-workingpersistence" revision="5">
<title>Loading and storing objects</title> <title>Loading and storing objects</title>
<para> <para>
@ -855,11 +858,11 @@ public class EventManager {
<command>mvn exec:java -Dexec.mainClass="org.hibernate.tutorial.EventManager" -Dexec.args="list"</command> <command>mvn exec:java -Dexec.mainClass="org.hibernate.tutorial.EventManager" -Dexec.args="list"</command>
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="tutorial-associations"> <section id="tutorial-associations">
<title>Part 2 - Mapping associations</title> <title>Part 2 - Mapping associations</title>
<para> <para>
@ -869,7 +872,7 @@ public class EventManager {
which they participate. which they participate.
</para> </para>
<sect2 id="tutorial-associations-mappinguser" revision="1"> <section id="tutorial-associations-mappinguser" revision="1">
<title>Mapping the Person class</title> <title>Mapping the Person class</title>
<para> <para>
@ -928,9 +931,9 @@ public class Person {
behavior. behavior.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-associations-unidirset" revision="3"> <section id="tutorial-associations-unidirset" revision="3">
<title>A unidirectional Set-based association</title> <title>A unidirectional Set-based association</title>
<para> <para>
@ -1019,9 +1022,9 @@ public class Person {
|_____________| |_____________|
]]></programlisting> ]]></programlisting>
</sect2> </section>
<sect2 id="tutorial-associations-working" revision="2"> <section id="tutorial-associations-working" revision="2">
<title>Working the association</title> <title>Working the association</title>
<para> <para>
@ -1140,9 +1143,9 @@ public class Person {
entities, but looks almost the same in Java. entities, but looks almost the same in Java.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-associations-valuecollections"> <section id="tutorial-associations-valuecollections">
<title>Collection of values</title> <title>Collection of values</title>
<para> <para>
@ -1232,9 +1235,9 @@ public class Person {
optimize this with an eager fetch. optimize this with an eager fetch.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-associations-bidirectional" revision="1"> <section id="tutorial-associations-bidirectional" revision="1">
<title>Bi-directional associations</title> <title>Bi-directional associations</title>
<para> <para>
@ -1291,9 +1294,9 @@ public class Person {
understand once you see how the bi-directional link between our two entities is created. understand once you see how the bi-directional link between our two entities is created.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-associations-usingbidir"> <section id="tutorial-associations-usingbidir">
<title>Working bi-directional links</title> <title>Working bi-directional links</title>
<para> <para>
@ -1347,11 +1350,11 @@ public class Person {
and in many-to-many association you can select either side. and in many-to-many association you can select either side.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="tutorial-webapp"> <section id="tutorial-webapp">
<title>Part 3 - The EventManager web application</title> <title>Part 3 - The EventManager web application</title>
<para> <para>
@ -1361,7 +1364,7 @@ public class Person {
database, and it provides an HTML form to enter new events. database, and it provides an HTML form to enter new events.
</para> </para>
<sect2 id="tutorial-webapp-servlet" revision="2"> <section id="tutorial-webapp-servlet" revision="2">
<title>Writing the basic servlet</title> <title>Writing the basic servlet</title>
<para> <para>
@ -1441,9 +1444,9 @@ public class EventManagerServlet extends HttpServlet {
as you consider rendering your view in JSP, not in a servlet. as you consider rendering your view in JSP, not in a servlet.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-webapp-processing" revision="1"> <section id="tutorial-webapp-processing" revision="1">
<title>Processing and rendering</title> <title>Processing and rendering</title>
<para> <para>
@ -1551,9 +1554,9 @@ public class EventManagerServlet extends HttpServlet {
examples. examples.
</para> </para>
</sect2> </section>
<sect2 id="tutorial-webapp-deploy"> <section id="tutorial-webapp-deploy">
<title>Deploying and testing</title> <title>Deploying and testing</title>
<para> <para>
@ -1602,11 +1605,11 @@ public class EventManagerServlet extends HttpServlet {
is called) and to get the detailed output if any exceptions occurs. is called) and to get the detailed output if any exceptions occurs.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="tutorial-summary" revision="1"> <section id="tutorial-summary" revision="1">
<title>Summary</title> <title>Summary</title>
<para> <para>
@ -1615,6 +1618,6 @@ public class EventManagerServlet extends HttpServlet {
<ulink url="http://hibernate.org">website</ulink>. <ulink url="http://hibernate.org">website</ulink>.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -23,7 +23,11 @@
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "../HIBERNATE_-_Relational_Persistence_for_Idiomatic_Java.ent">
%BOOK_ENTITIES;
]>
<chapter id="xml"> <chapter id="xml">
<title>XML Mapping</title> <title>XML Mapping</title>
@ -33,7 +37,7 @@
active development. active development.
</emphasis></para> </emphasis></para>
<sect1 id="xml-intro" revision="1"> <section id="xml-intro" revision="1">
<title>Working with XML data</title> <title>Working with XML data</title>
<para> <para>
@ -64,7 +68,7 @@
it can be used to map just the XML. it can be used to map just the XML.
</para> </para>
<sect2 id="xml-intro-mapping"> <section id="xml-intro-mapping">
<title>Specifying XML and class mapping together</title> <title>Specifying XML and class mapping together</title>
<para> <para>
@ -91,9 +95,9 @@
... ...
</class>]]></programlisting> </class>]]></programlisting>
</sect2> </section>
<sect2 id="xml-onlyxml"> <section id="xml-onlyxml">
<title>Specifying only an XML mapping</title> <title>Specifying only an XML mapping</title>
<para> <para>
@ -130,11 +134,11 @@
are purely logical constructs that can be referred to in HQL queries. are purely logical constructs that can be referred to in HQL queries.
</para> </para>
</sect2> </section>
</sect1> </section>
<sect1 id="xml-mapping" revision="1"> <section id="xml-mapping" revision="1">
<title>XML mapping metadata</title> <title>XML mapping metadata</title>
<para> <para>
@ -256,10 +260,10 @@
... ...
</customer>]]></programlisting> </customer>]]></programlisting>
</sect1> </section>
<sect1 id="xml-manipulation" revision="1"> <section id="xml-manipulation" revision="1">
<title>Manipulating XML data</title> <title>Manipulating XML data</title>
<para> <para>
@ -307,7 +311,7 @@ session.close();]]></programlisting>
operation. operation.
</para> </para>
</sect1> </section>
</chapter> </chapter>

View File

@ -22,8 +22,9 @@
~ 51 Franklin Street, Fifth Floor ~ 51 Franklin Street, Fifth Floor
~ Boston, MA 02110-1301 USA ~ Boston, MA 02110-1301 USA
--> -->
<!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> <!DOCTYPE legalnotice PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
]>
<legalnotice id="Legal_Notice"> <legalnotice id="Legal_Notice">
<title>Legal Notice</title> <title>Legal Notice</title>
<para> <para>

View File

@ -1,32 +1,30 @@
# SOME DESCRIPTIVE TITLE.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-23 18:41+0000\n" "POT-Creation-Date: 2010-02-11T05:38:14\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Content-Type: text/plain; charset=UTF-8\n" "Language-Team: LANGUAGE <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title #. Tag: title
#: Hibernate_Reference.xml:35
#, no-c-format #, no-c-format
msgid "HIBERNATE - Relational Persistence for Idiomatic Java" msgid "HIBERNATE - Relational Persistence for Idiomatic Java"
msgstr "HIBERNATE - Persistencia Relacional para Java Idiom&#x00e1;tico" msgstr ""
#. Tag: subtitle #. Tag: subtitle
#: Hibernate_Reference.xml:36
#, no-c-format #, no-c-format
msgid "Hibernate Reference Documentation" msgid "Hibernate Reference Documentation"
msgstr "Documentaci&#x00f3;n de Referencia de Hibernate" msgstr ""
#. Tag: holder #. Tag: releaseinfo
#: Hibernate_Reference.xml:51
#, no-c-format #, no-c-format
msgid "&copyrightHolder;" msgid "&versionNumber;"
msgstr "&copyrightHolder;" msgstr ""
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Branch 3_3\n" "Project-Id-Version: Branch 3_3\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-16 18:47+0000\n" "POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2009-06-16 18:47+0000\n" "PO-Revision-Date: 2009-06-16 18:47+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -13,209 +13,137 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. Tag: author #. Tag: firstname
#: author_group.xml:27
#, no-c-format #, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>" msgid "Gavin"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:31
#, no-c-format #, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>" msgid "Christian"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:35
#, no-c-format #, no-c-format
msgid "" msgid "Max"
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
"surname>"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:40
#, no-c-format #, no-c-format
msgid "" msgid "Emmanuel"
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:44
#, no-c-format #, no-c-format
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>" msgid "Steve"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:49
#, no-c-format #, no-c-format
msgid "<firstname>James</firstname> <surname>Cobb</surname>" msgid "James"
msgstr "" msgstr ""
#. Tag: shortaffil #. Tag: firstname
#: author_group.xml:53 author_group.xml:60
#, no-c-format #, no-c-format
msgid "Graphic Design" msgid "Cheyenne"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:56
#, no-c-format #, no-c-format
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>" msgid "Vincent"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:69
#, no-c-format #, no-c-format
msgid "" msgid "Sebastien"
"<othername><![CDATA[Bernardo Antonio Buffa Colom&#x00e9]]></othername> "
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:79
#, no-c-format #, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>" msgid "Michael"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:83
#, no-c-format #, no-c-format
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>" msgid "Baptiste"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:87
#, no-c-format #, no-c-format
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>" msgid "Anthony"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:91
#, no-c-format #, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>" msgid "Alvaro"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:95
#, no-c-format #, no-c-format
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>" msgid "Anderson"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:99
#, no-c-format #, no-c-format
msgid "" msgid "Daniel Vieira"
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
"othercredit>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:103
#, no-c-format #, no-c-format
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>" msgid "Francisco"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:113
#, no-c-format #, no-c-format
msgid "" msgid "Gamarra"
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
"<email>alvaronetto@cetip.com.br</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:118
#, no-c-format #, no-c-format
msgid "" msgid "Luiz Carlos"
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
"<email>andersonbraulio@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:123
#, no-c-format #, no-c-format
msgid "" msgid "Marcel"
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
"<email>danielvc@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:128
#, no-c-format #, no-c-format
msgid "" msgid "Paulo"
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
"gamarra@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:133
#, no-c-format #, no-c-format
msgid "" msgid "Pablo L."
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:137
#, no-c-format #, no-c-format
msgid "" msgid "Renato"
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:142
#, no-c-format #, no-c-format
msgid "" msgid "Rogério"
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
"castelo@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:147
#, no-c-format #, no-c-format
msgid "" msgid "Wanderson"
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
"com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:152
#, no-c-format #, no-c-format
msgid "" msgid "Cao"
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
"<email>pablolmiranda@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: orgname
#: author_group.xml:157
#, no-c-format #, no-c-format
msgid "" msgid "RedSaga"
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
"com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: contrib
#: author_group.xml:162
#, no-c-format #, no-c-format
msgid "" msgid "Translation Lead"
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
"<email>rgildoaraujo@yahoo.com.br</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:167
#, no-c-format
msgid ""
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
"<email>wandersonxs@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:178
#, no-c-format
msgid ""
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
"contrib> <email>caoxg@yahoo.com</email>"
msgstr "" msgstr ""

View File

@ -1,99 +1,102 @@
#, fuzzy # translation of architecture.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: architecture\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-04 10:30+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: architecture.xml:30
#, no-c-format #, no-c-format
msgid "Architecture" msgid "Architecture"
msgstr "Arquitectura" msgstr "Arquitectura"
#. Tag: title #. Tag: title
#: architecture.xml:33
#, no-c-format #, no-c-format
msgid "Overview" msgid "Overview"
msgstr "Visi&#x00f3;n General" msgstr "Sinopsis"
#. Tag: para #. Tag: para
#: architecture.xml:35 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The diagram below provides a high-level view of the Hibernate architecture:" "The diagram below provides a high-level view of the Hibernate architecture:"
msgstr "Una visi&#x00f3;n a (muy) alto nivel de la arquitectura de Hibernate:" msgstr ""
"El diagrama a continuación brinda una perspectiva a alto nivel de la "
"arquitectura de Hibernate:"
#. Tag: para #. Tag: para
#: architecture.xml:50 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"We do not have the scope in this document to provide a more detailed view of " "We do not have the scope in this document to provide a more detailed view of "
"all the runtime architectures available; Hibernate is flexible and supports " "all the runtime architectures available; Hibernate is flexible and supports "
"several different approaches. We will, however, show the two extremes: " "several different approaches. We will, however, show the two extremes: "
"\"minimal\" architecture and \"comprehensive\" architecture." "\"minimal\" architecture and \"comprehensive\" architecture."
msgstr "" msgstr ""
"Nos gustar&#x00ed;a mostrar una vista m&#x00e1;s detallada de la " "Este documento no incluye una sinopsis detallada de la arquitecturas en "
"arquitectura de tiempo de ejecuci&#x00f3;n. Desafortunadamente, Hibernate es " "tiempo de ejecución disponibles; Hibernate es flexible y soporta diferentes "
"flexible y soporta diferentes enfoques. Mostraremos los dos extremos. En la " "enfoques. Sin embargo, mostraremos los dos extremos: la arquitectura \"mínima"
"arquitectura \"sencilla\", es la aplicaci&#x00f3;n la que provee su propias " "\" y la arquitectura \"completa\"."
"conexiones JDBC y gestiona sus propias transacciones. Este enfoque usa un "
"m&#x00ed;nimo subconjunto de la API de Hibernate:"
#. Tag: para #. Tag: para
#: architecture.xml:56 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This next diagram illustrates how Hibernate utilizes database and " "This next diagram illustrates how Hibernate utilizes database and "
"configuration data to provide persistence services, and persistent objects, " "configuration data to provide persistence services, and persistent objects, "
"to the application." "to the application."
msgstr "" msgstr ""
"Este diagrama muestra a Hibernate usando la base de datos y los datos de " "Este diagrama ilustra la manera en que Hibernate utiliza la base de datos y "
"configuraci&#x00f3;n para proveer servicios de persistencia (y objetos " "los datos de configuración para proporcionar servicios de persistencia y "
"persistentes) a la aplicaci&#x00f3;n." "objetos persistentes a la aplicación."
#. Tag: para #. Tag: para
#: architecture.xml:61 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The \"minimal\" architecture has the application provide its own JDBC " "The \"minimal\" architecture has the application provide its own JDBC "
"connections and manage its own transactions. This approach uses a minimal " "connections and manage its own transactions. This approach uses a minimal "
"subset of Hibernate's APIs:" "subset of Hibernate's APIs:"
msgstr "" msgstr ""
"Nos gustar&#x00ed;a mostrar una vista m&#x00e1;s detallada de la " "La arquitectura \"mínima\" hace que la aplicación proporcione sus propias "
"arquitectura de tiempo de ejecuci&#x00f3;n. Desafortunadamente, Hibernate es " "conexiones JDBC y que administre sus propias transacciones. Este enfoque "
"flexible y soporta diferentes enfoques. Mostraremos los dos extremos. En la " "utiliza un subgrupo mínimo de las APIs de Hibernate:"
"arquitectura \"sencilla\", es la aplicaci&#x00f3;n la que provee su propias "
"conexiones JDBC y gestiona sus propias transacciones. Este enfoque usa un "
"m&#x00ed;nimo subconjunto de la API de Hibernate:"
#. Tag: para #. Tag: para
#: architecture.xml:78 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The \"comprehensive\" architecture abstracts the application away from the " "The \"comprehensive\" architecture abstracts the application away from the "
"underlying JDBC/JTA APIs and allows Hibernate to manage the details." "underlying JDBC/JTA APIs and allows Hibernate to manage the details."
msgstr "" msgstr ""
"La arquitectura \"full cream\" abstrae a la aplicaci&#x00f3;n de las APIs de " "La arquitectura \"completa\" abstrae la aplicación de las APIs de JDBC/JTA y "
"JDBC/JTA y deja que Hibernate se encargue de los detalles." "permite que Hibernate se encargue de los detalles."
#. Tag: para #. Tag: para
#: architecture.xml:92 #, no-c-format
#, fuzzy, no-c-format
msgid "Here are some definitions of the objects depicted in the diagrams:" msgid "Here are some definitions of the objects depicted in the diagrams:"
msgstr "He aqu&#x00ed; algunas definiciones de los objetos en los diagramas:" msgstr "He aquí algunas definiciones de los objetos en los diagramas: "
#. Tag: term #. Tag: term
#: architecture.xml:97
#, no-c-format #, no-c-format
msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)" msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)" msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:99 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A threadsafe, immutable cache of compiled mappings for a single database. A " "A threadsafe, immutable cache of compiled mappings for a single database. A "
"factory for <literal>Session</literal> and a client of " "factory for <literal>Session</literal> and a client of "
@ -101,21 +104,19 @@ msgid ""
"hold an optional (second-level) cache of data that is reusable between " "hold an optional (second-level) cache of data that is reusable between "
"transactions at a process, or cluster, level." "transactions at a process, or cluster, level."
msgstr "" msgstr ""
"Cach&#x00e9; threadsafe (inmutable) de mapeos compilados para una sola base " "Un caché threadsafe (inmutable) de mapeos compilados para una sola base de "
"de datos. Es una f&#x00e1;brica de <literal>Session</literal> y un cliente " "datos. Una fábrica de <literal>Session</literal> y un cliente de "
"de <literal>ConnectionProvider</literal>. Opcionalmente, puede mantener una " "<literal>ConnectionProvider</literal>, <literal>SessionFactory</literal> "
"cach&#x00e9; (de segundo nivel) de datos reusables entre transacciones, a un " "puede mantener un caché opcional (de segundo nivel) de datos reusables entre "
"nivel de proceso o de cluster." "transacciones a nivel de proceso o de clúster."
#. Tag: term #. Tag: term
#: architecture.xml:109
#, no-c-format #, no-c-format
msgid "Session (<literal>org.hibernate.Session</literal>)" msgid "Session (<literal>org.hibernate.Session</literal>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)" msgstr "Session (<literal>org.hibernate.Session</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:111 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A single-threaded, short-lived object representing a conversation between " "A single-threaded, short-lived object representing a conversation between "
"the application and the persistent store. It wraps a JDBC connection and is " "the application and the persistent store. It wraps a JDBC connection and is "
@ -123,22 +124,20 @@ msgid ""
"holds a mandatory first-level cache of persistent objects that are used when " "holds a mandatory first-level cache of persistent objects that are used when "
"navigating the object graph or looking up objects by identifier." "navigating the object graph or looking up objects by identifier."
msgstr "" msgstr ""
"Objeto mono-hebra, de corta vida que representa una conversaci&#x00f3;n " "Un objeto mono-hebra, de corta vida que representa una conversación entre la "
"entre la aplicaci&#x00f3;n y el almacenamiento persistente. Envuelve una " "aplicación y el almacenamiento persistente. Envuelve una conexión JDBC y es "
"conexi&#x00f3;n JDBC. Es una f&#x00e1;brica de <literal>Transaction</" "una fábrica de <literal>Transaction</literal>. <literal>Session</literal> "
"literal>. Mantiene una cach&#x00e9; requerida (de primer nivel) de objetos " "mantiene un caché requerido de primer nivel de objetos persistentes, que se "
"persistentes, usada mientras se navega el grafo de objetos o se recuperen " "utiliza cuando se navega el gráfico de objetos o mientras se buscan objetos "
"objetos por identificador." "por identificador."
#. Tag: term #. Tag: term
#: architecture.xml:121
#, no-c-format #, no-c-format
msgid "Persistent objects and collections" msgid "Persistent objects and collections"
msgstr "Objetos y colecciones persistentes" msgstr "Objetos y colecciones persistentes"
#. Tag: para #. Tag: para
#: architecture.xml:123 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Short-lived, single threaded objects containing persistent state and " "Short-lived, single threaded objects containing persistent state and "
"business function. These can be ordinary JavaBeans/POJOs. They are " "business function. These can be ordinary JavaBeans/POJOs. They are "
@ -147,45 +146,39 @@ msgid ""
"in any application layer (for example, directly as data transfer objects to " "in any application layer (for example, directly as data transfer objects to "
"and from presentation)." "and from presentation)."
msgstr "" msgstr ""
"Objetos de corta vida, mono-hebra conteniendo estado persistente y " "Objetos de corta vida, mono-hebra contienen un estado persistente así como "
"funci&#x00f3;nalidad de negocio. Estos pueden ser JavaBeans/POJOs (Plain Old " "una funcionalidad empresarial. Estos pueden ser JavaBeans/POJOs normales. "
"Java Objects, o sea, cualquier objeto Java), la &#x00fa;nica cosa especial " "Estos se encuentran asociados con exactamente una <literal>Session</"
"en ellos es que estan asociados actualmente con una (y s&#x00f3;lo una) " "literal>. Tan pronto como la <literal>Session</literal> se cierre, serán "
"<literal>Session</literal>. Tan pronto como la <literal>Session</literal> " "separados y estarán libres para utilizarlos en cualquier capa de aplicación, "
"sea cerrada, ser&#x00e1;n separados y estar&#x00e1;n libres para ser usados " "(por ejemplo, directamente como objetos de transferencia de datos hacia y "
"en cualquier capa de aplicaci&#x00f3;n. (por ejemplo, directamente como " "desde la presentación)."
"objetos de transferencia de datos hacia y desde la capa de presentaci&#x00f3;"
"n)."
#. Tag: term #. Tag: term
#: architecture.xml:133
#, no-c-format #, no-c-format
msgid "Transient and detached objects and collections" msgid "Transient and detached objects and collections"
msgstr "Objetos y colecciones transitorios y separados" msgstr "Objetos y colecciones transitorios y separados"
#. Tag: para #. Tag: para
#: architecture.xml:135 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Instances of persistent classes that are not currently associated with a " "Instances of persistent classes that are not currently associated with a "
"<literal>Session</literal>. They may have been instantiated by the " "<literal>Session</literal>. They may have been instantiated by the "
"application and not yet persisted, or they may have been instantiated by a " "application and not yet persisted, or they may have been instantiated by a "
"closed <literal>Session</literal>." "closed <literal>Session</literal>."
msgstr "" msgstr ""
"Instancias de clases persistentes que no estan acutualmente asociadas con " "Instancias de clases persistentes que no se encuentran actualmente asociadas "
"una <literal>Session</literal>. Pueden haber sido instanciadas por la " "con una <literal>Session</literal>. Pueden haber sido instanciadas por la "
"aplicaci&#x00f3;n y (a&#x00fa;n) no haber sido hechas persistentes, o pueden " "aplicación y aún no haber sido persistidas, o pueden haber sido instanciadas "
"haber sido instanciadas por una <literal>Session</literal> cerrada." "por una <literal>Session</literal> cerrada."
#. Tag: term #. Tag: term
#: architecture.xml:144
#, no-c-format #, no-c-format
msgid "Transaction (<literal>org.hibernate.Transaction</literal>)" msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)" msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:146 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A single-threaded, short-lived object used by the application to " "(Optional) A single-threaded, short-lived object used by the application to "
"specify atomic units of work. It abstracts the application from the " "specify atomic units of work. It abstracts the application from the "
@ -194,16 +187,15 @@ msgid ""
"transaction demarcation, either using the underlying API or " "transaction demarcation, either using the underlying API or "
"<literal>Transaction</literal>, is never optional." "<literal>Transaction</literal>, is never optional."
msgstr "" msgstr ""
"(Opcional) Un objeto de corta vida, mono-hebra, usado por la aplicaci&#x00f3;" "(Opcional) Un objeto de corta vida, mono-hebra que la aplicación utiliza "
"n para especificar unidades at&#x00f3;micas de trabajo. Abstrae a la " "para especificar unidades atómicas de trabajo. Abstrae la aplicación de las "
"aplicaci&#x00f3;n de las subyacentes transacciones JDBC, JTA o CORBA. En " "transacciones subyacentes JDBC, JTA o CORBA. En algunos casos, una "
"algunos casos, una <literal>Session</literal> puede extenderse sobre varias " "<literal>Session</literal> puede extenderse sobre varias "
"<literal>Transaction</literal>s. Sin embargo, la demarcaci&#x00f3;n de la " "<literal>Transaction</literal>es. Sin embargo, la demarcación de la "
"transacci&#x00f3;n, ya sea usando la API subyacente o <literal>Transaction</" "transacción, ya sea utilizando la API subyacente o <literal>Transaction</"
"literal>, nunca es opcional!" "literal>, nunca es opcional."
#. Tag: term #. Tag: term
#: architecture.xml:157
#, no-c-format #, no-c-format
msgid "" msgid ""
"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</" "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
@ -213,22 +205,19 @@ msgstr ""
"literal>)" "literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:159 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A factory for, and pool of, JDBC connections. It abstracts the " "(Optional) A factory for, and pool of, JDBC connections. It abstracts the "
"application from underlying <literal>Datasource</literal> or " "application from underlying <literal>Datasource</literal> or "
"<literal>DriverManager</literal>. It is not exposed to application, but it " "<literal>DriverManager</literal>. It is not exposed to application, but it "
"can be extended and/or implemented by the developer." "can be extended and/or implemented by the developer."
msgstr "" msgstr ""
"(Opcional) Una f&#x00e1;brica (y pool) de conexiones JDBC. Abstrae a la " "(Opcional) Una fábrica y pool de conexiones JDBC. Abstrae a la aplicación "
"aplicaci&#x00f3;n del <literal>Datasource</literal> o " "del <literal>Datasource</literal> o <literal>DriverManager</literal> "
"<literal>DriverManager</literal> subyacente. No se expone a la " "subyacente. No se expone a la aplicación, pero puede ser extendido/"
"aplicaci&#x00f3;n, pero puede ser extendido/implementado por el " "implementado por el desarrollador."
"desarrollador."
#. Tag: term #. Tag: term
#: architecture.xml:167
#, no-c-format #, no-c-format
msgid "" msgid ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)" "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
@ -236,59 +225,52 @@ msgstr ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)" "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:169 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A factory for <literal>Transaction</literal> instances. It is not " "(Optional) A factory for <literal>Transaction</literal> instances. It is not "
"exposed to the application, but it can be extended and/or implemented by the " "exposed to the application, but it can be extended and/or implemented by the "
"developer." "developer."
msgstr "" msgstr ""
"(Opcional) Una f&#x00e1;brica de instancias de <literal>Transaction</" "(Opcional) Una fábrica de instancias de <literal>Transaction</literal>. No "
"literal>. No se expone a la aplicaci&#x00f3;n, pero puede ser extendido/" "se expone a la aplicación pero puede ser extendido/implementado por el "
"implementado por el desarrollador." "desarrollador. "
#. Tag: emphasis #. Tag: term
#: architecture.xml:176 #, fuzzy, no-c-format
#, no-c-format msgid "<emphasis>Extension Interfaces</emphasis>"
msgid "Extension Interfaces" msgstr "<emphasis>Interfaces de extensión</emphasis>"
msgstr "Interfaces de Extensi&#x00f3;n"
#. Tag: para #. Tag: para
#: architecture.xml:178 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate offers a range of optional extension interfaces you can implement " "Hibernate offers a range of optional extension interfaces you can implement "
"to customize the behavior of your persistence layer. See the API " "to customize the behavior of your persistence layer. See the API "
"documentation for details." "documentation for details."
msgstr "" msgstr ""
"Hibernate ofrece muchas interfaces de extensi&#x00f3;n opcional que puedes " "Hibernate ofrece un rango de interfaces de extensión opcionales que puede "
"implementar para modificar a medida el comportamiento de tu capa de " "implementar para personalizar el comportamiento de su capa de persistencia. "
"persistencia. Para m&#x00e1;s detalles, mira la documentaci&#x00f3;n de la " "Para obtener más detalles, vea la documentación de la API."
"API."
#. Tag: para #. Tag: para
#: architecture.xml:187 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Given a \"minimal\" architecture, the application bypasses the " "Given a \"minimal\" architecture, the application bypasses the "
"<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or " "<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or "
"<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC " "<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC "
"directly." "directly."
msgstr "" msgstr ""
"Dada una arquitectura \"sencilla\", la aplicaci&#x00f3;n pasa por alto las " "Dada una arquitectura \"sencilla\", la aplicación evita las APIs de "
"APIs de <literal>Transaction</literal>/<literal>TransactionFactory</literal> " "<literal>Transaction</literal>/<literal>TransactionFactory</literal> y/o "
"y/o <literal>ConnectionProvider</literal>, para hablar directamente a JTA o " "<literal>ConnectionProvider</literal>, para comunicarse directamente con JTA "
"JDBC." "o JDBC."
#. Tag: title #. Tag: title
#: architecture.xml:195
#, no-c-format #, no-c-format
msgid "Instance states" msgid "Instance states"
msgstr "Estados de instancia" msgstr "Estados de instancia"
#. Tag: para #. Tag: para
#: architecture.xml:196 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"An instance of a persistent class can be in one of three different states. " "An instance of a persistent class can be in one of three different states. "
"These states are defined in relation to a <emphasis>persistence context</" "These states are defined in relation to a <emphasis>persistence context</"
@ -296,35 +278,32 @@ msgid ""
"persistence context. The three different states are as follows:" "persistence context. The three different states are as follows:"
msgstr "" msgstr ""
"Una instancia de una clase persistente puede estar en uno de tres estados " "Una instancia de una clase persistente puede estar en uno de tres estados "
"diferentes, definidos respecto de su <emphasis>contexto de persistencia</" "diferentes. Estos estados se definen con respecto a su <emphasis>contexto de "
"emphasis>. El objeto <literal>Session</literal> de Hibernate es el contexto " "persistencia</emphasis>. El objeto <literal>Session</literal> de Hibernate "
"de persistencia:" "es el contexto de persistencia. Los tres estados diferentes son los "
"siguientes:"
#. Tag: term #. Tag: term
#: architecture.xml:204
#, no-c-format #, no-c-format
msgid "transient" msgid "transient"
msgstr "transitorio" msgstr "transitorio"
#. Tag: para #. Tag: para
#: architecture.xml:206 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance is not associated with any persistence context. It has no " "The instance is not associated with any persistence context. It has no "
"persistent identity or primary key value." "persistent identity or primary key value."
msgstr "" msgstr ""
"La instancia no est&#x00e1; y nunca estuvo asociada con un contexto de " "La instancia no está asociada con un contexto de persistencia. No tiene "
"persistencia. No tiene identidad persistente (valor de clave primaria)." "identidad persistente o valor de clave principal."
#. Tag: term #. Tag: term
#: architecture.xml:214
#, no-c-format #, no-c-format
msgid "persistent" msgid "persistent"
msgstr "persistente" msgstr "persistente"
#. Tag: para #. Tag: para
#: architecture.xml:216 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance is currently associated with a persistence context. It has a " "The instance is currently associated with a persistence context. It has a "
"persistent identity (primary key value) and can have a corresponding row in " "persistent identity (primary key value) and can have a corresponding row in "
@ -332,22 +311,20 @@ msgid ""
"<emphasis>guarantees</emphasis> that persistent identity is equivalent to " "<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
"Java identity in relation to the in-memory location of the object." "Java identity in relation to the in-memory location of the object."
msgstr "" msgstr ""
"La instancia est&#x00e1; actualmente asociada con un contexto de " "La instancia se encuentra actualmente asociada con un contexto de "
"persistencia. Tiene una identidad persistente (valor de clave primaria) y, " "persistencia. Tiene una identidad persistente (valor de clave principal) y "
"quiz&#x00e1;s, una fila correspondiente en la base de datos. Para un " "puede tener una fila correspondiente en la base de datos. Para un contexto "
"contexto de persistencia en particular, Hibernate <emphasis>garantiza</" "de persistencia en particular, Hibernate <emphasis>garantiza</emphasis> que "
"emphasis> que la identidad persistente es equivalente a la identidad Java " "la identidad persistente es equivalente a la identidad Java en relación con "
"(localizaci&#x00f3;n en memoria del objeto)." "la ubicación del objeto."
#. Tag: term #. Tag: term
#: architecture.xml:228
#, no-c-format #, no-c-format
msgid "detached" msgid "detached"
msgstr "separado" msgstr "separado"
#. Tag: para #. Tag: para
#: architecture.xml:230 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance was once associated with a persistence context, but that " "The instance was once associated with a persistence context, but that "
"context was closed, or the instance was serialized to another process. It " "context was closed, or the instance was serialized to another process. It "
@ -355,49 +332,44 @@ msgid ""
"For detached instances, Hibernate does not guarantee the relationship " "For detached instances, Hibernate does not guarantee the relationship "
"between persistent identity and Java identity." "between persistent identity and Java identity."
msgstr "" msgstr ""
"La instancia estuvo una vez asociada con un contexto de persistencia, pero " "La instancia estuvo alguna vez asociada con un contexto de persistencia, "
"ese contexto fue cerrado, o la instancia fue serializada a otro proceso. " "pero ese contexto se cerró, o la instancia fue serializada a otro proceso. "
"Tiene una identidad persistente y, quiz&#x00e1;s, una fila correspondiente " "Tiene una identidad persistente y puede tener una fila correspondiente en la "
"en la base de datos. Para las instancias separadas, Hibernate no establece " "base de datos. Para las instancias separadas, Hibernate no establece ninguna "
"ninguna garant&#x00ed;a sobre la relaci&#x00f3;n entre identidad persistente " "garantía sobre la relación entre identidad persistente e identidad Java."
"e identidad Java."
#. Tag: title #. Tag: title
#: architecture.xml:245
#, no-c-format #, no-c-format
msgid "JMX Integration" msgid "JMX Integration"
msgstr "Integraci&#x00f3;n JMX" msgstr "Integración JMX"
#. Tag: para #. Tag: para
#: architecture.xml:247 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"JMX is the J2EE standard for the management of Java components. Hibernate " "JMX is the J2EE standard for the management of Java components. Hibernate "
"can be managed via a JMX standard service. AN MBean implementation is " "can be managed via a JMX standard service. AN MBean implementation is "
"provided in the distribution: <literal>org.hibernate.jmx.HibernateService</" "provided in the distribution: <literal>org.hibernate.jmx.HibernateService</"
"literal>." "literal>."
msgstr "" msgstr ""
"JMX es el est&#x00e1;ndar J2EE para la gesti&#x00f3;n de componentes Java. " "JMX es el estándar J2EE para la gestión de componentes Java. Hibernate se "
"Hibernate puede ser gestionado por medio de un servicio est&#x00e1;ndar JMX. " "puede administrar por medio de un servicio estándar JMX. Brindamos una "
"Proveemos una implementaci&#x00f3;n de MBean en la distribuci&#x00f3;n, " "implementación de MBean en la distribución: <literal>org.hibernate.jmx."
"<literal>org.hibernate.jmx.HibernateService</literal>." "HibernateService</literal>."
#. Tag: para #. Tag: para
#: architecture.xml:253 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For an example of how to deploy Hibernate as a JMX service on the JBoss " "For an example of how to deploy Hibernate as a JMX service on the JBoss "
"Application Server, please see the JBoss User Guide. JBoss AS also provides " "Application Server, please see the JBoss User Guide. JBoss AS also provides "
"these benefits if you deploy using JMX:" "these benefits if you deploy using JMX:"
msgstr "" msgstr ""
"Para ejemplo de c&#x00f3;mo desplegar Hibernate como un servicio JMX en un " "Para ver un ejemplo de cómo desplegar Hibernate como un servicio JMX en un "
"Servidor de Aplicaciones JBoss, por favor, mira la Gu&#x00ed;a del Usuario " "servidor de aplicaciones JBoss, por favor, refiérase al manual del usuario "
"de JBoss. En JBoss AS, tienes adem&#x00e1;s estos beneficios si despliegas " "de JBoss. JBoss AS también proporciona estos beneficios si despliega "
"usando JMX:" "utilizando JMX:"
#. Tag: para #. Tag: para
#: architecture.xml:261 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</" "<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</"
"literal>'s life cycle can be automatically bound to the scope of a JTA " "literal>'s life cycle can be automatically bound to the scope of a JTA "
@ -409,20 +381,18 @@ msgid ""
"the <literal>HibernateContext</literal> to access a <literal>Session</" "the <literal>HibernateContext</literal> to access a <literal>Session</"
"literal>." "literal>."
msgstr "" msgstr ""
"<emphasis>Gesti&#x00f3;n de Sesi&#x00f3;n:</emphasis> El ciclo de vida de la " "<emphasis>Administración de Sesión:</emphasis> El ciclo de vida de la "
"<literal>Session</literal> de Hibernate puede estar autom&#x00e1;ticamente " "<literal>Session</literal> de Hibernate puede estar ligado automáticamente "
"ligado al &#x00e1;mbito de una transacci&#x00f3;n JTA. Esto significa que ya " "al ámbito de una transacción JTA. Esto significa que ya no tiene que abrir "
"no tienes que abrir ni cerrar la <literal>Session</literal> manualmente, " "ni cerrar la <literal>Session</literal> manualmente, esto pasa a ser el "
"esto pasa a ser trabajo de un interceptor EJB de JBoss. Adem&#x00e1;s " "trabajo de un interceptor EJB de JBoss. Además tampoco tiene que preocuparse "
"tampoco tienes que preocuparte m&#x00e1;s de la demarcaci&#x00f3;n de la " "más de la demarcación de la transacción en su código (a menos de que quiera "
"transacci&#x00f3;n (a menos que que quieras escribir una capa de persitencia " "escribir una capa de persitencia portátil, utilice la API de "
"portable, por supuesto, usa la API de <literal>Transaction</literal> de " "<literal>Transaction</literal> de Hibernate para hacer esto). Para acceder a "
"Hibernate para esto). Para acceder a una <literal>Session</literal> llama al " "una <literal>Session</literal> llame al <literal>HibernateContext</literal>."
"<literal>HibernateContext</literal>."
#. Tag: para #. Tag: para
#: architecture.xml:273 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is deployed " "<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is deployed "
"using a JBoss service deployment descriptor in an EAR and/or SAR file, as it " "using a JBoss service deployment descriptor in an EAR and/or SAR file, as it "
@ -432,63 +402,56 @@ msgid ""
"deployment, JBoss will automatically detect all mapping files in your HAR " "deployment, JBoss will automatically detect all mapping files in your HAR "
"file." "file."
msgstr "" msgstr ""
"<emphasis>Despliegue de HAR:</emphasis> Usualmente despliegas el servicio " "<emphasis>Despliegue HAR:</emphasis>: el servicio JMX de Hibernate se "
"JMX de Hibernate usando un descriptor de despliegue de servicio de JBoss (en " "implementa usando un descriptor de despliegue de servicio de JBoss en un "
"un fichero EAR y/o SAR), que soporta todas las opciones de " "archivo EAR y/o SAR, que soporta todas las opciones de configuración usuales "
"configuraci&#x00f3;n usuales de una <literal>SessionFactory</literal> de " "de una <literal>SessionFactory</literal> de Hibernate. Sin embargo, todavía "
"Hibernate. Sin embargo, todav&#x00ed;a tienes que nombrar todos tus ficheros " "tiene que nombrar todos sus archivos de mapeo en el descriptor de "
"de mapeo en el descriptor de despliegue. Si decides usar el depliegue de HAR " "despliegue. Si utiliza el depliegue HAR opcional, JBoss detectará "
"opcional, JBoss detectar&#x00e1; autom&#x00e1;ticamente todos los ficheros " "automáticamente todos los archivos de mapeo en su archivo HAR."
"de mapeo en tu fichero HAR."
#. Tag: para #. Tag: para
#: architecture.xml:284
#, no-c-format #, no-c-format
msgid "" msgid ""
"Consult the JBoss AS user guide for more information about these options." "Consult the JBoss AS user guide for more information about these options."
msgstr "" msgstr ""
"Para m&#x00e1;s informaci&#x00f3;n sobre estas opciones, consulta la " "Para más información sobre estas opciones, consulte el Manual de Usuario de "
"Gu&#x00ed;a de Usuario del JBoss AS." "JBoss AS."
#. Tag: para #. Tag: para
#: architecture.xml:288
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Another feature available as a JMX service is runtime Hibernate statistics. " "Another feature available as a JMX service is runtime Hibernate statistics. "
"See <xref linkend=\"configuration-optional-statistics\"/> for more " "See <xref linkend=\"configuration-optional-statistics\" /> for more "
"information." "information."
msgstr "" msgstr ""
"Otra funcionalidad disponible como un servicio JMX son las estad&#x00ed;" "Otra funcionalidad disponible como un servicio de JMX son las estadísticas "
"sticas en tiempo de ejecuci&#x00f3;n de Hibernate. Mira <xref linkend=" "en tiempo de ejecución de Hibernate. Consulte <xref linkend=\"configuration-"
"\"configuration-optional-statistics\"/>." "optional-statistics\" /> para obtener mayor información."
#. Tag: title #. Tag: title
#: architecture.xml:295
#, no-c-format #, no-c-format
msgid "JCA Support" msgid "JCA Support"
msgstr "Soporte JCA:" msgstr "Soporte JCA"
#. Tag: para #. Tag: para
#: architecture.xml:296 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate can also be configured as a JCA connector. Please see the website " "Hibernate can also be configured as a JCA connector. Please see the website "
"for more information. Please note, however, that at this stage Hibernate JCA " "for more information. Please note, however, that at this stage Hibernate JCA "
"support is under development." "support is under development."
msgstr "" msgstr ""
"Hiberate puede adem&#x00e1;s ser configurado como un conector JCA. Por favor " "Hibernate también puede ser configurado como un conector JCA. Por favor "
"mira el sitio web para m&#x00e1;s detalles. Por favor ten en cuenta que el " "refiérase al sitio web para encontrar más detalles. Sin embargo, tenga en "
"soporte de JCA de Hibernate est&#x00e1; a&#x00fa;n considerado experimental." "cuenta que el soporte de JCA de Hibernate aún está bajo desarrollo."
#. Tag: title #. Tag: title
#: architecture.xml:303 #, no-c-format
#, fuzzy, no-c-format
msgid "Contextual sessions" msgid "Contextual sessions"
msgstr "UNTRANSLATED! Contextual Sessions" msgstr "Sesiones contextuales"
#. Tag: para #. Tag: para
#: architecture.xml:304 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Most applications using Hibernate need some form of \"contextual\" session, " "Most applications using Hibernate need some form of \"contextual\" session, "
"where a given session is in effect throughout the scope of a given context. " "where a given session is in effect throughout the scope of a given context. "
@ -500,19 +463,20 @@ msgid ""
"utilized third-party frameworks, such as Spring or Pico, which provided " "utilized third-party frameworks, such as Spring or Pico, which provided "
"proxy/interception-based contextual sessions." "proxy/interception-based contextual sessions."
msgstr "" msgstr ""
"Most applications using Hibernate need some form of \"contextual\" sessions, " "La mayoría de las aplicaciones que utilizan Hibernate necesitan alguna forma "
"where a given session is in effect throughout the scope of a given context. " "de sesiones \"contextuales\", en donde una sesión dada se encuentra en "
"However, across applications the definition of what constitutes a context is " "efecto en todo el campo de acción de un contexto dado. Sin embargo, a través "
"typically different; and different contexts define different scopes to the " "de las aplicaciones la definición de lo que constituye un contexto es "
"notion of current. Applications using Hibernate prior to version 3.0 tended " "usualmente diferente y diferentes contextos definen diferentes campos de "
"to utilize either home-grown <literal>ThreadLocal</literal>-based contextual " "acción para la noción de actual. Las aplicaciones que utiliza Hibernate "
"sessions, helper classes such as <literal>HibernateUtil</literal>, or " "antes de la version 3.0 tienden a utilizar ya sea sesiones contextuales con "
"utilized third-party frameworks (such as Spring or Pico) which provided " "base <literal>ThreadLocal</literal> desarrollados en casa, las clases "
"proxy/interception-based contextual sessions." "ayudantes tales como <literal>HibernateUtil</literal>, o enfoques de "
"terceros utilizados, como Spring o Pico, los cuales brindaban sesiones "
"contextuales con base proxy/intercepción."
#. Tag: para #. Tag: para
#: architecture.xml:313 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory." "Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
"getCurrentSession()</literal> method. Initially, this assumed usage of " "getCurrentSession()</literal> method. Initially, this assumed usage of "
@ -524,20 +488,20 @@ msgid ""
"deployed into a <literal>J2EE</literal> container. Based on that, the " "deployed into a <literal>J2EE</literal> container. Based on that, the "
"<literal>JTA</literal>-based contextual sessions are all you need to use." "<literal>JTA</literal>-based contextual sessions are all you need to use."
msgstr "" msgstr ""
"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory." "Comenzando con la version 3.0.1, Hibernate agregó el método "
"getCurrentSession()</literal> method. Initially, this assumed usage of " "<literal>SessionFactory.getCurrentSession()</literal>. Inicialmente, este "
"<literal>JTA</literal> transactions, where the <literal>JTA</literal> " "asumió la utilización de las transacciones <literal>JTA</literal>, en donde "
"transaction defined both the scope and context of a current session. The " "la transacción <literal>JTA</literal> definia tanto el contexto como el "
"Hibernate team maintains that, given the maturity of the numerous stand-" "campo de acción de una sesión actual. Dada la madurez de númerosas "
"alone <literal>JTA TransactionManager</literal> implementations out there, " "implementaciones <literal>JTA TransactionManager</literal> autónomas "
"most (if not all) applications should be using <literal>JTA</literal> " "existentes, la mayoría, si no es que todas, las aplicaciones deberían "
"transaction management whether or not they are deployed into a " "utilizar la administración de transacciones <literal>JTA</literal> en el "
"<literal>J2EE</literal> container. Based on that, the <literal>JTA</literal>-" "caso de que se deplieguen o no en un contenedor <literal>J2EE</literal>. Con "
"based contextual sessions is all you should ever need to use." "base en esto, las sesiones contextuales basadas en <literal>JTA</literal> es "
"todo lo que usted necesita utilizar."
#. Tag: para #. Tag: para
#: architecture.xml:323 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"However, as of version 3.1, the processing behind <literal>SessionFactory." "However, as of version 3.1, the processing behind <literal>SessionFactory."
"getCurrentSession()</literal> is now pluggable. To that end, a new extension " "getCurrentSession()</literal> is now pluggable. To that end, a new extension "
@ -546,16 +510,16 @@ msgid ""
"current_session_context_class</literal>, have been added to allow " "current_session_context_class</literal>, have been added to allow "
"pluggability of the scope and context of defining current sessions." "pluggability of the scope and context of defining current sessions."
msgstr "" msgstr ""
"However, as of version 3.1, the processing behind <literal>SessionFactory." "Sin embargo, desde la versión 3.1, el procesamiento detrás de "
"getCurrentSession()</literal> is now pluggable. To that end, a new extension " "<literal>SessionFactory.getCurrentSession()</literal> ahora es conectable. "
"interface (<literal>org.hibernate.context.CurrentSessionContext</literal>) " "Para ese fin, se ha añadido una nueva interfaz de extensión, <literal>org."
"and a new configuration parameter (<literal>hibernate." "hibernate.context.CurrentSessionContext</literal>, y un nuevo parámetro de "
"current_session_context_class</literal>) have been added to allow " "configuración, <literal>hibernate.current_session_context_class</literal> "
"pluggability of the scope and context of defining current sessions." "para permitir la conexión del campo de acción y el contexto de definición de "
"las sesiones actuales."
#. Tag: para #. Tag: para
#: architecture.xml:330 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"See the Javadocs for the <literal>org.hibernate.context." "See the Javadocs for the <literal>org.hibernate.context."
"CurrentSessionContext</literal> interface for a detailed discussion of its " "CurrentSessionContext</literal> interface for a detailed discussion of its "
@ -564,54 +528,51 @@ msgid ""
"contextual session. Out-of-the-box, Hibernate comes with three " "contextual session. Out-of-the-box, Hibernate comes with three "
"implementations of this interface:" "implementations of this interface:"
msgstr "" msgstr ""
"See the Javadocs for the <literal>org.hibernate.context." "Refiérase a los Javadocs para la interfaz <literal>org.hibernate.context."
"CurrentSessionContext</literal> interface for a detailed discussion of its " "CurrentSessionContext</literal> para poder ver una discusión detallada de su "
"contract. It defines a single method, <literal>currentSession()</literal>, " "contrato. Define un método único, <literal>currentSession()</literal>, por "
"by which the implementation is responsible for tracking the current " "medio del cual la implementación es responsable de rastrear la sesión "
"contextual session. Out-of-the-box, Hibernate comes with three " "contextual actual. Tal como viene empacada, Hibernate incluye tres "
"implementations of this interface." "implementaciones de esta interfaz:"
#. Tag: para #. Tag: para
#: architecture.xml:340 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.JTASessionContext</literal>: current sessions " "<literal>org.hibernate.context.JTASessionContext</literal>: current sessions "
"are tracked and scoped by a <literal>JTA</literal> transaction. The " "are tracked and scoped by a <literal>JTA</literal> transaction. The "
"processing here is exactly the same as in the older JTA-only approach. See " "processing here is exactly the same as in the older JTA-only approach. See "
"the Javadocs for details." "the Javadocs for details."
msgstr "" msgstr ""
"<literal>org.hibernate.context.JTASessionContext</literal> - current " "<literal>org.hibernate.context.JTASessionContext</literal>: una transacción "
"sessions are tracked and scoped by a <literal>JTA</literal> transaction. The " "<literal>JTA</literal> rastrea y asume las sesiones actuales. Aquí el "
"processing here is exactly the same as in the older JTA-only approach. See " "procesamiento es exactamente el mismo que en el enfoque más antiguo de JTA-"
"the Javadocs for details." "sólamente. Refiérase a los Javadocs para obtener más información."
#. Tag: para #. Tag: para
#: architecture.xml:348 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current " "<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current "
"sessions are tracked by thread of execution. See the Javadocs for details." "sessions are tracked by thread of execution. See the Javadocs for details."
msgstr "" msgstr ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current " "<literal>org.hibernate.context.ThreadLocalSessionContext</literal>: las "
"sessions are tracked by thread of execution. Again, see the Javadocs for " "sesiones actuales son rastreadas por un hilo de ejecución. Consulte los "
"details." "Javadocs para obtener más detalles."
#. Tag: para #. Tag: para
#: architecture.xml:354 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.ManagedSessionContext</literal>: current " "<literal>org.hibernate.context.ManagedSessionContext</literal>: current "
"sessions are tracked by thread of execution. However, you are responsible to " "sessions are tracked by thread of execution. However, you are responsible to "
"bind and unbind a <literal>Session</literal> instance with static methods on " "bind and unbind a <literal>Session</literal> instance with static methods on "
"this class: it does not open, flush, or close a <literal>Session</literal>." "this class: it does not open, flush, or close a <literal>Session</literal>."
msgstr "" msgstr ""
"<literal>org.hibernate.context.ManagedSessionContext</literal> - current " "<literal>org.hibernate.context.ManagedSessionContext</literal>: las sesiones "
"sessions are tracked by thread of execution. However, you are responsible to " "actuales son rastreadas por un hilo de ejecución. Sin embargo, usted es "
"bind and unbind a <literal>Session</literal> instance with static methods on " "responsable de vincular y desvincular una instancia <literal>Session</"
"this class, it does never open, flush, or close a <literal>Session</literal>." "literal> con métodos estáticos en esta clase: no abre, vacia o cierra una "
"<literal>Session</literal>."
#. Tag: para #. Tag: para
#: architecture.xml:363
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"The first two implementations provide a \"one session - one database " "The first two implementations provide a \"one session - one database "
@ -624,24 +585,26 @@ msgid ""
"utilize the JTA interfaces to demarcate transactions. If you execute in an " "utilize the JTA interfaces to demarcate transactions. If you execute in an "
"EJB container that supports CMT, transaction boundaries are defined " "EJB container that supports CMT, transaction boundaries are defined "
"declaratively and you do not need any transaction or session demarcation " "declaratively and you do not need any transaction or session demarcation "
"operations in your code. Refer to <xref linkend=\"transactions\"/> for more " "operations in your code. Refer to <xref linkend=\"transactions\" /> for more "
"information and code examples." "information and code examples."
msgstr "" msgstr ""
"The first two implementations provide a \"one session - one database " "Las primeras dos implementaciones brindan un modelo de programación \"una "
"transaction\" programming model, also known and used as <emphasis>session-" "sesión - una transacción de la base de datos\". También conocido y utilizado "
"per-request</emphasis>. The beginning and end of a Hibernate session is " "como una <emphasis>sesión-por-petición</emphasis>. El inicio y el final de "
"defined by the duration of a database transaction. If you use programatic " "una sesión Hibernate se define por la duración de una transacción de una "
"transaction demarcation in plain JSE without JTA, you are adviced to use the " "base de datos. Si utiliza la demarcación de transacción programática en JSE "
"Hibernate <literal>Transaction</literal> API to hide the underlying " "sencillo sin JTA, se le aconseja que utilice el API <literal>Transaction</"
"transaction system from your code. If you use JTA, use the JTA interfaces to " "literal> de Hibernate para esconder el sistema de transacción subyacente de "
"demarcate transactions. If you execute in an EJB container that supports " "su código. Si utiliza JTA, utilice las interfaces JTA para demarcar "
"CMT, transaction boundaries are defined declaratively and you don't need any " "transacciones. Si utiliza JTA, puede utilizar las interfaces JTA para "
"transaction or session demarcation operations in your code. Refer to <xref " "demarcar transacciones. Si ejecuta en un contenedor EJB que soporta CMT, los "
"linkend=\"transactions\"/> for more information and code examples." "límites de la transacción están definidos declarativamente y no necesita "
"ninguna operación de demarcación de sesión o transacción en su código. "
"Consulte <xref linkend=\"transactions\" /> para obtener más información y "
"ejemplos de código."
#. Tag: para #. Tag: para
#: architecture.xml:375 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>hibernate.current_session_context_class</literal> configuration " "The <literal>hibernate.current_session_context_class</literal> configuration "
"parameter defines which <literal>org.hibernate.context." "parameter defines which <literal>org.hibernate.context."
@ -654,19 +617,13 @@ msgid ""
"however, there are three corresponding short names: \"jta\", \"thread\", and " "however, there are three corresponding short names: \"jta\", \"thread\", and "
"\"managed\"." "\"managed\"."
msgstr "" msgstr ""
"The <literal>hibernate.current_session_context_class</literal> configuration " "El parámetro de configuración <literal>hibernate."
"parameter defines which <literal>org.hibernate.context." "current_session_context_class</literal> define cuales implementaciones "
"CurrentSessionContext</literal> implementation should be used. Note that for " "<literal>org.hibernate.context.CurrentSessionContext</literal> deben "
"backwards compatibility, if this config param is not set but a <literal>org." "utilizarse. Para compatibilidad con versiones anteriores, si este parámetro "
"hibernate.transaction.TransactionManagerLookup</literal> is configured, " "de configuración no está establecido pero si tiene configurado un "
"Hibernate will use the <literal>org.hibernate.context.JTASessionContext</" "<literal>org.hibernate.transaction.TransactionManagerLookup</literal>, "
"literal>. Typically, the value of this parameter would just name the " "Hibernate utilizará el <literal>org.hibernate.context.JTASessionContext</"
"implementation class to use; for the three out-of-the-box implementations, " "literal>. Usualmente el valor de este parámetro sólamente nombraría la clase "
"however, there are three corresponding short names, \"jta\", \"thread\", and " "de implementación a utilizar. Sin embargo, para las tres implementaciones "
"\"managed\"." "incluídas existen tress nombres cortos: \"jta\", \"thread\" y \"managed\"."
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -1,249 +1,140 @@
#, fuzzy # translation of batch.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: batch\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-07 10:48+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: batch.xml:29
#, no-c-format #, no-c-format
msgid "Batch processing" msgid "Batch processing"
msgstr "Procesamiento por lotes" msgstr "Procesamiento por lotes"
#. Tag: para #. Tag: para
#: batch.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A naive approach to inserting 100,000 rows in the database using Hibernate " "A naive approach to inserting 100,000 rows in the database using Hibernate "
"might look like this:" "might look like this:"
msgstr "" msgstr ""
"Un enfoque ingenuo para insertar 100.000 filas en la base de datos usando " "Un enfoque ingenuo para insertar 100.000 filas en la base de datos "
"Hibernate podría verse así:" "utilizando Hibernate puede verse así: "
#. Tag: programlisting
#: batch.xml:36
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
"}\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
"}\n"
"tx.commit();\n"
"session.close();]]>"
#. Tag: para #. Tag: para
#: batch.xml:38 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This would fall over with an <literal>OutOfMemoryException</literal> " "This would fall over with an <literal>OutOfMemoryException</literal> "
"somewhere around the 50,000th row. That is because Hibernate caches all the " "somewhere around the 50,000th row. That is because Hibernate caches all the "
"newly inserted <literal>Customer</literal> instances in the session-level " "newly inserted <literal>Customer</literal> instances in the session-level "
"cache. In this chapter we will show you how to avoid this problem." "cache. In this chapter we will show you how to avoid this problem."
msgstr "" msgstr ""
"Esto podría caer sobre una <literal>OutOfMemoryException</literal> en algún " "Esto podría caer dentro de una <literal>OutOfMemoryException</literal> en "
"sitio cerca de la fila 50.000. Esto es porque Hibernate tiene en caché todas " "algún sitio cerca de la fila 50.000. Esto se debe a que Hibernate tiene en "
"las instancias de <literal>Customer</literal> recién instanciadas en el " "caché todas las instancias de <literal>Customer</literal> recién insertadas "
"caché de nivel de sesión." "en el caché de nivel de sesión. En este capítulo le vamos a mostrar cómo "
"evitar este problema."
#. Tag: para #. Tag: para
#: batch.xml:45 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you are undertaking batch processing you will need to enable the use of " "If you are undertaking batch processing you will need to enable the use of "
"JDBC batching. This is absolutely essential if you want to achieve optimal " "JDBC batching. This is absolutely essential if you want to achieve optimal "
"performance. Set the JDBC batch size to a reasonable number (10-50, for " "performance. Set the JDBC batch size to a reasonable number (10-50, for "
"example):" "example):"
msgstr "" msgstr ""
"En este capítulo te mostraremos cómo evitar este problema. Primero, sin " "Si está realizando un procesamiento por lotes (batch processing), es "
"embargo, si estás haciendo procesamiento por lotes (batch processing), es " "necesario que habilite el uso del lote JDBC. Esto es esencial si quiere "
"absolutamente crítico que habilites el uso de loteo JDBC, si pretendes " "lograr un rendimiento óptimo. Establezca el tamaño de lote JDBC con un "
"lograr un rendimiento razonable. Establece el tamaño de lote JDBC a un " "número razonable (por ejemplo, 10-50):"
"número razonable (digamos 10-50):"
#. Tag: programlisting
#: batch.xml:52
#, no-c-format
msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
#. Tag: para #. Tag: para
#: batch.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate disables insert batching at the JDBC level transparently if you " "Hibernate disables insert batching at the JDBC level transparently if you "
"use an <literal>identity</literal> identifier generator." "use an <literal>identity</literal> identifier generator."
msgstr "" msgstr ""
"UNTRANSLATED! Note that Hibernate disables insert batching at the JDBC level " "Hibernate desactiva el lote de inserción a nivel de JDBC de forma "
"transparently if you use an <literal>identiy</literal> identifier generator." "transparente si usted utiliza un generador de identificador "
"<literal>identiy</literal>."
#. Tag: para #. Tag: para
#: batch.xml:59 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can also do this kind of work in a process where interaction with the " "You can also do this kind of work in a process where interaction with the "
"second-level cache is completely disabled:" "second-level cache is completely disabled:"
msgstr "" msgstr ""
"Podrías además querer hacer este tipo de trabajo en un proceso donde la " "También puede realizar este tipo de trabajo en un proceso en donde la "
"interacción con el caché de segundo nivel esté completamente deshabilitado:" "interacción con el caché de segundo nivel se encuentre completamente "
"desactivado:"
#. Tag: programlisting
#: batch.xml:64
#, no-c-format
msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
#. Tag: para #. Tag: para
#: batch.xml:66
#, no-c-format #, no-c-format
msgid "" msgid ""
"However, this is not absolutely necessary, since we can explicitly set the " "However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode</literal> to disable interaction with the second-level " "<literal>CacheMode</literal> to disable interaction with the second-level "
"cache." "cache."
msgstr "" msgstr ""
"UNTRANSLATED! However, this is not absolutely necessary, since we can " "Sin embargo, esto no es absolutamente necesario ya que podemos establecer "
"explicitly set the <literal>CacheMode</literal> to disable interaction with " "explícitamente el <literal>CacheMode</literal> para descativar la "
"the second-level cache." "interacción con el caché de segundo nivel."
#. Tag: title #. Tag: title
#: batch.xml:72
#, no-c-format #, no-c-format
msgid "Batch inserts" msgid "Batch inserts"
msgstr "Inserciones en lote" msgstr "Inserciones de lotes"
#. Tag: para #. Tag: para
#: batch.xml:74 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When making new objects persistent <literal>flush()</literal> and then " "When making new objects persistent <literal>flush()</literal> and then "
"<literal>clear()</literal> the session regularly in order to control the " "<literal>clear()</literal> the session regularly in order to control the "
"size of the first-level cache." "size of the first-level cache."
msgstr "" msgstr ""
"Al hacer persistentes objetos nuevos, debes limpiar con <literal>flush()</" "Al hacer persistentes los objetos nuevos es necesario que realice "
"literal> y llamar a <literal>clear()</literal> en la sesión regularmente, " "<literal>flush()</literal> y luego <literal>clear()</literal> en la sesión "
"para controlar el tamaño del caché de primer nivel." "regularmente para controlar el tamaño del caché de primer nivel."
#. Tag: programlisting
#: batch.xml:80
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
" if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
" //flush a batch of inserts and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
" if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
" //flush a batch of inserts and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
#. Tag: title #. Tag: title
#: batch.xml:85
#, no-c-format #, no-c-format
msgid "Batch updates" msgid "Batch updates"
msgstr "Actualizaciones en lote" msgstr "Actualizaciones de lotes update/delete en masa"
#. Tag: para #. Tag: para
#: batch.xml:87 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For retrieving and updating data, the same ideas apply. In addition, you " "For retrieving and updating data, the same ideas apply. In addition, you "
"need to use <literal>scroll()</literal> to take advantage of server-side " "need to use <literal>scroll()</literal> to take advantage of server-side "
"cursors for queries that return many rows of data." "cursors for queries that return many rows of data."
msgstr "" msgstr ""
"Para recuperar y actualizar datos se aplican las mismas ideas. " "Para recuperar y actualizar datos se aplican las mismas ideas. Además, "
"Adicionalmente, necesitas usar <literal>scroll()</literal> para sacar " "necesita utilizar <literal>scroll()</literal> para sacar ventaja de los "
"ventaja de los cursores del lado del servidor en consultas que devuelvan " "cursores del lado del servidor en consultas que retornen muchas filas de "
"muchas filas de datos." "datos."
#. Tag: programlisting
#: batch.xml:93
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .setCacheMode(CacheMode.IGNORE)\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"int count=0;\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" if ( ++count % 20 == 0 ) {\n"
" //flush a batch of updates and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .setCacheMode(CacheMode.IGNORE)\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"int count=0;\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" if ( ++count % 20 == 0 ) {\n"
" //flush a batch of updates and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
#. Tag: title #. Tag: title
#: batch.xml:98
#, no-c-format #, no-c-format
msgid "The StatelessSession interface" msgid "The StatelessSession interface"
msgstr "UNTRANSLATED! The StatelessSession interface" msgstr "La interfaz de Sesión sin Estado"
#. Tag: para #. Tag: para
#: batch.xml:99 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Alternatively, Hibernate provides a command-oriented API that can be used " "Alternatively, Hibernate provides a command-oriented API that can be used "
"for streaming data to and from the database in the form of detached objects. " "for streaming data to and from the database in the form of detached objects. "
@ -259,74 +150,35 @@ msgid ""
"effects. A stateless session is a lower-level abstraction that is much " "effects. A stateless session is a lower-level abstraction that is much "
"closer to the underlying JDBC." "closer to the underlying JDBC."
msgstr "" msgstr ""
"Alternatively, Hibernate provides a command-oriented API that may be used " "Opcionalmente, Hibernate proporciona una API orientada a comandos que se "
"for streaming data to and from the database in the form of detached objects. " "puede utilizar para datos que concurren desde y hacia la base de datos en "
"A <literal>StatelessSession</literal> has no persistence context associated " "forma de objetos separados. Un <literal>StatelessSession</literal> no tiene "
"with it and does not provide many of the higher-level life cycle semantics. " "un contexto de persistencia asociado con él y no proporciona mucha de la "
"In particular, a stateless session does not implement a first-level cache " "semántica a un alto nivel de ciclo de vida. En particular, una sesión sin "
"nor interact with any second-level or query cache. It does not implement " "estado no implementa un caché en primer nivel y tampoco interactúa con "
"transactional write-behind or automatic dirty checking. Operations performed " "cachés de segundo nivel o de peticiones. No implementa escritura-retrasada "
"using a stateless session do not ever cascade to associated instances. " "transaccional o chequeo de desactualizaciones automático. Las operaciones "
"Collections are ignored by a stateless session. Operations performed via a " "realizadas con la utilización de una sesión sin estado nunca usan cascadas "
"stateless session bypass Hibernate's event model and interceptors. Stateless " "para las instancias asociadas. La sesión sin estado ignora las colecciones. "
"sessions are vulnerable to data aliasing effects, due to the lack of a first-" "Las operaciones llevadas a cabo por una sesión sin estado ignoran el modelo "
"level cache. A stateless session is a lower-level abstraction, much closer " "de evento y los interceptores de Hibernte. Las sesiones sin estado son "
"to the underlying JDBC." "vulnerables a efectos de sobrenombamiento de datos debido a la falta de un "
"caché de primer nivel. Una sesión sin estado es una abstracción en un nivel "
#. Tag: programlisting "más bajo, mucho más cerca del JDBC subyacente."
#: batch.xml:114
#, no-c-format
msgid ""
"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" session.update(customer);\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
" Transaction tx = "
"session.beginTransaction();\n"
" \n"
" ScrollableResults "
"customers = session.getNamedQuery(\"GetCustomers\")\n"
" .scroll(ScrollMode."
"FORWARD_ONLY);\n"
" while ( customers.next"
"() ) {\n"
" Customer customer = "
"(Customer) customers.get(0);\n"
" customer.updateStuff"
"(...);\n"
" session.update"
"(customer);\n"
" }\n"
" \n"
" tx.commit();\n"
" session.close();]]>"
#. Tag: para #. Tag: para
#: batch.xml:116 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In this code example, the <literal>Customer</literal> instances returned by " "In this code example, the <literal>Customer</literal> instances returned by "
"the query are immediately detached. They are never associated with any " "the query are immediately detached. They are never associated with any "
"persistence context." "persistence context."
msgstr "" msgstr ""
"Note that in this code example, the <literal>Customer</literal> instances " "En este código de ejemplo, las instancias <literal>Customer</literal> "
"returned by the query are immediately detached. They are never associated " "retornadas por la petición se separan inmediatamente. Nunca se asocian con "
"with any persistence context." "ningún contexto de persistencia."
#. Tag: para #. Tag: para
#: batch.xml:122 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>insert(), update()</literal> and <literal>delete()</literal> " "The <literal>insert(), update()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>StatelessSession</literal> interface are " "operations defined by the <literal>StatelessSession</literal> interface are "
@ -336,23 +188,21 @@ msgid ""
"<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> " "<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>Session</literal> interface." "operations defined by the <literal>Session</literal> interface."
msgstr "" msgstr ""
"The <literal>insert(), update()</literal> and <literal>delete()</literal> " "Las operaciones <literal>insert(), update()</literal> y <literal>delete()</"
"operations defined by the <literal>StatelessSession</literal> interface are " "literal> definidas por la interfaz <literal>StatelessSession</literal> son "
"considered to be direct database row-level operations, which result in " "consideradas como operaciones directas a nivel de filas de la base de datos. "
"immediate execution of a SQL <literal>INSERT, UPDATE</literal> or " "Esto resulta en una ejecución inmediata de un <literal>INSERT, UPDATE</"
"<literal>DELETE</literal> respectively. Thus, they have very different " "literal> SQL o <literal>DELETE</literal> respectivamente. Tienen una "
"semantics to the <literal>save(), saveOrUpdate()</literal> and " "semántica diferente a la de las operaciones <literal>save(), saveOrUpdate()</"
"<literal>delete()</literal> operations defined by the <literal>Session</" "literal> y <literal>delete()</literal> definidas por la interfaz "
"literal> interface." "<literal>Session</literal>. "
#. Tag: title #. Tag: title
#: batch.xml:135
#, no-c-format #, no-c-format
msgid "DML-style operations" msgid "DML-style operations"
msgstr "update/delete en masa" msgstr "Operaciones de estilo DML"
#. Tag: para #. Tag: para
#: batch.xml:137
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"As already discussed, automatic and transparent object/relational mapping is " "As already discussed, automatic and transparent object/relational mapping is "
@ -365,122 +215,82 @@ msgid ""
"is performed through the Hibernate Query Language (<link linkend=\"queryhql" "is performed through the Hibernate Query Language (<link linkend=\"queryhql"
"\">HQL</link>)." "\">HQL</link>)."
msgstr "" msgstr ""
"Como ya se ha discutido, el mapeo objeto/relacional automático y " "Como se discutió anteriormente, el mapeo objeto/relacional transparente se "
"transparente se refiere al manejo de estado de objetos. Esto implica que el " "refiere a la administración del estado de objetos. El estado del objeto está "
"estado del objeto está disponible en memoria, por lo tanto actualizar o " "disponible en la memoria. Por lo tanto al manipular datos directamente en la "
"borrar (usando <literal>UPDATE</literal> y <literal>DELETE</literal> de SQL) " "base de datos (utilizando <literal>Data Manipulation Language</literal> "
"datos directamente en la base de datos no afectará el estado en memoria. Sin " "(DML) las declaraciones: <literal>INSERT</literal>, <literal>UPDATE</"
"embargo, Hibernate provee métodos para la ejecución de sentencias del estilo " "literal>, <literal>DELETE</literal>) no afectará el estado en la memoria. "
"de <literal>UPDATE</literal> y <literal>DELETE</literal> de SQL que se " "Sin embargo, Hibernate brinda métodos para la ejecución de declaraciones en "
"realizan a través del Lenguaje de Consulta de Hibernate (Hibernate Query " "masa DML del estilo de SQL, las cuales se realizan por medio del Lenguaje de "
"Language o <xref linkend=\"queryhql\"/>HQL)." "Consulta de Hibernate (<xref linkend=\"queryhql\" />)."
#. Tag: para #. Tag: para
#: batch.xml:146 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</" "The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE " "literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
"where_conditions)?</literal>." "where_conditions)?</literal>."
msgstr "" msgstr ""
"La pseudo-sintáxis para sentencias <literal>UPDATE</literal> y " "La pseudo-sintáxis para las declaraciones <literal>UPDATE</literal> y "
"<literal>DELETE</literal> es: <literal>( UPDATE | DELETE ) FROM? ClassName " "<literal>DELETE</literal> es: <literal>( UPDATE | DELETE ) FROM? EntityName "
"(WHERE WHERE_CONDITIONS)?</literal>. Algunos puntos a tener en cuenta:" "(WHERE where_conditions)?</literal>."
#. Tag: para #. Tag: para
#: batch.xml:151
#, no-c-format #, no-c-format
msgid "Some points to note:" msgid "Some points to note:"
msgstr "" msgstr "Algunos puntos a observar:"
#. Tag: para #. Tag: para
#: batch.xml:157
#, no-c-format #, no-c-format
msgid "In the from-clause, the FROM keyword is optional" msgid "In the from-clause, the FROM keyword is optional"
msgstr "En la cláusula-from, la palabra clave FROM es opcional" msgstr "En la cláusula-from, la palabra clave FROM es opcional"
#. Tag: para #. Tag: para
#: batch.xml:162 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"There can only be a single entity named in the from-clause. It can, however, " "There can only be a single entity named in the from-clause. It can, however, "
"be aliased. If the entity name is aliased, then any property references must " "be aliased. If the entity name is aliased, then any property references must "
"be qualified using that alias. If the entity name is not aliased, then it is " "be qualified using that alias. If the entity name is not aliased, then it is "
"illegal for any property references to be qualified." "illegal for any property references to be qualified."
msgstr "" msgstr ""
"There can only be a single entity named in the from-clause; it can " "Sólamente puede haber una entidad mencionada en la cláusula-from y puede "
"optionally be aliased. If the entity name is aliased, then any property " "tener un alias. Si el nombre de la entidad tiene un alias entonces cualquier "
"references must be qualified using that alias; if the entity name is not " "referencia a la propiedad tiene que ser calificada utilizando ese alias. Si "
"aliased, then it is illegal for any property references to be qualified." "el nombre de la entidad no tiene un alias entonces es ilegal calificar "
"cualquier referencia de la propiedad."
#. Tag: para #. Tag: para
#: batch.xml:170
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or " "No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or "
"explicit, can be specified in a bulk HQL query. Sub-queries can be used in " "explicit, can be specified in a bulk HQL query. Sub-queries can be used in "
"the where-clause, where the subqueries themselves may contain joins." "the where-clause, where the subqueries themselves may contain joins."
msgstr "" msgstr ""
"No <link linkend=\"queryhql-joins-forms\">joins</link> (either implicit or " "No se puede especificar ningún <xref linkend=\"queryhql-joins-forms\" />, ya "
"explicit) can be specified in a bulk HQL query. Sub-queries may be used in " "sea implícito o explícito, en una consulta masiva de HQL. Se pueden utilizar "
"the where-clause; the subqueries, themselves, may contain joins." "subconsultas en la cláusula-where y en donde las subconsultas pueden "
"contener joins en sí mismas. "
#. Tag: para #. Tag: para
#: batch.xml:177
#, no-c-format #, no-c-format
msgid "The where-clause is also optional." msgid "The where-clause is also optional."
msgstr "La cláusula-where es también opcional." msgstr "La cláusula-where también es opcional."
#. Tag: para #. Tag: para
#: batch.xml:183 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"As an example, to execute an HQL <literal>UPDATE</literal>, use the " "As an example, to execute an HQL <literal>UPDATE</literal>, use the "
"<literal>Query.executeUpdate()</literal> method. The method is named for " "<literal>Query.executeUpdate()</literal> method. The method is named for "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</" "those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
"literal>:" "literal>:"
msgstr "" msgstr ""
"Como un ejemplo, para ejecutar un <literal>UPDATE</literal> HQL, usa el " "Como ejemplo, para ejecutar un <literal>UPDATE</literal> de HQL, utilice el "
"método <literal>Query.executeUpdate()</literal>(the method is named for " "método <literal>Query.executeUpdate()</literal>. El método es nombrado para "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</" "aquellos familiarizados con el <literal>PreparedStatement.executeUpdate()</"
"literal>):" "literal> de JDBC:"
#. Tag: programlisting
#: batch.xml:189
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :"
"oldName\";\n"
"// or String hqlUpdate = \"update Customer set name = :newName where name = :"
"oldName\";\n"
"int updatedEntities = s.createQuery( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
" Transaction tx = session."
"beginTransaction();\n"
" \n"
" String hqlUpdate = \"update "
"Customer c set c.name = :newName where c.name = :oldName\";\n"
" // or String hqlUpdate = \"update "
"Customer set name = :newName where name = :oldName\";\n"
" int updatedEntities = s.createQuery"
"( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
" tx.commit();\n"
" session.close();]]>"
#. Tag: para #. Tag: para
#: batch.xml:191
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> " "In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> "
@ -493,94 +303,38 @@ msgid ""
"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> " "<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
"keyword." "keyword."
msgstr "" msgstr ""
"HQL <literal>UPDATE</literal> statements, by default do not effect the <link " "Para mantenerse de acuerdo con la especificación de EJB3, las declaraciones "
"linkend=\"mapping-declaration-version\">version</link> or the <link linkend=" "<literal>UPDATE</literal> de HQL, por defecto no afectan la <xref linkend="
"\"mapping-declaration-timestamp\">timestamp</link> property values for the " "\"mapping-declaration-version\" /> o los valores de propiedad <xref linkend="
"affected entities; this is in keeping with the EJB3 specification. However, " "\"mapping-declaration-timestamp\" /> para las entidades afectadas. Sin "
"you can force Hibernate to properly reset the <literal>version</literal> or " "embargo, puede obligar a Hibernate a poner en cero apropiadamente los "
"<literal>timestamp</literal> property values through the use of a " "valores de propiedad <literal>version</literal> o <literal>timestamp</"
"<literal>versioned update</literal>. This is achieved by adding the " "literal> por medio de la utilización de un <literal>versioned update</"
"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> " "literal>. Esto se logra añadiendo la palabra clave <literal>VERSIONED</"
"keyword." "literal> después de la palabra clave <literal>UPDATE</literal>."
#. Tag: programlisting
#: batch.xml:201
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"String hqlVersionedUpdate = \"update versioned Customer set name = :newName "
"where name = :oldName\";\n"
"int updatedEntities = s.createQuery( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
" Transaction tx = session."
"beginTransaction();\n"
" String hqlVersionedUpdate = "
"\"update versioned Customer set name = :newName where name = :oldName\";\n"
" int updatedEntities = s.createQuery"
"( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
" tx.commit();\n"
" session.close();]]>"
#. Tag: para #. Tag: para
#: batch.xml:203 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Custom version types, <literal>org.hibernate.usertype.UserVersionType</" "Custom version types, <literal>org.hibernate.usertype.UserVersionType</"
"literal>, are not allowed in conjunction with a <literal>update versioned</" "literal>, are not allowed in conjunction with a <literal>update versioned</"
"literal> statement." "literal> statement."
msgstr "" msgstr ""
"Note that custom version types (<literal>org.hibernate.usertype." "Observe que los tipos de versiones personalizados (<literal>org.hibernate."
"UserVersionType</literal>) are not allowed in conjunction with a " "usertype.UserVersionType</literal>) no están permitidos en conjunto con una "
"<literal>update versioned</literal> statement." "declaración <literal>update versioned</literal>."
#. Tag: para #. Tag: para
#: batch.xml:208
#, no-c-format #, no-c-format
msgid "" msgid ""
"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query." "To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
"executeUpdate()</literal> method:" "executeUpdate()</literal> method:"
msgstr "" msgstr ""
"Para ejecutar un <literal>DELETE</literal> HQL, usa el mismo método " "Para ejecutar un <literal>DELETE</literal> HQL, utilice el mismo método "
"<literal>Query.executeUpdate()</literal>:" "<literal>Query.executeUpdate()</literal>:"
#. Tag: programlisting
#: batch.xml:213
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
"// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
"int deletedEntities = s.createQuery( hqlDelete )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
" Transaction tx = session.beginTransaction();\n"
"\n"
" String hqlDelete = \"delete Customer where name = :oldName\";\n"
" int deletedEntities = s.createQuery( hqlDelete )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
" tx.commit();\n"
" session.close();]]>"
#. Tag: para #. Tag: para
#: batch.xml:215 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>int</literal> value returned by the <literal>Query.executeUpdate" "The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
"()</literal> method indicates the number of entities effected by the " "()</literal> method indicates the number of entities effected by the "
@ -593,40 +347,39 @@ msgid ""
"which that subclass is mapped, but also the \"root\" table and potentially " "which that subclass is mapped, but also the \"root\" table and potentially "
"joined-subclass tables further down the inheritance hierarchy." "joined-subclass tables further down the inheritance hierarchy."
msgstr "" msgstr ""
"El valor <literal>int</literal> devuelto por el método <literal>Query." "El valor <literal>int</literal> retornado por el método <literal>Query."
"executeUpdate()</literal> indica el número de entidades afectadas por la " "executeUpdate()</literal> indica el número de entidades afectadas por la "
"operación. Considera que esto puede o no correlacionarse al número de filas " "operación. Considere que esto puede estar correlacionado o no con el número "
"afectadas en la base de datos. Una operación masiva HQL podría resultar en " "de filas afectadas en la base de datos. Una operación masiva de HQL puede "
"que se ejecuten múltiples sentencias de SQL reales, para joined-subclass, " "llegar a causar que se ejecuten múltiples declaraciones SQL reales, por "
"por ejemplo. El número devuelto indica el número de entidades reales " "ejemplo, para una subclase-joined. El número retornado indica el número de "
"afectadas por la sentencia. Volviendo al ejemplo de joined-subclass, un " "entidades realmente afectadas por la declaración. De vuelta al ejemplo de la "
"borrado contra una de las subclases puede resultar realmente en borrados " "subclase joined, un borrado contra una de las subclases puede resultar, de "
"contra no sólo la tabla a la que está mapeada esa subclase, sino también la " "hecho, en borrados de no sólamente la tabla a la cual esa subclase esta "
"tabla \"raíz\" y potencialmente tablas de joined-subclass más debajo en la " "mapeada, sino también la tabla \"raíz\" y potencialmente las tablas de "
"jerarquía de herencia." "subclases joined hasta la jerarquía de herencia."
#. Tag: para #. Tag: para
#: batch.xml:226
#, no-c-format #, no-c-format
msgid "" msgid ""
"The pseudo-syntax for <literal>INSERT</literal> statements is: " "The pseudo-syntax for <literal>INSERT</literal> statements is: "
"<literal>INSERT INTO EntityName properties_list select_statement</literal>. " "<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
"Some points to note:" "Some points to note:"
msgstr "" msgstr ""
"Ten en cuenta que existen actualmente unas pocas limitaciones con las " "La pseudo-sintáxis para las declaraciones <literal>INSERT</literal> es: "
"operaciones HQL masivas, que serán atendidas en lanzamientos futuros; " "<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
"consulta la hoja de ruta de JIRA para más detalles." "Algunos puntos que se deben observar son:"
#. Tag: para #. Tag: para
#: batch.xml:234
#, no-c-format #, no-c-format
msgid "" msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT " "Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
"INTO ... VALUES ... form." "INTO ... VALUES ... form."
msgstr "" msgstr ""
"Sólamente se soporta la forma INSERT INTO ... SELECT ..., no la forma INSERT "
"INTO ... VALUES ..."
#. Tag: para #. Tag: para
#: batch.xml:237
#, no-c-format #, no-c-format
msgid "" msgid ""
"The properties_list is analogous to the <literal>column specification</" "The properties_list is analogous to the <literal>column specification</"
@ -636,9 +389,16 @@ msgid ""
"are not allowed and subclass properties do not make sense. In other words, " "are not allowed and subclass properties do not make sense. In other words, "
"<literal>INSERT</literal> statements are inherently non-polymorphic." "<literal>INSERT</literal> statements are inherently non-polymorphic."
msgstr "" msgstr ""
"La lista de propiedades (properties_list) es análoga a la <literal>column "
"speficiation</literal> en la declaración <literal>INSERT</literal> de SQL. "
"Para las entidades involucradas en la herencia mapeada, sólamente las "
"propiedades definidas directamente en ese nivel de clase dado se pueden "
"utlizar en la lista de propiedades. Las propiedades de la superclase no "
"están permitidas, y las propiedaeds de la subclase no tienen sentido. Es "
"decir, las declaraciones <literal>INSERT</literal> son inherentemente no-"
"polimórficas."
#. Tag: para #. Tag: para
#: batch.xml:247
#, no-c-format #, no-c-format
msgid "" msgid ""
"select_statement can be any valid HQL select query, with the caveat that the " "select_statement can be any valid HQL select query, with the caveat that the "
@ -652,9 +412,19 @@ msgid ""
"TimestampType</literal>, even though the database might not make a " "TimestampType</literal>, even though the database might not make a "
"distinction or might be able to handle the conversion." "distinction or might be able to handle the conversion."
msgstr "" msgstr ""
"select_statement puede ser cualquier consulta select de HQL válida con la "
"advertencia de que los tipos de retorno coincidan con los tipos esperados "
"por el insert. Actualmente, esto se verifica durante la compilación de la "
"consulta en vez de permitir que se relegue la verificación a la base de "
"datos. Sin embargo, esto puede crear problemas entre los <literal>Type</"
"literal>s de Hibernate, los cuales son <emphasis>equivalentes</emphasis> y "
"no <emphasis>iguales</emphasis>. Esto puede crear problemas con las uniones "
"mal hechas entre una propiedad definida como un <literal>org.hibernate.type."
"DateType</literal> y una propiedad definida como una <literal>org.hibernate."
"type.TimestampType</literal>, aunque puede que la base de datos no distinga "
"o no pueda manejar la conversión."
#. Tag: para #. Tag: para
#: batch.xml:259
#, no-c-format #, no-c-format
msgid "" msgid ""
"For the id property, the insert statement gives you two options. You can " "For the id property, the insert statement gives you two options. You can "
@ -671,9 +441,22 @@ msgid ""
"TableHiLoGenerator</literal>, which cannot be used because it does not " "TableHiLoGenerator</literal>, which cannot be used because it does not "
"expose a selectable way to get its values." "expose a selectable way to get its values."
msgstr "" msgstr ""
"Para la propiedad id, la declaración insert le da dos opciones. Puede "
"especificar explícitamente la propiedad id en la lista de propiedades "
"(properties_list ) (en tal caso su valor se toma de la expresión de "
"selección correspondiente) o se omite de la lista de propiedades (en tal "
"caso se utiliza un valor generado). Esta última opción sólamente está "
"disponible cuando se utilizan generadores de id que operan en la base de "
"datos, intentando utilizar esta opción con cualquier generador de tipo \"en "
"memoria\" provocará una excepción durante el análisis sintáctico. Note que "
"para los propósitos de esta discusión, los generadores en la base de datos "
"son considerados <literal>org.hibernate.id.SequenceGenerator</literal> (y "
"sus subclases) y cualquier implementador de <literal>org.hibernate.id."
"PostInsertIdentifierGenerator</literal>. La excepción más importante aquí es "
"<literal>org.hibernate.id.TableHiLoGenerator</literal>, la cual no se puede "
"utilizar ya que no expone una manera selectiva de obtener sus valores."
#. Tag: para #. Tag: para
#: batch.xml:274
#, no-c-format #, no-c-format
msgid "" msgid ""
"For properties mapped as either <literal>version</literal> or " "For properties mapped as either <literal>version</literal> or "
@ -683,32 +466,18 @@ msgid ""
"from the properties_list, in which case the <literal>seed value</literal> " "from the properties_list, in which case the <literal>seed value</literal> "
"defined by the <literal>org.hibernate.type.VersionType</literal> is used." "defined by the <literal>org.hibernate.type.VersionType</literal> is used."
msgstr "" msgstr ""
"Para las propiedades mapeadas como <literal>version</literal> o "
"<literal>timestamp</literal>, la declaración insert le da dos opciones. "
"Puede especificar la propiedad en la lista de propiedades (en tal caso su "
"valor se toma de las expresiones de selección correspondientes) o se omite "
"de la lista de propiedades (en tal caso se utiliza el <literal>seed value</"
"literal> definido por el <literal>org.hibernate.type.VersionType</literal>)."
#. Tag: para #. Tag: para
#: batch.xml:284
#, no-c-format #, no-c-format
msgid "" msgid ""
"The following is an example of an HQL <literal>INSERT</literal> statement " "The following is an example of an HQL <literal>INSERT</literal> statement "
"execution:" "execution:"
msgstr "" msgstr ""
"Un ejemplo de la ejecución de la declaración <literal>INSERT</literal> de "
#. Tag: programlisting "HQL:"
#: batch.xml:288
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c."
"name from Customer c where ...\";\n"
"int createdEntities = s.createQuery( hqlInsert )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -1,30 +1,43 @@
#, fuzzy # translation of best_practices.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: best_practices\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2009-11-09 09:46+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: best_practices.xml:29
#, no-c-format #, no-c-format
msgid "Best Practices" msgid "Best Practices"
msgstr "Mejores Pr&#x00e1;cticas" msgstr "Prácticas recomendadas"
#. Tag: term #. Tag: term
#: best_practices.xml:33 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Write fine-grained classes and map them using <literal>&lt;component&gt;</" "Write fine-grained classes and map them using <literal>&lt;component&gt;</"
"literal>:" "literal>:"
msgstr "" msgstr ""
"Escribe clase finamente granularizadas y mapealas usando <literal>&lt;" "Escriba las clases detalladas y mapéelas utilizando <literal>&lt;"
"component&gt;</literal>." "component&gt;</literal>:"
#. Tag: para #. Tag: para
#: best_practices.xml:35
#, no-c-format #, no-c-format
msgid "" msgid ""
"Use an <literal>Address</literal> class to encapsulate <literal>street</" "Use an <literal>Address</literal> class to encapsulate <literal>street</"
@ -32,38 +45,34 @@ msgid ""
"<literal>postcode</literal>. This encourages code reuse and simplifies " "<literal>postcode</literal>. This encourages code reuse and simplifies "
"refactoring." "refactoring."
msgstr "" msgstr ""
"Usa una clase <literal>Direcci&#x00f3;n</literal> para encapsular " "Utilice una clase <literal>Dirección</literal> para encapsular "
"<literal>calle</literal>, <literal>distrito</literal>, <literal>estado</" "<literal>calle</literal>, <literal>distrito</literal>, <literal>estado</"
"literal>, <literal>c&#x00f3;digo postal</literal>. Esto alienta la " "literal>, <literal>código postal</literal>. Esto promueve la reutilización "
"reutilizaci&#x00f3;n de c&#x00f3;digo y simplifica el refactoring." "de código y simplifica la refabricación."
#. Tag: term #. Tag: term
#: best_practices.xml:43 #, no-c-format
#, fuzzy, no-c-format
msgid "Declare identifier properties on persistent classes:" msgid "Declare identifier properties on persistent classes:"
msgstr "Declara las propiedades identificadoras en clases persistentes." msgstr "Declare las propiedades identificadoras en clases persistentes:"
#. Tag: para #. Tag: para
#: best_practices.xml:45 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate makes identifier properties optional. There are a range of reasons " "Hibernate makes identifier properties optional. There are a range of reasons "
"why you should use them. We recommend that identifiers be 'synthetic', that " "why you should use them. We recommend that identifiers be 'synthetic', that "
"is, generated with no business meaning." "is, generated with no business meaning."
msgstr "" msgstr ""
"Hibernate hace opcionales las propiedades identificadoras. Existen todo tipo " "Las propiedades identificadoras son opcionales en Hibernate. Existe todo "
"de razones por las que debes usarlas. Recomendamos que los identificadores " "tipo de razones por las que debe usarlas. Recomendamos que los "
"sean 'sint&#x00e9;ticos' (generados, sin ning&#x00fa;n significado de " "identificadores sean 'sintéticos', es decir, generados sin ningún "
"negocio)." "significado empresarial."
#. Tag: term #. Tag: term
#: best_practices.xml:53 #, no-c-format
#, fuzzy, no-c-format
msgid "Identify natural keys:" msgid "Identify natural keys:"
msgstr "Identifica las claves naturales." msgstr "Identifique las llaves naturales:"
#. Tag: para #. Tag: para
#: best_practices.xml:55
#, no-c-format #, no-c-format
msgid "" msgid ""
"Identify natural keys for all entities, and map them using <literal>&lt;" "Identify natural keys for all entities, and map them using <literal>&lt;"
@ -71,108 +80,95 @@ msgid ""
"<literal>hashCode()</literal> to compare the properties that make up the " "<literal>hashCode()</literal> to compare the properties that make up the "
"natural key." "natural key."
msgstr "" msgstr ""
"Identifica las claves naturales de todas las entidades, y mapealas usando " "Identifique las claves naturales de todas las entidades, y mapéelas usando "
"<literal>&lt;natural-id&gt;</literal>. Implementa <literal>equals()</" "<literal>&lt;natural-id&gt;</literal>. Implemente <literal>equals()</"
"literal> y <literal>hashCode()</literal> para comparar las propiedades que " "literal> y <literal>hashCode()</literal> para comparar las propiedades que "
"componen la clave natural." "componen la clave natural."
#. Tag: term #. Tag: term
#: best_practices.xml:63 #, no-c-format
#, fuzzy, no-c-format
msgid "Place each class mapping in its own file:" msgid "Place each class mapping in its own file:"
msgstr "Coloca cada mapeo de clase en su propio fichero." msgstr "Coloque cada mapeo de clase en su propio fichero:"
#. Tag: para #. Tag: para
#: best_practices.xml:65 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</" "Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</"
"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes " "literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
"sense, particularly in a team environment." "sense, particularly in a team environment."
msgstr "" msgstr ""
"No uses un solo documento monol&#x00ed;tico de mapeo. Mapea <literal>com.eg." "No use un sólo documento monolítico de mapeo. Mapee <literal>com.eg.Foo</"
"Foo</literal> en el fichero <literal>com/eg/Foo.hbm.xml</literal>. Esto " "literal> en el archivo <literal>com/eg/Foo.hbm.xml</literal>. Esto tiene "
"tiene sentido particularmente en un ambiente de equipo." "sentido particularmente en un entorno de equipo."
#. Tag: term #. Tag: term
#: best_practices.xml:73 #, no-c-format
#, fuzzy, no-c-format
msgid "Load mappings as resources:" msgid "Load mappings as resources:"
msgstr "Carga los mapeos como recursos." msgstr "Cargue los mapeos como recursos:"
#. Tag: para #. Tag: para
#: best_practices.xml:75
#, no-c-format #, no-c-format
msgid "Deploy the mappings along with the classes they map." msgid "Deploy the mappings along with the classes they map."
msgstr "Despliega los mapeos junto a las clases que mapean." msgstr "Despliegue los mapeos junto a las clases que mapean."
#. Tag: term #. Tag: term
#: best_practices.xml:81 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider externalizing query strings:" msgid "Consider externalizing query strings:"
msgstr "Considera externalizar las cadenas de consulta." msgstr "Considere el externalizar las cadenas de petición:"
#. Tag: para #. Tag: para
#: best_practices.xml:83 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is recommended if your queries call non-ANSI-standard SQL functions. " "This is recommended if your queries call non-ANSI-standard SQL functions. "
"Externalizing the query strings to mapping files will make the application " "Externalizing the query strings to mapping files will make the application "
"more portable." "more portable."
msgstr "" msgstr ""
"Esta es una buena pr&#x00e1;ctica si tus consultas llaman a funciones SQL " "Esta es una buena práctica si sus consultas llaman a funciones SQL que no "
"que no son del est&#x00e1;ndar ANSI. Externalizar las cadenas de consulta a " "son del estándar ANSI. Externalizar las cadenas de consulta a archivos de "
"ficheros de mapeo har&#x00e1; la aplicaci&#x00f3;n m&#x00e1;s portable." "mapeo hará la aplicación más portátil. "
#. Tag: term #. Tag: term
#: best_practices.xml:91
#, no-c-format #, no-c-format
msgid "Use bind variables." msgid "Use bind variables."
msgstr "Usa variables de ligado." msgstr "Use variables de vinculación."
#. Tag: para #. Tag: para
#: best_practices.xml:93 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"As in JDBC, always replace non-constant values by \"?\". Do not use string " "As in JDBC, always replace non-constant values by \"?\". Do not use string "
"manipulation to bind a non-constant value in a query. You should also " "manipulation to bind a non-constant value in a query. You should also "
"consider using named parameters in queries." "consider using named parameters in queries."
msgstr "" msgstr ""
"Igual que en JDBC, siempre remplaza valores no constantes con \"?\". &#x00a1;" "Al igual que en JDBC, siempre remplace los valores no constantes con \"?\". "
"Nunca uses manipulaci&#x00f3;n de cadenas para ligar un valor no constante " "No use la manipulación de cadenas para enlazar un valor no constante en una "
"en una consulta! Incluso mejor, considera usar par&#x00e1;metros con nombre " "consulta. También considere utilizar parámetros con nombre en las consultas."
"en las consultas."
#. Tag: term #. Tag: term
#: best_practices.xml:101 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not manage your own JDBC connections:" msgid "Do not manage your own JDBC connections:"
msgstr "No manejes tus propias conexiones JDBC." msgstr "No administre sus propias conexiones JDBC:"
#. Tag: para #. Tag: para
#: best_practices.xml:103 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate allows the application to manage JDBC connections, but his " "Hibernate allows the application to manage JDBC connections, but his "
"approach should be considered a last-resort. If you cannot use the built-in " "approach should be considered a last-resort. If you cannot use the built-in "
"connection providers, consider providing your own implementation of " "connection providers, consider providing your own implementation of "
"<literal>org.hibernate.connection.ConnectionProvider</literal>." "<literal>org.hibernate.connection.ConnectionProvider</literal>."
msgstr "" msgstr ""
"Hibernate deja a la aplicaci&#x00f3;n administre las conexiones JDBC. Este " "Hibernate deja a la aplicación administrar las conexiones JDBC, pero este "
"enfoque debe considerarse como &#x00fa;ltimo recurso. Si no puedes usar los " "enfoque debe considerarse como el último recurso. Si no puede utilizar los "
"provedores de conexi&#x00f3;n prefabricados, considera prover tu propia " "provedores de conexión incorporados, considere proveer su propia "
"implementaci&#x00f3;n de <literal>org.hibernate.connection." "implementación de <literal>org.hibernate.connection.ConnectionProvider</"
"ConnectionProvider</literal>." "literal>."
#. Tag: term #. Tag: term
#: best_practices.xml:111 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider using a custom type:" msgid "Consider using a custom type:"
msgstr "Considera usar un tipo personalizado." msgstr "Considere utilizar un tipo personalizado:"
#. Tag: para #. Tag: para
#: best_practices.xml:113 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Suppose you have a Java type from a library that needs to be persisted but " "Suppose you have a Java type from a library that needs to be persisted but "
"does not provide the accessors needed to map it as a component. You should " "does not provide the accessors needed to map it as a component. You should "
@ -180,49 +176,45 @@ msgid ""
"approach frees the application code from implementing transformations to/" "approach frees the application code from implementing transformations to/"
"from a Hibernate type." "from a Hibernate type."
msgstr "" msgstr ""
"Sup&#x00f3;n que tienes un tipo Java, digamos de alguna biblioteca, que " "Supónga que tiene un tipo Java de una biblioteca, que necesita hacerse "
"necesita hacerse persistente pero no provee los m&#x00e9;todos de acceso " "persistente pero que no provee los métodos de acceso necesarios para "
"necesarios para mapearlo como un componente. Debes considerar implementar " "mapearlo como un componente. Debe considerar el implementar <literal>org."
"<literal>org.hibernate.UserType</literal>. Este enfoque libera al c&#x00f3;" "hibernate.UserType</literal>. Este enfoque libera al código de aplicación de "
"digo de aplicaci&#x00f3;n de implementar transformaciones a / desde un tipo " "implementar transformaciones a/desde un tipo Hibernate."
"Hibernate."
#. Tag: term #. Tag: term
#: best_practices.xml:122 #, no-c-format
#, fuzzy, no-c-format
msgid "Use hand-coded JDBC in bottlenecks:" msgid "Use hand-coded JDBC in bottlenecks:"
msgstr "Usa JDBC codificado a mano en cuellos de botella." msgstr "Utilice JDBC codificado a mano cuando se encuentre atascado:"
#. Tag: para #. Tag: para
#: best_practices.xml:124
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"In performance-critical areas of the system, some kinds of operations might " "In performance-critical areas of the system, some kinds of operations might "
"benefit from direct JDBC. Do not assume, however, that JDBC is necessarily " "benefit from direct JDBC. Do not assume, however, that JDBC is necessarily "
"faster. Please wait until you <emphasis>know</emphasis> something is a " "faster. Please wait until you <emphasis>know</emphasis> something is a "
"bottleneck. If you need to use direct JDBC, you can open a Hibernate " "bottleneck. If you need to use direct JDBC, you can open a Hibernate "
"<literal>Session</literal> and usingfile:///usr/share/doc/HTML/en-US/index." "<literal>Session</literal>, wrap your JDBC operation as a <literal>org."
"html that JDBC connection. This way you can still use the same transaction " "hibernate.jdbc.Work</literal> object and using that JDBC connection. This "
"strategy and underlying connection provider." "way you can still use the same transaction strategy and underlying "
"connection provider."
msgstr "" msgstr ""
"En &#x00e1;reas del sistema de rendimiento cr&#x00ed;tico, algunos tipos de " "En áreas de rendimiento crítico del sistema, algunos tipos de operaciones "
"operaciones podr&#x00ed;an beneficiarse del JDBC directo. Pero por favor, " "podrían beneficiarse del JDBC directo. Sin embargo, no asuma que el JDBC "
"espero hasta que <emphasis>sepas</emphasis> que algo es un cuello de " "directo es necesariamente más rápido. Por favor, espere hasta que "
"botella. Y no asumas que el JDBC directo es necesariamente m&#x00e1;s " "<emphasis>sepa</emphasis> que se encuentra realmente atascado. Si necesita "
"r&#x00e1;pido. Si necesitas usar JDBC directo, podr&#x00ed;a ser valioso " "utilizar JDBC directo, puede abrir una <literal>Session</literal> de "
"abrir una <literal>Session</literal> de Hibernate y usar esa conexi&#x00f3;n " "Hibernate y usar esa conexión JDBC file:///usr/share/doc/HTML/en-US/index."
"JDBC. De esta forma puedes usar a&#x00fa;n la misma estrategia de " "html. De esta manera puede usar aún la misma estrategia de transacción y el "
"transacci&#x00f3;n y el mismo proveedor de conexiones subyacente." "mismo proveedor de conexiones subyacente."
#. Tag: term #. Tag: term
#: best_practices.xml:134 #, no-c-format
#, fuzzy, no-c-format
msgid "Understand <literal>Session</literal> flushing:" msgid "Understand <literal>Session</literal> flushing:"
msgstr "Comprende la limpieza (flushing) de <literal>Session</literal>." msgstr "Comprenda el vaciado de <literal>Session</literal>:"
#. Tag: para #. Tag: para
#: best_practices.xml:136 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Sometimes the Session synchronizes its persistent state with the database. " "Sometimes the Session synchronizes its persistent state with the database. "
"Performance will be affected if this process occurs too often. You can " "Performance will be affected if this process occurs too often. You can "
@ -230,22 +222,20 @@ msgid ""
"even by changing the order of queries and other operations within a " "even by changing the order of queries and other operations within a "
"particular transaction." "particular transaction."
msgstr "" msgstr ""
"De vez en cuando la sesi&#x00f3;n sincroniza su estado persistente con la " "A veces la sesión sincroniza su estado persistente con la base de datos. El "
"base de datos. El rendimiento se ver&#x00e1; afectado si este proceso ocurre " "rendimiento se verá afectado si este proceso ocurre con demasiada "
"demasiado frecuentemente. A veces puedes minimizar limpieza innecesaria " "frecuencia. A veces puede minimizar el vaciado innecesario deshabilitando el "
"deshabilitando la limpieza autom&#x00e1;tica o incluso cambiando el orden de " "vaciado automático o incluso cambiando el orden de las consultas u otras "
"las consultas u otras operaciones en una transacci&#x00f3;n en particular." "operaciones en una transacción en particular."
#. Tag: term #. Tag: term
#: best_practices.xml:145 #, no-c-format
#, fuzzy, no-c-format
msgid "In a three tiered architecture, consider using detached objects:" msgid "In a three tiered architecture, consider using detached objects:"
msgstr "" msgstr ""
"En una aplicaci&#x00f3;n en tres gradas, considera usar objetos separados." "En una arquitectura con tres niveles considere el utilizar objetos separados:"
#. Tag: para #. Tag: para
#: best_practices.xml:147 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When using a servlet/session bean architecture, you can pass persistent " "When using a servlet/session bean architecture, you can pass persistent "
"objects loaded in the session bean to and from the servlet/JSP layer. Use a " "objects loaded in the session bean to and from the servlet/JSP layer. Use a "
@ -253,23 +243,21 @@ msgid ""
"or <literal>Session.saveOrUpdate()</literal> to synchronize objects with the " "or <literal>Session.saveOrUpdate()</literal> to synchronize objects with the "
"database." "database."
msgstr "" msgstr ""
"Al usar una arquitectura de servlet / sesi&#x00f3;n, puedes pasar objetos " "Al usar una arquitectura de servlet/sesión, puede pasar objetos persistentes "
"persistentes en el bean de sesi&#x00f3;n hacia y desde la capa de servlet / " "en el bean de sesión hacia y desde la capa del servlet/JSP. Use una sesión "
"JSP. Usa una sesi&#x00f3;n nueva para atender el servicio de cada " "nueva para atender el servicio de cada petición. Use <literal>Session.merge()"
"petici&#x00f3;n. Usa <literal>Session.merge()</literal> o <literal>Session." "</literal> o <literal>Session.saveOrUpdate()</literal> para sincronizar los "
"saveOrUpdate()</literal> para sincronizar los objetos con la base de datos." "objetos con la base de datos."
#. Tag: term #. Tag: term
#: best_practices.xml:156 #, no-c-format
#, fuzzy, no-c-format
msgid "In a two tiered architecture, consider using long persistence contexts:" msgid "In a two tiered architecture, consider using long persistence contexts:"
msgstr "" msgstr ""
"En una arquitectura en dos gradas, considera usar contexto de persistencia " "En una arquitectura con dos niveles considere el utilizar contextos largos "
"largos." "de persistencia:"
#. Tag: para #. Tag: para
#: best_practices.xml:158 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Database Transactions have to be as short as possible for best scalability. " "Database Transactions have to be as short as possible for best scalability. "
"However, it is often necessary to implement long running " "However, it is often necessary to implement long running "
@ -284,31 +272,27 @@ msgid ""
"across more than one application transaction or you will be working with " "across more than one application transaction or you will be working with "
"stale data." "stale data."
msgstr "" msgstr ""
"Las transacciones de base de datos tienen que ser tan cortas como sea " "Las transacciones de la base de datos tienen que ser tan cortas como sea "
"posible. Sin embargo, frecuentemente es necesario implementar " "posible para obtener una mejor escalabilidad. Sin embargo, con frecuencia es "
"<emphasis>transacciones de aplicaci&#x00f3;n</emphasis> ejecut&#x00e1;ndose " "necesario implementar <emphasis>transacciones de aplicación</emphasis> de "
"en largo, una sola unidad de trabajo desde el punto de vista de un usuario. " "larga ejecución, una sola unidad de trabajo desde el punto de vista de un "
"Una transacci&#x00f3;n de aplicaci&#x00f3;n puede abarcar muchos ciclos " "usuario. Una transacción de aplicación puede abarcar muchos ciclos de "
"petici&#x00f3;n/respuesta del cliente. Es com&#x00fa;n usar objetos " "petición/respuesta del cliente. Es común usar objetos separados para "
"separados para implementar transacciones de aplicaci&#x00f3;n. Una " "implementar transacciones de aplicación. Una alternativa apropiada en "
"alternativa, extremadamente apropiada en arquitecturas en dos gradas, es " "arquitecturas de dos niveles, es mantener una sesión de un sólo contacto de "
"mantener un solo contacto de persistencia abierto (sesi&#x00f3;n) para todo " "persistencia abierto para todo el ciclo de vida de la transacción de "
"el ciclo de vida de la transacci&#x00f3;n de aplicaci&#x00f3;n y simplemente " "aplicación. Luego simplemente desconectar de la conexión JDBC al final de "
"desconectar de la conexi&#x00f3;n JDBC al final de cada petici&#x00f3;n, y " "cada petición y reconectar al comienzo de la petición subsecuente. Nunca "
"reconectar al comienzo de la petici&#x00f3;n subsecuente. Nunca compartas " "comparta una sesión única a través de más de una transacción de aplicación o "
"una &#x00fa;nica sesi&#x00f3;n a trav&#x00e9;s de m&#x00e1;s de una " "estará trabajando con datos desactualizados."
"transacci&#x00f3;n de aplicaci&#x00f3;n, o estar&#x00e1;s trabajando con "
"datos añejos."
#. Tag: term #. Tag: term
#: best_practices.xml:172 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not treat exceptions as recoverable:" msgid "Do not treat exceptions as recoverable:"
msgstr "No trates la excepciones como recuperables." msgstr "No trate las excepciones como recuperables:"
#. Tag: para #. Tag: para
#: best_practices.xml:174 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is more of a necessary practice than a \"best\" practice. When an " "This is more of a necessary practice than a \"best\" practice. When an "
"exception occurs, roll back the <literal>Transaction</literal> and close the " "exception occurs, roll back the <literal>Transaction</literal> and close the "
@ -318,24 +302,21 @@ msgid ""
"instance with the given identifier exists on the database; use " "instance with the given identifier exists on the database; use "
"<literal>Session.get()</literal> or a query instead." "<literal>Session.get()</literal> or a query instead."
msgstr "" msgstr ""
"Esto es m&#x00e1;s una pr&#x00e1;ctica necesaria que una \"mejor\" pr&#x00e1;" "Esto es más bien una práctica necesaria más que una práctica \"recomendada"
"ctica. Cuando ocurra una excepci&#x00f3;n, deshaz (rollback) la " "\". Cuando ocurra una excepción, deshaga la <literal>Transaction</literal> y "
"<literal>Transaction</literal> y cierra la <literal>Session</literal>. Si no " "cierre la <literal>Session</literal>. Si no lo hace, Hibernate no puede "
"lo haces, Hibernate no puede garantizar que el estado en memoria representa " "garantizar que el estado en memoria representa con exactitud el estado "
"con exactitud el estado persistente. Como un caso especial de esto, no uses " "persistente. Por ejemplo, no utilice <literal>Session.load()</literal> para "
"<literal>Session.load()</literal> para determinar si una instancia con el " "determinar si una instancia con el identificador dado existe en la base de "
"identificador dado existe en la base de datos. En cambio, usa " "datos; en cambio, use <literal>Session.get()</literal> o una consulta."
"<literal>Session.get()</literal> o una consulta."
#. Tag: term #. Tag: term
#: best_practices.xml:184 #, no-c-format
#, fuzzy, no-c-format
msgid "Prefer lazy fetching for associations:" msgid "Prefer lazy fetching for associations:"
msgstr "Prefiere la recuperaci&#x00f3;n perezosa para las asociaciones." msgstr "Prefiera una recuperación perezosa para las asociaciones:"
#. Tag: para #. Tag: para
#: best_practices.xml:186 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Use eager fetching sparingly. Use proxies and lazy collections for most " "Use eager fetching sparingly. Use proxies and lazy collections for most "
"associations to classes that are not likely to be completely held in the " "associations to classes that are not likely to be completely held in the "
@ -345,30 +326,27 @@ msgid ""
"to a particular use case, use a query with a <literal>left join fetch</" "to a particular use case, use a query with a <literal>left join fetch</"
"literal>." "literal>."
msgstr "" msgstr ""
"Usa escasamente la recuperaci&#x00f3;n temprana. Usa proxies y colecciones " "No utilice con frecuencia la recuperación temprana. Use proxies y "
"perezosas para la mayor&#x00ed;a de asociaciones a clases probablemente no " "colecciones perezosas para la mayoría de asociaciones a clases que "
"est&#x00e9;n mantenidas en el cach&#x00e9; de segundo nivel. Para las " "probablemente no se encuentren en el caché de segundo nivel. Para las "
"asociaciones a clases en cach&#x00e9;, donde hay una probabilidad de acceso " "asociaciones a clases en caché, donde hay una probabilidad de acceso a caché "
"a cach&#x00e9; extremadamente alta, deshabilita expl&#x00ed;citamente la " "extremadamente alta, deshabilite explícitamente la recuperación temprana "
"recuperaci&#x00f3;n temprana usando <literal>lazy=\"false\"</literal>. " "usando <literal>lazy=\"false\"</literal>. Cuando la recuperación por unión "
"Cuando sea apropiada la recuperaci&#x00f3;n por uni&#x00f3;n (join fetching) " "sea apropiada para un caso de uso en particular, utilice una consulta con un "
"para un caso de uso en particular, usa una consulta con un <literal>left " "<literal>left join fetch</literal>."
"join fetch</literal>."
#. Tag: term #. Tag: term
#: best_practices.xml:196 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Use the <emphasis>open session in view</emphasis> pattern, or a disciplined " "Use the <emphasis>open session in view</emphasis> pattern, or a disciplined "
"<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:" "<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:"
msgstr "" msgstr ""
"Usa el patr&#x00f3;n <emphasis>sesi&#x00f3;n abierta en vista</emphasis>, o " "Use el patrón de <emphasis>sesión abierta en vista</emphasis> o una "
"una <emphasis>fase de ensamblado</emphasis> disciplinada para evitar " "<emphasis>fase de ensamblado</emphasis> disciplinada para evitar problemas "
"problemas con datos no recuperados." "con datos no recuperados."
#. Tag: para #. Tag: para
#: best_practices.xml:201 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate frees the developer from writing tedious <emphasis>Data Transfer " "Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual " "Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
@ -383,31 +361,28 @@ msgid ""
"objects. This is not a limitation of Hibernate. It is a fundamental " "objects. This is not a limitation of Hibernate. It is a fundamental "
"requirement of safe transactional data access." "requirement of safe transactional data access."
msgstr "" msgstr ""
"Hibernate liberal al desarrollador de escribir <emphasis>Objetos de " "Hibernate libera al desarrollador de escribir tediosos <emphasis>objetos de "
"Transferencia de Datos (Data Transfer Objects)</emphasis> (DTO). En una " "transferencia de datos (DTO del inglés Data Transfer Objects)</emphasis>. En "
"arquitectura tradicional de EJB, los DTOs tienen un prop&#x00f3;sito doble: " "una arquitectura tradicional de EJB, los DTOs tienen un propósito doble: "
"primero, atacan el problema que los beans de entidad no son serializables. " "primero, atacan el problema de que los beans de entidad no son "
"Segundo, definen impl&#x00ed;citamente una fase de ensamblado cuando se " "serializables. Segundo, definen implícitamente una fase de ensamblado cuando "
"recuperan y se forman (marshalling) todos los datos a usar por la vista en " "se recuperan y se forman (marshalling) todos los datos a usar por la vista "
"los DTOs antes de devolver el control a la grada de presentaci&#x00f3;n. " "en los DTOs antes de devolver el control al nivel de presentación. Hibernate "
"Hibernate elimina el primer prop&#x00f3;sito. Sin embargo, a&#x00fa;n " "elimina el primer propósito. Sin embargo, aún necesita una fase de "
"necesitas una fase de ensamblado (piensa en tus m&#x00e9;todos de negocio " "ensamblado a menos de que esté preparado para tener el contexto de "
"como si tuviesen un contrato estricto con la grada de presentaci&#x00f3;n " "persistencia (la sesión) abierto a través del proceso de entrega de la "
"sobre qu&#x00e9; datos est&#x00e1;n disponibles en los objetos separados) a " "vista. Piense en sus métodos empresariales como si tuviesen un contrato "
"menos que est&#x00e9;s preparado para tener el contexto de persistencia (la " "estricto con el nivel de presentación sobre qué datos están disponibles en "
"sesi&#x00f3;n) abierto a trav&#x00e9;s del proceso de renderizaci&#x00f3;n " "los objetos separados. Esta no es una limitación de Hibernate. Este es un "
"de la vista. &#x00a1;Esta no es una limitaci&#x00f3;n de Hibernate! Es un "
"requerimiento fundamental de acceso seguro a datos transaccionales." "requerimiento fundamental de acceso seguro a datos transaccionales."
#. Tag: term #. Tag: term
#: best_practices.xml:215 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider abstracting your business logic from Hibernate:" msgid "Consider abstracting your business logic from Hibernate:"
msgstr "Considera abstraer tu l&#x00f3;gica de negocio de Hibernate" msgstr "Considere abstraer su lógica empresarial de Hibernate:"
#. Tag: para #. Tag: para
#: best_practices.xml:217 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hide Hibernate data-access code behind an interface. Combine the " "Hide Hibernate data-access code behind an interface. Combine the "
"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> " "<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
@ -416,23 +391,21 @@ msgid ""
"however, intended for \"sufficiently large\" applications. It is not " "however, intended for \"sufficiently large\" applications. It is not "
"appropriate for an application with five tables." "appropriate for an application with five tables."
msgstr "" msgstr ""
"Oculta el c&#x00f3;digo de acceso a datos (Hibernate) detr&#x00e1;s de una " "Oculte el código de acceso a datos de Hibernate detrás de una interfaz. "
"interface. Combina los patrones <emphasis>DAO</emphasis> y " "Combine los patrones <emphasis>DAO</emphasis> y <emphasis>sesión local de "
"<emphasis>Sesi&#x00f3;n de Hebra Local</emphasis>. Incluso puedes tener " "hilo</emphasis>. Incluso puede hacer algunas clases persistentes por medio "
"algunas clases hechas persistentes por JDBC escrito a mano, asociadas a " "de JDBC escrito a mano, asociadas a Hibernate por medio de un "
"Hibernate por medio de un <literal>UserType</literal>. (Este consejo " "<literal>UserType</literal>. Sin embargo, este consejo va para las "
"est&#x00e1; pensado para aplicaciones \"suficientemente grandes\"; &#x00a1;" "aplicaciones \"suficientemente grandes\". No es apropiado para una "
"no es apropiado para una aplicaci&#x00f3;n con cinco tablas!)" "aplicación con cinco tablas."
#. Tag: term #. Tag: term
#: best_practices.xml:227 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not use exotic association mappings:" msgid "Do not use exotic association mappings:"
msgstr "No uses mapeos de asociaci&#x00f3;n ex&#x00f3;ticos." msgstr "No utilice mapeos de asociación exóticos:"
#. Tag: para #. Tag: para
#: best_practices.xml:229 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Practical test cases for real many-to-many associations are rare. Most of " "Practical test cases for real many-to-many associations are rare. Most of "
"the time you need additional information stored in the \"link table\". In " "the time you need additional information stored in the \"link table\". In "
@ -442,33 +415,24 @@ msgid ""
"association style." "association style."
msgstr "" msgstr ""
"Son raros los casos de uso de asociaciones reales muchos-a-muchos. La mayor " "Son raros los casos de uso de asociaciones reales muchos-a-muchos. La mayor "
"parte del tiempo necesitas informaci&#x00f3;n adicional almacenada en una " "parte del tiempo necesita información adicional almacenada en una \"tabla de "
"\"tabla de enlace\". En este caso, es mucho mejor usar dos asociaciones uno-" "enlace\". En este caso, es mucho mejor usar dos asociaciones uno-a-muchos a "
"a-muchos a una clase de enlace intermedia. De hecho, pensamos que la " "una clase de enlace intermedio. De hecho, la mayoría de las asociaciones son "
"mayor&#x00ed;a de asociaciones son uno-a-muchos y muchos-a-uno, debes ser " "uno-a-muchos y muchos-a-uno. Por esta razón, debe tener cuidado al utilizar "
"cuidadoso al usr cualquier otro estilo de asociaci&#x00f3;n y preguntarte si " "cualquier otro estilo de asociación."
"es realmente necesario."
#. Tag: term #. Tag: term
#: best_practices.xml:239 #, no-c-format
#, fuzzy, no-c-format
msgid "Prefer bidirectional associations:" msgid "Prefer bidirectional associations:"
msgstr "Prefiere las asociaciones bidireccionales." msgstr "Prefiera las asociaciones bidireccionales:"
#. Tag: para #. Tag: para
#: best_practices.xml:241
#, no-c-format #, no-c-format
msgid "" msgid ""
"Unidirectional associations are more difficult to query. In a large " "Unidirectional associations are more difficult to query. In a large "
"application, almost all associations must be navigable in both directions in " "application, almost all associations must be navigable in both directions in "
"queries." "queries."
msgstr "" msgstr ""
"Las asociaciones unidireccionales son m&#x00e1;s dif&#x00ed;ciles de " "Las asociaciones unidireccionales son más difíciles de consultar. En una "
"consultar. En una aplicaci&#x00f3;n grande, casi todas las asociaciones " "aplicación grande, casi todas las asociaciones deben ser navegables en ambas "
"deben ser navegables en ambas direcciones en consultas." "direcciones en consultas."
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Branch 3_3\n" "Project-Id-Version: Branch 3_3\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2009-06-10 21:02+0000\n" "PO-Revision-Date: 2009-06-10 21:02+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -14,55 +14,36 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. Tag: title #. Tag: title
#: bibliography.xml:27
#, no-c-format #, no-c-format
msgid "References" msgid "References"
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: bibliography.xml:31
#, no-c-format #, no-c-format
msgid "Patterns of Enterprise Application Architecture" msgid "Patterns of Enterprise Application Architecture"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:34
#, no-c-format #, no-c-format
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>" msgid "Martin"
msgstr ""
#. Tag: holder
#: bibliography.xml:41
#, no-c-format
msgid "Pearson Education, Inc."
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: bibliography.xml:50
#, no-c-format #, no-c-format
msgid "Java Persistence with Hibernate" msgid "Java Persistence with Hibernate"
msgstr "" msgstr ""
#. Tag: subtitle #. Tag: subtitle
#: bibliography.xml:51
#, no-c-format #, no-c-format
msgid "Second Edition of Hibernate in Action" msgid "Second Edition of Hibernate in Action"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:57
#, no-c-format #, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>" msgid "Christian"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:61
#, no-c-format #, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>" msgid "Gavin"
msgstr ""
#. Tag: holder
#: bibliography.xml:68
#, no-c-format
msgid "Manning Publications Co."
msgstr "" msgstr ""

View File

@ -1,40 +1,51 @@
#, fuzzy # translation of events.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: events\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2009-11-12 09:03+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: events.xml:29
#, no-c-format #, no-c-format
msgid "Interceptors and events" msgid "Interceptors and events"
msgstr "Interceptores y eventos" msgstr "Interceptores y eventos"
#. Tag: para #. Tag: para
#: events.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"It is useful for the application to react to certain events that occur " "It is useful for the application to react to certain events that occur "
"inside Hibernate. This allows for the implementation of generic " "inside Hibernate. This allows for the implementation of generic "
"functionality and the extension of Hibernate functionality." "functionality and the extension of Hibernate functionality."
msgstr "" msgstr ""
"Frecuentemente es &#x00fa;til para la aplicaci&#x00f3;n reaccionar a ciertos " "Es útil para la aplicación reaccionar a ciertos eventos que ocurren dentro "
"eventos que ocurran dentro de Hibernate. Esto permite la implementaci&#x00f3;" "de Hibernate. Esto permite la implementación de funcionalidades genéricas y "
"n de ciertos tipos de funcionalidade gen&#x00e9;rica, y extensi&#x00f3;n de " "la extensión de la funcionalidad de Hibernate."
"la funcionalidad de Hibernate."
#. Tag: title #. Tag: title
#: events.xml:38
#, no-c-format #, no-c-format
msgid "Interceptors" msgid "Interceptors"
msgstr "Interceptores" msgstr "Interceptores"
#. Tag: para #. Tag: para
#: events.xml:40 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>Interceptor</literal> interface provides callbacks from the " "The <literal>Interceptor</literal> interface provides callbacks from the "
"session to the application, allowing the application to inspect and/or " "session to the application, allowing the application to inspect and/or "
@ -46,227 +57,47 @@ msgid ""
"<literal>lastUpdateTimestamp</literal> property when an <literal>Auditable</" "<literal>lastUpdateTimestamp</literal> property when an <literal>Auditable</"
"literal> is updated." "literal> is updated."
msgstr "" msgstr ""
"La interface <literal>Interceptor</literal> provee callbacks desde la " "La interfaz <literal>Interceptor</literal> brinda callbacks desde la sesión "
"sesi&#x00f3;n a la aplicaci&#x00f3;n permitiendo a &#x00e9;sta &#x00fa;ltima " "a la aplicación, permitiendole a ésta última inspeccionar y/o manipular las "
"inspeccionar y/o manipular las propiedades de un objeto persistente antes " "propiedades de un objeto persistente antes de que sea guardado, actualizado, "
"que sea salvado, actualizado, borrado o cargado. Un uso posible de esto es " "borrado o cargado. Un uso posible de esto es seguir la pista de la "
"seguir la pista de informaci&#x00f3;n de auditor&#x00ed;a. Por ejemplo, el " "información de auditoría. Por ejemplo, el siguiente <literal>Interceptor</"
"siguiente <literal>Interceptor</literal> establece autom&#x00e1;ticamente el " "literal> establece automáticamente el <literal>createTimestamp</literal> "
"<literal>createTimestamp</literal> cuando un <literal>Auditable</literal> es " "cuando se crea un <literal>Auditable</literal> y se actualiza la propiedad "
"creado y actualiza la propiedad <literal>lastUpdateTimestamp</literal> " "<literal>lastUpdateTimestamp</literal> cuando se actualiza un "
"cuando un <literal>Auditable</literal> es acutalizado." "<literal>Auditable</literal>."
#. Tag: para #. Tag: para
#: events.xml:51 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can either implement <literal>Interceptor</literal> directly or extend " "You can either implement <literal>Interceptor</literal> directly or extend "
"<literal>EmptyInterceptor</literal>." "<literal>EmptyInterceptor</literal>."
msgstr "" msgstr ""
"UNTRANSLATED! You may either implement <literal>Interceptor</literal> " "Puede implementar el <literal>Interceptor</literal> directamente o extender "
"directly or (better) extend <literal>EmptyInterceptor</literal>." "el <literal>EmptyInterceptor</literal>."
#. Tag: programlisting
#: events.xml:56
#, no-c-format
msgid ""
"<![CDATA[package org.hibernate.test;\n"
"\n"
"import java.io.Serializable;\n"
"import java.util.Date;\n"
"import java.util.Iterator;\n"
"\n"
"import org.hibernate.EmptyInterceptor;\n"
"import org.hibernate.Transaction;\n"
"import org.hibernate.type.Type;\n"
"\n"
"public class AuditInterceptor extends EmptyInterceptor {\n"
"\n"
" private int updates;\n"
" private int creates;\n"
" private int loads;\n"
"\n"
" public void onDelete(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
" // do nothing\n"
" }\n"
"\n"
" public boolean onFlushDirty(Object entity,\n"
" Serializable id,\n"
" Object[] currentState,\n"
" Object[] previousState,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
"\n"
" if ( entity instanceof Auditable ) {\n"
" updates++;\n"
" for ( int i=0; i < propertyNames.length; i++ ) {\n"
" if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) {\n"
" currentState[i] = new Date();\n"
" return true;\n"
" }\n"
" }\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public boolean onLoad(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
" if ( entity instanceof Auditable ) {\n"
" loads++;\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public boolean onSave(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
"\n"
" if ( entity instanceof Auditable ) {\n"
" creates++;\n"
" for ( int i=0; i<propertyNames.length; i++ ) {\n"
" if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
" state[i] = new Date();\n"
" return true;\n"
" }\n"
" }\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public void afterTransactionCompletion(Transaction tx) {\n"
" if ( tx.wasCommitted() ) {\n"
" System.out.println(\"Creations: \" + creates + \", Updates: \" + "
"updates, \"Loads: \" + loads);\n"
" }\n"
" updates=0;\n"
" creates=0;\n"
" loads=0;\n"
" }\n"
"\n"
"}]]>"
msgstr ""
"<![CDATA[package org.hibernate.test;\n"
"\n"
"import java.io.Serializable;\n"
"import java.util.Date;\n"
"import java.util.Iterator;\n"
"\n"
"import org.hibernate.Interceptor;\n"
"import org.hibernate.type.Type;\n"
"\n"
"public class AuditInterceptor implements Interceptor, Serializable {\n"
"\n"
" private int updates;\n"
" private int creates;\n"
"\n"
" public void onDelete(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
" // do nothing\n"
" }\n"
"\n"
" public boolean onFlushDirty(Object entity,\n"
" Serializable id,\n"
" Object[] currentState,\n"
" Object[] previousState,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
"\n"
" if ( entity instanceof Auditable ) {\n"
" updates++;\n"
" for ( int i=0; i < propertyNames.length; i++ ) {\n"
" if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) {\n"
" currentState[i] = new Date();\n"
" return true;\n"
" }\n"
" }\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public boolean onLoad(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
" return false;\n"
" }\n"
"\n"
" public boolean onSave(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
"\n"
" if ( entity instanceof Auditable ) {\n"
" creates++;\n"
" for ( int i=0; i<propertyNames.length; i++ ) {\n"
" if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
" state[i] = new Date();\n"
" return true;\n"
" }\n"
" }\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public void postFlush(Iterator entities) {\n"
" System.out.println(\"Creations: \" + creates + \", Updates: \" + "
"updates);\n"
" }\n"
"\n"
" public void preFlush(Iterator entities) {\n"
" updates=0;\n"
" creates=0;\n"
" }\n"
"\n"
" ...\n"
"\n"
"}]]>"
#. Tag: para #. Tag: para
#: events.xml:58 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"There are two kinds of inteceptors: <literal>Session</literal>-scoped and " "There are two kinds of inteceptors: <literal>Session</literal>-scoped and "
"<literal>SessionFactory</literal>-scoped." "<literal>SessionFactory</literal>-scoped."
msgstr "" msgstr ""
"UNTRANSLATED! Interceptors come in two flavors: <literal>Session</literal>-" "Hay dos clases de interceptores: incluído en <literal>Session</literal>- e "
"scoped and <literal>SessionFactory</literal>-scoped." "incluído en <literal>SessionFactory</literal>."
#. Tag: para #. Tag: para
#: events.xml:63
#, no-c-format #, no-c-format
msgid "" msgid ""
"A <literal>Session</literal>-scoped interceptor is specified when a session " "A <literal>Session</literal>-scoped interceptor is specified when a session "
"is opened using one of the overloaded SessionFactory.openSession() methods " "is opened using one of the overloaded SessionFactory.openSession() methods "
"accepting an <literal>Interceptor</literal>." "accepting an <literal>Interceptor</literal>."
msgstr "" msgstr ""
"UNTRANSLATED! A <literal>Session</literal>-scoped interceptor is specified " "Se especifica un interceptor incluído <literal>Session</literal> cuando se "
"when a session is opened using one of the overloaded SessionFactory." "abre una sesión utilizando uno de los métodos SessionFactory.openSession() "
"openSession() methods accepting an <literal>Interceptor</literal>." "sobrecargados aceptando un <literal>Interceptor</literal>."
#. Tag: programlisting
#: events.xml:69
#, no-c-format
msgid "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
msgstr ""
"<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#. Tag: para #. Tag: para
#: events.xml:71 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A <literal>SessionFactory</literal>-scoped interceptor is registered with " "A <literal>SessionFactory</literal>-scoped interceptor is registered with "
"the <literal>Configuration</literal> object prior to building the " "the <literal>Configuration</literal> object prior to building the "
@ -277,46 +108,35 @@ msgid ""
"Ensure that you do not store session-specific states, since multiple " "Ensure that you do not store session-specific states, since multiple "
"sessions will use this interceptor potentially concurrently." "sessions will use this interceptor potentially concurrently."
msgstr "" msgstr ""
"UNTRANSLATED! A <literal>SessionFactory</literal>-scoped interceptor is " "Un interceptor incluido en <literal>SessionFactory</literal> se encuentra "
"registered with the <literal>Configuration</literal> object prior to " "registrado con el objeto <literal>Configuration</literal> antes de construir "
"building the <literal>SessionFactory</literal>. In this case, the supplied " "el <literal>SessionFactory</literal>. En este caso, el interceptor proveido "
"interceptor will be applied to all sessions opened from that " "será aplicado a todas las sesiones abiertas desde ese "
"<literal>SessionFactory</literal>; this is true unless a session is opened " "<literal>SessionFactory</literal>; a menos de que se abra una sesión "
"explicitly specifying the interceptor to use. <literal>SessionFactory</" "especificando explícitamente el interceptor a utilizar. Los interceptores "
"literal>-scoped interceptors must be thread safe, taking care to not store " "<literal>SessionFactory</literal> incluidos deben ser a prueba de hilos. "
"session-specific state since multiple sessions will use this interceptor " "Asegúrese de no almacenar un estado especifico a la sesión ya que múltiples "
"(potentially) concurrently." "sesiones utilizarán este interceptor potencialmente de manera concurrente."
#. Tag: programlisting
#: events.xml:80
#, no-c-format
msgid ""
"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
msgstr ""
"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#. Tag: title #. Tag: title
#: events.xml:85
#, no-c-format #, no-c-format
msgid "Event system" msgid "Event system"
msgstr "Sistema de eventos" msgstr "Sistema de eventos"
#. Tag: para #. Tag: para
#: events.xml:87 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you have to react to particular events in your persistence layer, you can " "If you have to react to particular events in your persistence layer, you can "
"also use the Hibernate3 <emphasis>event</emphasis> architecture. The event " "also use the Hibernate3 <emphasis>event</emphasis> architecture. The event "
"system can be used in addition, or as a replacement, for interceptors." "system can be used in addition, or as a replacement, for interceptors."
msgstr "" msgstr ""
"Si tienes que reaccionar a eventos particulares en tu capa de persistencia, " "Si tiene que reaccionar a eventos particulares en su capa de persistencia, "
"puedes tambi&#x00e9;n la arquitectura de <emphasis>eventos</emphasis> de " "también puede utilizar la arquitectura de <emphasis>eventos</emphasis> de "
"Hibernate3. El sistema de eventos puede ser usado en adici&#x00f3;n o como " "Hibernate3. El sistema de eventos se puede ser utilizar además de o como un "
"un remplazo a los interceptores." "remplazo para los interceptores."
#. Tag: para #. Tag: para
#: events.xml:93 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"All the methods of the <literal>Session</literal> interface correlate to an " "All the methods of the <literal>Session</literal> interface correlate to an "
"event. You have a <literal>LoadEvent</literal>, a <literal>FlushEvent</" "event. You have a <literal>LoadEvent</literal>, a <literal>FlushEvent</"
@ -333,37 +153,34 @@ msgid ""
"processing any <literal>load()</literal> requests made of the " "processing any <literal>load()</literal> requests made of the "
"<literal>Session</literal>." "<literal>Session</literal>."
msgstr "" msgstr ""
"Esencialmente todos los m&#x00e9;todos de la interface <literal>Session</" "Todos los métodos de la interfaz <literal>Session</literal> se correlacionan "
"literal> se correlacionan con un evento. Tienes un <literal>LoadEvent</" "con un evento. Tiene un <literal>LoadEvent</literal>, un "
"literal>, un <literal>FlushEvent</literal>, etc (consulta el DTD del fichero " "<literal>FlushEvent</literal>, etc. Consulte el DTD del archivo de "
"de configuraci&#x00f3;n XML o el paquete <literal>org.hibernate.event</" "configuración XML o el paquete <literal>org.hibernate.event</literal> para "
"literal> para la lista completa de tipos de evento definidos). Cuando se " "ver la lista completa de los tipos de eventos definidos. Cuando se realiza "
"hace una petici&#x00f3;n de uno de estos m&#x00e9;todos, la " "una petición de uno de estos métodos, la <literal>Session</literal> de "
"<literal>Session</literal> de Hibernate genera un evento apropiado y se lo " "Hibernate genera un evento apropiado y se lo pasa al escucha (listener) de "
"pasa al oyente (listener) de eventos configurado para ese tipo. De f&#x00e1;" "eventos configurado para ese tipo. Tal como vienen, estos escuchas "
"brica, estos oyentes implementan el mismo procesamiento en los que siempre " "implementan el mismo procesamiento en aquellos métodos donde siempre "
"resultan aquellos m&#x00e9;todos. Sin embargo, eres libre de implementar una " "resultan . Sin embargo, usted es libre de implementar una personalización de "
"personalizaci&#x00f3;n de una de las interfaces oyentes (es decir, el " "una de las interfaces escuchas (por ejemplo, el <literal>LoadEvent</literal> "
"<literal>LoadEvent</literal> es procesado por la implementaci&#x00f3;n " "es procesado por la implementación registrada de la interfaz "
"registrada de la interface <literal>LoadEventListener</literal>), en cuyo " "<literal>LoadEventListener</literal>), en cuyo caso su implementación sería "
"caso su implementaci&#x00f3;n ser&#x00ed;a responsable de procesar cualquier " "responsable de procesar cualquier petición <literal>load()</literal> "
"petici&#x00f3;n <literal>load()</literal> hecha a la <literal>Session</" "realizada a la <literal>Session</literal>."
"literal>."
#. Tag: para #. Tag: para
#: events.xml:108 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The listeners should be considered singletons. This means they are shared " "The listeners should be considered singletons. This means they are shared "
"between requests, and should not save any state as instance variables." "between requests, and should not save any state as instance variables."
msgstr "" msgstr ""
"Los oyentes deben ser considerados efectivamente singletons; quiere decir, " "Los escuchas se deben considerar como singletons. Esto significa que son "
"que son compartidos entre las peticiones, y por lo tanto no guardan " "compartidos entre las peticiones y por lo tanto, no deben guardar ningún "
"ning&#x00fa;n estado en variables de instancia." "estado como variables de instancia."
#. Tag: para #. Tag: para
#: events.xml:113 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A custom listener implements the appropriate interface for the event it " "A custom listener implements the appropriate interface for the event it "
"wants to process and/or extend one of the convenience base classes (or even " "wants to process and/or extend one of the convenience base classes (or even "
@ -374,100 +191,32 @@ msgid ""
"configuration through the properties file is not supported. Here is an " "configuration through the properties file is not supported. Here is an "
"example of a custom load event listener:" "example of a custom load event listener:"
msgstr "" msgstr ""
"Un oyente personalizado debe implementar la interface apropiada para el " "Un escucha personalizado implementa la interfaz apropiada para el evento que "
"evento que quiere procesar y/o extender una de las clases base de " "quiere procesar y/o extender una de las clases base de conveniencia (o "
"conveniencia (o incluso los oyentes de eventos por defecto usados por " "incluso los escuchas de eventos predeterminados utilizados por Hibernate de "
"Hibernate de f&#x00e1;brica al ser &#x00e9;stos declarados non-final para " "fábrica al declararlos como no-finales para este propósito). Los escuchas "
"este prop&#x00f3;sito). Los oyentes personalizados pueden ser registrados " "personalizados pueden ser registrados programáticamente a través del objeto "
"program&#x00e1;ticamente a trav&#x00e9;s del objeto <literal>Configuration</" "<literal>Configuration</literal>, o especificados en el XML de configuración "
"literal>, o especificados en el XML de configuraci&#x00f3;n de Hibernate (la " "de Hibernate. No se soporta la configuración declarativa a través del "
"declaraci&#x00f3;n declarativa a trav&#x00e9;s del fichero de propiedades no " "archivo de propiedades. Este es un ejemplo de un escucha personalizado de "
"est&#x00e1; soportada). He aqu&#x00ed; un ejemplo de un oyente personalizado " "eventos load:"
"de eventos load:"
#. Tag: programlisting
#: events.xml:123
#, no-c-format
msgid ""
"<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
" // this is the single method defined by the LoadEventListener interface\n"
" public void onLoad(LoadEvent event, LoadEventListener.LoadType "
"loadType)\n"
" throws HibernateException {\n"
" if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
"getEntityId() ) ) {\n"
" throw MySecurityException(\"Unauthorized access\");\n"
" }\n"
" }\n"
"}]]>"
msgstr ""
"<![CDATA[public class MyLoadListener extends DefaultLoadEventListener {\n"
" // this is the single method defined by the LoadEventListener interface\n"
" public Object onLoad(LoadEvent event, LoadEventListener.LoadType "
"loadType)\n"
" throws HibernateException {\n"
" if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
"getEntityId() ) ) {\n"
" throw MySecurityException(\"Unauthorized access\");\n"
" }\n"
" return super.onLoad(event, loadType);\n"
" }\n"
"}]]>"
#. Tag: para #. Tag: para
#: events.xml:125
#, no-c-format #, no-c-format
msgid "" msgid ""
"You also need a configuration entry telling Hibernate to use the listener in " "You also need a configuration entry telling Hibernate to use the listener in "
"addition to the default listener:" "addition to the default listener:"
msgstr "" msgstr ""
"Necesitas adem&#x00e1;s una entrada de configuraci&#x00f3;n dici&#x00e9;" "También necesita una entrada de configuración diciéndole a Hibernate que "
"ndole a Hibernate que use el oyente en vez del oyente por defecto:" "utilice el oyente en vez del oyente por defecto:"
#. Tag: programlisting
#: events.xml:130
#, no-c-format
msgid ""
"<![CDATA[<hibernate-configuration>\n"
" <session-factory>\n"
" ...\n"
" <event type=\"load\">\n"
" <listener class=\"com.eg.MyLoadListener\"/>\n"
" <listener class=\"org.hibernate.event.def."
"DefaultLoadEventListener\"/>\n"
" </event>\n"
" </session-factory>\n"
"</hibernate-configuration>]]>"
msgstr ""
"<![CDATA[<hibernate-configuration>\n"
" <session-factory>\n"
" ...\n"
" <listener type=\"load\" class=\"MyLoadListener\"/>\n"
" </session-factory>\n"
"</hibernate-configuration>]]>"
#. Tag: para #. Tag: para
#: events.xml:132 #, no-c-format
#, fuzzy, no-c-format
msgid "Instead, you can register it programmatically:" msgid "Instead, you can register it programmatically:"
msgstr "En cambio, puedes registrarlo program&#x00e1;ticamente:" msgstr "En cambio, puede registrarlo programáticamente: "
#. Tag: programlisting
#: events.xml:136
#, no-c-format
msgid ""
"<![CDATA[Configuration cfg = new Configuration();\n"
"LoadEventListener[] stack = { new MyLoadListener(), new "
"DefaultLoadEventListener() };\n"
"cfg.EventListeners().setLoadEventListeners(stack);]]>"
msgstr ""
"<![CDATA[Configuration cfg = new Configuration();\n"
"cfg.getSessionEventListenerConfig().setLoadEventListener( new MyLoadListener"
"() );]]>"
#. Tag: para #. Tag: para
#: events.xml:138 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Listeners registered declaratively cannot share instances. If the same class " "Listeners registered declaratively cannot share instances. If the same class "
"name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each " "name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each "
@ -476,15 +225,13 @@ msgid ""
"programmatic registration approach." "programmatic registration approach."
msgstr "" msgstr ""
"Los oyentes registrados declarativamente no pueden compartir instancias. Si " "Los oyentes registrados declarativamente no pueden compartir instancias. Si "
"el mismo nombre de clase es usado en m&#x00fa;ltiples elementos <literal>&lt;" "se utiliza el mismo nombre de clase en múltiples elementos <literal>&lt;"
"listener/&gt;</literal>, cada referencia resultar&#x00e1; en una instancia " "listener/&gt;</literal>, cada referencia resultará en una instancia separada "
"separada de esa clase. Si necesitas la capacidad de compartir instancias de " "de esa clase. Si necesita compartir instancias de oyentes entre tipos de "
"oyentes entre tipos de oyente debes usar el enfoque de registraci&#x00f3;n " "oyentes debe usar el enfoque de registración programática."
"program&#x00e1;tica."
#. Tag: para #. Tag: para
#: events.xml:146 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Why implement an interface and define the specific type during " "Why implement an interface and define the specific type during "
"configuration? A listener implementation could implement multiple event " "configuration? A listener implementation could implement multiple event "
@ -492,110 +239,332 @@ msgid ""
"registration makes it easier to turn custom listeners on or off during " "registration makes it easier to turn custom listeners on or off during "
"configuration." "configuration."
msgstr "" msgstr ""
"&#x00bf;Por qu&#x00e9; implementar una interface y definir el tipo " "¿Por qué implementar una interfaz y definir el tipo específico durante la "
"espc&#x00ed;fico durante la configuraci&#x00f3;n? Bueno, una " "configuración? Una implementación de escucha podría implementar múltiples "
"implementaci&#x00f3;n de oyente podr&#x00ed;a implementar m&#x00fa;ltiples " "interfaces de escucha de eventos. Teniendo el tipo definido adicionalmente "
"interfaces de oyente de eventos. Teniendo el tipo definido adicionalmente " "durante la registración hace más fácil activar o desactivar escuchas "
"durante la registraci&#x00f3;n lo hace m&#x00e1;s f&#x00e1;cil para activar " "personalizados durante la configuración."
"o desactivar oyentes personalizados durante la configuraci&#x00f3;n."
#. Tag: title #. Tag: title
#: events.xml:156
#, no-c-format #, no-c-format
msgid "Hibernate declarative security" msgid "Hibernate declarative security"
msgstr "Seguridad declarativa de Hibernate" msgstr "Seguridad declarativa de Hibernate"
#. Tag: para #. Tag: para
#: events.xml:157 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Usually, declarative security in Hibernate applications is managed in a " "Usually, declarative security in Hibernate applications is managed in a "
"session facade layer. Hibernate3 allows certain actions to be permissioned " "session facade layer. Hibernate3 allows certain actions to be permissioned "
"via JACC, and authorized via JAAS. This is an optional functionality that is " "via JACC, and authorized via JAAS. This is an optional functionality that is "
"built on top of the event architecture." "built on top of the event architecture."
msgstr "" msgstr ""
"Usualmente, la seguridad declarativa en aplicaciones Hibernate es manejada " "Usualmente, la seguridad declarativa en aplicaciones Hibernate se administra "
"en una capa de fachada de sesi&#x00f3;n. Ahora, Hibernate3 permite que " "en una capa de fachada de sesión. Hibernate3 permite que ciertas acciones se "
"ciertas acciones sean permitidas v&#x00ed;a JACC, y autorizadas v&#x00ed;a " "permitan por medio de JACC y las autoriza por medio de JAAS. Esta es una "
"JAAS. Esta en una funcionalidad opcional constru&#x00ed;da encima de la " "funcionalidad opcional construída encima de la arquitectura de eventos."
"arquitectura de eventos."
#. Tag: para #. Tag: para
#: events.xml:163
#, no-c-format #, no-c-format
msgid "" msgid ""
"First, you must configure the appropriate event listeners, to enable the use " "First, you must configure the appropriate event listeners, to enable the use "
"of JAAS authorization." "of JAAS authorization."
msgstr "" msgstr ""
"Primero, debes configurar los oyentes de eventos apropiados, para habilitar " "Primero, tiene que configurar los oyentes de eventos apropiados, para "
"el uso de autorizaci&#x00f3;n JAAS." "habilitar la utilización de autorización JAAS."
#. Tag: programlisting
#: events.xml:168
#, no-c-format
msgid ""
"<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
"JACCPreDeleteEventListener\"/>\n"
"<listener type=\"pre-update\" class=\"org.hibernate.secure."
"JACCPreUpdateEventListener\"/>\n"
"<listener type=\"pre-insert\" class=\"org.hibernate.secure."
"JACCPreInsertEventListener\"/>\n"
"<listener type=\"pre-load\" class=\"org.hibernate.secure."
"JACCPreLoadEventListener\"/>]]>"
msgstr ""
"<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
"JACCPreDeleteEventListener\"/>\n"
"<listener type=\"pre-update\" class=\"org.hibernate.secure."
"JACCPreUpdateEventListener\"/>\n"
"<listener type=\"pre-insert\" class=\"org.hibernate.secure."
"JACCPreInsertEventListener\"/>\n"
"<listener type=\"pre-load\" class=\"org.hibernate.secure."
"JACCPreLoadEventListener\"/>]]>"
#. Tag: para #. Tag: para
#: events.xml:170 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is " "Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is "
"shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/" "shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/"
"&gt;&lt;/event&gt;</literal> when there is exactly one listener for a " "&gt;&lt;/event&gt;</literal> when there is exactly one listener for a "
"particular event type." "particular event type."
msgstr "" msgstr ""
"UNTRANSLATED! Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;" "Note que <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> es "
"</literal> is just a shorthand for <literal>&lt;event type=\"...\"&gt;&lt;" "la abreviatura para <literal>&lt;event type=\"...\"&gt;&lt;listener class="
"listener class=\"...\"/&gt;&lt;/event&gt;</literal> when there is exactly " "\"...\"/&gt;&lt;/event&gt;</literal> cuando hay exactamente un escucha para "
"one listener for a particular event type." "un tipo de evento en particular."
#. Tag: para #. Tag: para
#: events.xml:176 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Next, while still in <literal>hibernate.cfg.xml</literal>, bind the " "Next, while still in <literal>hibernate.cfg.xml</literal>, bind the "
"permissions to roles:" "permissions to roles:"
msgstr "" msgstr ""
"Seguido, a&#x00fa;n en <literal>hibernate.cfg.xml</literal>, liga los " "A continuación, todavía en <literal>hibernate.cfg.xml</literal>, enlace los "
"permisos a roles:" "permisos a los roles:"
#. Tag: programlisting
#: events.xml:180
#, no-c-format
msgid ""
"<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,"
"read\"/>\n"
"<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
msgstr ""
"<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,"
"read\"/>\n"
"<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
#. Tag: para #. Tag: para
#: events.xml:182
#, no-c-format #, no-c-format
msgid "The role names are the roles understood by your JACC provider." msgid "The role names are the roles understood by your JACC provider."
msgstr "Los nombres de role son los roles entendidos por tu proveedor de JACC." msgstr "Los nombres de los roles son comprendidos por su proveedor de JACC."
#~ msgid "ROLES_OF_TRANSLATORS" #~ msgid ""
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->" #~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgstr ""
#~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgid "CREDIT_FOR_TRANSLATORS" #~ msgid ""
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->" #~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgstr ""
#~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgid ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgstr ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgid ""
#~ "<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
#~ " // this is the single method defined by the LoadEventListener "
#~ "interface\n"
#~ " public void onLoad(LoadEvent event, LoadEventListener.LoadType "
#~ "loadType)\n"
#~ " throws HibernateException {\n"
#~ " if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
#~ "getEntityId() ) ) {\n"
#~ " throw MySecurityException(\"Unauthorized access\");\n"
#~ " }\n"
#~ " }\n"
#~ "}]]>"
#~ msgstr ""
#~ "<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
#~ " // this is the single method defined by the LoadEventListener "
#~ "interface\n"
#~ " public void onLoad(LoadEvent event, LoadEventListener.LoadType "
#~ "loadType)\n"
#~ " throws HibernateException {\n"
#~ " if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
#~ "getEntityId() ) ) {\n"
#~ " throw MySecurityException(\"Unauthorized access\");\n"
#~ " }\n"
#~ " }\n"
#~ "}]]>"
#~ msgid ""
#~ "<![CDATA[<hibernate-configuration>\n"
#~ " <session-factory>\n"
#~ " ...\n"
#~ " <event type=\"load\">\n"
#~ " <listener class=\"com.eg.MyLoadListener\"/>\n"
#~ " <listener class=\"org.hibernate.event.def."
#~ "DefaultLoadEventListener\"/>\n"
#~ " </event>\n"
#~ " </session-factory>\n"
#~ "</hibernate-configuration>]]>"
#~ msgstr ""
#~ "<![CDATA[<hibernate-configuration>\n"
#~ " <session-factory>\n"
#~ " ...\n"
#~ " <event type=\"load\">\n"
#~ " <listener class=\"com.eg.MyLoadListener\"/>\n"
#~ " <listener class=\"org.hibernate.event.def."
#~ "DefaultLoadEventListener\"/>\n"
#~ " </event>\n"
#~ " </session-factory>\n"
#~ "</hibernate-configuration>]]>"
#~ msgid ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgstr ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgid ""
#~ "<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
#~ "JACCPreDeleteEventListener\"/>\n"
#~ "<listener type=\"pre-update\" class=\"org.hibernate.secure."
#~ "JACCPreUpdateEventListener\"/>\n"
#~ "<listener type=\"pre-insert\" class=\"org.hibernate.secure."
#~ "JACCPreInsertEventListener\"/>\n"
#~ "<listener type=\"pre-load\" class=\"org.hibernate.secure."
#~ "JACCPreLoadEventListener\"/>]]>"
#~ msgstr ""
#~ "<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
#~ "JACCPreDeleteEventListener\"/>\n"
#~ "<listener type=\"pre-update\" class=\"org.hibernate.secure."
#~ "JACCPreUpdateEventListener\"/>\n"
#~ "<listener type=\"pre-insert\" class=\"org.hibernate.secure."
#~ "JACCPreInsertEventListener\"/>\n"
#~ "<listener type=\"pre-load\" class=\"org.hibernate.secure."
#~ "JACCPreLoadEventListener\"/>]]>"
#~ msgid ""
#~ "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,"
#~ "update,read\"/>\n"
#~ "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
#~ msgstr ""
#~ "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,"
#~ "update,read\"/>\n"
#~ "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"

View File

@ -1,21 +1,35 @@
#, fuzzy # translation of example_parentchild.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: example_parentchild\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-05 17:42+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: example_parentchild.xml:29
#, no-c-format #, no-c-format
msgid "Example: Parent/Child" msgid "Example: Parent/Child"
msgstr "Ejemplo: Padre/Hijo" msgstr "Ejemplo: Padre/Hijo"
#. Tag: para #. Tag: para
#: example_parentchild.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"One of the first things that new users want to do with Hibernate is to model " "One of the first things that new users want to do with Hibernate is to model "
"a parent/child type relationship. There are two different approaches to " "a parent/child type relationship. There are two different approaches to "
@ -31,54 +45,47 @@ msgid ""
"cascades</emphasis> to model a parent/child relationship efficiently and " "cascades</emphasis> to model a parent/child relationship efficiently and "
"elegantly." "elegantly."
msgstr "" msgstr ""
"Una de las primer&#x00ed;simas cosas que los usuarios nuevos intentan hacer " "Una de las primeras cosas que los usuarios nuevos intentan hacer con "
"con Hibernate es modelar una relaci&#x00f3;n de tipo padre / hijo. Para esto " "Hibernate es modelar una relación de tipo padre / hijo. Para esto existen "
"hay dos enfoques diferentes. Por varias razones, el enfoque m&#x00e1;s " "dos enfoques diferentes. El enfoque más conveniente, especialmente para los "
"conveniente, especialmente para usuarios nuevos, es modelar tanto " "usuarios nuevos, es modelar tanto <literal>Parent</literal> como "
"<literal>Parent</literal> como <literal>Child</literal> como clases de " "<literal>Child</literal> como clases de entidad con una asociación "
"entidad con una asociaci&#x00f3;n <literal>&lt;one-to-many&gt;</literal> " "<literal>&lt;one-to-many&gt;</literal> desde <literal>Parent</literal> a "
"desde <literal>Parent</literal> a <literal>Child</literal>. (El enfoque " "<literal>Child</literal>. El enfoque opcional es declarar el <literal>Child</"
"alternativo es declarar el <literal>Child</literal> como un <literal>&lt;" "literal> como un <literal>&lt;composite-element&gt;</literal>. La semántica "
"composite-element&gt;</literal>.) Ahora, resulta que la sem&#x00e1;ntica por " "prederterminada de una asociación uno-a-muchos en Hibernate es mucho menos "
"defecto de una asociaci&#x00f3;n uno a muchos (en Hibernate) es mucho menos " "cercana a la semántica usual de una relación padre / hijo que la de un mapeo "
"cercana a la sem&#x00e1;ntica usual de una relaci&#x00f3;n padre / hijo que " "de elementos compuestos. Explicaremos cómo utilizar una <emphasis>asociación "
"aquellas de un mapeo de elementos compuestos. Explicaremos c&#x00f3;mo usar " "uno-a-muchos bidireccional con tratamiento en cascada</emphasis> para "
"una <emphasis>asociaci&#x00f3;n uno a muchos bidireccional con tratamiento " "modelar una relación padre / hijo de manera eficiente y elegante."
"en cascada</emphasis> para modelar una relaci&#x00f3;n padre / hijo "
"eficiente y elegantemente. &#x00a1;No es para nada dif&#x00ed;cil!"
#. Tag: title #. Tag: title
#: example_parentchild.xml:45
#, no-c-format #, no-c-format
msgid "A note about collections" msgid "A note about collections"
msgstr "Una nota sobre las colecciones" msgstr "Nota sobre las colecciones"
#. Tag: para #. Tag: para
#: example_parentchild.xml:47 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate collections are considered to be a logical part of their owning " "Hibernate collections are considered to be a logical part of their owning "
"entity and not of the contained entities. Be aware that this is a critical " "entity and not of the contained entities. Be aware that this is a critical "
"distinction that has the following consequences:" "distinction that has the following consequences:"
msgstr "" msgstr ""
"Se considera que las colecciones de Hibernate son una parte l&#x00f3;gica de " "Se considera que las colecciones de Hibernate son una parte lógica de la "
"la entidad que las posee; nunca de las entidades contenidas. &#x00a1;Esta es " "entidad que las posee y no de las entidades contenidas. Note que esta es una "
"una distinci&#x00f3;n crucial! Esto tiene las siguientes consecuencias:" "diferencia crucial y que esto tiene las siguientes consecuencias:"
#. Tag: para #. Tag: para
#: example_parentchild.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When you remove/add an object from/to a collection, the version number of " "When you remove/add an object from/to a collection, the version number of "
"the collection owner is incremented." "the collection owner is incremented."
msgstr "" msgstr ""
"Cuando se quita / a&#x00f1;ade un objeto desde / a una colecci&#x00f3;n, se " "Cuando se elimina/agrega un objeto desde/a una colección, se incrementa el "
"incrementa el n&#x00fa;mero de versi&#x00f3;n del due&#x00f1;o de la " "número de la versión del dueño de la colección."
"colecci&#x00f3;n."
#. Tag: para #. Tag: para
#: example_parentchild.xml:60 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If an object that was removed from a collection is an instance of a value " "If an object that was removed from a collection is an instance of a value "
"type (e.g. a composite element), that object will cease to be persistent and " "type (e.g. a composite element), that object will cease to be persistent and "
@ -86,15 +93,14 @@ msgid ""
"value type instance to the collection will cause its state to be immediately " "value type instance to the collection will cause its state to be immediately "
"persistent." "persistent."
msgstr "" msgstr ""
"Si un objeto que fue quitado de una colecci&#x00f3;n es una instancia de un " "Si un objeto que fue eliminado de una colección es una instancia de un tipo "
"tipo de valor (por ejemplo, un elemento compuesto), ese objeta cesar&#x00e1; " "de valor (por ejemplo, un elemento compuesto), ese objeto cesará de ser "
"de ser persistente y su estado ser&#x00e1; completamente quitado de la base " "persistente y su estado será completamente eliminado de la base de datos. "
"de datos. Asimismo, a&#x00f1;adir una instancia de tipo de valor a la " "Asimismo, añadir una instancia de tipo de valor a la colección causará que "
"colecci&#x00f3;n causar&#x00e1; que su estado sea inmediatamente persistente." "su estado sea persistente inmediatamente."
#. Tag: para #. Tag: para
#: example_parentchild.xml:68 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Conversely, if an entity is removed from a collection (a one-to-many or many-" "Conversely, if an entity is removed from a collection (a one-to-many or many-"
"to-many association), it will not be deleted by default. This behavior is " "to-many association), it will not be deleted by default. This behavior is "
@ -102,16 +108,15 @@ msgid ""
"should not cause the associated entity to vanish. Likewise, adding an entity " "should not cause the associated entity to vanish. Likewise, adding an entity "
"to a collection does not cause that entity to become persistent, by default." "to a collection does not cause that entity to become persistent, by default."
msgstr "" msgstr ""
"Por otro lado, si se quita una entidad de una colecci&#x00f3;n (una " "Por otro lado, si se elimina una entidad de una colección (una asociación "
"asociaci&#x00f3;n uno-a-muchos o muchos-a-muchos), no ser&#x00e1; borrado, " "uno-a-muchos o muchos-a-muchos), no se borrará por defecto. Este "
"por defecto. Este comportamiento es completamente consistente. &#x00a1;Un " "comportamiento es completamente consistente; un cambio en el estado interno "
"cambio en el estado interno de otra entidad no hace desaparecer la entidad " "de otra entidad no hace desaparecer la entidad asociada. Asimismo, el "
"asociada! Asimismo, a&#x00f1;adir una entidad a una colecci&#x00f3;n no " "agregar una entidad a una colección no causa que la entidad se vuelva "
"causa que la entidad se vuelva persistente, por defecto." "persistente por defecto."
#. Tag: para #. Tag: para
#: example_parentchild.xml:78 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Adding an entity to a collection, by default, merely creates a link between " "Adding an entity to a collection, by default, merely creates a link between "
"the two entities. Removing the entity will remove the link. This is " "the two entities. Removing the entity will remove the link. This is "
@ -119,74 +124,37 @@ msgid ""
"case of a parent/child relationship. In this case, the life of the child is " "case of a parent/child relationship. In this case, the life of the child is "
"bound to the life cycle of the parent." "bound to the life cycle of the parent."
msgstr "" msgstr ""
"En cambio, el comportamiento por defecto es que al a&#x00f1;adir una entidad " "El comportamiento por defecto es que al agregar una entidad a una colección "
"a una colecci&#x00f3;n se crea meramente un enlace entre las dos entidades, " "se crea un enlace entre las dos entidades. Al eliminar la entidad se "
"mientras que al quitarla se quita el enlace. Esto es muy apropiado para " "eliminará el enlace. Esto es muy apropiado para todos los tipos de casos. "
"todos los tipos de casos. Donde no es para nada apropiado es en el caso de " "Sin embargo, no apropiado en el caso de una relación padre / hijo. En este "
"una relaci&#x00f3;n padre / hijo. donde la vida del hijo est&#x00e1; ligada " "caso la vida del hijo se encuentra vinculada al ciclo de vida del padre."
"al ciclo de vida del padre."
#. Tag: title #. Tag: title
#: example_parentchild.xml:88
#, no-c-format #, no-c-format
msgid "Bidirectional one-to-many" msgid "Bidirectional one-to-many"
msgstr "Uno-a-muchos bidirectional" msgstr "Uno-a-muchos bidireccional"
#. Tag: para #. Tag: para
#: example_parentchild.xml:90
#, no-c-format #, no-c-format
msgid "" msgid ""
"Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> " "Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> "
"association from <literal>Parent</literal> to <literal>Child</literal>." "association from <literal>Parent</literal> to <literal>Child</literal>."
msgstr "" msgstr ""
"Sup&#x00f3;n que empezamos con una asociaci&#x00f3;n simple <literal>&lt;one-" "Supónga que empezamos con una asociación simple <literal>&lt;one-to-many&gt;"
"to-many&gt;</literal> desde <literal>Parent</literal> a <literal>Child</" "</literal> desde <literal>Parent</literal> a <literal>Child</literal>."
"literal>."
#. Tag: programlisting
#: example_parentchild.xml:95
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:97 #, no-c-format
#, fuzzy, no-c-format
msgid "If we were to execute the following code:" msgid "If we were to execute the following code:"
msgstr "Si ejecut&#x00e1;semos el siguiente c&#x00f3;digo" msgstr "Si ejecutásemos el siguiente código:"
#. Tag: programlisting
#: example_parentchild.xml:101
#, no-c-format
msgid ""
"<![CDATA[Parent p = .....;\n"
"Child c = new Child();\n"
"p.getChildren().add(c);\n"
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = .....;\n"
"Child c = new Child();\n"
"p.getChildren().add(c);\n"
"session.save(c);\n"
"session.flush();]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:103
#, no-c-format #, no-c-format
msgid "Hibernate would issue two SQL statements:" msgid "Hibernate would issue two SQL statements:"
msgstr "Hibernate publicar&#x00ed;a dos sentencias SQL:" msgstr "Hibernate publicaría dos declaraciones SQL:"
#. Tag: para #. Tag: para
#: example_parentchild.xml:109
#, no-c-format #, no-c-format
msgid "" msgid ""
"an <literal>INSERT</literal> to create the record for <literal>c</literal>" "an <literal>INSERT</literal> to create the record for <literal>c</literal>"
@ -194,7 +162,6 @@ msgstr ""
"un <literal>INSERT</literal> para crear el registro de <literal>c</literal>" "un <literal>INSERT</literal> para crear el registro de <literal>c</literal>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:112
#, no-c-format #, no-c-format
msgid "" msgid ""
"an <literal>UPDATE</literal> to create the link from <literal>p</literal> to " "an <literal>UPDATE</literal> to create the link from <literal>p</literal> to "
@ -204,43 +171,25 @@ msgstr ""
"a <literal>c</literal>" "a <literal>c</literal>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:119 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is not only inefficient, but also violates any <literal>NOT NULL</" "This is not only inefficient, but also violates any <literal>NOT NULL</"
"literal> constraint on the <literal>parent_id</literal> column. You can fix " "literal> constraint on the <literal>parent_id</literal> column. You can fix "
"the nullability constraint violation by specifying <literal>not-null=\"true" "the nullability constraint violation by specifying <literal>not-null=\"true"
"\"</literal> in the collection mapping:" "\"</literal> in the collection mapping:"
msgstr "" msgstr ""
"Esto no es s&#x00f3;lo ineficiente, sino que adem&#x00e1;s viola cualquier " "Esto no es sólo ineficiente, sino que además viola cualquier restricción "
"restricci&#x00f3;n <literal>NOT NULL</literal> en la columna " "<literal>NOT NULL</literal> en la columna <literal>parent_id</literal>. "
"<literal>parent_id</literal>. Podemos reparar la violaci&#x00f3;n de " "Puede arreglar la violación de restricción de nulabilidad especificando "
"restricci&#x00f3;n de nulabilidad especificando <literal>not-null=\"true\"</" "<literal>not-null=\"true\"</literal> en el mapeo de la colección:"
"literal> en el mapeo de la colecci&#x00f3;n:"
#. Tag: programlisting
#: example_parentchild.xml:125
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\" not-null=\"true\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\" not-null=\"true\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:127
#, no-c-format #, no-c-format
msgid "However, this is not the recommended solution." msgid "However, this is not the recommended solution."
msgstr "Sin embargo, esta no es la soluci&#x00f3;n recomendada." msgstr "Sin embargo, esta no es la solución recomendada."
#. Tag: para #. Tag: para
#: example_parentchild.xml:130 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The underlying cause of this behavior is that the link (the foreign key " "The underlying cause of this behavior is that the link (the foreign key "
"<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</" "<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</"
@ -248,301 +197,122 @@ msgid ""
"object and is therefore not created in the <literal>INSERT</literal>. The " "object and is therefore not created in the <literal>INSERT</literal>. The "
"solution is to make the link part of the <literal>Child</literal> mapping." "solution is to make the link part of the <literal>Child</literal> mapping."
msgstr "" msgstr ""
"El caso subyacente de este comportamiento es que el enlace (la clave " "El caso subyacente de este comportamiento es que el enlace (la clave foránea "
"for&#x00e1;nea <literal>parent_id</literal>) de <literal>p</literal> a " "<literal>parent_id</literal>) de <literal>p</literal> a <literal>c</literal> "
"<literal>c</literal> no es considerado parte del estado del objeto " "no se considera parte del estado del objeto <literal>Child</literal> y por "
"<literal>Child</literal> y por lo tanto no es creada en el <literal>INSERT</" "lo tanto no se crea en el <literal>INSERT</literal>. De modo que la solución "
"literal>. De modo que la soluci&#x00f3;n es hacer el enlace parte del mapeo " "es hacer que el enlace sea parte del mapeo del <literal>Child</literal>. "
"del <literal>Child</literal>."
#. Tag: programlisting
#: example_parentchild.xml:137
#, no-c-format
msgid ""
"<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/"
">]]>"
msgstr ""
"<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/"
">]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:139 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You also need to add the <literal>parent</literal> property to the " "You also need to add the <literal>parent</literal> property to the "
"<literal>Child</literal> class." "<literal>Child</literal> class."
msgstr "" msgstr ""
"(Necesitamos adem&#x00e1;s a&#x00f1;adir la propiedad <literal>parent</" "También necesita agregar la propiedad <literal>parent</literal> a la clase "
"literal> a la clase <literal>Child</literal>.)" "<literal>Child</literal>."
#. Tag: para #. Tag: para
#: example_parentchild.xml:143 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Now that the <literal>Child</literal> entity is managing the state of the " "Now that the <literal>Child</literal> entity is managing the state of the "
"link, we tell the collection not to update the link. We use the " "link, we tell the collection not to update the link. We use the "
"<literal>inverse</literal> attribute to do this:" "<literal>inverse</literal> attribute to do this:"
msgstr "" msgstr ""
"Ahora que la entidad <literal>Child</literal> est&#x00e1; gestionando el " "Ahora que la entidad <literal>Child</literal> está administrando el estado "
"estado del enlace, le decimos a la colecci&#x00f3;n que no actualice el " "del enlace, le decimos a la colección que no actualice el enlace. Usamos el "
"enlace. Usamos el atributo <literal>inverse</literal>." "atributo <literal>inverse</literal> para hacer esto:"
#. Tag: programlisting
#: example_parentchild.xml:148
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
"<![CDATA[<set name=\"children\" inverse=\"true\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:150 #, no-c-format
#, fuzzy, no-c-format
msgid "The following code would be used to add a new <literal>Child</literal>:" msgid "The following code would be used to add a new <literal>Child</literal>:"
msgstr "" msgstr ""
"El siguiente c&#x00f3;digo podr&#x00ed;a ser usado para a&#x00f1;adir un " "El siguiente código se podría utilizar para agregar un nuevo <literal>Child</"
"nuevo <literal>Child</literal>" "literal>:"
#. Tag: programlisting #. Tag: para
#: example_parentchild.xml:154
#, no-c-format #, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"c.setParent(p);\n"
"p.getChildren().add(c);\n"
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"c.setParent(p);\n"
"p.getChildren().add(c);\n"
"session.save(c);\n"
"session.flush();]]>"
#. Tag: para
#: example_parentchild.xml:156
#, fuzzy, no-c-format
msgid "Only one SQL <literal>INSERT</literal> would now be issued." msgid "Only one SQL <literal>INSERT</literal> would now be issued."
msgstr "" msgstr "Sólo se emitiría un <literal>INSERT</literal> de SQL."
"Y ahora, &#x00a1;S&#x00f3;lo se publicar&#x00ed;a un <literal>INSERT</"
"literal> de SQL!"
#. Tag: para #. Tag: para
#: example_parentchild.xml:160 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You could also create an <literal>addChild()</literal> method of " "You could also create an <literal>addChild()</literal> method of "
"<literal>Parent</literal>." "<literal>Parent</literal>."
msgstr "" msgstr ""
"Para ajustar un poco m&#x00e1;s las cosas, podr&#x00ed;amos crear un " "También podría crear un método <literal>addChild()</literal> de "
"m&#x00e9;todo <literal>addChild()</literal> en <literal>Parent</literal>." "<literal>Parent</literal>."
#. Tag: programlisting
#: example_parentchild.xml:165
#, no-c-format
msgid ""
"<![CDATA[public void addChild(Child c) {\n"
" c.setParent(this);\n"
" children.add(c);\n"
"}]]>"
msgstr ""
"<![CDATA[public void addChild(Child c) {\n"
" c.setParent(this);\n"
" children.add(c);\n"
"}]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:167
#, fuzzy, no-c-format
msgid "The code to add a <literal>Child</literal> looks like this:"
msgstr ""
"Ahora, el c&#x00f3;digo para a&#x00f1;adir un <literal>Child</literal> se ve "
"as&#x00ed;"
#. Tag: programlisting
#: example_parentchild.xml:171
#, no-c-format #, no-c-format
msgid "" msgid "The code to add a <literal>Child</literal> looks like this:"
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n" msgstr "El código para agregar un <literal>Child</literal> se ve así:"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.save(c);\n"
"session.flush();]]>"
#. Tag: title #. Tag: title
#: example_parentchild.xml:176
#, no-c-format #, no-c-format
msgid "Cascading life cycle" msgid "Cascading life cycle"
msgstr "Ciclo de vida en cascada" msgstr "Ciclo de vida en cascada "
#. Tag: para #. Tag: para
#: example_parentchild.xml:178 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can address the frustrations of the explicit call to <literal>save()</" "You can address the frustrations of the explicit call to <literal>save()</"
"literal> by using cascades." "literal> by using cascades."
msgstr "" msgstr ""
"La llamada expl&#x00ed;cita a <literal>save()</literal> es a&#x00fa;n " "Puede abordar las frustraciones de la llamada explícita a <literal>save()</"
"molesta. Apuntaremos a esto usando tratamientos en cascada." "literal> utilizando cascadas."
#. Tag: programlisting
#: example_parentchild.xml:183
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:185 #, no-c-format
#, fuzzy, no-c-format
msgid "This simplifies the code above to:" msgid "This simplifies the code above to:"
msgstr "Esto simplifica el c&#x00f3;digo anterior a" msgstr "Esto simplifica el código anterior a:"
#. Tag: programlisting
#: example_parentchild.xml:189
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.flush();]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:191 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Similarly, we do not need to iterate over the children when saving or " "Similarly, we do not need to iterate over the children when saving or "
"deleting a <literal>Parent</literal>. The following removes <literal>p</" "deleting a <literal>Parent</literal>. The following removes <literal>p</"
"literal> and all its children from the database." "literal> and all its children from the database."
msgstr "" msgstr ""
"Similarmente, no necesitamos iterar los hijos al salvar o borrar un " "De manera similar, no necesitamos iterar los hijos al guardar o borrar un "
"<literal>Parent</literal>. Lo siguiente quita <literal>p</literal> y todos " "<literal>Parent</literal>. Lo siguiente elimina <literal>p</literal> y todos "
"sus hijos de la base de datos." "sus hijos de la base de datos."
#. Tag: programlisting
#: example_parentchild.xml:196
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"session.delete(p);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"session.delete(p);\n"
"session.flush();]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:198 #, no-c-format
#, fuzzy, no-c-format
msgid "However, the following code:" msgid "However, the following code:"
msgstr "Sin embargo, este c&#x00f3;digo" msgstr "Sin embargo, el siguiente código:"
#. Tag: programlisting
#: example_parentchild.xml:202
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
"p.getChildren().remove(c);\n"
"c.setParent(null);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
"p.getChildren().remove(c);\n"
"c.setParent(null);\n"
"session.flush();]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:204 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"will not remove <literal>c</literal> from the database. In this case, it " "will not remove <literal>c</literal> from the database. In this case, it "
"will only remove the link to <literal>p</literal> and cause a <literal>NOT " "will only remove the link to <literal>p</literal> and cause a <literal>NOT "
"NULL</literal> constraint violation. You need to explicitly <literal>delete()" "NULL</literal> constraint violation. You need to explicitly <literal>delete()"
"</literal> the <literal>Child</literal>." "</literal> the <literal>Child</literal>."
msgstr "" msgstr ""
"no quitar&#x00e1; <literal>c</literal> de la base de datos; s&#x00f3;lo " "no eliminará <literal>c</literal> de la base de datos. En este caso, sólo "
"quitar&#x00e1; el enlace a <literal>p</literal> (y causar&#x00e1; una " "quitará el enlace a <literal>p</literal> y causará una violación a una "
"violaci&#x00f3;n a una restricci&#x00f3;n <literal>NOT NULL</literal>). " "restricción <literal>NOT NULL</literal>. Necesita borrar el hijo "
"Necesitas borrar el hijo expl&#x00ed;citamente llamando a <literal>delete()</" "explícitamente llamando a <literal>delete()</literal> en <literal>Child</"
"literal>." "literal>."
#. Tag: programlisting
#: example_parentchild.xml:210
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
"p.getChildren().remove(c);\n"
"session.delete(c);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
"p.getChildren().remove(c);\n"
"session.delete(c);\n"
"session.flush();]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:212 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In our case, a <literal>Child</literal> cannot exist without its parent. So " "In our case, a <literal>Child</literal> cannot exist without its parent. So "
"if we remove a <literal>Child</literal> from the collection, we do want it " "if we remove a <literal>Child</literal> from the collection, we do want it "
"to be deleted. To do this, we must use <literal>cascade=\"all-delete-orphan" "to be deleted. To do this, we must use <literal>cascade=\"all-delete-orphan"
"\"</literal>." "\"</literal>."
msgstr "" msgstr ""
"Ahora, en nuestro caso, un <literal>Child</literal> no puede existir " "En nuestro caso, un <literal>Child</literal> no puede existir realmente sin "
"realmente sin su padre. De modo que si quitamos un <literal>Child</literal> " "su padre. De modo que si eliminamos un <literal>Child</literal> de la "
"de la colecci&#x00f3;n, realmente queremos que sea borrado. Para esto, " "colección, realmente queremos que sea borrado. Para esto, tenemos que "
"debemos usar <literal>cascade=\"all-delete-orphan\"</literal>." "utilizar <literal>cascade=\"all-delete-orphan\"</literal>."
#. Tag: programlisting
#: example_parentchild.xml:218
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan"
"\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan"
"\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:220 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Even though the collection mapping specifies <literal>inverse=\"true\"</" "Even though the collection mapping specifies <literal>inverse=\"true\"</"
"literal>, cascades are still processed by iterating the collection elements. " "literal>, cascades are still processed by iterating the collection elements. "
@ -550,21 +320,18 @@ msgid ""
"it to the collection. It is not enough to simply call <literal>setParent()</" "it to the collection. It is not enough to simply call <literal>setParent()</"
"literal>." "literal>."
msgstr "" msgstr ""
"Nota: aunque el mapeo de la colecci&#x00f3;n especifique <literal>inverse=" "Aunque el mapeo de la colección especifique <literal>inverse=\"true\"</"
"\"true\"</literal>, el tratamiento en cascada se procesa a&#x00fa;n al " "literal>, el tratamiento en cascada se procesa aún al iterar los elementos "
"iterar los elementos de colecci&#x00f3;n. De modo que si requieres que un " "de la colección. De modo que si necesita que un objeto se guarde, borre o "
"objeto sea salvado, borrado o actualizado en cascada, debes a&#x00f1;adirlo " "actualice en cascada, debe añadirlo a la colección. No es suficiente con "
"a la colecci&#x00f3;n. No es suficiente con simplemente llamar a " "simplemente llamar a <literal>setParent()</literal>."
"<literal>setParent()</literal>."
#. Tag: title #. Tag: title
#: example_parentchild.xml:230
#, no-c-format #, no-c-format
msgid "Cascades and <literal>unsaved-value</literal>" msgid "Cascades and <literal>unsaved-value</literal>"
msgstr "Tratamiento en cascada y <literal>unsaved-value</literal>" msgstr "Cascadas y <literal>unsaved-value</literal>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:232
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</" "Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</"
@ -577,57 +344,36 @@ msgid ""
"literal> have generated identifier properties of type <literal>Long</" "literal> have generated identifier properties of type <literal>Long</"
"literal>. Hibernate will use the identifier and version/timestamp property " "literal>. Hibernate will use the identifier and version/timestamp property "
"value to determine which of the children are new. (See <xref linkend=" "value to determine which of the children are new. (See <xref linkend="
"\"objectstate-saveorupdate\"/>.) <emphasis>In Hibernate3, it is no longer " "\"objectstate-saveorupdate\" />.) <emphasis>In Hibernate3, it is no longer "
"necessary to specify an <literal>unsaved-value</literal> explicitly.</" "necessary to specify an <literal>unsaved-value</literal> explicitly.</"
"emphasis>" "emphasis>"
msgstr "" msgstr ""
"Sup&#x00f3;n que hemos cargado un <literal>Parent</literal> en una " "Supónga que hemos cargado un <literal>Parent</literal> en una "
"<literal>Session</literal>, hemos hecho algunos cambios en una acci&#x00f3;n " "<literal>Session</literal>, hemos realizado algunos cambios en una acción UI "
"de UI y deseamos hacer persistentes estos cambios en una nueva sesi&#x00f3;n " "y deseamos hacer persistentes estos cambios en una nueva sesión llamando a "
"llamando a <literal>update()</literal>. El <literal>Parent</literal> " "<literal>update()</literal>. El <literal>Parent</literal> contendrá una "
"contendr&#x00e1; una colecci&#x00f3;n de hijos y, ya que est&#x00e1; " "colección de hijos y ya que está habilitado el tratamiento en cascada, "
"habilitado el tratamiento en cascada, Hibernate necesita saber qu&#x00e9; " "Hibernate necesita saber qué hijos están recién instanciados y cuáles "
"hijos est&#x00e1;n reci&#x00e9;n instanciados y cu&#x00e1;les representan " "representan filas existentes en la base de datos. También vamos a asumir que "
"filas existentes en la base de datos. Asumamos que tanto <literal>Parent</" "tanto <literal>Parent</literal> como <literal>Child</literal> tienen "
"literal> como <literal>Child</literal> tienen propiedades identificadoras " "propiedades identificadoras generadas de tipo <literal>Long</literal>. "
"generadas de tipo <literal>Long</literal>. Hibernate usar&#x00e1; el " "Hibernate usará el identificador y el valor de la propiedad de versión/sello "
"identificador y el valor de la propiedad de versi&#x00f3;n/timestamp para " "de fecha para determinar cuáles de los hijos son nuevos, (consulte la <xref "
"determinar cu&#x00e1;les de los hijos son nuevos. (Ver <xref linkend=" "linkend=\"objectstate-saveorupdate\" />). <emphasis>En Hibernate3, ya no es "
"\"objectstate-saveorupdate\"/>.) <emphasis>En Hibernate3, no es m&#x00e1;s " "necesario especificar un <literal>unsaved-value</literal> explícitamente.</"
"necesario especificar un <literal>unsaved-value</literal> expl&#x00ed;" "emphasis>"
"citamente.</emphasis>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:244 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The following code will update <literal>parent</literal> and <literal>child</" "The following code will update <literal>parent</literal> and <literal>child</"
"literal> and insert <literal>newChild</literal>:" "literal> and insert <literal>newChild</literal>:"
msgstr "" msgstr ""
"The following code will update <literal>parent</literal> and <literal>child</" "El siguiente código actualizará <literal>parent</literal> y <literal>child</"
"literal> and insert <literal>newChild</literal>." "literal> e insertará <literal>newChild</literal>:"
#. Tag: programlisting
#: example_parentchild.xml:249
#, no-c-format
msgid ""
"<![CDATA[//parent and child were both loaded in a previous session\n"
"parent.addChild(child);\n"
"Child newChild = new Child();\n"
"parent.addChild(newChild);\n"
"session.update(parent);\n"
"session.flush();]]>"
msgstr ""
"<![CDATA[//parent and child were both loaded in a previous session\n"
"parent.addChild(child);\n"
"Child newChild = new Child();\n"
"parent.addChild(newChild);\n"
"session.update(parent);\n"
"session.flush();]]>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:251 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This may be suitable for the case of a generated identifier, but what about " "This may be suitable for the case of a generated identifier, but what about "
"assigned identifiers and composite identifiers? This is more difficult, " "assigned identifiers and composite identifiers? This is more difficult, "
@ -637,38 +383,33 @@ msgid ""
"the timestamp or version property, or will actually query the second-level " "the timestamp or version property, or will actually query the second-level "
"cache or, worst case, the database, to see if the row exists." "cache or, worst case, the database, to see if the row exists."
msgstr "" msgstr ""
"Bueno, todo eso est&#x00e1; muy bien para el caso de un identificador " "Todo eso es apropiado para el caso de un identificador generado, pero ¿qué "
"generado, pero &#x00bf;qu&#x00e9; de los identificadores asignados y de los " "de los identificadores asignados y de los identificadores compuestos? Esto "
"identificadores compuestos? Esto es m&#x00e1;s dif&#x00ed;cil, ya que " "es más difícil, ya que Hibernate no puede usar la propiedad identificadora "
"Hibernate no puede usar la propiedad identificadora para distinguir entre un " "para distinguir entre un objeto recién instanciado, con un identificador "
"objeto reci&#x00e9;n instanciado (con un identificador asignado por el " "asignado por el usuario y un objeto cargado en una sesión previa. En este "
"usuario) y un objeto cargado en una sesi&#x00f3;n previa. En este caso, " "caso, Hibernate utilizará la propiedad de versión o sello de fecha, o bien "
"Hibernate bien usar&#x00e1; la propiedad de versi&#x00f3;n o timestamp, o " "consultará realmente el caché de segundo nivel, o bien, en el peor de los "
"bien consultar&#x00e1; realmente el cach&#x00e9; de segundo nivel, o bien, " "casos, consultará la base de datos, para ver si la fila existe."
"en el peor de los casos, la base de datos, para ver si existe la fila."
#. Tag: title #. Tag: title
#: example_parentchild.xml:284
#, no-c-format #, no-c-format
msgid "Conclusion" msgid "Conclusion"
msgstr "Conclusi&#x00f3;n" msgstr "Conclusión"
#. Tag: para #. Tag: para
#: example_parentchild.xml:286 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The sections we have just covered can be a bit confusing. However, in " "The sections we have just covered can be a bit confusing. However, in "
"practice, it all works out nicely. Most Hibernate applications use the " "practice, it all works out nicely. Most Hibernate applications use the "
"parent/child pattern in many places." "parent/child pattern in many places."
msgstr "" msgstr ""
"Hay que resumir un poco aqu&#x00ed; y podr&#x00ed;a parecer confuso a la " "Las secciones que acabamos de cubrir pueden parecer un poco confusas. Sin "
"primera vez. Sin embargo, en la pr&#x00e1;ctica, todo funciona muy " "embargo, en la práctica, todo funciona muy bien. La mayoría de las "
"agradablemente. La mayor&#x00ed;a de las aplicaciones de Hibernate usan el " "aplicaciones de Hibernate utilizan el patrón padre / hijo en muchos sitios."
"patr&#x00f3;n padre / hijo en muchos sitios."
#. Tag: para #. Tag: para
#: example_parentchild.xml:291 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"We mentioned an alternative in the first paragraph. None of the above issues " "We mentioned an alternative in the first paragraph. None of the above issues "
"exist in the case of <literal>&lt;composite-element&gt;</literal> mappings, " "exist in the case of <literal>&lt;composite-element&gt;</literal> mappings, "
@ -677,16 +418,10 @@ msgid ""
"composite elements cannot own collections and they should not be the child " "composite elements cannot own collections and they should not be the child "
"of any entity other than the unique parent." "of any entity other than the unique parent."
msgstr "" msgstr ""
"Hemos mencionado una alternativa en el primer p&#x00e1;rrafo. Ninguno de los " "Mencionamos una opción en el primer párrafo. Ninguno de los temas anteriores "
"temas anteriores existe en el caso de los mapeos <literal>&lt;composite-" "existe en el caso de los mapeos <literal>&lt;composite-element&gt;</"
"element&gt;</literal>, que tienen exactamente la sem&#x00e1;ntica de una " "literal>, los cuales tienen exactamente la semántica de una relación padre / "
"relaci&#x00f3;n padre / hijo. Desafortunadamente, hay dos grandes " "hijo. Desafortunadamente, existen dos grandes limitaciones para las clases "
"limitaciones para las clases de elementos compuestos: los elementos " "de elementos compuestos: los elementos compuestos no pueden poseer sus "
"compuestos no pueden poseer sus propias colecciones, y no deben ser el hijo " "propias colecciones y no deben ser el hijo de cualquier otra entidad que no "
"de cualquier otra entidad que no sea su padre &#x00fa;nico." "sea su padre único."
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -1,41 +1,53 @@
#, fuzzy # translation of filters.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: filters\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2009-11-11 08:28+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: filters.xml:29
#, no-c-format #, no-c-format
msgid "Filtering data" msgid "Filtering data"
msgstr "Filtrando datos" msgstr "Filtración de datos"
#. Tag: para #. Tag: para
#: filters.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate3 provides an innovative new approach to handling data with " "Hibernate3 provides an innovative new approach to handling data with "
"\"visibility\" rules. A <emphasis>Hibernate filter</emphasis> is a global, " "\"visibility\" rules. A <emphasis>Hibernate filter</emphasis> is a global, "
"named, parameterized filter that can be enabled or disabled for a particular " "named, parameterized filter that can be enabled or disabled for a particular "
"Hibernate session." "Hibernate session."
msgstr "" msgstr ""
"Hibernate3 provee un nuevo enfoque innovador para manejar datos con reglas " "Hibernate3 proporciona un nuevo enfoque innovador para manejar datos con "
"de \"visibilidad\". Un <emphasis>filtro de Hibernate</emphasis> es un filtro " "reglas de \"visibilidad\". Un <emphasis>filtro Hibernate</emphasis> es un "
"global, con nombre y parametrizado que puede ser habilitado o deshabilitado " "filtro global, con nombre y parametrizado que puede ser habilitado o "
"para una sesión de Hibernate en particular." "deshabilitado para una sesión de Hibernate especifica."
#. Tag: title #. Tag: title
#: filters.xml:38
#, no-c-format #, no-c-format
msgid "Hibernate filters" msgid "Hibernate filters"
msgstr "Filtros de Hibernate" msgstr "Filtros de Hibernate"
#. Tag: para #. Tag: para
#: filters.xml:40 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate3 has the ability to pre-define filter criteria and attach those " "Hibernate3 has the ability to pre-define filter criteria and attach those "
"filters at both a class level and a collection level. A filter criteria " "filters at both a class level and a collection level. A filter criteria "
@ -46,18 +58,17 @@ msgid ""
"parameter values should be. Filters can be used like database views, but " "parameter values should be. Filters can be used like database views, but "
"they are parameterized inside the application." "they are parameterized inside the application."
msgstr "" msgstr ""
"Hibernate3 añade la habilidad de predefinir criterios de filtros y unir esos " "Hibernate3 tiene la habilidad de predefinir criterios de filtros y unir esos "
"filtros tanto a nivel de una clase como de una colección. Un criterio de " "filtros tanto a nivel de clase como de colección. Un criterio de filtro le "
"filtro es la habilidad de definir una cláusula de restricción muy similar al " "permite definir una cláusula de restricción muy similar al atributo "
"atributo existente \"where\" disponible en el elemento class y varios " "existente \"where\" disponible en el elemento class y en varios elementos de "
"elementos de colección. Excepto en que estos filtros pueden ser " "colección. Sin embargo, las condiciones de estos filtros se pueden "
"parametrizados. La aplicación puede tomar la decisión en tiempo de ejecución " "parametrizar. La aplicación puede tomar la decisión en tiempo de ejecución "
"de qué filtros deben estar habilitados y cuáles deben ser sus parámetros. " "de si los filtros deben estar habilitados y cuáles deben ser sus parámetros. "
"Los filtros pueden ser usados como vistas de base de datos, pero " "Los filtros se pueden utilizar como vistas de la base de datos, pero "
"parametrizados dentro de la aplicación." "parametrizados dentro de la aplicación."
#. Tag: para #. Tag: para
#: filters.xml:50
#, no-c-format #, no-c-format
msgid "" msgid ""
"In order to use filters, they must first be defined and then attached to the " "In order to use filters, they must first be defined and then attached to the "
@ -65,74 +76,28 @@ msgid ""
"filter-def/&gt;</literal> element within a <literal>&lt;hibernate-mapping/" "filter-def/&gt;</literal> element within a <literal>&lt;hibernate-mapping/"
"&gt;</literal> element:" "&gt;</literal> element:"
msgstr "" msgstr ""
"Para usar los filtros, éstos deben primero ser definidos y luego unidos a " "Para utilizar los filtros, éstos se deben definir primero y luego se unen a "
"los elementos de mapeo apropiados. Para definir un filtro, usa el elemento " "los elementos de mapeo apropiados. Para definir un filtro, utilice el "
"<literal>&lt;filter-def/&gt;</literal> dentro de un elemento <literal>&lt;" "elemento <literal>&lt;filter-def/&gt;</literal> dentro de un elemento "
"hibernate-mapping/&gt;</literal>:" "<literal>&lt;hibernate-mapping/&gt;</literal>:"
#. Tag: programlisting
#: filters.xml:56
#, no-c-format
msgid ""
"<![CDATA[<filter-def name=\"myFilter\">\n"
" <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
"</filter-def>]]>"
msgstr ""
"<![CDATA[<filter-def name=\"myFilter\">\n"
" <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
"</filter-def>]]>"
#. Tag: para #. Tag: para
#: filters.xml:58 #, no-c-format
#, fuzzy, no-c-format
msgid "This filter can then be attached to a class:" msgid "This filter can then be attached to a class:"
msgstr "Entonces este filtro puede ser unido a una clase:" msgstr "Luego este filtro se puede adjuntar a una clase:"
#. Tag: programlisting
#: filters.xml:62
#, no-c-format
msgid ""
"<![CDATA[<class name=\"myClass\" ...>\n"
" ...\n"
" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
"\"/>\n"
"</class>]]>"
msgstr ""
"<![CDATA[<class name=\"myClass\" ...>\n"
" ...\n"
" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
"\"/>\n"
"</class>]]>"
#. Tag: para #. Tag: para
#: filters.xml:64 #, no-c-format
#, fuzzy, no-c-format
msgid "Or, to a collection:" msgid "Or, to a collection:"
msgstr "o a una colección:" msgstr "O a una colección:"
#. Tag: programlisting #. Tag: para
#: filters.xml:68
#, no-c-format #, no-c-format
msgid ""
"<![CDATA[<set ...>\n"
" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
"\"/>\n"
"</set>]]>"
msgstr ""
"<![CDATA[<set ...>\n"
" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
"\"/>\n"
"</set>]]>"
#. Tag: para
#: filters.xml:70
#, fuzzy, no-c-format
msgid "Or, to both or multiples of each at the same time." msgid "Or, to both or multiples of each at the same time."
msgstr "o incluso a ambos (o muchos de cada uno) al mismo tiempo." msgstr "O incluso a ambos o múltiples de cada uno al mismo tiempo."
#. Tag: para #. Tag: para
#: filters.xml:74 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The methods on <literal>Session</literal> are: <literal>enableFilter(String " "The methods on <literal>Session</literal> are: <literal>enableFilter(String "
"filterName)</literal>, <literal>getEnabledFilter(String filterName)</" "filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
@ -145,177 +110,69 @@ msgid ""
msgstr "" msgstr ""
"Los métodos en <literal>Session</literal> son: <literal>enableFilter(String " "Los métodos en <literal>Session</literal> son: <literal>enableFilter(String "
"filterName)</literal>, <literal>getEnabledFilter(String filterName)</" "filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
"literal>, y <literal>disableFilter(String filterName)</literal>. Por " "literal> y <literal>disableFilter(String filterName)</literal>. Por defecto, "
"defecto, los filtros <emphasis>no</emphasis> están habilitados para una " "los filtros <emphasis>no</emphasis> están habilitados para una sesión dada. "
"sesión dada; deben ser habilitados explícitamente por medio del uso del " "Los filtros deben ser habilitados explícitamente por medio del uso del "
"método <literal>Session.enableFilter()</literal>, que devuelve una instancia " "método <literal>Session.enableFilter()</literal>, el cual retorna una "
"de la interface <literal>Filter</literal>. Usando el filtro simple definido " "instancia de la interfaz <literal>Filter</literal>. Si se utiliza el filtro "
"arriba, esto se vería así:" "simple definido anteriormente, esto se vería así:"
#. Tag: programlisting
#: filters.xml:83
#, no-c-format
msgid ""
"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
"\"some-value\");]]>"
msgstr ""
"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
"\"some-value\");]]>"
#. Tag: para #. Tag: para
#: filters.xml:85 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Methods on the org.hibernate.Filter interface do allow the method-chaining " "Methods on the org.hibernate.Filter interface do allow the method-chaining "
"common to much of Hibernate." "common to much of Hibernate."
msgstr "" msgstr ""
"Nota que los métodos en la interface org.hibernate.Filter permiten el " "Los métodos en la interfaz org.hibernate.Filter permiten el encadenamiento "
"encadenamiento de métodos común en gran parte de Hibernate." "de métodos, lo cual es bastante común en gran parte de Hibernate."
#. Tag: para #. Tag: para
#: filters.xml:89 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The following is a full example, using temporal data with an effective " "The following is a full example, using temporal data with an effective "
"record date pattern:" "record date pattern:"
msgstr "" msgstr ""
"Un ejemplo completo, usando datos temporales con un patrón efectivo de " "Este es un ejemplo completo, utilizando datos temporales con un patrón "
"fechas de registro:" "efectivo de fechas de registro: "
#. Tag: programlisting
#: filters.xml:93
#, no-c-format
msgid ""
"<![CDATA[<filter-def name=\"effectiveDate\">\n"
" <filter-param name=\"asOfDate\" type=\"date\"/>\n"
"</filter-def>\n"
"\n"
"<class name=\"Employee\" ...>\n"
"...\n"
" <many-to-one name=\"department\" column=\"dept_id\" class=\"Department\"/"
">\n"
" <property name=\"effectiveStartDate\" type=\"date\" column=\"eff_start_dt"
"\"/>\n"
" <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt\"/"
">\n"
"...\n"
" <!--\n"
" Note that this assumes non-terminal records have an eff_end_dt set "
"to\n"
" a max db date for simplicity-sake\n"
" -->\n"
" <filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
"</class>\n"
"\n"
"<class name=\"Department\" ...>\n"
"...\n"
" <set name=\"employees\" lazy=\"true\">\n"
" <key column=\"dept_id\"/>\n"
" <one-to-many class=\"Employee\"/>\n"
" <filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
">\n"
" </set>\n"
"</class>]]>"
msgstr ""
"<![CDATA[<filter-def name=\"effectiveDate\">\n"
" <filter-param name=\"asOfDate\" type=\"date\"/>\n"
"</filter-def>\n"
"\n"
"<class name=\"Employee\" ...>\n"
"...\n"
" <many-to-one name=\"department\" column=\"dept_id\" class=\"Department\"/"
">\n"
" <property name=\"effectiveStartDate\" type=\"date\" column=\"eff_start_dt"
"\"/>\n"
" <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt\"/"
">\n"
"...\n"
" <!--\n"
" Note that this assumes non-terminal records have an eff_end_dt set "
"to\n"
" a max db date for simplicity-sake\n"
" -->\n"
" <filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
"</class>\n"
"\n"
"<class name=\"Department\" ...>\n"
"...\n"
" <set name=\"employees\" lazy=\"true\">\n"
" <key column=\"dept_id\"/>\n"
" <one-to-many class=\"Employee\"/>\n"
" <filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
">\n"
" </set>\n"
"</class>]]>"
#. Tag: para #. Tag: para
#: filters.xml:95 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In order to ensure that you are provided with currently effective records, " "In order to ensure that you are provided with currently effective records, "
"enable the filter on the session prior to retrieving employee data:" "enable the filter on the session prior to retrieving employee data:"
msgstr "" msgstr ""
"Entonces, en orden de asegurar que siempre tendrás de vuelta registros " "Con el fin de asegurarse de que siempre recibirá los registros efectivos "
"actualmente efectivos, simplemente habilita el filtro en la sesión previo a " "actualmente, habilite el filtro en la sesión antes de recuperar los datos de "
"recuperar los datos de empleados:" "los empleados:"
#. Tag: programlisting
#: filters.xml:100
#, no-c-format
msgid ""
"<![CDATA[Session session = ...;\n"
"session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary > :"
"targetSalary\")\n"
" .setLong(\"targetSalary\", new Long(1000000))\n"
" .list();\n"
"]]>"
msgstr ""
"<![CDATA[Session session = ...;\n"
"session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary > :"
"targetSalary\")\n"
" .setLong(\"targetSalary\", new Long(1000000))\n"
" .list();\n"
"]]>"
#. Tag: para #. Tag: para
#: filters.xml:102 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Even though a salary constraint was mentioned explicitly on the results in " "Even though a salary constraint was mentioned explicitly on the results in "
"the above HQL, because of the enabled filter, the query will return only " "the above HQL, because of the enabled filter, the query will return only "
"currently active employees who have a salary greater than one million " "currently active employees who have a salary greater than one million "
"dollars." "dollars."
msgstr "" msgstr ""
"En el HQL de arriba, aunque sólo hemos mencionado explícitamente una " "En el HQL anterior, aunque sólo mencionamos explícitamente una restricción "
"restricción de salario en los resultados, debido al filtro habilitado la " "de salario en los resultados, debido al filtro habilitado la consulta sólo "
"consulta sólo devolverá empleados actualmente activos que tengan un salario " "retornará empleados actualmente activos que tengan un salario mayor a un "
"mayor que un millón de dólares." "millón de dólares."
#. Tag: para #. Tag: para
#: filters.xml:108 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you want to use filters with outer joining, either through HQL or load " "If you want to use filters with outer joining, either through HQL or load "
"fetching, be careful of the direction of the condition expression. It is " "fetching, be careful of the direction of the condition expression. It is "
"safest to set this up for left outer joining. Place the parameter first " "safest to set this up for left outer joining. Place the parameter first "
"followed by the column name(s) after the operator." "followed by the column name(s) after the operator."
msgstr "" msgstr ""
"Nota: si planeas usar filtros con unión externa (outer joining) (bien a " "Si quiere utilizar filtros con unión externa, ya sea a través de HQL, o bien "
"través de HQL, o bien de recuperación de carga) sé cuidadoso en la dirección " "de recuperación de carga, tenga cuidado en la dirección de expresión de la "
"de expresión de la condición. Lo más seguro es establecer esto para unión " "condición. Lo más seguro es configurar esto para una unión externa "
"externa izquierda (left outer joining). En general, coloca el primer " "izquierda. Coloque el parámetro primero seguido del nombre(s) de la(s) "
"parámetro seguido del nombre(s) de columna(s) después del operador." "columna(s) después del operador."
#. Tag: para #. Tag: para
#: filters.xml:115
#, no-c-format #, no-c-format
msgid "" msgid ""
"After being defined, a filter might be attached to multiple entities and/or " "After being defined, a filter might be attached to multiple entities and/or "
@ -324,18 +181,13 @@ msgid ""
"literal> allows you to definine a default condition, either as an attribute " "literal> allows you to definine a default condition, either as an attribute "
"or CDATA:" "or CDATA:"
msgstr "" msgstr ""
"Después de definir un filtro, este se puede unir a múltiples entidades y/o "
#. Tag: programlisting "colecciones cada una con su propia condición. Esto puede llegar a ser "
#: filters.xml:122 "problemático cuando las condiciones son las mismas. Así que el usar "
#, no-c-format "<literal>&lt;filter-def/&gt;</literal> le permite definir una condición por "
msgid "" "defecto, ya sea como atributo o como CDATA:"
"<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-"
"def>\n"
"<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: filters.xml:124
#, no-c-format #, no-c-format
msgid "" msgid ""
"This default condition will be used whenever the filter is attached to " "This default condition will be used whenever the filter is attached to "
@ -343,9 +195,144 @@ msgid ""
"condition as part of the attachment of the filter that overrides the default " "condition as part of the attachment of the filter that overrides the default "
"condition in that particular case." "condition in that particular case."
msgstr "" msgstr ""
"Esta condición predeterminada se utilizará cuando se una el filtro a algo "
"sin especificar una condición. Esto significa que usted le puede dar una "
"condición especifica como parte del anexo del filtro, el cual substituye la "
"condición por defecto en ese caso en particular."
#~ msgid "ROLES_OF_TRANSLATORS" #~ msgid ""
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->" #~ "<![CDATA[<filter-def name=\"myFilter\">\n"
#~ " <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
#~ "</filter-def>]]>"
#~ msgstr ""
#~ "<![CDATA[<filter-def name=\"myFilter\">\n"
#~ " <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
#~ "</filter-def>]]>"
#~ msgid "CREDIT_FOR_TRANSLATORS" #~ msgid ""
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->" #~ "<![CDATA[<class name=\"myClass\" ...>\n"
#~ " ...\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</class>]]>"
#~ msgstr ""
#~ "<![CDATA[<class name=\"myClass\" ...>\n"
#~ " ...\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</class>]]>"
#~ msgid ""
#~ "<![CDATA[<set ...>\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "<![CDATA[<set ...>\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</set>]]>"
#~ msgid ""
#~ "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam"
#~ "\", \"some-value\");]]>"
#~ msgstr ""
#~ "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam"
#~ "\", \"some-value\");]]>"
#~ msgid ""
#~ "<![CDATA[<filter-def name=\"effectiveDate\">\n"
#~ " <filter-param name=\"asOfDate\" type=\"date\"/>\n"
#~ "</filter-def>\n"
#~ "\n"
#~ "<class name=\"Employee\" ...>\n"
#~ "...\n"
#~ " <many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
#~ "\"/>\n"
#~ " <property name=\"effectiveStartDate\" type=\"date\" column="
#~ "\"eff_start_dt\"/>\n"
#~ " <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
#~ "\"/>\n"
#~ "...\n"
#~ " <!--\n"
#~ " Note that this assumes non-terminal records have an eff_end_dt "
#~ "set to\n"
#~ " a max db date for simplicity-sake\n"
#~ " -->\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
#~ ">\n"
#~ "</class>\n"
#~ "\n"
#~ "<class name=\"Department\" ...>\n"
#~ "...\n"
#~ " <set name=\"employees\" lazy=\"true\">\n"
#~ " <key column=\"dept_id\"/>\n"
#~ " <one-to-many class=\"Employee\"/>\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt"
#~ "\"/>\n"
#~ " </set>\n"
#~ "</class>]]>"
#~ msgstr ""
#~ "<![CDATA[<filter-def name=\"effectiveDate\">\n"
#~ " <filter-param name=\"asOfDate\" type=\"date\"/>\n"
#~ "</filter-def>\n"
#~ "\n"
#~ "<class name=\"Employee\" ...>\n"
#~ "...\n"
#~ " <many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
#~ "\"/>\n"
#~ " <property name=\"effectiveStartDate\" type=\"date\" column="
#~ "\"eff_start_dt\"/>\n"
#~ " <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
#~ "\"/>\n"
#~ "...\n"
#~ " <!--\n"
#~ " Note that this assumes non-terminal records have an eff_end_dt "
#~ "set to\n"
#~ " a max db date for simplicity-sake\n"
#~ " -->\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
#~ ">\n"
#~ "</class>\n"
#~ "\n"
#~ "<class name=\"Department\" ...>\n"
#~ "...\n"
#~ " <set name=\"employees\" lazy=\"true\">\n"
#~ " <key column=\"dept_id\"/>\n"
#~ " <one-to-many class=\"Employee\"/>\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt"
#~ "\"/>\n"
#~ " </set>\n"
#~ "</class>]]>"
#~ msgid ""
#~ "<![CDATA[Session session = ...;\n"
#~ "session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new "
#~ "Date());\n"
#~ "List results = session.createQuery(\"from Employee as e where e.salary > :"
#~ "targetSalary\")\n"
#~ " .setLong(\"targetSalary\", new Long(1000000))\n"
#~ " .list();\n"
#~ "]]>"
#~ msgstr ""
#~ "<![CDATA[Session session = ...;\n"
#~ "session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new "
#~ "Date());\n"
#~ "List results = session.createQuery(\"from Employee as e where e.salary > :"
#~ "targetSalary\")\n"
#~ " .setLong(\"targetSalary\", new Long(1000000))\n"
#~ " .list();\n"
#~ "]]>"
#~ msgid ""
#~ "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</"
#~ "filter-def>\n"
#~ "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
#~ msgstr ""
#~ "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</"
#~ "filter-def>\n"
#~ "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"

View File

@ -1,32 +1,39 @@
# Language es-ES translations for Branch package. # translation of portability.po to
# Automatically generated, 2009. # Michael H. Smith <mhideo@redhat.com>, 2007.
# # Angela Garcia <agarcia@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Branch 3_3\n" "Project-Id-Version: portability\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-23 18:41+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2009-06-16 18:47+0000\n" "PO-Revision-Date: 2010-01-07 10:51+1000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: none\n" "Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: portability.xml:26
#, no-c-format #, no-c-format
msgid "Database Portability Considerations" msgid "Database Portability Considerations"
msgstr "" msgstr "Consideraciones de la portabilidad de la base de datos"
#. Tag: title #. Tag: title
#: portability.xml:29
#, no-c-format #, no-c-format
msgid "Portability Basics" msgid "Portability Basics"
msgstr "" msgstr "Aspectos básicos de la portabilidad"
#. Tag: para #. Tag: para
#: portability.xml:31
#, no-c-format #, no-c-format
msgid "" msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping " "One of the selling points of Hibernate (and really Object/Relational Mapping "
@ -38,15 +45,22 @@ msgid ""
"run against any number of databases without changes to your code, and " "run against any number of databases without changes to your code, and "
"ideally without any changes to the mapping metadata." "ideally without any changes to the mapping metadata."
msgstr "" msgstr ""
"Uno de los aspectos que más vende de Hibernate (y realmente del mapeo objeto/"
"relacional en sí) es la noción de portabilidad de la base de datos. Podría "
"ser el caso de un administrador de sistemas migrando de una base de datos de "
"un vendedor a otro, o podría ser un marco de trabajo o una aplicación "
"desplegable consumiendo Hibernate para que apunte simultáneamente a "
"múltiples productos de bases de datos. Sin importar el escenario exacto, la "
"idea básica es que quiere que Hibernate le ayude a ejecutar frente a "
"cualquier número de bases de datos sin cambiar el código e idealmente sin "
"cambiar los metadatos de mapeo. "
#. Tag: title #. Tag: title
#: portability.xml:42
#, no-c-format #, no-c-format
msgid "Dialect" msgid "Dialect"
msgstr "" msgstr "Dialecto"
#. Tag: para #. Tag: para
#: portability.xml:44
#, no-c-format #, no-c-format
msgid "" msgid ""
"The first line of portability for Hibernate is the dialect, which is a " "The first line of portability for Hibernate is the dialect, which is a "
@ -58,15 +72,22 @@ msgid ""
"your particular database is not among them, it is not terribly difficult to " "your particular database is not among them, it is not terribly difficult to "
"write your own." "write your own."
msgstr "" msgstr ""
"La primera línea de portabilidad para Hibernate es el dialecto, el cual es "
"una especialización del contrato <classname>org.hibernate.dialect.Dialect</"
"classname>. Un dialecto encapsula todas las diferencias en la manera en que "
"Hibernate debe comunicarse con una base de datos en particular para lograr "
"alguna tarea como el obtener un valor de secuencia o el estructurar una "
"petición SELECT. Hibernate reune un gran rango de dialectos para muchas de "
"las bases de datos más populares. Si encuentra que su base de datos en "
"particular no se encuentra entre estos, no es demasiado dificil es escribir "
"el propio."
#. Tag: title #. Tag: title
#: portability.xml:55
#, no-c-format #, no-c-format
msgid "Dialect resolution" msgid "Dialect resolution"
msgstr "" msgstr "Resolución del dialecto"
#. Tag: para #. Tag: para
#: portability.xml:57
#, no-c-format #, no-c-format
msgid "" msgid ""
"Originally, Hibernate would always require that users specify which dialect " "Originally, Hibernate would always require that users specify which dialect "
@ -75,9 +96,14 @@ msgid ""
"their users to configure the Hibernate dialect or defining their own method " "their users to configure the Hibernate dialect or defining their own method "
"of setting that value." "of setting that value."
msgstr "" msgstr ""
"Originalmente, Hibernate siempre requería que los usuarios especificaran qué "
"dialecto utilizar. En el caso de aquellos usuarios que buscaban apuntar a "
"múltiples bases de datos de manera simultánea con su construcción eso "
"representaba un problema. Generalmente esto requería que los usuarios "
"configuraran el dialecto de Hibernate o que definieran su propio método para "
"establecer ese valor. "
#. Tag: para #. Tag: para
#: portability.xml:64
#, no-c-format #, no-c-format
msgid "" msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically " "Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -87,17 +113,23 @@ msgid ""
"that this resolution was limited to databases Hibernate know about ahead of " "that this resolution was limited to databases Hibernate know about ahead of "
"time and was in no way configurable or overrideable." "time and was in no way configurable or overrideable."
msgstr "" msgstr ""
"Empezando con la versión 3.2, Hibernate introdujo la noción de detectar "
"automáticamente el dialecto a utilizar con base en los <interfacename>java."
"sql.DatabaseMetaData</interfacename> que se obtuvieron de una "
"<interfacename>java.sql.Connection</interfacename> a esa base de datos. Esto "
"era mucho mejor pero esta resolución estaba limitada a las bases de datos "
"que Hibernate conoce por adelantado y de ninguna manera era configurable ni "
"se podía sobreescribir."
#. Tag: para #. Tag: para
#: portability.xml:72 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"Starting with version 3.3, Hibernate has a fare more powerful way to " "Starting with version 3.3, Hibernate has a fare more powerful way to "
"automatically determine which dialect to should be used by relying on a " "automatically determine which dialect to should be used by relying on a "
"series of delegates which implement the <interfacename>org.hibernate.dialect." "series of delegates which implement the <interfacename>org.hibernate.dialect."
"resolver.DialectResolver</interfacename> which defines only a single method:" "resolver.DialectResolver</interfacename> which defines only a single method:"
"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData " "<programlisting role=\"JAVA\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException]]></programlisting>. The basic " "metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database " "contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null " "metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also " "and the process continues to the next resolver. The signature also "
@ -108,9 +140,24 @@ msgid ""
"All other exceptions result in a warning and continuing on to the next " "All other exceptions result in a warning and continuing on to the next "
"resolver." "resolver."
msgstr "" msgstr ""
"Empezando por la versión 3.3, Hibernate cuenta con una manera más poderosa "
"de determinar automáticamente cuál dialecto se debe utilizar dependiendo de "
"una serie de delegados, los cuales implementan el <interfacename>org."
"hibernate.dialect.resolver.DialectResolver</interfacename> el cual define "
"solo un método único:<programlisting>public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>. "
"El contrato básico aquí es que si el resolvedor 'entiende' los metadatos de "
"la base de datos dada entonces retorna el dialecto correspondiente; si no "
"entonces retorna nulo y el proceso continua al siguiente resolvedor. La "
"firma también identifica <exceptionname>org.hibernate.exception."
"JDBCConnectionException</exceptionname> ya que posiblemente se presenta. Una "
"JDBCConnectionException aquí se interpreta como un problema de conexión \"no "
"transitorio\" (también conocido como no-recuperable) y se utiliza para "
"indicar que se deben detener inmediatamente los intentos de resolución. "
"Todas las otras excepciones resultan en una advertencia y continua al "
"siguiente resolvedor. "
#. Tag: para #. Tag: para
#: portability.xml:85
#, no-c-format #, no-c-format
msgid "" msgid ""
"The cool part about these resolvers is that users can also register their " "The cool part about these resolvers is that users can also register their "
@ -124,16 +171,25 @@ msgid ""
"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate." "<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
"cfg.Environment</classname>)." "cfg.Environment</classname>)."
msgstr "" msgstr ""
"La parte divertida de estos resolvedores es que los usuarios también pueden "
"registrar sus propios resolvedores personalizados, los cuales se procesarán "
"antes de los incluídos en Hibernate. Esto puede llegar a ser útil en un "
"número de situaciones diferentes: permite una fácil integración para la auto-"
"detección de dialectos más allá de los que se envían junto con Hibernate; le "
"permite especificar el uso de un dialecto personalizado cuando se reconoce "
"una base de datos en particular; etc. Para registrar uno o más resolvedores, "
"simplemente especifiquelos (separados por comas o espacios) usando la "
"configuración 'hibernate.dialect_resolvers' (consulte la constante "
"<constant>DIALECT_RESOLVERS</constant> en <classname>org.hibernate.cfg."
"Environment</classname>)."
#. Tag: title #. Tag: title
#: portability.xml:98
#, no-c-format #, no-c-format
msgid "Identifier generation" msgid "Identifier generation"
msgstr "" msgstr "Generación del identificador"
#. Tag: para #. Tag: para
#: portability.xml:100 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"When considering portability between databases, another important decision " "When considering portability between databases, another important decision "
"is selecting the identifier generation stratagy you want to use. Originally " "is selecting the identifier generation stratagy you want to use. Originally "
@ -151,38 +207,94 @@ msgid ""
"reference entities within a persistence context it must then issue the " "reference entities within a persistence context it must then issue the "
"insert immediately when the users requests the entitiy be associated with " "insert immediately when the users requests the entitiy be associated with "
"the session (like via save() e.g.) regardless of current transactional " "the session (like via save() e.g.) regardless of current transactional "
"semantics. <note> <para> Hibernate was changed slightly once the implication " "semantics."
"of this was better understood so that the insert is delayed in cases where " msgstr ""
"that is feasible. </para> </note> The underlying issue is that the actual " "Al considerar la portabilidad entre bases de datos, otra decisión importante "
"semanctics of the application itself changes in these cases." "es el seleccionar la estrategia de generación del identificador que quiere "
"utilizar. Originalmente Hibernate brindaba el generador <emphasis>nativo</"
"emphasis> para este propósito, el cual tenía el objetivo de seleccionar "
"entre las estrategias <emphasis>sequence</emphasis>, <emphasis>identity</"
"emphasis> o <emphasis>table</emphasis> dependiendo de la capacidad de la "
"base de datos subyacente. Sin embargo, una de las implicaciones de este "
"enfoque se presenta al tener como destino algunas bases de datos que "
"soportan la generación de <emphasis>identidad</emphasis> y algunas no. La "
"generación de <emphasis>identidad</emphasis> depende de la definición SQL de "
"una columna IDENTITY (o auto-incremento) para administrar el valor del "
"identificador; es lo que se conoce como una estrategia de generación post-"
"insert ya que el insert de hecho debe tener lugar antes de saber el valor "
"del identificador. Ya que Hibernate depende de este valor de identificador "
"para referenciar de maner única a las entidades dentro de un contexto de "
"persistencia entonces debe emitir el insert inmediatamente cuando los "
"usuarios solicitan que la entidad se asocie con la sesión (por ejemplo, por "
"medio de save()) sin importar la semántica transaccional actual. El problema "
"subyacente es que la semántica de la aplicación misma cambia en estos casos."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate was changed slightly once the implication of this was better "
"understood so that the insert is delayed in cases where that is feasible."
msgstr ""
"Hibernate se ha mejorado de manera que el insert se retrasa en los casos en "
"donde es posible. "
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: portability.xml:125
#, no-c-format #, no-c-format
msgid "" msgid ""
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url=" "Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators " "\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
"targetting portability in a much different way. <note> <para> There are " "targetting portability in a much different way."
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> The idea behind these generators "
"is to port the actual semantics of the identifer value generation to the "
"different databases. For example, the <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
"databases which do not support sequences by using a table."
msgstr ""
#. Tag: title
#: portability.xml:154
#, no-c-format
msgid "Database functions"
msgstr "" msgstr ""
"Desde la versión 3.2.3, Hibernate viene junto con un grupo de generadores "
"identificadores <ulink url=\"http://in.relation.to/2082.lace\">mejorados</"
"ulink> apuntando a la portabilidad de una manera muy diferente."
#. Tag: para
#, no-c-format
msgid ""
"There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr ""
"Hay especificamente 2 paquetes de generadores <emphasis>mejorados</emphasis>:"
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr ""
"<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
msgid ""
"The idea behind these generators is to port the actual semantics of the "
"identifer value generation to the different databases. For example, the "
"<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> "
"mimics the behavior of a sequence on databases which do not support "
"sequences by using a table."
msgstr ""
"La idea detrás de estos generadores es el llevar la semántica de la "
"generación del valor identificador a las diferentes bases de datos. Por "
"ejemplo, el <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</"
"classname> asemeja el comportamiento de una secuencia en las bases de datos "
"que no soportan secuencias usando una tabla."
#. Tag: title
#, no-c-format
msgid "Database functions"
msgstr "Funciones de la base de datos"
#. Tag: para #. Tag: para
#: portability.xml:157
#, no-c-format #, no-c-format
msgid "" msgid ""
"This is an area in Hibernate in need of improvement. In terms of portability " "This is an area in Hibernate in need of improvement. In terms of portability "
@ -191,7 +303,6 @@ msgid ""
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: portability.xml:164
#, no-c-format #, no-c-format
msgid "" msgid ""
"SQL functions can be referenced in many ways by users. However, not all " "SQL functions can be referenced in many ways by users. However, not all "
@ -200,9 +311,14 @@ msgid ""
"knows how to render that particular function, perhaps even using a totally " "knows how to render that particular function, perhaps even using a totally "
"different physical function call." "different physical function call."
msgstr "" msgstr ""
"Los usuarios pueden referenciar las funciones de SQL de muchas maneras. Sin "
"embargo, no todas las bases de datos soportan el mismo grupo de funciones. "
"Hibernate, proporciona una manera de mapear un nombre de una función "
"<emphasis>lógica</emphasis> a un delegado, el cual sabe cómo entregar esa "
"función en particular, tal vez incluso usando una llamada de función física "
"totalmente diferente."
#. Tag: para #. Tag: para
#: portability.xml:170
#, no-c-format #, no-c-format
msgid "" msgid ""
"Technically this function registration is handled through the <classname>org." "Technically this function registration is handled through the <classname>org."
@ -211,24 +327,37 @@ msgid ""
"having to provide a custom dialect. This specific behavior is not fully " "having to provide a custom dialect. This specific behavior is not fully "
"completed as of yet." "completed as of yet."
msgstr "" msgstr ""
"Técnicamente este registro de función se maneja por medio de la clase "
"<classname>org.hibernate.dialect.function.SQLFunctionRegistry</classname>, "
"la cual tiene el propósito de permitirle a los usuarios el proporcionar "
"definiciones de funciones personalizadas sin tener que brindar un dialecto "
"personalizado. Este comportamiento especifico todavía no está del todo "
"completo."
#. Tag: para #. Tag: para
#: portability.xml:177
#, no-c-format #, no-c-format
msgid "" msgid ""
"It is sort of implemented such that users can programatically register " "It is sort of implemented such that users can programatically register "
"functions with the <classname>org.hibernate.cfg.Configuration</classname> " "functions with the <classname>org.hibernate.cfg.Configuration</classname> "
"and those functions will be recognized for HQL." "and those functions will be recognized for HQL."
msgstr "" msgstr ""
"De cierta manera está implementado para que los usuarios puedan registrar "
"programáticamente las funciones con la <classname>org.hibernate.cfg."
"Configuration</classname> y aquellas funciones serán reconocidas por HQL."
#. Tag: title #. Tag: title
#: portability.xml:187
#, no-c-format #, no-c-format
msgid "Type mappings" msgid "Type mappings"
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: portability.xml:189
#, no-c-format #, no-c-format
msgid "This section scheduled for completion at a later date..." msgid "This section scheduled for completion at a later date..."
msgstr "" msgstr ""
#~ msgid ""
#~ "This is a new area in Hibernate and as such it is not as mature as the "
#~ "overall Hibernate experience."
#~ msgstr ""
#~ "Esta es una nueva área en Hibernate y como tal no es tan madura como lo "
#~ "es en general el resto de Hibernate. "

View File

@ -1,20 +1,35 @@
#, fuzzy # translation of Preface.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009, 2010.
# translation of preface.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: Preface\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-16 18:47+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-07 10:45+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: preface.xml:29
#, no-c-format #, no-c-format
msgid "Preface" msgid "Preface"
msgstr "Prefacio" msgstr "Prefacio"
#. Tag: para #. Tag: para
#: preface.xml:31
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Working with object-oriented software and a relational database can be " "Working with object-oriented software and a relational database can be "
@ -24,31 +39,30 @@ msgid ""
"representation from an object model to a relational data model with a SQL-" "representation from an object model to a relational data model with a SQL-"
"based schema." "based schema."
msgstr "" msgstr ""
"Trabajar con software orientado a objetos y una base de datos relacional " "El trabajar con software orientado a objetos y con una base de datos "
"puede ser inc&#x00f3;modo y consumir tiempo en los entornos de empresa de " "relacional puede llegar a ser engorroso y puede llegar a tomar bastante "
"hoy. Hibernate es una herramienta de mapeo objeto/relacional para entornos " "tiempo en los entornos empresariales de hoy en día. Hibernate es una "
"Java. El t&#x00e9;rmino mapeo objeto/relacional (MOR) hace referencia a la " "herramienta de mapeo objeto/relacional para entornos Java. El término mapeo "
"t&#x00e9;cnica de mapear una representaci&#x00f3;n de datos desde un modelo " "objeto/relacional (ORM) se refiere a la técnica de mapear una representación "
"de objetos a un modelo de datos relacional con un esquema basado en SQL." "de datos desde un modelo de objeto a un modelo de datos relacionales con un "
"esquema basado en SQL."
#. Tag: para #. Tag: para
#: preface.xml:39 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate not only takes care of the mapping from Java classes to database " "Hibernate not only takes care of the mapping from Java classes to database "
"tables (and from Java data types to SQL data types), but also provides data " "tables (and from Java data types to SQL data types), but also provides data "
"query and retrieval facilities. It can also significantly reduce development " "query and retrieval facilities. It can also significantly reduce development "
"time otherwise spent with manual data handling in SQL and JDBC." "time otherwise spent with manual data handling in SQL and JDBC."
msgstr "" msgstr ""
"Hibernate no s&#x00f3;lo se encarga de mapear de clases Java a tablas de " "Hibernate no sólamente se ocupa del mapeo desde las clases Java a las tablas "
"base de datos (y de tipos de datos de Java a tipos de datos SQL), sino que " "de las bases de datos (y desde los tipos de datos de Java a los tipos de "
"tambi&#x00e9;n provee facilidades de consulta y recuperaci&#x00f3;n de datos " "datos de SQL), sino que también facilita la consulta y recuperación de "
"y puede reducir significativamente el tiempo de desarrollo que de otra forma " "datos. Esto puede reducir de manera importante el tiempo de desarrollo que "
"se gasta en el manejo de los datos en SQL y JDBC." "se tomaría con el manejo de datos de forma manual en SQL y JDBC."
#. Tag: para #. Tag: para
#: preface.xml:46 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate's goal is to relieve the developer from 95 percent of common data " "Hibernate's goal is to relieve the developer from 95 percent of common data "
"persistence related programming tasks. Hibernate may not be the best " "persistence related programming tasks. Hibernate may not be the best "
@ -59,51 +73,49 @@ msgid ""
"specific SQL code and will help with the common task of result set " "specific SQL code and will help with the common task of result set "
"translation from a tabular representation to a graph of objects." "translation from a tabular representation to a graph of objects."
msgstr "" msgstr ""
"La meta de Hibernate es relevar al desarrollador del 95 por ciento de las " "La meta de Hibernate es aliviar el trabajo del desarrollador en 95% de la "
"tareas comunes relacionadas a la programaci&#x00f3;n de la persistencia de " "persistencia de datos comunes relacionados con tareas de programación. Es "
"los datos. Hibernate puede no ser la mejor soluci&#x00f3;n para aplicaciones " "posible que Hibernate no sea la mejor solución para aquellas aplicaciones "
"que usan solamente procedimientos almacenados para implementar la l&#x00f3;" "centralizadas en datos que sólamente utilizan los procedimientos almacenados "
"gica de negocio en la base de datos, es mas &#x00fa;til con modelos de " "para implementar la lógica empresarial en la base de datos, Hibernate es "
"dominio orientados a objetos y l&#x00f3;gica de negocio en middle-tier " "mucho más útil con modelos de dominio orientados a objetos y con lógica "
"basada en Java. Sin embargo, Hibernate ciertamente puede ayudarte a quitar o " "empresarial middle-tier con base en Java. Sin embargo, Hibernate ciertamente "
"encapsular c&#x00f3;digo SQL espec&#x00ed;fico de vendedor y ayudar&#x00e1; " "le puede ayudar a eliminar o a encapsular código SQL específico del vendedor "
"con la tarea com&#x00fa;n de traducci&#x00f3;n de resultados desde una " "y le ayudará con la tarea común de traducción del grupo de resultados desde "
"representaci&#x00f3;n tabular a un grafo de objetos." "una representación tabular a un grafo de objetos."
#. Tag: para #. Tag: para
#: preface.xml:56
#, no-c-format #, no-c-format
msgid "" msgid ""
"If you are new to Hibernate and Object/Relational Mapping or even Java, " "If you are new to Hibernate and Object/Relational Mapping or even Java, "
"please follow these steps:" "please follow these steps:"
msgstr "" msgstr ""
"Si eres nuevo en Hibernate y lo del Mapeo Objeto/Relacional o incluso en " "Si usted es nuevo en el tema de Hibernate y del Mapeo Objeto/Relacional o "
"Java, sigue por favor estos pasos:" "inclusive en Java por favor siga los siguientes pasos:"
#. Tag: para #. Tag: para
#: preface.xml:63 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step " "Read <xref linkend=\"tutorial\" /> for a tutorial with step-by-step "
"instructions. The source code for the tutorial is included in the " "instructions. The source code for the tutorial is included in the "
"distribution in the <literal>doc/reference/tutorial/</literal> directory." "distribution in the <literal>doc/reference/tutorial/</literal> directory."
msgstr "" msgstr ""
"Lee <xref linkend=\"tutorial\"/> para un tutorial de 30 minutos, usando " "Consulte el <xref linkend=\"tutorial\"/>, el cual es un tutorial con "
"Tomcat." "instrucciones paso por paso. El código fuente para el tutorial se encuentra "
"incluido en la distribución en el directorio <literal>doc/reference/tutorial/"
"</literal>. "
#. Tag: para #. Tag: para
#: preface.xml:71 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"Read <xref linkend=\"architecture\"/> to understand the environments where " "Read <xref linkend=\"architecture\" /> to understand the environments where "
"Hibernate can be used." "Hibernate can be used."
msgstr "" msgstr ""
"Lee <xref linkend=\"architecture\"/> para entender los entornos en los que " "Consulte el <xref linkend=\"architecture\" /> para comprender los entornos "
"puede ser usado Hibernate." "en donde se puede utilizar Hibernate."
#. Tag: para #. Tag: para
#: preface.xml:77 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"View the <literal>eg/</literal> directory in the Hibernate distribution. It " "View the <literal>eg/</literal> directory in the Hibernate distribution. It "
"contains a simple standalone application. Copy your JDBC driver to the " "contains a simple standalone application. Copy your JDBC driver to the "
@ -112,64 +124,59 @@ msgid ""
"command prompt in the distribution directory, type <literal>ant eg</literal> " "command prompt in the distribution directory, type <literal>ant eg</literal> "
"(using Ant), or under Windows, type <literal>build eg</literal>." "(using Ant), or under Windows, type <literal>build eg</literal>."
msgstr "" msgstr ""
"Dale una mirada al directorio <literal>eg/</literal> en la distribuci&#x00f3;" "Déle un vistazo al directorio <literal>eg/</literal> en la distribución de "
"n de Hibernate, contiene una aplicaci&#x00f3;n independiente simple. Copia " "Hibernate. Este comprende una aplicación autónoma simple. Copie su "
"tu driver JDBC al directorio <literal>lib/</literal> y edita <literal>etc/" "compilador JDBC al directorio <literal>lib/</literal> y edite <literal>etc/"
"hibernate.properties</literal>, especificando los valores correctos para tu " "hibernate.properties</literal>, especificando los valores correctos para su "
"base de datos. Desde l&#x00ed;nea de comandos en el directorio de la " "base de datos. Desde un intérprete de comandos en el directorio de la "
"distribuci&#x00f3;n, tipea <literal>ant eg</literal> (usando Ant), o bajo " "distribución, escriba <literal>ant eg</literal> (utilizando Ant), o bajo "
"Windows, tipea <literal>build eg</literal>." "Windows, escriba <literal>build eg</literal>."
#. Tag: para #. Tag: para
#: preface.xml:88
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Use this reference documentation as your primary source of information. " "Use this reference documentation as your primary source of information. "
"Consider reading <biblioref linkend=\"biblio-JPwH\"></biblioref> if you need " "Consider reading <biblioref linkend=\"biblio-JPwH\"></biblioref> if you need "
"more help with application design, or if you prefer a step-by-step tutorial. " "more help with application design, or if you prefer a step-by-step tutorial. "
"Also visit <ulink url=\"http://caveatemptor.hibernate.org\"></ulink> and " "Also visit <ulink url=\"http://caveatemptor.hibernate.org\" /> and download "
"download the example application from <biblioref linkend=\"biblio-JPwH\"></" "the example application from <biblioref linkend=\"biblio-JPwH\"></biblioref>."
"biblioref>."
msgstr "" msgstr ""
"Usa esta documentaci&#x00f3;n de referencia como tu fuente de " "Utilice esta documentación de referencia como su fuente principal de "
"informaci&#x00f3;n primaria. Ten en consideraci&#x00f3;n leer <emphasis>Java " "información. Considere el leer <emphasis>Java Persistence with Hibernate</"
"Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2) si " "emphasis> (http://www.manning.com/bauer2) si necesita más ayuda con el "
"necesitas mas ayuda con el dise&#x00f1;o de aplicaciones o si prefieres un " "diseño de la aplicación o si prefiere un tutorial paso por paso. También "
"tutorial paso a paso. Visita tambi&#x00e9;n http://caveatemptor.hibernate." "visite http://caveatemptor.hibernate.org y descargue la aplicación "
"org y descarga la aplicaci&#x00f3;n de ejemplo para Java Persistence with " "deejemplo para la persistencia de Java con Hibernate."
"Hibernate."
#. Tag: para #. Tag: para
#: preface.xml:98
#, no-c-format #, no-c-format
msgid "FAQs are answered on the Hibernate website." msgid "FAQs are answered on the Hibernate website."
msgstr "Los FAQs son respondidos en el sitio web de Hibernate." msgstr ""
"En el sitio web de Hibernate encontrará las respuestas a las preguntas más "
"frecuentes."
#. Tag: para #. Tag: para
#: preface.xml:103
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Links to third party demos, examples, and tutorials are maintained on the " "Links to third party demos, examples, and tutorials are maintained on the "
"Hibernate website." "Hibernate website."
msgstr "" msgstr ""
"En el sitio web de Hibernate hay enlaces a demos de terceros, ejemplos y " "En el sitio web de Hibernate encontrará un enlace a la demostraciones de "
"tutoriales." "terceros, ejemplos y tutoriales."
#. Tag: para #. Tag: para
#: preface.xml:109
#, no-c-format #, no-c-format
msgid "" msgid ""
"The Community Area on the Hibernate website is a good resource for design " "The Community Area on the Hibernate website is a good resource for design "
"patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, " "patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, "
"etc.)." "etc.)."
msgstr "" msgstr ""
"El Area de Comunidad en el sitio web de Hibernate es una buena fuente de " "El área de la comunidad en el sitio web de Hibernate es un buen recurso para "
"patrones de dise&#x00f1;o y varias soluciones de integraci&#x00f3;n (Tomcat, " "encontrar patrones de diseño y varias soluciones de integración (Tomcat, "
"JBoss, Struts, EJB, etc.)." "JBoss AS, Struts, EJB, etc)."
#. Tag: para #. Tag: para
#: preface.xml:117 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you have questions, use the user forum linked on the Hibernate website. " "If you have questions, use the user forum linked on the Hibernate website. "
"We also provide a JIRA issue tracking system for bug reports and feature " "We also provide a JIRA issue tracking system for bug reports and feature "
@ -177,15 +184,14 @@ msgid ""
"developer mailing list. If you are interested in translating this " "developer mailing list. If you are interested in translating this "
"documentation into your language, contact us on the developer mailing list." "documentation into your language, contact us on the developer mailing list."
msgstr "" msgstr ""
"Si tienes preguntas, usa el foro de usuarios enlazado en el sitio web de " "Si tiene alguna pregunta, diríjase al sitio web de Hibernate en donde "
"Hibernate. Tambi&#x00e9;n proveemos un sistema de seguimiento JIRA para " "encontrará un enlace al foro de usuarios. También proporcionamos un sistema "
"reportes de defectos y peticiones de nuevas caracter&#x00ed;sticas. Si estas " "de localización para reportes de errores JIRA y solicitud de funciones. Si "
"interesado en el desarrollo de Hibernate, &#x00fa;nete a la lista de correo " "está interesado en el desarrollo de Hibernate, únase a la lista de correo de "
"de desarrolladores. Si estas interesado en traducir esta documentaci&#x00f3;" "los desarrolladores. Si le interesa traducir esta documentación a su propio "
"n a tu lenguaje, cont&#x00e1;ctanos en la lista de correo de desarrolladores." "idioma, contáctenos en la lista de correo de los desarrolladores."
#. Tag: para #. Tag: para
#: preface.xml:125
#, no-c-format #, no-c-format
msgid "" msgid ""
"Commercial development support, production support, and training for " "Commercial development support, production support, and training for "
@ -194,29 +200,8 @@ msgid ""
"critical component of the JBoss Enterprise Middleware System (JEMS) suite of " "critical component of the JBoss Enterprise Middleware System (JEMS) suite of "
"products." "products."
msgstr "" msgstr ""
"A trav&#x00e9;s de JBoss Inc. (see http://www.hibernate.org/" "JBoss Inc. proporciona soporte para desarrollo comercial, soporte para "
"SupportTraining/) hay disponibilidad de soporte comercial de desarrollo, " "producción y entrenamiento (vea http://www.hibernate.org/SupportTraining/). "
"soporte de producci&#x00f3;n y entrenamiento en Hibernate. Hibernate es un " "Hibernate es un proyecto de Código Abierto Profesional y es un componente "
"proyecto de la suite de productos de c&#x00f3;digo abierto JBoss " "crítico de la suite de productos de JBoss Enterprise Middleware System "
"Professional." "(JEMS)."
#. Tag: title
#: preface.xml:133
#, no-c-format
msgid "Feedback"
msgstr ""
#. Tag: para
#: preface.xml:134
#, no-c-format
msgid ""
"Use <ulink url=\"http://opensource.atlassian.com/projects/hibernate"
"\">Hibernate JIRA</ulink> to report errors or request enhacements to this "
"documentation."
msgstr ""
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

File diff suppressed because it is too large Load Diff

View File

@ -1,50 +1,61 @@
#, fuzzy # translation of xml.po to
# Michael H. Smith <mhideo@redhat.com>, 2007.
# Angela Garcia <agarcia@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: xml\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-10 21:02+0000\n" "POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-05 07:52+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Angela Garcia <agarcia@redhat.com>\n"
"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: xml.xml:29
#, no-c-format #, no-c-format
msgid "XML Mapping" msgid "XML Mapping"
msgstr "Mapeo XML" msgstr "Mapeo XML"
#. Tag: emphasis #. Tag: para
#: xml.xml:31
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"XML Mapping is an experimental feature in Hibernate 3.0 and is currently " "<emphasis> XML Mapping is an experimental feature in Hibernate 3.0 and is "
"under active development." "currently under active development. </emphasis>"
msgstr "" msgstr ""
"Nota que esta es una funcionalidad experimental en Hibernate 3.0 y está bajo " "<emphasis> El mapeo XML es una funcionalidad experimental en Hibernate 3.0 y "
"un desarrollo extremadamente activo." "se encuentra bajos desarrollo activo. </emphasis>"
#. Tag: title #. Tag: title
#: xml.xml:37
#, no-c-format #, no-c-format
msgid "Working with XML data" msgid "Working with XML data"
msgstr "Trabajando con datos XML" msgstr "Trabajo con datos XML"
#. Tag: para #. Tag: para
#: xml.xml:39 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate allows you to work with persistent XML data in much the same way " "Hibernate allows you to work with persistent XML data in much the same way "
"you work with persistent POJOs. A parsed XML tree can be thought of as " "you work with persistent POJOs. A parsed XML tree can be thought of as "
"another way of representing the relational data at the object level, instead " "another way of representing the relational data at the object level, instead "
"of POJOs." "of POJOs."
msgstr "" msgstr ""
"Hibernate te permite trabajar con datos XML persistentes en casi la misma " "Hibernate le permite trabajar con datos XML persistentes en casi de la misma "
"forma que trabajas con POJOs persistentes. Un árbol XML analizado (parsed) " "forma que trabaja con POJOs persistentes. Un árbol XML analizado "
"puede ser pensado como sólo otra forma de representar los datos relacionales " "semáticamente se puede considerar como otra manera de representar los datos "
"a nivel de objetos, en vez de POJOs." "relacionales a nivel de objetos, en lugar de POJOs."
#. Tag: para #. Tag: para
#: xml.xml:46
#, no-c-format #, no-c-format
msgid "" msgid ""
"Hibernate supports dom4j as API for manipulating XML trees. You can write " "Hibernate supports dom4j as API for manipulating XML trees. You can write "
@ -55,181 +66,75 @@ msgid ""
"(), saveOrUpdate(), merge(), delete(), replicate()</literal> (merging is not " "(), saveOrUpdate(), merge(), delete(), replicate()</literal> (merging is not "
"yet supported)." "yet supported)."
msgstr "" msgstr ""
"Hibernate soporta dom4j como API para manipular árboles XML. Puedes escribir " "Hibernate soporta dom4j como API para manipular árboles XML. Puede escribir "
"consultas que traigan árboles dom4j de la base de datos y tener cualquier " "consultas que recuperen árboles dom4j de la base de datos y puede tener "
"modificación que hagas al árbol sincronizada automáticamente a la base de " "cualquier modificación que realice al árbol sincronizada automáticamente con "
"datos. Puedes incluso tomar un documento XML, analizarlo usando dom4j, y " "la base de datos. Incluso puede tomar un documento XML, analizarlo "
"escribirlo a la base de datos con cualquiera de las operaciones básicas de " "sintácticamente utilizando dom4j, y escribirlo a la base de datos con "
"Hibernate: <literal>persist(), saveOrUpdate(), merge(), delete(), replicate()" "cualquiera de las operaciones básicas de Hibernate: <literal>persist(), "
"</literal> (la fusión no está aún soportada)." "saveOrUpdate(), merge(), delete(), replicate()</literal> (merge aún no está "
"soportado)."
#. Tag: para #. Tag: para
#: xml.xml:56
#, no-c-format #, no-c-format
msgid "" msgid ""
"This feature has many applications including data import/export, " "This feature has many applications including data import/export, "
"externalization of entity data via JMS or SOAP and XSLT-based reporting." "externalization of entity data via JMS or SOAP and XSLT-based reporting."
msgstr "" msgstr ""
"Esta funcionalidad tiene muchas aplicaciones incluyendo la importación/" "Esta funcionalidad tiene muchas aplicaciones incluyendo la importación/"
"exportación de datos, externalización de datos de entidad vía JMS o SOAP y " "exportación de datos, externalización de datos de entidad por medio de JMS o "
"reportes basados en XSLT." "SOAP y reportes basados en XSLT."
#. Tag: para #. Tag: para
#: xml.xml:61 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A single mapping can be used to simultaneously map properties of a class and " "A single mapping can be used to simultaneously map properties of a class and "
"nodes of an XML document to the database, or, if there is no class to map, " "nodes of an XML document to the database, or, if there is no class to map, "
"it can be used to map just the XML." "it can be used to map just the XML."
msgstr "" msgstr ""
"Un solo mapeo puede ser usado para mapear simultáneamente las propiedades de " "Un sólo mapeo se puede utilizar para mapear simultáneamente las propiedades "
"una clase y los nodos de un documento XML a la base de datos, o, si no hay " "de una clase y los nodos de un documento XML a la base de datos, o si no hay "
"ninguna clase a mapear, puede ser usado para mapear sólo el XML." "ninguna clase a mapear, se puede utilizar para mapear sólo el XML."
#. Tag: title #. Tag: title
#: xml.xml:68
#, no-c-format #, no-c-format
msgid "Specifying XML and class mapping together" msgid "Specifying XML and class mapping together"
msgstr "Especificando los mapeos de XML y de clase juntos" msgstr "Especificación de los mapeos de XML y de clase en conjunto"
#. Tag: para #. Tag: para
#: xml.xml:70
#, no-c-format #, no-c-format
msgid "Here is an example of mapping a POJO and XML simultaneously:" msgid "Here is an example of mapping a POJO and XML simultaneously:"
msgstr "He aquí un ejemplo de mapear un POJO y XML simultáneamente:" msgstr "Este es un ejemplo del mapeo de un POJO y XML de manera simultánea:"
#. Tag: programlisting
#: xml.xml:74
#, no-c-format
msgid ""
"<![CDATA[<class name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
" node=\"account\">\n"
" \n"
" <id name=\"accountId\" \n"
" column=\"ACCOUNT_ID\" \n"
" node=\"@id\"/>\n"
" \n"
" <many-to-one name=\"customer\" \n"
" column=\"CUSTOMER_ID\" \n"
" node=\"customer/@id\" \n"
" embed-xml=\"false\"/>\n"
" \n"
" <property name=\"balance\" \n"
" column=\"BALANCE\" \n"
" node=\"balance\"/>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
msgstr ""
"<![CDATA[<class name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
" node=\"account\">\n"
" \n"
" <id name=\"accountId\" \n"
" column=\"ACCOUNT_ID\" \n"
" node=\"@id\"/>\n"
" \n"
" <many-to-one name=\"customer\" \n"
" column=\"CUSTOMER_ID\" \n"
" node=\"customer/@id\" \n"
" embed-xml=\"false\"/>\n"
" \n"
" <property name=\"balance\" \n"
" column=\"BALANCE\" \n"
" node=\"balance\"/>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
#. Tag: title #. Tag: title
#: xml.xml:78
#, no-c-format #, no-c-format
msgid "Specifying only an XML mapping" msgid "Specifying only an XML mapping"
msgstr "Especificando sólo un mapeo XML" msgstr "Especificación de sólo un mapeo XML"
#. Tag: para #. Tag: para
#: xml.xml:80
#, no-c-format #, no-c-format
msgid "Here is an example where there is no POJO class:" msgid "Here is an example where there is no POJO class:"
msgstr "He aquí un ejemplo donde no hay ninguna clase POJO:" msgstr "Este es un ejemplo donde no hay ninguna clase POJO:"
#. Tag: programlisting
#: xml.xml:84
#, no-c-format
msgid ""
"<![CDATA[<class entity-name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
" node=\"account\">\n"
" \n"
" <id name=\"id\" \n"
" column=\"ACCOUNT_ID\" \n"
" node=\"@id\" \n"
" type=\"string\"/>\n"
" \n"
" <many-to-one name=\"customerId\" \n"
" column=\"CUSTOMER_ID\" \n"
" node=\"customer/@id\" \n"
" embed-xml=\"false\" \n"
" entity-name=\"Customer\"/>\n"
" \n"
" <property name=\"balance\" \n"
" column=\"BALANCE\" \n"
" node=\"balance\" \n"
" type=\"big_decimal\"/>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
msgstr ""
"<![CDATA[<class entity-name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
" node=\"account\">\n"
" \n"
" <id name=\"id\" \n"
" column=\"ACCOUNT_ID\" \n"
" node=\"@id\" \n"
" type=\"string\"/>\n"
" \n"
" <many-to-one name=\"customerId\" \n"
" column=\"CUSTOMER_ID\" \n"
" node=\"customer/@id\" \n"
" embed-xml=\"false\" \n"
" entity-name=\"Customer\"/>\n"
" \n"
" <property name=\"balance\" \n"
" column=\"BALANCE\" \n"
" node=\"balance\" \n"
" type=\"big_decimal\"/>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
#. Tag: para #. Tag: para
#: xml.xml:86 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This mapping allows you to access the data as a dom4j tree, or as a graph of " "This mapping allows you to access the data as a dom4j tree, or as a graph of "
"property name/value pairs or java <literal>Map</literal>s. The property " "property name/value pairs or java <literal>Map</literal>s. The property "
"names are purely logical constructs that can be referred to in HQL queries." "names are purely logical constructs that can be referred to in HQL queries."
msgstr "" msgstr ""
"Este mapeo te permite acceder a los datos como un árbol dom4j, o como un " "Este mapeo le permite acceder a los datos como un árbol dom4j o como un "
"grafo de pares nombre/valor de propiedad (<literal>Map</literal>s de Java). " "grafo de parejas nombre/valor de propiedad o<literal>Map</literal>as de "
"Los nombres de propiedades son construcciones puramente lógicas a las que se " "Java. Los nombres de propiedades son construcciones puramente lógicas a las "
"puede hacer referencia en consultas HQL." "que se puede hacer referencia en consultas HQL."
#. Tag: title #. Tag: title
#: xml.xml:97
#, no-c-format #, no-c-format
msgid "XML mapping metadata" msgid "XML mapping metadata"
msgstr "Mapeo de metadatos XML" msgstr "Mapeo de metadatos XML"
#. Tag: para #. Tag: para
#: xml.xml:99 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A range of Hibernate mapping elements accept the <literal>node</literal> " "A range of Hibernate mapping elements accept the <literal>node</literal> "
"attribute. This lets you specify the name of an XML attribute or element " "attribute. This lets you specify the name of an XML attribute or element "
@ -237,42 +142,38 @@ msgid ""
"literal> attribute must be one of the following:" "literal> attribute must be one of the following:"
msgstr "" msgstr ""
"Muchos elementos de mapeo de Hibernate aceptan el atributo <literal>node</" "Muchos elementos de mapeo de Hibernate aceptan el atributo <literal>node</"
"literal>. Esto te permite espcificar el nombre de un atributo o elemento XML " "literal>. Esto le permite especificar el nombre de un atributo o elemento "
"que contenga los datos de la propiedad o entidad. El formato del atributo " "XML que contenga los datos de la propiedad o entidad. El formato del "
"<literal>node</literal> debe ser uno de los siguientes:" "atributo <literal>node</literal> tiene que ser uno de los siguientes: "
#. Tag: para #. Tag: para
#: xml.xml:108 #, no-c-format
#, fuzzy, no-c-format
msgid "<literal>\"element-name\"</literal>: map to the named XML element" msgid "<literal>\"element-name\"</literal>: map to the named XML element"
msgstr "<literal>\"element-name\"</literal> - mapea al elemento XML mencionado" msgstr ""
"<literal>\"element-name\"</literal> - mapea al elemento XML mencionado "
#. Tag: para #. Tag: para
#: xml.xml:111 #, no-c-format
#, fuzzy, no-c-format
msgid "<literal>\"@attribute-name\"</literal>: map to the named XML attribute" msgid "<literal>\"@attribute-name\"</literal>: map to the named XML attribute"
msgstr "" msgstr ""
"<literal>\"@attribute-name\"</literal> - mapea al atributo XML mencionado" "<literal>\"@attribute-name\"</literal>: mapea al atributo XML mencionado"
#. Tag: para #. Tag: para
#: xml.xml:114 #, no-c-format
#, fuzzy, no-c-format
msgid "<literal>\".\"</literal>: map to the parent element" msgid "<literal>\".\"</literal>: map to the parent element"
msgstr "<literal>\".\"</literal> - mapea al elemento padre" msgstr "<literal>\".\"</literal> - mapea al elemento padre "
#. Tag: para #. Tag: para
#: xml.xml:117 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>\"element-name/@attribute-name\"</literal>: map to the named " "<literal>\"element-name/@attribute-name\"</literal>: map to the named "
"attribute of the named element" "attribute of the named element"
msgstr "" msgstr ""
"<literal>\"element-name/@attribute-name\"</literal> - mapea al atributo " "<literal>\"element-name/@attribute-name\"</literal>: mapea al atributo "
"mencionado del elemento mencionado" "mencionado del elemento nombrado"
#. Tag: para #. Tag: para
#: xml.xml:124 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For collections and single valued associations, there is an additional " "For collections and single valued associations, there is an additional "
"<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</" "<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</"
@ -284,306 +185,65 @@ msgid ""
msgstr "" msgstr ""
"Para las colecciones y asociaciones monovaluadas, existe un atributo " "Para las colecciones y asociaciones monovaluadas, existe un atributo "
"adicional <literal>embed-xml</literal>. Si <literal>embed-xml=\"true\"</" "adicional <literal>embed-xml</literal>. Si <literal>embed-xml=\"true\"</"
"literal>, que es el valor por defecto, el árbol XML para la entidad asociada " "literal>, el cual es el valor por defecto, el árbol XML para la entidad "
"(o colección de tipo de valor) será embebida directamente en el árbol XML " "asociada (o colección de tipo de valor) será incluida directamente en el "
"para la entidad que posee la asociación. En otro caso, si <literal>embed-xml=" "árbol XML para la entidad que posee la asociación. De otra manera, si "
"\"false\"</literal>, sólo el valor identificador referenciado aparecerá en " "<literal>embed-xml=\"false\"</literal>, entonces sólo el valor identificador "
"el XML para asociaciones de punto único y para las colecciones simplemente " "referenciado aparecerá en el XML para asociaciones de punto único y para las "
"no aparecerá en absoluto." "colecciones simplemente no aparecerá."
#. Tag: para #. Tag: para
#: xml.xml:134 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Do not leave <literal>embed-xml=\"true\"</literal> for too many " "Do not leave <literal>embed-xml=\"true\"</literal> for too many "
"associations, since XML does not deal well with circularity." "associations, since XML does not deal well with circularity."
msgstr "" msgstr ""
"¡Debes ser cuidadoso de no dejar <literal>embed-xml=\"true\"</literal> para " "No deje <literal>embed-xml=\"true\"</literal> para demasiadas asociaciones "
"demasiadas asociaciones, ya que XML no trata bien la circularidad!" "ya que XML no se ocupa bien de la circularidad."
#. Tag: programlisting
#: xml.xml:139
#, no-c-format
msgid ""
"<![CDATA[<class name=\"Customer\" \n"
" table=\"CUSTOMER\" \n"
" node=\"customer\">\n"
" \n"
" <id name=\"id\" \n"
" column=\"CUST_ID\" \n"
" node=\"@id\"/>\n"
" \n"
" <map name=\"accounts\" \n"
" node=\".\" \n"
" embed-xml=\"true\">\n"
" <key column=\"CUSTOMER_ID\" \n"
" not-null=\"true\"/>\n"
" <map-key column=\"SHORT_DESC\" \n"
" node=\"@short-desc\" \n"
" type=\"string\"/>\n"
" <one-to-many entity-name=\"Account\"\n"
" embed-xml=\"false\" \n"
" node=\"account\"/>\n"
" </map>\n"
" \n"
" <component name=\"name\" \n"
" node=\"name\">\n"
" <property name=\"firstName\" \n"
" node=\"first-name\"/>\n"
" <property name=\"initial\" \n"
" node=\"initial\"/>\n"
" <property name=\"lastName\" \n"
" node=\"last-name\"/>\n"
" </component>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
msgstr ""
"<![CDATA[<class name=\"Customer\" \n"
" table=\"CUSTOMER\" \n"
" node=\"customer\">\n"
" \n"
" <id name=\"id\" \n"
" column=\"CUST_ID\" \n"
" node=\"@id\"/>\n"
" \n"
" <map name=\"accounts\" \n"
" node=\".\" \n"
" embed-xml=\"true\">\n"
" <key column=\"CUSTOMER_ID\" \n"
" not-null=\"true\"/>\n"
" <map-key column=\"SHORT_DESC\" \n"
" node=\"@short-desc\" \n"
" type=\"string\"/>\n"
" <one-to-many entity-name=\"Account\"\n"
" embed-xml=\"false\" \n"
" node=\"account\"/>\n"
" </map>\n"
" \n"
" <component name=\"name\" \n"
" node=\"name\">\n"
" <property name=\"firstName\" \n"
" node=\"first-name\"/>\n"
" <property name=\"initial\" \n"
" node=\"initial\"/>\n"
" <property name=\"lastName\" \n"
" node=\"last-name\"/>\n"
" </component>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
#. Tag: para #. Tag: para
#: xml.xml:141 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In this case, the collection of account ids is embedded, but not the actual " "In this case, the collection of account ids is embedded, but not the actual "
"account data. The following HQL query:" "account data. The following HQL query:"
msgstr "" msgstr ""
"en este caso, hemos decidido embeber la colección de ids de cuenta, pero no " "En este caso, la colección de ids de cuenta están incluídos, pero no los "
"los datos reales de cuenta. La siguiente consulta HQL:" "datos reales de cuenta. La siguiente consulta HQL:"
#. Tag: programlisting
#: xml.xml:146
#, no-c-format
msgid ""
"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :"
"lastName]]>"
msgstr ""
"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :"
"lastName]]>"
#. Tag: para #. Tag: para
#: xml.xml:148 #, no-c-format
#, fuzzy, no-c-format
msgid "would return datasets such as this:" msgid "would return datasets such as this:"
msgstr "devolvería conjuntos de datos como estos:" msgstr "retornaría conjuntos de datos como este:"
#. Tag: programlisting
#: xml.xml:152
#, no-c-format
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account short-desc=\"Savings\">987632567</account>\n"
" <account short-desc=\"Credit Card\">985612323</account>\n"
" <name>\n"
" <first-name>Gavin</first-name>\n"
" <initial>A</initial>\n"
" <last-name>King</last-name>\n"
" </name>\n"
" ...\n"
"</customer>]]>"
msgstr ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account short-desc=\"Savings\">987632567</account>\n"
" <account short-desc=\"Credit Card\">985612323</account>\n"
" <name>\n"
" <first-name>Gavin</first-name>\n"
" <initial>A</initial>\n"
" <last-name>King</last-name>\n"
" </name>\n"
" ...\n"
"</customer>]]>"
#. Tag: para #. Tag: para
#: xml.xml:154
#, no-c-format #, no-c-format
msgid "" msgid ""
"If you set <literal>embed-xml=\"true\"</literal> on the <literal>&lt;one-to-" "If you set <literal>embed-xml=\"true\"</literal> on the <literal>&lt;one-to-"
"many&gt;</literal> mapping, the data might look more like this:" "many&gt;</literal> mapping, the data might look more like this:"
msgstr "" msgstr ""
"Si estableces <literal>embed-xml=\"true\"</literal> en el mapeo <literal>&lt;" "Si establece <literal>embed-xml=\"true\"</literal> en el mapeo <literal>&lt;"
"one-to-many&gt;</literal>, los datos podrían verse así:" "one-to-many&gt;</literal>, puede que los datos se vean así:"
#. Tag: programlisting
#: xml.xml:159
#, no-c-format
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account id=\"987632567\" short-desc=\"Savings\">\n"
" <customer id=\"123456789\"/>\n"
" <balance>100.29</balance>\n"
" </account>\n"
" <account id=\"985612323\" short-desc=\"Credit Card\">\n"
" <customer id=\"123456789\"/>\n"
" <balance>-2370.34</balance>\n"
" </account>\n"
" <name>\n"
" <first-name>Gavin</first-name>\n"
" <initial>A</initial>\n"
" <last-name>King</last-name>\n"
" </name>\n"
" ...\n"
"</customer>]]>"
msgstr ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account id=\"987632567\" short-desc=\"Savings\">\n"
" <customer id=\"123456789\"/>\n"
" <balance>100.29</balance>\n"
" </account>\n"
" <account id=\"985612323\" short-desc=\"Credit Card\">\n"
" <customer id=\"123456789\"/>\n"
" <balance>-2370.34</balance>\n"
" </account>\n"
" <name>\n"
" <first-name>Gavin</first-name>\n"
" <initial>A</initial>\n"
" <last-name>King</last-name>\n"
" </name>\n"
" ...\n"
"</customer>]]>"
#. Tag: title #. Tag: title
#: xml.xml:165
#, no-c-format #, no-c-format
msgid "Manipulating XML data" msgid "Manipulating XML data"
msgstr "Manipulando datos XML" msgstr "Manipulación de datos XML"
#. Tag: para #. Tag: para
#: xml.xml:167 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can also re-read and update XML documents in the application. You can do " "You can also re-read and update XML documents in the application. You can do "
"this by obtaining a dom4j session:" "this by obtaining a dom4j session:"
msgstr "" msgstr ""
"Vamos a releer y actualizar documentos XML en la aplicación. Hacemos esto " "Puede releer y actualizar documentos XML en la aplicación. Puede hacer esto "
"obteniendo una sesión dom4j:" "obteniendo una sesión dom4j:"
#. Tag: programlisting
#: xml.xml:172
#, no-c-format
msgid ""
"<![CDATA[Document doc = ....;\n"
" \n"
"Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"List results = dom4jSession\n"
" .createQuery(\"from Customer c left join fetch c.accounts where c."
"lastName like :lastName\")\n"
" .list();\n"
"for ( int i=0; i<results.size(); i++ ) {\n"
" //add the customer data to the XML document\n"
" Element customer = (Element) results.get(i);\n"
" doc.add(customer);\n"
"}\n"
"\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Document doc = ....;\n"
" \n"
"Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"List results = dom4jSession\n"
" .createQuery(\"from Customer c left join fetch c.accounts where c."
"lastName like :lastName\")\n"
" .list();\n"
"for ( int i=0; i<results.size(); i++ ) {\n"
" //add the customer data to the XML document\n"
" Element customer = (Element) results.get(i);\n"
" doc.add(customer);\n"
"}\n"
"\n"
"tx.commit();\n"
"session.close();]]>"
#. Tag: programlisting
#: xml.xml:174
#, no-c-format
msgid ""
"<![CDATA[Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"Element cust = (Element) dom4jSession.get(\"Customer\", customerId);\n"
"for ( int i=0; i<results.size(); i++ ) {\n"
" Element customer = (Element) results.get(i);\n"
" //change the customer name in the XML and database\n"
" Element name = customer.element(\"name\");\n"
" name.element(\"first-name\").setText(firstName);\n"
" name.element(\"initial\").setText(initial);\n"
" name.element(\"last-name\").setText(lastName);\n"
"}\n"
"\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
"<![CDATA[Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"Element cust = (Element) dom4jSession.get(\"Customer\", customerId);\n"
"for ( int i=0; i<results.size(); i++ ) {\n"
" Element customer = (Element) results.get(i);\n"
" //change the customer name in the XML and database\n"
" Element name = customer.element(\"name\");\n"
" name.element(\"first-name\").setText(firstName);\n"
" name.element(\"initial\").setText(initial);\n"
" name.element(\"last-name\").setText(lastName);\n"
"}\n"
"\n"
"tx.commit();\n"
"session.close();]]>"
#. Tag: para #. Tag: para
#: xml.xml:176 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When implementing XML-based data import/export, it is useful to combine this " "When implementing XML-based data import/export, it is useful to combine this "
"feature with Hibernate's <literal>replicate()</literal> operation." "feature with Hibernate's <literal>replicate()</literal> operation."
msgstr "" msgstr ""
"Es extremadamente útil combinar esta funcionalidad con la operación " "Es útil combinar esta funcionalidad con la operación <literal>replicate()</"
"<literal>replicate()</literal> de Hibernate para implementar la importación/" "literal> de Hibernate para implementar la importación/exportación de datos "
"exportación de datos basada en XML." "basada en XML."
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -2,35 +2,33 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-06-16 18:47+0000\n" "POT-Creation-Date: 2010-02-04T04:51:23\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
#. Tag: title #. Tag: title
#: legal_notice.xml:28
#, no-c-format #, no-c-format
msgid "Legal Notice" msgid "Legal Notice"
msgstr "Legal Notice" msgstr "Legal Notice"
#. Tag: address #. Tag: para
#: legal_notice.xml:30 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"<street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</" "<address> <street>1801 Varsity Drive</street> <city>Raleigh</city>, "
"state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 " "<state>NC</state><postcode>27606-2072</postcode><country>USA</country> "
"919 754 3700</phone> <phone>Phone: 888 733 4281</phone> <fax>Fax: +1 919 754 " "<phone>Phone: +1 919 754 3700</phone> <phone>Phone: 888 733 4281</phone> "
"3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, " "<fax>Fax: +1 919 754 3701</fax> <pob>PO Box 13588</pob><city>Research "
"<state>NC</state><postcode>27709</postcode><country>USA</country>" "Triangle Park</city>, <state>NC</state><postcode>27709</"
"postcode><country>USA</country> </address>"
msgstr "" msgstr ""
"<street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</" "<address> <street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</"
"state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 " "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 " "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>, " "3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, "
"<state>NC</state><postcode>27709</postcode><country>USA</country>" "<state>NC</state><postcode>27709</postcode><country>USA</country> </address>"
#. Tag: para #. Tag: para
#: legal_notice.xml:39
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc. " "Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc. "
@ -46,7 +44,6 @@ msgstr ""
"Public License</ulink>, as published by the Free Software Foundation." "Public License</ulink>, as published by the Free Software Foundation."
#. Tag: para #. Tag: para
#: legal_notice.xml:45
#, no-c-format #, no-c-format
msgid "" msgid ""
"Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red " "Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red "
@ -56,7 +53,6 @@ msgstr ""
"Hat, Inc. in the United States and other countries." "Hat, Inc. in the United States and other countries."
#. Tag: para #. Tag: para
#: legal_notice.xml:48
#, no-c-format #, no-c-format
msgid "" msgid ""
"All other trademarks referenced herein are the property of their respective " "All other trademarks referenced herein are the property of their respective "
@ -66,13 +62,11 @@ msgstr ""
"owners." "owners."
#. Tag: para #. Tag: para
#: legal_notice.xml:51
#, no-c-format #, no-c-format
msgid "The GPG fingerprint of the security@redhat.com key is:" msgid "The GPG fingerprint of the security@redhat.com key is:"
msgstr "The GPG fingerprint of the security@redhat.com key is:" msgstr "The GPG fingerprint of the security@redhat.com key is:"
#. Tag: para #. Tag: para
#: legal_notice.xml:54
#, no-c-format #, no-c-format
msgid "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E" msgid "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"
msgstr "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E" msgstr "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"

View File

@ -1,32 +1,30 @@
# SOME DESCRIPTIVE TITLE.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-11T05:38:14\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Content-Type: text/plain; charset=UTF-8\n" "Language-Team: LANGUAGE <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title #. Tag: title
#: Hibernate_Reference.xml:35
#, no-c-format #, no-c-format
msgid "HIBERNATE - Relational Persistence for Idiomatic Java" msgid "HIBERNATE - Relational Persistence for Idiomatic Java"
msgstr "HIBERNATE - Persistance relationnelle en Java standard" msgstr ""
#. Tag: subtitle #. Tag: subtitle
#: Hibernate_Reference.xml:36
#, no-c-format #, no-c-format
msgid "Hibernate Reference Documentation" msgid "Hibernate Reference Documentation"
msgstr "Documentation de référence d'Hibernate" msgstr ""
#. Tag: holder #. Tag: releaseinfo
#: Hibernate_Reference.xml:51
#, no-c-format #, no-c-format
msgid "&copyrightHolder;" msgid "&versionNumber;"
msgstr "&copyrightHolder;" msgstr ""
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2009-07-14 19:55+0000\n" "PO-Revision-Date: 2009-07-14 19:55+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -13,209 +13,137 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. Tag: author #. Tag: firstname
#: author_group.xml:27
#, no-c-format #, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>" msgid "Gavin"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:31
#, no-c-format #, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>" msgid "Christian"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:35
#, no-c-format #, no-c-format
msgid "" msgid "Max"
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
"surname>"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:40
#, no-c-format #, no-c-format
msgid "" msgid "Emmanuel"
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:44
#, no-c-format #, no-c-format
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>" msgid "Steve"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:49
#, no-c-format #, no-c-format
msgid "<firstname>James</firstname> <surname>Cobb</surname>" msgid "James"
msgstr "" msgstr ""
#. Tag: shortaffil #. Tag: firstname
#: author_group.xml:53 author_group.xml:60
#, no-c-format #, no-c-format
msgid "Graphic Design" msgid "Cheyenne"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:56
#, no-c-format #, no-c-format
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>" msgid "Vincent"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:69
#, no-c-format #, no-c-format
msgid "" msgid "Sebastien"
"<othername><![CDATA[Bernardo Antonio Buffa Colom&#x00e9]]></othername> "
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:79
#, no-c-format #, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>" msgid "Michael"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:83
#, no-c-format #, no-c-format
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>" msgid "Baptiste"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:87
#, no-c-format #, no-c-format
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>" msgid "Anthony"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:91
#, no-c-format #, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>" msgid "Alvaro"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:95
#, no-c-format #, no-c-format
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>" msgid "Anderson"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:99
#, no-c-format #, no-c-format
msgid "" msgid "Daniel Vieira"
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
"othercredit>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:103
#, no-c-format #, no-c-format
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>" msgid "Francisco"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:113
#, no-c-format #, no-c-format
msgid "" msgid "Gamarra"
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
"<email>alvaronetto@cetip.com.br</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:118
#, no-c-format #, no-c-format
msgid "" msgid "Luiz Carlos"
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
"<email>andersonbraulio@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:123
#, no-c-format #, no-c-format
msgid "" msgid "Marcel"
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
"<email>danielvc@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:128
#, no-c-format #, no-c-format
msgid "" msgid "Paulo"
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
"gamarra@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:133
#, no-c-format #, no-c-format
msgid "" msgid "Pablo L."
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:137
#, no-c-format #, no-c-format
msgid "" msgid "Renato"
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:142
#, no-c-format #, no-c-format
msgid "" msgid "Rogério"
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
"castelo@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:147
#, no-c-format #, no-c-format
msgid "" msgid "Wanderson"
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
"com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:152
#, no-c-format #, no-c-format
msgid "" msgid "Cao"
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
"<email>pablolmiranda@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: orgname
#: author_group.xml:157
#, no-c-format #, no-c-format
msgid "" msgid "RedSaga"
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
"com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: contrib
#: author_group.xml:162
#, no-c-format #, no-c-format
msgid "" msgid "Translation Lead"
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
"<email>rgildoaraujo@yahoo.com.br</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:167
#, no-c-format
msgid ""
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
"<email>wandersonxs@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:178
#, no-c-format
msgid ""
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
"contrib> <email>caoxg@yahoo.com</email>"
msgstr "" msgstr ""

View File

@ -1,101 +1,95 @@
# translation of architecture.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: architecture\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-04 16:40+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: architecture.xml:30
#, no-c-format #, no-c-format
msgid "Architecture" msgid "Architecture"
msgstr "Architecture" msgstr "Architecture"
#. Tag: title #. Tag: title
#: architecture.xml:33
#, no-c-format #, no-c-format
msgid "Overview" msgid "Overview"
msgstr "Généralités" msgstr "Généralités"
#. Tag: para #. Tag: para
#: architecture.xml:35 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The diagram below provides a high-level view of the Hibernate architecture:" "The diagram below provides a high-level view of the Hibernate architecture:"
msgstr "Voici une vue (très) haut niveau de l'architecture d'Hibernate :" msgstr ""
"Le diagramme ci-dessus procure une vue - (très) haut niveau - de "
"l'architecture Hibernate :"
#. Tag: para #. Tag: para
#: architecture.xml:48 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"We do not have the scope in this document to provide a more detailed view of " "We do not have the scope in this document to provide a more detailed view of "
"all the runtime architectures available; Hibernate is flexible and supports " "all the runtime architectures available; Hibernate is flexible and supports "
"several different approaches. We will, however, show the two extremes: " "several different approaches. We will, however, show the two extremes: "
"\"minimal\" architecture and \"comprehensive\" architecture." "\"minimal\" architecture and \"comprehensive\" architecture."
msgstr "" msgstr ""
"Nous aimerions décrire une vue plus détaillée de l'architecture. " "Nous aimerions décrire une vue plus détaillée de l'architecture. Hibernate "
"Malheureusement, Hibernate est flexible et supporte différentes approches. " "est flexible et prend en charge différentes approches. Nous allons en "
"Nous allons en montrer les deux extrêmes. L'architecture légère laisse " "montrer les deux extrêmes : l'architecture \"légère\" et l'architecture "
"l'application fournir ses propres connexions JDBC et gérer ses propres " "\"complète\"."
"transactions. Cette approche utilise le minimum des APIs Hibernate :"
#. Tag: para #. Tag: para
#: architecture.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This next diagram illustrates how Hibernate utilizes database and " "This next diagram illustrates how Hibernate utilizes database and "
"configuration data to provide persistence services, and persistent objects, " "configuration data to provide persistence services, and persistent objects, "
"to the application." "to the application."
msgstr "" msgstr ""
"Ce diagramme montre Hibernate utilisant une base de données et des données " "Ce diagramme montre Hibernate utilisant la base de données et des données de "
"de configuration pour fournir un service de persistance (et des objets " "configuration pour fournir un service de persistance, et des objets "
"persistants) à l'application." "persistants, à l'application."
#. Tag: para #. Tag: para
#: architecture.xml:59 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The \"minimal\" architecture has the application provide its own JDBC " "The \"minimal\" architecture has the application provide its own JDBC "
"connections and manage its own transactions. This approach uses a minimal " "connections and manage its own transactions. This approach uses a minimal "
"subset of Hibernate's APIs:" "subset of Hibernate's APIs:"
msgstr "" msgstr ""
"Nous aimerions décrire une vue plus détaillée de l'architecture. " "L'architecture \"légère\" permet à l'application de fournir ses propres "
"Malheureusement, Hibernate est flexible et supporte différentes approches. " "connexions JDBC et de gérer ses propres transactions. Cette approche utilise "
"Nous allons en montrer les deux extrêmes. L'architecture légère laisse " "un sous-ensemble minimum des API Hibernate :"
"l'application fournir ses propres connexions JDBC et gérer ses propres "
"transactions. Cette approche utilise le minimum des APIs Hibernate :"
#. Tag: para #. Tag: para
#: architecture.xml:74 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The \"comprehensive\" architecture abstracts the application away from the " "The \"comprehensive\" architecture abstracts the application away from the "
"underlying JDBC/JTA APIs and allows Hibernate to manage the details." "underlying JDBC/JTA APIs and allows Hibernate to manage the details."
msgstr "" msgstr ""
"L'architecture la plus complète abstrait l'application des APIs JDBC/JTA " "L'architecture \"complète\" abstrait l'application des API JDBC/JTA sous-"
"sous-jacentes et laisse Hibernate s'occuper des détails." "jacentes et permet à Hibernate de s'occuper des détails."
#. Tag: para #. Tag: para
#: architecture.xml:88 #, no-c-format
#, fuzzy, no-c-format
msgid "Here are some definitions of the objects depicted in the diagrams:" msgid "Here are some definitions of the objects depicted in the diagrams:"
msgstr "" msgstr "Voici quelques définitions des objets dans les diagrammes :"
"Voici quelques définitions des objets des diagrammes : <placeholder-1/>"
#. Tag: term #. Tag: term
#: architecture.xml:93
#, no-c-format #, no-c-format
msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)" msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)" msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:95 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A threadsafe, immutable cache of compiled mappings for a single database. A " "A threadsafe, immutable cache of compiled mappings for a single database. A "
"factory for <literal>Session</literal> and a client of " "factory for <literal>Session</literal> and a client of "
@ -103,22 +97,20 @@ msgid ""
"hold an optional (second-level) cache of data that is reusable between " "hold an optional (second-level) cache of data that is reusable between "
"transactions at a process, or cluster, level." "transactions at a process, or cluster, level."
msgstr "" msgstr ""
"Un cache threadsafe (immuable) des mappings vers une (et une seule) base de " "Un cache threadsafe (immuable) de mappages compilés pour une base de "
"données. Une factory (fabrique) de <literal>Session</literal> et un client " "données. En tant que fabrique de <literal>Session</literal> et que client du "
"de <literal>ConnectionProvider</literal>. Peut contenir un cache optionnel " "<literal>ConnectionProvider</literal>, <literal>SessionFactory</literal>peut "
"de données (de second niveau) qui est réutilisable entre les différentes " "contenir un cache optionnel de données (de second niveau), réutilisable "
"transactions que cela soit au sein du même processus (JVLM) ou par plusieurs " "entre les différentes transactions, que cela soit au sein du même processus "
"nœuds d'un cluster." "ou au niveau d'un cluster."
#. Tag: term #. Tag: term
#: architecture.xml:105
#, no-c-format #, no-c-format
msgid "Session (<literal>org.hibernate.Session</literal>)" msgid "Session (<literal>org.hibernate.Session</literal>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)" msgstr "Session (<literal>org.hibernate.Session</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:107 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A single-threaded, short-lived object representing a conversation between " "A single-threaded, short-lived object representing a conversation between "
"the application and the persistent store. It wraps a JDBC connection and is " "the application and the persistent store. It wraps a JDBC connection and is "
@ -128,20 +120,18 @@ msgid ""
msgstr "" msgstr ""
"Un objet mono-threadé, à durée de vie courte, qui représente une " "Un objet mono-threadé, à durée de vie courte, qui représente une "
"conversation entre l'application et l'entrepôt de persistance. Encapsule une " "conversation entre l'application et l'entrepôt de persistance. Encapsule une "
"connexion JDBC. Factory (fabrique) des objets <literal>Transaction</" "connexion JDBC. Fabrique des objets <literal>Transaction</literal>. La "
"literal>. Contient un cache (de premier niveau) des objets persistants, ce " "<literal>Session</literal> contient un cache (de premier niveau) des objets "
"cache est obligatoire. Il est utilisé lors de la navigation dans le graphe " "persistants, qui sont utilisés lors de la navigation dans le graphe d'objets "
"d'objets ou lors de la récupération d'objets par leur identifiant." "ou lors de la récupération d'objets par leur identifiant."
#. Tag: term #. Tag: term
#: architecture.xml:117
#, no-c-format #, no-c-format
msgid "Persistent objects and collections" msgid "Persistent objects and collections"
msgstr "Objets et Collections persistants" msgstr "Objets et collections persistants"
#. Tag: para #. Tag: para
#: architecture.xml:119 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Short-lived, single threaded objects containing persistent state and " "Short-lived, single threaded objects containing persistent state and "
"business function. These can be ordinary JavaBeans/POJOs. They are " "business function. These can be ordinary JavaBeans/POJOs. They are "
@ -150,23 +140,20 @@ msgid ""
"in any application layer (for example, directly as data transfer objects to " "in any application layer (for example, directly as data transfer objects to "
"and from presentation)." "and from presentation)."
msgstr "" msgstr ""
"Objets mono-threadés à vie courte contenant l'état de persistance et la " "Objets mono-threadés à vie courte, contenant état persistant et fonction "
"fonction métier. Ceux-ci sont en général les objets de type JavaBean (ou " "commerciale. Ceux-ci sont en général des objets ordinaires de type JavaBean "
"POJOs) ; la seule particularité est qu'ils sont associés avec une (et une " "(ou POJO); la seule particularité est qu'ils sont associés avec une (et une "
"seule) <literal>Session</literal>. Dès que la <literal>Session</literal> est " "seule) <literal>Session</literal>. Dès que la <literal>Session</literal> est "
"fermée, ils seront détachés et libres d'être utilisés par n'importe laquelle " "fermée, ils sont détachés et libres d'être utilisés par n'importe quelle "
"des couches de l'application (ie. de et vers la présentation en tant que " "couche de l'application (par ex. de et vers la présentation)."
"Data Transfer Objects - DTO : objet de transfert de données)."
#. Tag: term #. Tag: term
#: architecture.xml:129
#, no-c-format #, no-c-format
msgid "Transient and detached objects and collections" msgid "Transient and detached objects and collections"
msgstr "Objets et collections transients" msgstr "Objets et collections éphémères (transient) et détachés"
#. Tag: para #. Tag: para
#: architecture.xml:131 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Instances of persistent classes that are not currently associated with a " "Instances of persistent classes that are not currently associated with a "
"<literal>Session</literal>. They may have been instantiated by the " "<literal>Session</literal>. They may have been instantiated by the "
@ -175,18 +162,16 @@ msgid ""
msgstr "" msgstr ""
"Instances de classes persistantes qui ne sont actuellement pas associées à " "Instances de classes persistantes qui ne sont actuellement pas associées à "
"une <literal>Session</literal>. Elles ont pu être instanciées par " "une <literal>Session</literal>. Elles ont pu être instanciées par "
"l'application et ne pas avoir (encore) été persistées ou elle ont pu être " "l'application et ne pas avoir (encore) été persistées, ou elle ont pu être "
"instanciées par une <literal>Session</literal> fermée." "instanciées par une <literal>Session</literal> fermée."
#. Tag: term #. Tag: term
#: architecture.xml:140
#, no-c-format #, no-c-format
msgid "Transaction (<literal>org.hibernate.Transaction</literal>)" msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)" msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:142 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A single-threaded, short-lived object used by the application to " "(Optional) A single-threaded, short-lived object used by the application to "
"specify atomic units of work. It abstracts the application from the " "specify atomic units of work. It abstracts the application from the "
@ -197,14 +182,13 @@ msgid ""
msgstr "" msgstr ""
"(Optionnel) Un objet mono-threadé à vie courte utilisé par l'application " "(Optionnel) Un objet mono-threadé à vie courte utilisé par l'application "
"pour définir une unité de travail atomique. Abstrait l'application des " "pour définir une unité de travail atomique. Abstrait l'application des "
"transactions sous-jacentes qu'elles soient JDBC, JTA ou CORBA. Une " "transactions sous-jacentes, qu'elles soient JDBC, JTA ou CORBA. Une "
"<literal>Session</literal> peut fournir plusieurs <literal>Transaction</" "<literal>Session</literal> peut fournir plusieurs <literal>Transaction</"
"literal>s dans certains cas. Toutefois, la délimitation des transactions, " "literal>s dans certains cas. Toutefois, la délimitation des transactions, "
"via l'API d'Hibernate ou par la <literal>Transaction</literal> sous-jacente, " "via l'API d'Hibernate ou par la <literal>Transaction</literal> sous-jacente, "
"n'est jamais optionnelle!" "n'est jamais optionnelle. "
#. Tag: term #. Tag: term
#: architecture.xml:153
#, no-c-format #, no-c-format
msgid "" msgid ""
"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</" "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
@ -214,8 +198,7 @@ msgstr ""
"literal>)" "literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:155 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A factory for, and pool of, JDBC connections. It abstracts the " "(Optional) A factory for, and pool of, JDBC connections. It abstracts the "
"application from underlying <literal>Datasource</literal> or " "application from underlying <literal>Datasource</literal> or "
@ -225,10 +208,9 @@ msgstr ""
"(Optionnel) Une fabrique de (pool de) connexions JDBC. Abstrait " "(Optionnel) Une fabrique de (pool de) connexions JDBC. Abstrait "
"l'application de la <literal>Datasource</literal> ou du " "l'application de la <literal>Datasource</literal> ou du "
"<literal>DriverManager</literal> sous-jacent. Non exposé à l'application, " "<literal>DriverManager</literal> sous-jacent. Non exposé à l'application, "
"mais peut être étendu/implémenté par le développeur." "mais peut être étendu/implémenté par le développeur. "
#. Tag: term #. Tag: term
#: architecture.xml:163
#, no-c-format #, no-c-format
msgid "" msgid ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)" "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
@ -236,25 +218,23 @@ msgstr ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)" "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:165 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A factory for <literal>Transaction</literal> instances. It is not " "(Optional) A factory for <literal>Transaction</literal> instances. It is not "
"exposed to the application, but it can be extended and/or implemented by the " "exposed to the application, but it can be extended and/or implemented by the "
"developer." "developer."
msgstr "" msgstr ""
"(Optionnel) Une fabrique d'instances de <literal>Transaction</literal>. Non " "(Optionnel) Une fabrique d'instances de <literal>Transaction</literal>. Non "
"exposé à l'application, mais peut être étendu/implémenté par le développeur." "exposée à l'application, mais peut être étendue/implémentée par le "
"développeur. "
#. Tag: emphasis #. Tag: term
#: architecture.xml:172 #, fuzzy, no-c-format
#, no-c-format msgid "<emphasis>Extension Interfaces</emphasis>"
msgid "Extension Interfaces" msgstr "<emphasis>Interfaces d'extension</emphasis> "
msgstr "Interfaces d'extension"
#. Tag: para #. Tag: para
#: architecture.xml:174 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate offers a range of optional extension interfaces you can implement " "Hibernate offers a range of optional extension interfaces you can implement "
"to customize the behavior of your persistence layer. See the API " "to customize the behavior of your persistence layer. See the API "
@ -263,31 +243,28 @@ msgstr ""
"Hibernate fournit de nombreuses interfaces d'extensions optionnelles que " "Hibernate fournit de nombreuses interfaces d'extensions optionnelles que "
"vous pouvez implémenter pour personnaliser le comportement de votre couche " "vous pouvez implémenter pour personnaliser le comportement de votre couche "
"de persistance. Reportez vous à la documentation de l'API pour plus de " "de persistance. Reportez vous à la documentation de l'API pour plus de "
"détails." "détails. "
#. Tag: para #. Tag: para
#: architecture.xml:183 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Given a \"minimal\" architecture, the application bypasses the " "Given a \"minimal\" architecture, the application bypasses the "
"<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or " "<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or "
"<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC " "<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC "
"directly." "directly."
msgstr "" msgstr ""
"Dans une architecture légère, l'application n'aura pas à utiliser les APIs " "Dans une architecture légère, l'application n'aura pas à utiliser les API "
"<literal>Transaction</literal>/<literal>TransactionFactory</literal> et/ou " "<literal>Transaction</literal>/<literal>TransactionFactory</literal> et/ou "
"n'utilisera pas les APIs <literal>ConnectionProvider</literal> pour utiliser " "n'utilisera pas les API <literal>ConnectionProvider</literal> pour utiliser "
"JTA ou JDBC." "directement JTA ou JDBC. "
#. Tag: title #. Tag: title
#: architecture.xml:191
#, no-c-format #, no-c-format
msgid "Instance states" msgid "Instance states"
msgstr "Etats des instances" msgstr "Etats des instances"
#. Tag: para #. Tag: para
#: architecture.xml:192 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"An instance of a persistent class can be in one of three different states. " "An instance of a persistent class can be in one of three different states. "
"These states are defined in relation to a <emphasis>persistence context</" "These states are defined in relation to a <emphasis>persistence context</"
@ -296,35 +273,31 @@ msgid ""
msgstr "" msgstr ""
"Une instance d'une classe persistante peut être dans l'un des trois états " "Une instance d'une classe persistante peut être dans l'un des trois états "
"suivants, définis par rapport à un <emphasis>contexte de persistance</" "suivants, définis par rapport à un <emphasis>contexte de persistance</"
"emphasis>. L'objet <literal>Session</literal> d'hibernate correspond à ce " "emphasis>. L'objet <literal>Session</literal> Hibernate correspond à ce "
"concept de contexte de persistance :" "contexte de persistance. Les trois états distincts sont:"
#. Tag: term #. Tag: term
#: architecture.xml:200
#, no-c-format #, no-c-format
msgid "transient" msgid "transient"
msgstr "passager (transient)" msgstr "éphémère (transient)"
#. Tag: para #. Tag: para
#: architecture.xml:202 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance is not associated with any persistence context. It has no " "The instance is not associated with any persistence context. It has no "
"persistent identity or primary key value." "persistent identity or primary key value."
msgstr "" msgstr ""
"L'instance n'est pas et n'a jamais été associée à un contexte de " "L'instance n'est pas et n'a jamais été associée à un contexte de "
"persistance. Elle ne possède pas d'identité persistante (valeur de clé " "persistance. Elle ne possède pas d'identité persistante (valeur de clé "
"primaire)" "primaire)."
#. Tag: term #. Tag: term
#: architecture.xml:210
#, no-c-format #, no-c-format
msgid "persistent" msgid "persistent"
msgstr "persistant" msgstr "persistant"
#. Tag: para #. Tag: para
#: architecture.xml:212 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance is currently associated with a persistence context. It has a " "The instance is currently associated with a persistence context. It has a "
"persistent identity (primary key value) and can have a corresponding row in " "persistent identity (primary key value) and can have a corresponding row in "
@ -332,22 +305,20 @@ msgid ""
"<emphasis>guarantees</emphasis> that persistent identity is equivalent to " "<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
"Java identity in relation to the in-memory location of the object." "Java identity in relation to the in-memory location of the object."
msgstr "" msgstr ""
"L'instance est associée au contexte de persistance. Elle possède une " "L'instance est associée à un contexte de persistance. Elle possède une "
"identité persistante (valeur de clé primaire) et, peut-être, un " "identité persistante (valeur de clé primaire) et, peut-être un "
"enregistrement correspondant dans la base. Pour un contexte de persistance " "enregistrement correspondant dans la base de données. Pour un contexte de "
"particulier, Hibernate <emphasis>garantit</emphasis> que l'identité " "persistance particulier, Hibernate <emphasis>garantit</emphasis> que "
"persistante est équivalente à l'identité Java (emplacement mémoire de " "l'identité persistante soit équivalente à l'identité Java (emplacement "
"l'objet)" "mémoire de l'objet). "
#. Tag: term #. Tag: term
#: architecture.xml:224
#, no-c-format #, no-c-format
msgid "detached" msgid "detached"
msgstr "détaché" msgstr "détaché"
#. Tag: para #. Tag: para
#: architecture.xml:226 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance was once associated with a persistence context, but that " "The instance was once associated with a persistence context, but that "
"context was closed, or the instance was serialized to another process. It " "context was closed, or the instance was serialized to another process. It "
@ -358,18 +329,16 @@ msgstr ""
"L'instance a été associée au contexte de persistance mais ce contexte a été " "L'instance a été associée au contexte de persistance mais ce contexte a été "
"fermé, ou l'instance a été sérialisée vers un autre processus. Elle possède " "fermé, ou l'instance a été sérialisée vers un autre processus. Elle possède "
"une identité persistante et peut-être un enregistrement correspondant dans " "une identité persistante et peut-être un enregistrement correspondant dans "
"la base. Pour des instances détachées, Hibernate ne donne aucune garantie " "la base de données. Pour des instances détachées, Hibernate ne donne aucune "
"sur la relation entre l'identité persistante et l'identité Java." "garantie sur la relation entre l'identité persistante et l'identité Java. "
#. Tag: title #. Tag: title
#: architecture.xml:241
#, no-c-format #, no-c-format
msgid "JMX Integration" msgid "JMX Integration"
msgstr "Intégration JMX" msgstr "Intégration JMX"
#. Tag: para #. Tag: para
#: architecture.xml:243 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"JMX is the J2EE standard for the management of Java components. Hibernate " "JMX is the J2EE standard for the management of Java components. Hibernate "
"can be managed via a JMX standard service. AN MBean implementation is " "can be managed via a JMX standard service. AN MBean implementation is "
@ -379,24 +348,22 @@ msgstr ""
"JMX est le standard J2EE de gestion des composants Java. Hibernate peut être " "JMX est le standard J2EE de gestion des composants Java. Hibernate peut être "
"géré via un service JMX standard. Nous fournissons une implémentation d'un " "géré via un service JMX standard. Nous fournissons une implémentation d'un "
"MBean dans la distribution : <literal>org.hibernate.jmx.HibernateService</" "MBean dans la distribution : <literal>org.hibernate.jmx.HibernateService</"
"literal>." "literal>. "
#. Tag: para #. Tag: para
#: architecture.xml:249 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For an example of how to deploy Hibernate as a JMX service on the JBoss " "For an example of how to deploy Hibernate as a JMX service on the JBoss "
"Application Server, please see the JBoss User Guide. JBoss AS also provides " "Application Server, please see the JBoss User Guide. JBoss AS also provides "
"these benefits if you deploy using JMX:" "these benefits if you deploy using JMX:"
msgstr "" msgstr ""
"Pour avoir un exemple sur la manière de déployer Hibernate en tant que " "Pour un exemple sur la manière de déployer Hibernate en tant que service JMX "
"service JMX dans le serveur d'application JBoss Application Server, référez " "dans le serveur d'application JBoss Application Server, référez vous au "
"vous au guide utilisateur JBoss (JBoss User Guide). Si vous déployez " "guide de l'utilisateur JBoss (JBoss User Guide). Si vous déployez Hibernate "
"Hibernate via JMX sur JBoss AS, vous aurez également les bénéfices suivants :" "via JMX sur JBoss AS, vous aurez également les avantages suivants : "
#. Tag: para #. Tag: para
#: architecture.xml:257 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</" "<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</"
"literal>'s life cycle can be automatically bound to the scope of a JTA " "literal>'s life cycle can be automatically bound to the scope of a JTA "
@ -408,20 +375,19 @@ msgid ""
"the <literal>HibernateContext</literal> to access a <literal>Session</" "the <literal>HibernateContext</literal> to access a <literal>Session</"
"literal>." "literal>."
msgstr "" msgstr ""
"<emphasis>Gestion de la session :</emphasis> Le cycle de vie de la " "<emphasis>Gestion de la session</emphasis> : le cycle de vie de la "
"<literal>Session</literal> Hibernate peut être automatiquement limitée à la " "<literal>Session</literal> Hibernate peut être automatiquement liée à la "
"portée d'une transaction JTA. Cela signifie que vous n'avez plus besoin " "portée d'une transaction JTA. Cela signifie que vous n'avez plus besoin "
"d'ouvrir et de fermer la <literal>Session</literal> manuellement, cela " "d'ouvrir et de fermer la <literal>Session</literal> manuellement, cela "
"devient le travail de l'intercepteur EJB de JBoss. Vous n'avez pas non plus " "devient le travail de l'intercepteur EJB de JBoss. Vous n'avez pas non plus "
"à vous occuper des démarcations des transactions dans votre code (sauf si " "à vous occuper des démarcations des transactions dans votre code (sauf si "
"vous voulez écrire une couche de persistance qui soit portable, dans ce cas " "vous voulez écrire une couche de persistance qui soit portable, dans ce cas "
"vous pouvez utiliser l'API optionnelle <literal>Transaction</literal> " "vous pouvez utiliser l'API optionnelle <literal>Transaction</literal> de "
"d'Hibernate). Vous appelez l'<literal>HibernateContext</literal> pour " "Hibernate). Vous appelez le <literal>HibernateContext</literal> pour accéder "
"accéder à la <literal>Session</literal>." "à la <literal>Session</literal>. "
#. Tag: para #. Tag: para
#: architecture.xml:269 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is deployed " "<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is deployed "
"using a JBoss service deployment descriptor in an EAR and/or SAR file, as it " "using a JBoss service deployment descriptor in an EAR and/or SAR file, as it "
@ -431,17 +397,16 @@ msgid ""
"deployment, JBoss will automatically detect all mapping files in your HAR " "deployment, JBoss will automatically detect all mapping files in your HAR "
"file." "file."
msgstr "" msgstr ""
"<emphasis>Déploiement HAR :</emphasis> Habituellement vous déployez le " "<emphasis>Déploiement HAR :</emphasis>: habituellement vous déployez le "
"service JMX Hibernate en utilisant le descripteur de déploiement de JBoss " "service JMX Hibernate en utilisant le descripteur de déploiement de JBoss "
"(dans un fichier EAR et/ou un SAR), il supporte toutes les options de " "dans un fichier EAR et/ou un SAR, car il supporte toutes les options de "
"configuration usuelles d'une <literal>SessionFactory</literal> Hibernate. " "configuration usuelles d'une <literal>SessionFactory</literal> Hibernate. "
"Cependant, vous devez toujours nommer tous vos fichiers de mapping dans le " "Cependant, vous devez toujours nommer tous vos fichiers de mappage dans le "
"descripteur de déploiement. Si vous décidez d'utiliser le déploiement " "descripteur de déploiement. Si vous décidez d'utiliser le déploiement "
"optionnel sous forme de HAR, JBoss détectera automatiquement tous vos " "optionnel sous forme de HAR, JBoss détectera automatiquement tous vos "
"fichiers de mapping dans votre fichier HAR." "fichiers de mapping dans votre fichier HAR."
#. Tag: para #. Tag: para
#: architecture.xml:280
#, no-c-format #, no-c-format
msgid "" msgid ""
"Consult the JBoss AS user guide for more information about these options." "Consult the JBoss AS user guide for more information about these options."
@ -450,26 +415,23 @@ msgstr ""
"ces options." "ces options."
#. Tag: para #. Tag: para
#: architecture.xml:284
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Another feature available as a JMX service is runtime Hibernate statistics. " "Another feature available as a JMX service is runtime Hibernate statistics. "
"See <xref linkend=\"configuration-optional-statistics\"/> for more " "See <xref linkend=\"configuration-optional-statistics\" /> for more "
"information." "information."
msgstr "" msgstr ""
"Les statistiques pendant l'exécution d'Hibernate (au runtime) sont une autre " "Les statistiques Hibernate (runtime) représentent une autre fonctionnalité "
"fonctionnalité disponible en tant que service JMX. Voyez pour cela <xref " "qui est disponible en tant que service JMX. Voyez pour cela les <xref "
"linkend=\"configuration-optional-statistics\"/>." "linkend=\"configuration-optional-statistics\" />."
#. Tag: title #. Tag: title
#: architecture.xml:291
#, no-c-format #, no-c-format
msgid "JCA Support" msgid "JCA Support"
msgstr "Support JCA" msgstr "Support JCA"
#. Tag: para #. Tag: para
#: architecture.xml:292 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate can also be configured as a JCA connector. Please see the website " "Hibernate can also be configured as a JCA connector. Please see the website "
"for more information. Please note, however, that at this stage Hibernate JCA " "for more information. Please note, however, that at this stage Hibernate JCA "
@ -477,17 +439,15 @@ msgid ""
msgstr "" msgstr ""
"Hibernate peut aussi être configuré en tant que connecteur JCA. Référez-vous " "Hibernate peut aussi être configuré en tant que connecteur JCA. Référez-vous "
"au site web pour de plus amples détails. Il est important de noter que le " "au site web pour de plus amples détails. Il est important de noter que le "
"support JCA d'Hibernate est encore considéré comme expérimental." "support JCA de Hibernate est encore considéré comme expérimental. "
#. Tag: title #. Tag: title
#: architecture.xml:299 #, no-c-format
#, fuzzy, no-c-format
msgid "Contextual sessions" msgid "Contextual sessions"
msgstr "Sessions Contextuelles" msgstr "Sessions contextuelles "
#. Tag: para #. Tag: para
#: architecture.xml:300 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Most applications using Hibernate need some form of \"contextual\" session, " "Most applications using Hibernate need some form of \"contextual\" session, "
"where a given session is in effect throughout the scope of a given context. " "where a given session is in effect throughout the scope of a given context. "
@ -500,20 +460,19 @@ msgid ""
"proxy/interception-based contextual sessions." "proxy/interception-based contextual sessions."
msgstr "" msgstr ""
"Certaines applications utilisant Hibernate ont besoin d'une sorte de session " "Certaines applications utilisant Hibernate ont besoin d'une sorte de session "
"\"contextuelle\", où une session est liée à la portée d'un contexte " "\"contextuelle\", où une session donnée est en effet liée à la portée d'un "
"particulier. Cependant, les applications ne définissent pas toutes la notion " "contexte particulier. Cependant, les applications ne définissent pas toutes "
"de contexte de la même manière, et différents contextes définissent " "la notion de contexte de la même manière, et différents contextes "
"différentes portées à la notion de \"courant\". Les applications à base " "définissent différentes portées à la notion de \"courant\". Les applications "
"d'Hibernate, versions précédentes à la 3.0 utilisaient généralement un " "qui utilisaient Hibernate, versions précédentes à la 3.0, avaient tendance à "
"principe maison de sessions contextuelles basées sur le " "employer un principe maison de sessions contextuelles basées sur le "
"<literal>ThreadLocal</literal>, ainsi que sur des classes utilitaires comme " "<literal>ThreadLocal</literal>, ainsi que sur des classes utilitaires comme "
"<literal>HibernateUtil</literal>, ou utilisaient des framework tiers (comme " "<literal>HibernateUtil</literal>, ou utilisaient des framework tiers (comme "
"Spring ou Pico) qui fournissaient des sessions contextuelles basées sur " "Spring ou Pico) qui fournissaient des sessions contextuelles basées sur "
"l'utilisation de proxy/interception." "l'utilisation de proxy/interception. "
#. Tag: para #. Tag: para
#: architecture.xml:309 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory." "Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
"getCurrentSession()</literal> method. Initially, this assumed usage of " "getCurrentSession()</literal> method. Initially, this assumed usage of "
@ -530,16 +489,15 @@ msgstr ""
"demandait l'usage de transactions <literal>JTA</literal>, où la transaction " "demandait l'usage de transactions <literal>JTA</literal>, où la transaction "
"<literal>JTA</literal> définissait la portée et le contexte de la session " "<literal>JTA</literal> définissait la portée et le contexte de la session "
"courante. L'équipe Hibernate pense que, étant donnée la maturité des " "courante. L'équipe Hibernate pense que, étant donnée la maturité des "
"implémentations de <literal>JTA TransactionManager</literal> , la plupart " "nombreuses implémentations autonomes du <literal>JTA TransactionManager</"
"(sinon toutes) des applications devraient utiliser la gestion des " "literal>, la plupart (sinon toutes) des applications devraient utiliser la "
"transactions par <literal>JTA</literal> qu'elles soient ou non déployées " "gestion des transactions par <literal>JTA</literal> qu'elles soient ou non "
"dans un conteneur <literal>J2EE</literal>. Par conséquent, vous devriez " "déployées dans un conteneur <literal>J2EE</literal>. Par conséquent, il vous "
"toujours contextualiser vos sessions, si vous en avez besoin, via la méthode " "suffira de contextualiser vos sessions via la méthode basée sur "
"basée sur JTA." "<literal>JTA</literal>. "
#. Tag: para #. Tag: para
#: architecture.xml:319 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"However, as of version 3.1, the processing behind <literal>SessionFactory." "However, as of version 3.1, the processing behind <literal>SessionFactory."
"getCurrentSession()</literal> is now pluggable. To that end, a new extension " "getCurrentSession()</literal> is now pluggable. To that end, a new extension "
@ -550,15 +508,14 @@ msgid ""
msgstr "" msgstr ""
"Cependant, depuis la version 3.1, la logique derrière " "Cependant, depuis la version 3.1, la logique derrière "
"<literal>SessionFactory.getCurrentSession()</literal> est désormais " "<literal>SessionFactory.getCurrentSession()</literal> est désormais "
"branchable. A cette fin, une nouvelle interface d'extension (<literal>org." "enfichable. A cette fin, une nouvelle interface d'extension(<literal>org."
"hibernate.context.CurrentSessionContext</literal>) et un nouveau paramètre " "hibernate.context.CurrentSessionContext</literal> et un nouveau paramètre de "
"de configuration (<literal>hibernate.current_session_context_class</" "configuration <literal>hibernate.current_session_context_class</literal> ont "
"literal>) ont été ajoutés pour permettre de configurer d'autres moyens de " "été ajoutés pour enficher la portée et le contexte de sessions courantes "
"définir la portée et le contexte des sessions courantes." "caractéristiques."
#. Tag: para #. Tag: para
#: architecture.xml:326 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"See the Javadocs for the <literal>org.hibernate.context." "See the Javadocs for the <literal>org.hibernate.context."
"CurrentSessionContext</literal> interface for a detailed discussion of its " "CurrentSessionContext</literal> interface for a detailed discussion of its "
@ -567,16 +524,14 @@ msgid ""
"contextual session. Out-of-the-box, Hibernate comes with three " "contextual session. Out-of-the-box, Hibernate comes with three "
"implementations of this interface:" "implementations of this interface:"
msgstr "" msgstr ""
"Allez voir les Javadocs de l'interface <literal>org.hibernate.context." "Pour une description détaillée de son contrat, consultez les Javadocs de "
"CurrentSessionContext</literal> pour une description détaillée de son " "l'interface <literal>org.hibernate.context.CurrentSessionContext</literal>. "
"contrat. Elle définit une seule méthode, <literal>currentSession()</" "Elle définit une seule méthode, <literal>currentSession()</literal>, par "
"literal>, depuis laquelle l'implémentation est responsable de traquer la " "laquelle l'implémentation est responsable de traquer la session contextuelle "
"session courante du contexte. Hibernate fournit deux implémentation de cette " "courante. Hibernate fournit trois implémentations de cette interface :"
"interface."
#. Tag: para #. Tag: para
#: architecture.xml:336 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.JTASessionContext</literal>: current sessions " "<literal>org.hibernate.context.JTASessionContext</literal>: current sessions "
"are tracked and scoped by a <literal>JTA</literal> transaction. The " "are tracked and scoped by a <literal>JTA</literal> transaction. The "
@ -585,36 +540,34 @@ msgid ""
msgstr "" msgstr ""
"<literal>org.hibernate.context.JTASessionContext</literal> - les sessions " "<literal>org.hibernate.context.JTASessionContext</literal> - les sessions "
"courantes sont associées à une transaction <literal>JTA</literal>. La " "courantes sont associées à une transaction <literal>JTA</literal>. La "
"logique est la même que l'ancienne approche basée sur JTA. Voir les javadocs " "logique est la même que l'ancienne approche basée sur JTA. Consultez les "
"pour les détails." "javadocs pour pour plus d'informations. "
#. Tag: para #. Tag: para
#: architecture.xml:344 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current " "<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current "
"sessions are tracked by thread of execution. See the Javadocs for details." "sessions are tracked by thread of execution. See the Javadocs for details."
msgstr "" msgstr ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - les " "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - les "
"sessions courantes sont associées au thread d'exécution. Voir les javadocs " "sessions courantes sont traquées par l'exécution du thread. Consultez les "
"pour les détails." "javadocs pour plus d'informations. "
#. Tag: para #. Tag: para
#: architecture.xml:350 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.ManagedSessionContext</literal>: current " "<literal>org.hibernate.context.ManagedSessionContext</literal>: current "
"sessions are tracked by thread of execution. However, you are responsible to " "sessions are tracked by thread of execution. However, you are responsible to "
"bind and unbind a <literal>Session</literal> instance with static methods on " "bind and unbind a <literal>Session</literal> instance with static methods on "
"this class: it does not open, flush, or close a <literal>Session</literal>." "this class: it does not open, flush, or close a <literal>Session</literal>."
msgstr "" msgstr ""
"<literal>org.hibernate.context.ManagedSessionContext</literal> - current " "<literal>org.hibernate.context.ManagedSessionContext</literal> - les "
"sessions are tracked by thread of execution. However, you are responsible to " "sessions courantes sont traquées par l'exécution du thread. Toutefois, vous "
"bind and unbind a <literal>Session</literal> instance with static methods on " "êtes responsable de lier et de délier une instance de <literal>Session</"
"this class, it does never open, flush, or close a <literal>Session</literal>." "literal> avec des méthodes statiques de cette classe. Elle n'ouvre jamais, "
"ni ne nettoie ou ne ferme une <literal>Session</literal>."
#. Tag: para #. Tag: para
#: architecture.xml:359
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"The first two implementations provide a \"one session - one database " "The first two implementations provide a \"one session - one database "
@ -627,25 +580,24 @@ msgid ""
"utilize the JTA interfaces to demarcate transactions. If you execute in an " "utilize the JTA interfaces to demarcate transactions. If you execute in an "
"EJB container that supports CMT, transaction boundaries are defined " "EJB container that supports CMT, transaction boundaries are defined "
"declaratively and you do not need any transaction or session demarcation " "declaratively and you do not need any transaction or session demarcation "
"operations in your code. Refer to <xref linkend=\"transactions\"/> for more " "operations in your code. Refer to <xref linkend=\"transactions\" /> for more "
"information and code examples." "information and code examples."
msgstr "" msgstr ""
"Les deux implémentations fournissent un modèle de programmation de type " "Les deux premières implémentations fournissent un modèle de programmation de "
"\"une session - une transaction à la base de données\", aussi connu sous le " "type \"une session - une transaction de base de données\", aussi connu sous "
"nom de <emphasis>session-per-request</emphasis>. Le début et la fin d'une " "le nom de <emphasis>session-per-request</emphasis>. Le début et la fin d'une "
"session Hibernate sont définis par la durée d'une transaction de base de " "session Hibernate sont définis par la durée d'une transaction de base de "
"données. Si vous utilisez une démarcation programmatique de la transaction " "données. Si vous utilisez une démarcation programmatique de la transaction "
"(par exemple sous J2SE ou JTA/UserTransaction/BMT), nous vous conseillons " "avec JSE sans JTA, nous vous conseillons d'utiliser l'API Hibernate "
"d'utiliser l'API Hibernate <literal>Transaction</literal> pour masquer le " "<literal>Transaction</literal> pour masquer le système de transaction sous-"
"système de transaction utilisé. Si vous exécutez sous un conteneur EJB qui " "jacent à votre code. Si vous exécutez sous un conteneur EJB qui prend en "
"supporte CMT, vous n'avez besoin d'aucune opérations de démarcations de " "charge CMT, vous n'avez besoin d'aucune opération de démarcation de session "
"session ou transaction dans votre code puisque tout est géré de manière " "ou transaction dans votre code puisque tout est géré de manière déclarative. "
"déclarative. Référez vous à <xref linkend=\"transactions\"/> pour plus " "Référez vous au <xref linkend=\"transactions\" /> pour plus d'informations "
"d'informations et des exemples de code." "et des exemples de code."
#. Tag: para #. Tag: para
#: architecture.xml:371 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>hibernate.current_session_context_class</literal> configuration " "The <literal>hibernate.current_session_context_class</literal> configuration "
"parameter defines which <literal>org.hibernate.context." "parameter defines which <literal>org.hibernate.context."
@ -666,5 +618,6 @@ msgstr ""
"hibernate.transaction.TransactionManagerLookup</literal> est configuré, " "hibernate.transaction.TransactionManagerLookup</literal> est configuré, "
"Hibernate utilisera le <literal>org.hibernate.context.JTASessionContext</" "Hibernate utilisera le <literal>org.hibernate.context.JTASessionContext</"
"literal>. La valeur de ce paramètre devrait juste nommer la classe " "literal>. La valeur de ce paramètre devrait juste nommer la classe "
"d'implémentation à utiliser, pour les deux implémentations fournies, il y a " "d'implémentation à utiliser. Pour les trois implémentations prêtes à "
"cependant deux alias correspondant: \"jta\" et \"thread\"." "utiliser, toutefois, il y a trois noms brefs correspondants : \"jta\", "
"\"thread\" et \"managed\"."

View File

@ -1,48 +1,37 @@
# translation of batch.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: batch\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-04 17:03+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: batch.xml:29
#, no-c-format #, no-c-format
msgid "Batch processing" msgid "Batch processing"
msgstr "Traitement par paquet" msgstr "Traitement par lot"
#. Tag: para #. Tag: para
#: batch.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A naive approach to inserting 100,000 rows in the database using Hibernate " "A naive approach to inserting 100,000 rows in the database using Hibernate "
"might look like this:" "might look like this:"
msgstr "" msgstr ""
"Une approche naïve pour insérer 100 000 lignes dans la base de données en " "Une approche naïve pour insérer 100 000 lignes dans la base de données en "
"utilisant Hibernate pourrait ressembler à ça :" "utilisant Hibernate ressemblerait à : "
#. Tag: programlisting
#: batch.xml:36
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
"}\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:38 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This would fall over with an <literal>OutOfMemoryException</literal> " "This would fall over with an <literal>OutOfMemoryException</literal> "
"somewhere around the 50,000th row. That is because Hibernate caches all the " "somewhere around the 50,000th row. That is because Hibernate caches all the "
@ -50,176 +39,96 @@ msgid ""
"cache. In this chapter we will show you how to avoid this problem." "cache. In this chapter we will show you how to avoid this problem."
msgstr "" msgstr ""
"Ceci devrait s'écrouler avec une <literal>OutOfMemoryException</literal> " "Ceci devrait s'écrouler avec une <literal>OutOfMemoryException</literal> "
"quelque part aux alentours de la 50 000ème ligne. C'est parce qu'Hibernate " "quelque part aux alentours de la 50 000ème ligne. C'est parce que Hibernate "
"cache toutes les instances de <literal>Customer</literal> nouvellement " "cache toutes les instances de <literal>Customer</literal> nouvellement "
"insérées dans le cache de second niveau." "insérées dans le cache de second niveau. Dans ce chapitre, nous allons vous "
"montrer comment éviter ce problème."
#. Tag: para #. Tag: para
#: batch.xml:45 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you are undertaking batch processing you will need to enable the use of " "If you are undertaking batch processing you will need to enable the use of "
"JDBC batching. This is absolutely essential if you want to achieve optimal " "JDBC batching. This is absolutely essential if you want to achieve optimal "
"performance. Set the JDBC batch size to a reasonable number (10-50, for " "performance. Set the JDBC batch size to a reasonable number (10-50, for "
"example):" "example):"
msgstr "" msgstr ""
"Dans ce chapitre nous montrerons comment éviter ce problème. D'abord, " "Dans ce chapitre nous montrerons comment éviter ce problème. Mais tout "
"cependant, si vous faites des traitements par batch, il est absolument " "d'abord, si vous faites des traitements par lot, il est absolument "
"critique que vous activiez l'utilisation ds paquet JDBC (NdT : JDBC " "indispensable d'activer l'utilisation des lots JDBC, pour obtenir des "
"batching), si vous avez l'intention d'obtenir des performances raisonnables. " "performances raisonnables. Configurez la taille du lot JDBC à un nombre "
"Configurez la taille du paquet JDBC avec un nombre raisonnable (disons, 10-" "raisonnable (disons, 10-50) : "
"50) :"
#. Tag: programlisting
#: batch.xml:52
#, no-c-format
msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate disables insert batching at the JDBC level transparently if you " "Hibernate disables insert batching at the JDBC level transparently if you "
"use an <literal>identity</literal> identifier generator." "use an <literal>identity</literal> identifier generator."
msgstr "" msgstr ""
"Vous pourriez aussi vouloir faire cette sorte de travail dans un traitement " "Notez que Hibernate désactive, de manière transparente, l'insertion par lot "
"où l'interaction avec le cache de second niveau est complètement désactivé :" "au niveau JDBC si vous utilisez un générateur d'identifiant de type "
"<literal>identity</literal>. "
#. Tag: para #. Tag: para
#: batch.xml:59 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can also do this kind of work in a process where interaction with the " "You can also do this kind of work in a process where interaction with the "
"second-level cache is completely disabled:" "second-level cache is completely disabled:"
msgstr "Insertions en paquet"
#. Tag: programlisting
#: batch.xml:64
#, no-c-format
msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
msgstr "" msgstr ""
"Vous désirez peut-être effectuer ce genre de tâche dans un traitement où "
"l'interaction avec le cache de second niveau est complètement désactivée :"
#. Tag: para #. Tag: para
#: batch.xml:66
#, no-c-format #, no-c-format
msgid "" msgid ""
"However, this is not absolutely necessary, since we can explicitly set the " "However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode</literal> to disable interaction with the second-level " "<literal>CacheMode</literal> to disable interaction with the second-level "
"cache." "cache."
msgstr "" msgstr ""
"Lorsque vous rendez des nouveaux objets persistants, vous devez " "Toutefois ce n'est pas absolument nécessaire puisque nous pouvons configurer "
"régulièrement appeler <literal>flush()</literal> et puis <literal>clear()</" "le <literal>CacheMode</literal> de façon à désactiver l'interaction avec le "
"literal> sur la session, pour contrôler la taille du cache de premier niveau." "cache de second niveau."
#. Tag: title #. Tag: title
#: batch.xml:72
#, no-c-format #, no-c-format
msgid "Batch inserts" msgid "Batch inserts"
msgstr "Paquet de mises à jour" msgstr "Insertions en lot"
#. Tag: para #. Tag: para
#: batch.xml:74 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When making new objects persistent <literal>flush()</literal> and then " "When making new objects persistent <literal>flush()</literal> and then "
"<literal>clear()</literal> the session regularly in order to control the " "<literal>clear()</literal> the session regularly in order to control the "
"size of the first-level cache." "size of the first-level cache."
msgstr "" msgstr ""
"Pour récupérer et mettre à jour des données les mêmes idées s'appliquent. En " "Lorsque vous rendez des nouveaux objets persistants, vous devez "
"plus, vous avez besoin d'utiliser <literal>scroll()</literal> pour tirer " "régulièrement appeler <literal>flush()</literal> et puis <literal>clear()</"
"partie des curseurs côté serveur pour les requêtes qui retournent beaucoup " "literal> sur la session, pour contrôler la taille du cache de premier "
"de lignes de données." "niveau. "
#. Tag: programlisting
#: batch.xml:80
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
" if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
" //flush a batch of inserts and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: batch.xml:85
#, no-c-format #, no-c-format
msgid "Batch updates" msgid "Batch updates"
msgstr "L'interface StatelessSession" msgstr "Mise à jour des lots"
#. Tag: para #. Tag: para
#: batch.xml:87 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For retrieving and updating data, the same ideas apply. In addition, you " "For retrieving and updating data, the same ideas apply. In addition, you "
"need to use <literal>scroll()</literal> to take advantage of server-side " "need to use <literal>scroll()</literal> to take advantage of server-side "
"cursors for queries that return many rows of data." "cursors for queries that return many rows of data."
msgstr "" msgstr ""
"Alternativement, Hibernate fournit une API orientée commande qui peut être " "Pour récupérer et mettre à jour des données les mêmes idées s'appliquent. De "
"utilisée avec des flux de données pour et en provenance de la base de " "plus, vous devez utiliser <literal>scroll()</literal> pour tirer partie des "
"données sous la forme d'objets détachés. Une <literal>StatelessSession</" "curseurs côté serveur pour les requêtes qui retournent beaucoup de lignes de "
"literal> n'a pas de contexte de persistance associé et ne fournit pas " "données. "
"beaucoup de sémantique de durée de vie de haut niveau. En particulier, une "
"session sans état n'implémente pas de cache de premier niveau et n'interagit "
"pas non plus avec un cache de seconde niveau ou un cache de requêtes. Elle "
"n'implémente pas les transactions ou la vérification sale automatique (NdT : "
"automatic dirty checking). Les opérations réalisées avec une session sans "
"état ne sont jamais répercutées en cascade sur les instances associées. Les "
"collections sont ignorées par une session sans état. Les opérations "
"exécutées via une session sans état outrepasse le modèle d'événements "
"d'Hibernate et les intercepteurs. Les sessions sans état sont vulnérables "
"aux effets de modification des données, ceci est dû au manque de cache de "
"premier niveau. Une session sans état est une abstraction bas niveau, plus "
"proche de la couche JDBC sous-jacente."
#. Tag: programlisting
#: batch.xml:93
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .setCacheMode(CacheMode.IGNORE)\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"int count=0;\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" if ( ++count % 20 == 0 ) {\n"
" //flush a batch of updates and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: batch.xml:98
#, no-c-format #, no-c-format
msgid "The StatelessSession interface" msgid "The StatelessSession interface"
msgstr "" msgstr "L'interface StatelessSession"
"Notez que dans le code de l'exemple, les intances de <literal>Customer</"
"literal> retournées par la requête sont immédiatement détachées. Elles ne "
"sont jamais associées à un contexte de persistance."
#. Tag: para #. Tag: para
#: batch.xml:99 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Alternatively, Hibernate provides a command-oriented API that can be used " "Alternatively, Hibernate provides a command-oriented API that can be used "
"for streaming data to and from the database in the form of detached objects. " "for streaming data to and from the database in the form of detached objects. "
@ -235,47 +144,36 @@ msgid ""
"effects. A stateless session is a lower-level abstraction that is much " "effects. A stateless session is a lower-level abstraction that is much "
"closer to the underlying JDBC." "closer to the underlying JDBC."
msgstr "" msgstr ""
"Les opérations <literal>insert()</literal>, <literal>update()</literal> et " "Alternativement, Hibernate fournit une API orientée commande qui peut être "
"<literal>delete()</literal> définies par l'interface " "utilisée avec des flux de données vers et en provenance de la base de "
"<literal>StatelessSession</literal> sont considérées comme des opérations " "données sous la forme d'objets détachés. Une <literal>StatelessSession</"
"d'accès direct aux lignes de la base de données, ce qui résulte en une " "literal> n'a pas de contexte de persistance associé et ne fournit pas "
"exécution immédiate du SQL <literal>INSERT</literal>, <literal>UPDATE</" "beaucoup de sémantique de cycle de vie de haut niveau. En particulier, une "
"literal> ou <literal>DELETE</literal> respectif. De là, elles ont des " "session sans état n'implémente pas de cache de premier niveau et n'interagit "
"sémantiques tres différentes des opérations <literal>save()</literal>, " "pas non plus avec un cache de seconde niveau ou un cache de requêtes. Elle "
"<literal>saveOrUpdate()</literal> et <literal>delete()</literal> définies " "n'implémente pas les transactions ou la vérification sale automatique "
"par l'interface <literal>Session</literal>." "(automatic dirty checking). Les opérations réalisées avec une session sans "
"état ne sont jamais répercutées en cascade sur les instances associées. Les "
#. Tag: programlisting "collections sont ignorées par une session sans état. Les opérations "
#: batch.xml:114 "exécutées via une session sans état outrepassent le modèle d'événements de "
#, no-c-format "Hibernate et les intercepteurs. Les sessions sans état sont vulnérables aux "
msgid "" "effets de réplication des données, ceci est dû au manque de cache de premier "
"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n" "niveau. Une session sans état est une abstraction bas niveau, plus proche de "
"Transaction tx = session.beginTransaction();\n" "la couche JDBC sous-jacente. "
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" session.update(customer);\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:116 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In this code example, the <literal>Customer</literal> instances returned by " "In this code example, the <literal>Customer</literal> instances returned by "
"the query are immediately detached. They are never associated with any " "the query are immediately detached. They are never associated with any "
"persistence context." "persistence context."
msgstr "Opérations de style DML" msgstr ""
"Notez que dans le code de l'exemple, les instances de <literal>Customer</"
"literal> retournées par la requête sont immédiatement détachées. Elles ne "
"sont jamais associées à un contexte de persistance. "
#. Tag: para #. Tag: para
#: batch.xml:122 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>insert(), update()</literal> and <literal>delete()</literal> " "The <literal>insert(), update()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>StatelessSession</literal> interface are " "operations defined by the <literal>StatelessSession</literal> interface are "
@ -285,28 +183,22 @@ msgid ""
"<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> " "<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>Session</literal> interface." "operations defined by the <literal>Session</literal> interface."
msgstr "" msgstr ""
"Comme déjà discuté avant, le mapping objet/relationnel automatique et " "Les opérations <literal>insert()</literal>, <literal>update()</literal> et "
"transparent est intéressé par la gestion de l'état de l'objet. Ceci implique " "<literal>delete()</literal> définies par l'interface "
"que l'état de l'objet est disponible en mémoire, d'où manipuler (en " "<literal>StatelessSession</literal> sont considérées comme des opérations "
"utilisant des expressions du langage de manipulation de données - " "d'accès direct aux lignes de la base de données, ce qui résulte en une "
"<literal>Data Manipulation Language</literal> (DML) - SQL) les données " "exécution immédiate du SQL <literal>INSERT</literal>, <literal>UPDATE</"
"directement dans la base n'affectera pas l'état en mémoire. Pourtant, " "literal> ou <literal>DELETE</literal> respectivement. Ainsi, elles ont des "
"Hibernate fournit des méthodes pour l'exécution d'expression DML de style " "sémantiques très différentes des opérations <literal>save()</literal>, "
"SQL lesquelles sont réalisées à travers le langage de requête d'Hibernate " "<literal>saveOrUpdate()</literal> et <literal>delete()</literal> définies "
"(<xref linkend=\"queryhql\">HQL</xref>)." "par l'interface <literal>Session</literal>."
#. Tag: title #. Tag: title
#: batch.xml:135
#, no-c-format #, no-c-format
msgid "DML-style operations" msgid "DML-style operations"
msgstr "" msgstr "Opérations de style DML"
"La pseudo-syntaxe pour les expressions <literal>UPDATE</literal> et "
"<literal>DELETE</literal> est : <literal>( UPDATE | DELETE ) FROM? "
"EntityName (WHERE where_conditions)?</literal>. Certains points sont à "
"noter :"
#. Tag: para #. Tag: para
#: batch.xml:137
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"As already discussed, automatic and transparent object/relational mapping is " "As already discussed, automatic and transparent object/relational mapping is "
@ -318,111 +210,84 @@ msgid ""
"Hibernate provides methods for bulk SQL-style DML statement execution that " "Hibernate provides methods for bulk SQL-style DML statement execution that "
"is performed through the Hibernate Query Language (<link linkend=\"queryhql" "is performed through the Hibernate Query Language (<link linkend=\"queryhql"
"\">HQL</link>)." "\">HQL</link>)."
msgstr "Dans la clause from, le mot-clef FROM est optionnel" msgstr ""
"Comme mentionné auparavant, le mapping objet/relationnel automatique et "
"transparent s'intéresse à la gestion de l'état de l'objet. Ceci implique que "
"l'état de l'objet soit disponible en mémoire, c'est pourquoi manipuler (en "
"utilisant des expressions SQL du langage de manipulation de données - "
"<literal>Data Manipulation Language</literal> (DML) : les données "
"<literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</"
"literal>) directement dans la base n'affecteront pas l'état en mémoire. "
"Cependant, Hibernate fournit des méthodes pour l'exécution d'expression DML "
"de style SQL en gros, qui sont réalisées à travers le langage de requête de "
"Hibernate, Hibernate Query Language (<xref linkend=\"queryhql\"/> HQL)."
#. Tag: para #. Tag: para
#: batch.xml:146 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</" "The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE " "literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
"where_conditions)?</literal>." "where_conditions)?</literal>."
msgstr "" msgstr ""
"Il ne peut y avoir qu'une seule entité nommée dans la clause from ; elle " "La pseudo-syntaxe pour les expressions <literal>UPDATE</literal> et "
"peut optionnellement avoir un alias. Si le nom de l'entité a un alias, alors " "<literal>DELETE</literal> est : <literal>( UPDATE | DELETE ) FROM? "
"n'importe quelle référence de propriété doit être qualifiée en ayant un " "EntityName (WHERE where_conditions)?</literal>. "
"alias ; si le nom de l'entité n'a pas d'alias, alors il est illégal pour "
"n'importe quelle référence de propriété d'être qualifiée."
#. Tag: para #. Tag: para
#: batch.xml:151
#, no-c-format #, no-c-format
msgid "Some points to note:" msgid "Some points to note:"
msgstr "" msgstr "Certains points à noter :"
#. Tag: para #. Tag: para
#: batch.xml:157
#, no-c-format #, no-c-format
msgid "In the from-clause, the FROM keyword is optional" msgid "In the from-clause, the FROM keyword is optional"
msgstr "" msgstr "Dans la clause from, le mot-clef FROM est optionnel"
"Aucune jointure (implicite ou explicite) ne peut être spécifiée dans une "
"requête HQL. Les sous-requêtes peuvent être utilisées dans la clause where ; "
"les sous-requêtes, elles-mêmes, peuvent contenir des jointures."
#. Tag: para #. Tag: para
#: batch.xml:162 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"There can only be a single entity named in the from-clause. It can, however, " "There can only be a single entity named in the from-clause. It can, however, "
"be aliased. If the entity name is aliased, then any property references must " "be aliased. If the entity name is aliased, then any property references must "
"be qualified using that alias. If the entity name is not aliased, then it is " "be qualified using that alias. If the entity name is not aliased, then it is "
"illegal for any property references to be qualified." "illegal for any property references to be qualified."
msgstr "La clause where est aussi optionnelle." msgstr ""
"Il ne peut y avoir qu'une seule entité nommée dans la clause from ; elle "
"peut optionnellement avoir un alias. Si le nom de l'entité a un alias, alors "
"n'importe quelle référence de propriété doit être qualifiée en utilisant un "
"alias ; si le nom de l'entité n'a pas d'alias, il sera illégal pour "
"n'importe quelle référence de propriété d'être qualifiée."
#. Tag: para #. Tag: para
#: batch.xml:170
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or " "No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or "
"explicit, can be specified in a bulk HQL query. Sub-queries can be used in " "explicit, can be specified in a bulk HQL query. Sub-queries can be used in "
"the where-clause, where the subqueries themselves may contain joins." "the where-clause, where the subqueries themselves may contain joins."
msgstr "" msgstr ""
"Par exemple, pour exécuter un <literal>UPDATE</literal> HQL, utilisez la " "Aucune jointure <xref linkend=\"queryhql-joins-forms\" /> (implicite ou "
"méthode <literal>Query.executeUpdate()</literal> (la méthode est données " "explicite) ne peut être spécifiée dans une requête HQL en gros. Les sous-"
"pour ceux qui sont familiers avec <literal>PreparedStatement.executeUpdate()" "requêtes peuvent être utilisées dans la clause where- ; les sous-requêtes, "
"</literal> de JDBC) :" "elles-mêmes, peuvent contenir des jointures."
#. Tag: para #. Tag: para
#: batch.xml:177
#, no-c-format #, no-c-format
msgid "The where-clause is also optional." msgid "The where-clause is also optional."
msgstr "" msgstr "La clause where- est aussi optionnelle."
"Pour exécuter un <literal>DELETE</literal> HQL, utilisez la même méthode "
"<literal>Query.executeUpdate()</literal> :"
#. Tag: para #. Tag: para
#: batch.xml:183 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"As an example, to execute an HQL <literal>UPDATE</literal>, use the " "As an example, to execute an HQL <literal>UPDATE</literal>, use the "
"<literal>Query.executeUpdate()</literal> method. The method is named for " "<literal>Query.executeUpdate()</literal> method. The method is named for "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</" "those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
"literal>:" "literal>:"
msgstr "" msgstr ""
"La valeur du <literal>int</literal> retourné par la méthode <literal>Query." "Par exemple, pour exécuter un HQL <literal>UPDATE</literal>, utilisez la "
"executeUpdate()</literal> indique le nombre d'entités affectées par " "méthode <literal>Query.executeUpdate()</literal> (la méthode est données "
"l'opération. Considérez que cela peut ou pas corréler le nombre de lignes " "pour ceux qui connaissent <literal>PreparedStatement.executeUpdate()</"
"affectés dans la base de données. Une opération HQL pourrait entraîner " "literal> de JDBC) : "
"l'exécution de multiples expressions SQL réelles, pour des classes filles "
"mappées par jointure (NdT: join-subclass), par exemple. Le nombre retourné "
"indique le nombre d'entités réelles affectées par l'expression. Retour à "
"l'exemple de la classe fille mappée par jointure, un effacement d'une des "
"classes filles peut réellement entraîner des suppressions pas seulement dans "
"la table qui mappe la classe fille, mais aussi dans la table \"racine\" et "
"potentillement dans les tables des classes filles plus bas dans la "
"hiérarchie d'héritage."
#. Tag: programlisting
#: batch.xml:189
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :"
"oldName\";\n"
"// or String hqlUpdate = \"update Customer set name = :newName where name = :"
"oldName\";\n"
"int updatedEntities = s.createQuery( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:191
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> " "In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> "
@ -435,72 +300,38 @@ msgid ""
"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> " "<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
"keyword." "keyword."
msgstr "" msgstr ""
"La pseudo-syntaxe pour l'expression <literal>INSERT</literal> est : " "Par défaut, les déclarations HQL <literal>UPDATE</literal>, n'affectent pas "
"<literal>INSERT INTO EntityName properties_list select_statement</literal>. " "la version <xref linkend=\"mapping-declaration-version\"/> ou les valeurs "
"Quelques points sont à noter :" "<xref linkend=\"mapping-declaration-timestamp\" /> de propriétés timestamp "
"pour les entités concernées; ceci est compatible avec la spécification EJB3. "
#. Tag: programlisting "Toutefois, vous pouvez forcer Hibernate à mettre à jour les valeurs des "
#: batch.xml:201 "propriétés <literal>version</literal> ou <literal>timestamp</literal> en "
#, no-c-format "utilisant le <literal>versioned update</literal>. Pour ce faire, ajoutez le "
msgid "" "mot clé <literal>VERSIONED</literal> après le mot clé <literal>UPDATE</"
"<![CDATA[Session session = sessionFactory.openSession();\n" "literal>. "
"Transaction tx = session.beginTransaction();\n"
"String hqlVersionedUpdate = \"update versioned Customer set name = :newName "
"where name = :oldName\";\n"
"int updatedEntities = s.createQuery( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:203 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Custom version types, <literal>org.hibernate.usertype.UserVersionType</" "Custom version types, <literal>org.hibernate.usertype.UserVersionType</"
"literal>, are not allowed in conjunction with a <literal>update versioned</" "literal>, are not allowed in conjunction with a <literal>update versioned</"
"literal> statement." "literal> statement."
msgstr "" msgstr ""
"Seule la forme INSERT INTO ... SELECT ... est supportée ; pas la forme " "Notez que les types personnalisés (<literal>org.hibernate.usertype."
"INSERT INTO ... VALUES ... ." "UserVersionType</literal>) ne sont pas permis en conjonction avec la "
"déclaration <literal>update versioned</literal>. "
#. Tag: para #. Tag: para
#: batch.xml:208
#, no-c-format #, no-c-format
msgid "" msgid ""
"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query." "To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
"executeUpdate()</literal> method:" "executeUpdate()</literal> method:"
msgstr "" msgstr ""
"La properties_list est analogue à la <literal>spécification de la colonne</" "Pour exécuter un HQL <literal>DELETE</literal>, utilisez la même méthode "
"literal> The properties_list is analogous to the <literal>column " "<literal>Query.executeUpdate()</literal> :"
"speficiation</literal> dans l'expression SQL <literal>INSERT</literal>. Pour "
"les entités impliquées dans un héritage mappé, seules les propriétés "
"directement définies à ce niveau de classe donné peuvent être utilisées dans "
"properties_list. Les propriétés de la classe mère ne sont pas permises ; et "
"les propriétés des classes filles n'ont pas de sens. En d'autres mots, les "
"expressions <literal>INSERT</literal> par nature non polymorphiques."
#. Tag: programlisting
#: batch.xml:213
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
"// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
"int deletedEntities = s.createQuery( hqlDelete )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:215 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>int</literal> value returned by the <literal>Query.executeUpdate" "The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
"()</literal> method indicates the number of entities effected by the " "()</literal> method indicates the number of entities effected by the "
@ -513,61 +344,41 @@ msgid ""
"which that subclass is mapped, but also the \"root\" table and potentially " "which that subclass is mapped, but also the \"root\" table and potentially "
"joined-subclass tables further down the inheritance hierarchy." "joined-subclass tables further down the inheritance hierarchy."
msgstr "" msgstr ""
"select_statement peut être n'importe quelle requête de sélection HQl valide, " "La valeur du <literal>int</literal> retourné par la méthode <literal>Query."
"avec l'avertissement que les types de retour doivent correspondre aux types " "executeUpdate()</literal> indique le nombre d'entités affectées par "
"attendus par l'insertion. Actuellement, c'est vérifié durant la compilation " "l'opération. Considérez que cela peut ou non, corréler le nombre de lignes "
"de la requête plutôt que la vérification soit reléguée à la base de données. " "affectées dans la base de données. Une opération HQL pourrait entraîner "
"Notez cependant que cela pourrait poser des problèmes entre les " "l'exécution de multiples expressions SQL réelles, pour des classes filles "
"<literal>Type</literal>s d'Hibernate qui sont <emphasis>équivalents</" "mappées par jointure (join-subclass), par exemple. Le nombre retourné "
"emphasis> opposé à <emphasis>égaux</emphasis>. Cela pourrait poser des " "indique le nombre d'entités réelles affectées par l'expression. Si on "
"problèmes avec des disparités entre une propriété définie comme un " "revient à l'exemple de la classe fille mappée par jointure, un effacement "
"<literal>org.hibernate.type.DateType</literal> et une propriété définie " "d'une des classes filles peut réellement entraîner des suppressions pas "
"comme un <literal>org.hibernate.type.TimestampType</literal>, même si la " "seulement dans la table à laquelle la classe fille est mappée, mais "
"base de données ne ferait pas de distinction ou ne serait pas capable de " "également dans la table \"racine\" et potentillement dans les tables des "
"gérer la conversion." "classes filles plus bas dans la hiérarchie d'héritage. "
#. Tag: para #. Tag: para
#: batch.xml:226
#, no-c-format #, no-c-format
msgid "" msgid ""
"The pseudo-syntax for <literal>INSERT</literal> statements is: " "The pseudo-syntax for <literal>INSERT</literal> statements is: "
"<literal>INSERT INTO EntityName properties_list select_statement</literal>. " "<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
"Some points to note:" "Some points to note:"
msgstr "" msgstr ""
"Pour la propriéte id, l'expression d'insertion vous donne deux options. Vous " "La pseudo-syntaxe pour l'expression <literal>INSERT</literal> est : "
"pouvez soit spécifier explicitement la propriété id dans properties_list " "<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
"(auquel cas sa valeur est extraite de l'expression de sélection " "Quelques points sont à noter :"
"correspondante), soit l'omettre de properties_list (auquel cas une valeur "
"générée est utilisée). Cette dernière option est seulement disponible en "
"utilisant le générateur d'identifiant qui opère dans la base de données ; "
"tenter d'utiliser cette option avec n'importe quel type de générateur \"en "
"mémoire\" causera une exception durant l'analyse. Notez que pour les buts de "
"cette discussion, les générateurs \"en base\" sont considérés être "
"<literal>org.hibernate.id.SequenceGenerator</literal> (et ses classes "
"filles) et n'importe quelles implémentations de <literal>org.hibernate.id."
"PostInsertIdentifierGenerator</literal>. L'exception la plus notable ici est "
"<literal>org.hibernate.id.TableHiLoGenerator</literal>, qu ne peut pas être "
"utilisée parce qu'il ne propose pas un moyen de d'exposer ses valeurs par un "
"select."
#. Tag: para #. Tag: para
#: batch.xml:234
#, no-c-format #, no-c-format
msgid "" msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT " "Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
"INTO ... VALUES ... form." "INTO ... VALUES ... form."
msgstr "" msgstr ""
"Pour des propriétés mappées comme <literal>version</literal> ou " "Seule la forme INSERT INTO ... SELECT ... est supportée ; pas la forme "
"<literal>timestamp</literal>, l'expression d'insertion vous donne deux " "INSERT INTO ... VALUES ... ."
"options. Vous pouvez soit spécifier la propriété dans properties_list "
"(auquel cas sa valeur est extraite des expressions select correspondantes), "
"soit l'omettre de properties_list (auquel cas la <literal>valeur de graine</"
"literal> (NdT : seed value) définie par le <literal>org.hibernate.type."
"VersionType</literal> est utilisée)."
#. Tag: para #. Tag: para
#: batch.xml:237 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The properties_list is analogous to the <literal>column specification</" "The properties_list is analogous to the <literal>column specification</"
"literal> in the SQL <literal>INSERT</literal> statement. For entities " "literal> in the SQL <literal>INSERT</literal> statement. For entities "
@ -576,11 +387,16 @@ msgid ""
"are not allowed and subclass properties do not make sense. In other words, " "are not allowed and subclass properties do not make sense. In other words, "
"<literal>INSERT</literal> statements are inherently non-polymorphic." "<literal>INSERT</literal> statements are inherently non-polymorphic."
msgstr "" msgstr ""
"Un exemple d'exécution d'une expression <literal>INSERT</literal> HQL :" "La properties_list est analogue à la <literal>column speficiation</literal> "
"dans la déclaration SQL <literal>INSERT</literal>. Pour les entités "
"impliquées dans un héritage mappé, seules les propriétés directement "
"définies à ce niveau de classe donné peuvent être utilisées dans "
"properties_list. Les propriétés de la classe mère ne sont pas permises ; et "
"les propriétés des classes filles n'ont pas de sens. En d'autres termes, les "
"expressions <literal>INSERT</literal> sont par nature non polymorphiques. "
#. Tag: para #. Tag: para
#: batch.xml:247 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"select_statement can be any valid HQL select query, with the caveat that the " "select_statement can be any valid HQL select query, with the caveat that the "
"return types must match the types expected by the insert. Currently, this is " "return types must match the types expected by the insert. Currently, this is "
@ -592,10 +408,21 @@ msgid ""
"DateType</literal> and a property defined as a <literal>org.hibernate.type." "DateType</literal> and a property defined as a <literal>org.hibernate.type."
"TimestampType</literal>, even though the database might not make a " "TimestampType</literal>, even though the database might not make a "
"distinction or might be able to handle the conversion." "distinction or might be able to handle the conversion."
msgstr "translator-credits" msgstr ""
"select_statement peut être n'importe quelle requête de sélection HQL valide, "
"avec l'avertissement que les types de retour doivent correspondre aux types "
"attendus par l'insertion. Actuellement, cela est vérifié durant la "
"compilation de la requête plutôt que de reléguer la vérification à la base "
"de données. Notez cependant que cela pourrait poser des problèmes entre les "
"<literal>Type</literal>s de Hibernate qui sont <emphasis>équivalents</"
"emphasis> contrairement à <emphasis>égaux</emphasis>. Cela pourrait poser "
"des problèmes avec des disparités entre une propriété définie comme un "
"<literal>org.hibernate.type.DateType</literal> et une propriété définie "
"comme un <literal>org.hibernate.type.TimestampType</literal>, bien que la "
"base de données ne fasse pas de distinction ou ne soit pas capable de gérer "
"la conversion."
#. Tag: para #. Tag: para
#: batch.xml:259
#, no-c-format #, no-c-format
msgid "" msgid ""
"For the id property, the insert statement gives you two options. You can " "For the id property, the insert statement gives you two options. You can "
@ -612,9 +439,23 @@ msgid ""
"TableHiLoGenerator</literal>, which cannot be used because it does not " "TableHiLoGenerator</literal>, which cannot be used because it does not "
"expose a selectable way to get its values." "expose a selectable way to get its values."
msgstr "" msgstr ""
"Pour la propriété id, l'expression d'insertion vous donne deux options. Vous "
"pouvez soit spécifier explicitement la propriété id dans properties_list "
"(auquel cas sa valeur est extraite de l'expression de sélection "
"correspondante), soit l'omettre de properties_list (auquel cas une valeur "
"générée est utilisée). Cette dernière option est seulement disponible si "
"vous utilisez le générateur d'identifiant qui opère dans la base de "
"données ; tenter d'utiliser cette option avec n'importe quel type de "
"générateur \"en mémoire\" causera une exception durant l'analyse. Notez que "
"pour les buts de cette discussion, les générateurs \"en base\" sont "
"considérés comme <literal>org.hibernate.id.SequenceGenerator</literal> (et "
"ses classes filles) et n'importe quelles implémentations de <literal>org."
"hibernate.id.PostInsertIdentifierGenerator</literal>. L'exception la plus "
"notable ici est <literal>org.hibernate.id.TableHiLoGenerator</literal>, qui "
"ne peut pas être utilisée parce qu'elle ne propose pas de moyen d'obtenir "
"ses valeurs par un select. "
#. Tag: para #. Tag: para
#: batch.xml:274
#, no-c-format #, no-c-format
msgid "" msgid ""
"For properties mapped as either <literal>version</literal> or " "For properties mapped as either <literal>version</literal> or "
@ -624,26 +465,18 @@ msgid ""
"from the properties_list, in which case the <literal>seed value</literal> " "from the properties_list, in which case the <literal>seed value</literal> "
"defined by the <literal>org.hibernate.type.VersionType</literal> is used." "defined by the <literal>org.hibernate.type.VersionType</literal> is used."
msgstr "" msgstr ""
"Pour des propriétés mappées comme <literal>version</literal> ou "
"<literal>timestamp</literal>, l'expression d'insertion vous donne deux "
"options. Vous pouvez soit spécifier la propriété dans properties_list "
"(auquel cas sa valeur est extraite des expressions select correspondantes), "
"soit l'omettre de properties_list (auquel cas la <literal>seed value</"
"literal> définie par le <literal>org.hibernate.type.VersionType</literal> "
"est utilisée). "
#. Tag: para #. Tag: para
#: batch.xml:284
#, no-c-format #, no-c-format
msgid "" msgid ""
"The following is an example of an HQL <literal>INSERT</literal> statement " "The following is an example of an HQL <literal>INSERT</literal> statement "
"execution:" "execution:"
msgstr "" msgstr ""
"Un exemple d'exécution d'une expression HQL <literal>INSERT</literal> : "
#. Tag: programlisting
#: batch.xml:288
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c."
"name from Customer c where ...\";\n"
"int createdEntities = s.createQuery( hqlInsert )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""

View File

@ -1,33 +1,36 @@
# translation of best_practices.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: best_practices\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2009-11-10 16:06+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: best_practices.xml:29
#, no-c-format #, no-c-format
msgid "Best Practices" msgid "Best Practices"
msgstr "Meilleures pratiques" msgstr "Meilleures pratiques"
#. Tag: term #. Tag: term
#: best_practices.xml:33 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Write fine-grained classes and map them using <literal>&lt;component&gt;</" "Write fine-grained classes and map them using <literal>&lt;component&gt;</"
"literal>:" "literal>:"
msgstr "" msgstr ""
"Découpez finement vos classes et mappez les en utilisant <literal>&lt;" "Découpez finement vos classes et mappez-les en utilisant <literal>&lt;"
"component&gt;</literal>." "component&gt;</literal> :"
#. Tag: para #. Tag: para
#: best_practices.xml:35
#, no-c-format #, no-c-format
msgid "" msgid ""
"Use an <literal>Address</literal> class to encapsulate <literal>street</" "Use an <literal>Address</literal> class to encapsulate <literal>street</"
@ -35,37 +38,33 @@ msgid ""
"<literal>postcode</literal>. This encourages code reuse and simplifies " "<literal>postcode</literal>. This encourages code reuse and simplifies "
"refactoring." "refactoring."
msgstr "" msgstr ""
"Utilisez une classe <literal>Adresse</literal> pour encapsuler <literal>Rue</" "Utilisez une classe <literal>Address</literal> pour résumer <literal>street</"
"literal>, <literal>Region</literal>, <literal>CodePostal</literal>. Ceci " "literal>, <literal>suburb</literal>, <literal>state</literal>, "
"permet la réutilisation du code et simplifie la maintenance." "<literal>postcode</literal>. Ceci permet la réutilisation du code et "
"simplifie la maintenance. "
#. Tag: term #. Tag: term
#: best_practices.xml:43 #, no-c-format
#, fuzzy, no-c-format
msgid "Declare identifier properties on persistent classes:" msgid "Declare identifier properties on persistent classes:"
msgstr "Déclarez des propriétés d'identifiants dans les classes persistantes." msgstr "Déclarez des propriétés d'identifiants dans les classes persistantes :"
#. Tag: para #. Tag: para
#: best_practices.xml:45 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate makes identifier properties optional. There are a range of reasons " "Hibernate makes identifier properties optional. There are a range of reasons "
"why you should use them. We recommend that identifiers be 'synthetic', that " "why you should use them. We recommend that identifiers be 'synthetic', that "
"is, generated with no business meaning." "is, generated with no business meaning."
msgstr "" msgstr ""
"Hibernate rend les propriétés d'identifiants optionnelles. Il existe " "Hibernate rend les propriétés d'identifiants optionnelles. Il est recommandé "
"beaucoup de raisons pour lesquelles vous devriez les utiliser. Nous " "de les utiliser pour de nombreuses raisons. Utilisez les identifiants comme "
"recommandons que vous utilisiez des identifiants techniques (générés, et " "'synthetic' (générés, et sans connotation métier)."
"sans connotation métier)."
#. Tag: term #. Tag: term
#: best_practices.xml:53 #, no-c-format
#, fuzzy, no-c-format
msgid "Identify natural keys:" msgid "Identify natural keys:"
msgstr "Identifiez les clefs naturelles." msgstr "Identifiez les clefs naturelles :"
#. Tag: para #. Tag: para
#: best_practices.xml:55
#, no-c-format #, no-c-format
msgid "" msgid ""
"Identify natural keys for all entities, and map them using <literal>&lt;" "Identify natural keys for all entities, and map them using <literal>&lt;"
@ -73,20 +72,18 @@ msgid ""
"<literal>hashCode()</literal> to compare the properties that make up the " "<literal>hashCode()</literal> to compare the properties that make up the "
"natural key." "natural key."
msgstr "" msgstr ""
"Identifiez les clefs naturelles pour toutes les entités, et mappez les avec " "Identifiez les clefs naturelles pour toutes les entités, et mappez-les avec "
"<literal>&lt;natural-id&gt;</literal>. Implémentez <literal>equals()</" "<literal>&lt;natural-id&gt;</literal>. Implémentez <literal>equals()</"
"literal> et <literal>hashCode()</literal> pour comparer les propriétés qui " "literal> et <literal>hashCode()</literal> pour comparer les propriétés qui "
"composent la clef naturelle." "composent la clef naturelle. "
#. Tag: term #. Tag: term
#: best_practices.xml:63 #, no-c-format
#, fuzzy, no-c-format
msgid "Place each class mapping in its own file:" msgid "Place each class mapping in its own file:"
msgstr "Placez chaque mapping de classe dans son propre fichier." msgstr "Placez chaque mapping de classe dans son propre fichier :"
#. Tag: para #. Tag: para
#: best_practices.xml:65 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</" "Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</"
"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes " "literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
@ -94,87 +91,77 @@ msgid ""
msgstr "" msgstr ""
"N'utilisez pas un unique document de mapping. Mappez <literal>com.eg.Foo</" "N'utilisez pas un unique document de mapping. Mappez <literal>com.eg.Foo</"
"literal> dans le fichier <literal>com/eg/Foo.hbm.xml</literal>. Cela prend " "literal> dans le fichier <literal>com/eg/Foo.hbm.xml</literal>. Cela prend "
"tout son sens lors d'un travail en équipe." "tout son sens lors d'un travail en équipe. "
#. Tag: term #. Tag: term
#: best_practices.xml:73 #, no-c-format
#, fuzzy, no-c-format
msgid "Load mappings as resources:" msgid "Load mappings as resources:"
msgstr "Chargez les mappings comme des ressources." msgstr "Chargez les mappings comme des ressources :"
#. Tag: para #. Tag: para
#: best_practices.xml:75
#, no-c-format #, no-c-format
msgid "Deploy the mappings along with the classes they map." msgid "Deploy the mappings along with the classes they map."
msgstr "Déployez les mappings en même temps que les classes qu'ils mappent." msgstr "Déployez les mappings en même temps que les classes qu'ils mappent."
#. Tag: term #. Tag: term
#: best_practices.xml:81 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider externalizing query strings:" msgid "Consider externalizing query strings:"
msgstr "Pensez à externaliser les chaînes de caractères." msgstr "Pensez à externaliser les chaînes de requêtes :"
#. Tag: para #. Tag: para
#: best_practices.xml:83 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is recommended if your queries call non-ANSI-standard SQL functions. " "This is recommended if your queries call non-ANSI-standard SQL functions. "
"Externalizing the query strings to mapping files will make the application " "Externalizing the query strings to mapping files will make the application "
"more portable." "more portable."
msgstr "" msgstr ""
"Ceci est une bonne habitude si vos requêtes appellent des fonctions SQL qui " "Ceci est une bonne habitude si vos requêtes appellent des fonctions SQL qui "
"ne sont pas au standard ANSI. Cette externalisation dans les fichiers de " "ne sont pas au standard ANSI. Cette externalisation des chaînes de requête "
"mapping rendra votre application plus portable." "dans les fichiers de mapping rendra votre application plus portable. "
#. Tag: term #. Tag: term
#: best_practices.xml:91
#, no-c-format #, no-c-format
msgid "Use bind variables." msgid "Use bind variables."
msgstr "Utilisez les variables \"bindées\"." msgstr "Utilisez les variables bindées."
#. Tag: para #. Tag: para
#: best_practices.xml:93 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"As in JDBC, always replace non-constant values by \"?\". Do not use string " "As in JDBC, always replace non-constant values by \"?\". Do not use string "
"manipulation to bind a non-constant value in a query. You should also " "manipulation to bind a non-constant value in a query. You should also "
"consider using named parameters in queries." "consider using named parameters in queries."
msgstr "" msgstr ""
"Comme en JDBC, remplacez toujours les valeurs non constantes par \"?\". " "Comme dans JDBC, remplacez toujours les valeurs non constantes par \"?\". "
"N'utilisez jamais la manipulation des chaînes de caractères pour remplacer " "N'utilisez jamais la manipulation des chaînes de caractères pour lier des "
"des valeurs non constantes dans une requête ! Encore mieux, utilisez les " "valeurs non constantes dans une requête ! Encore mieux, utilisez les "
"paramètres nommés dans les requêtes." "paramètres nommés dans les requêtes."
#. Tag: term #. Tag: term
#: best_practices.xml:101 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not manage your own JDBC connections:" msgid "Do not manage your own JDBC connections:"
msgstr "Ne gérez pas vous même les connexions JDBC." msgstr "Ne gérez pas vous-même les connexions JDBC :"
#. Tag: para #. Tag: para
#: best_practices.xml:103 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate allows the application to manage JDBC connections, but his " "Hibernate allows the application to manage JDBC connections, but his "
"approach should be considered a last-resort. If you cannot use the built-in " "approach should be considered a last-resort. If you cannot use the built-in "
"connection providers, consider providing your own implementation of " "connection providers, consider providing your own implementation of "
"<literal>org.hibernate.connection.ConnectionProvider</literal>." "<literal>org.hibernate.connection.ConnectionProvider</literal>."
msgstr "" msgstr ""
"Hibernate laisse l'application gérer les connexions JDBC. Vous ne devriez " "Hibernate permet à l'application de gérer les connexions JDBC. Vous ne "
"gérer vos connexions qu'en dernier recours. Si vous ne pouvez pas utiliser " "devriez gérer vos connexions qu'en dernier recours. Si vous ne pouvez pas "
"les systèmes de connexions livrés, réfléchissez à l'idée de fournir votre " "utiliser les systèmes de connexions livrés, considérez la fourniture de "
"propre implémentation de <literal>org.hibernate.connection." "votre propre implémentation de <literal>org.hibernate.connection."
"ConnectionProvider</literal>." "ConnectionProvider</literal>. "
#. Tag: term #. Tag: term
#: best_practices.xml:111 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider using a custom type:" msgid "Consider using a custom type:"
msgstr "Pensez à utiliser les types utilisateurs." msgstr "Considérez l'utilisation de types personnalisés :"
#. Tag: para #. Tag: para
#: best_practices.xml:113 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Suppose you have a Java type from a library that needs to be persisted but " "Suppose you have a Java type from a library that needs to be persisted but "
"does not provide the accessors needed to map it as a component. You should " "does not provide the accessors needed to map it as a component. You should "
@ -182,48 +169,45 @@ msgid ""
"approach frees the application code from implementing transformations to/" "approach frees the application code from implementing transformations to/"
"from a Hibernate type." "from a Hibernate type."
msgstr "" msgstr ""
"Supposez que vous ayez une type Java, de telle bibliothèque, qui a besoin " "Supposez que vous ayez un type Java, de telle bibliothèque, qui a besoin "
"d'être persisté mais qui ne fournit pas les accesseurs nécessaires pour le " "d'être persisté mais qui ne fournit pas les accesseurs nécessaires pour le "
"mapper comme composant. Vous devriez implémenter <literal>org.hibernate." "mapper comme composant. Vous devriez implémenter <literal>org.hibernate."
"UserType</literal>.Cette approche libère le code de l'application de " "UserType</literal>. Cette approche évite au code de l'application, "
"l'implémentation des transformations vers / depuis les types Hibernate." "l'implémentation de transformations vers / depuis les types Hibernate. "
#. Tag: term #. Tag: term
#: best_practices.xml:122 #, no-c-format
#, fuzzy, no-c-format
msgid "Use hand-coded JDBC in bottlenecks:" msgid "Use hand-coded JDBC in bottlenecks:"
msgstr "Utilisez du JDBC pur dans les goulets d'étranglement." msgstr "Utilisez du JDBC pur dans les goulots d'étranglement :"
#. Tag: para #. Tag: para
#: best_practices.xml:124
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"In performance-critical areas of the system, some kinds of operations might " "In performance-critical areas of the system, some kinds of operations might "
"benefit from direct JDBC. Do not assume, however, that JDBC is necessarily " "benefit from direct JDBC. Do not assume, however, that JDBC is necessarily "
"faster. Please wait until you <emphasis>know</emphasis> something is a " "faster. Please wait until you <emphasis>know</emphasis> something is a "
"bottleneck. If you need to use direct JDBC, you can open a Hibernate " "bottleneck. If you need to use direct JDBC, you can open a Hibernate "
"<literal>Session</literal> and usingfile:///usr/share/doc/HTML/en-US/index." "<literal>Session</literal>, wrap your JDBC operation as a <literal>org."
"html that JDBC connection. This way you can still use the same transaction " "hibernate.jdbc.Work</literal> object and using that JDBC connection. This "
"strategy and underlying connection provider." "way you can still use the same transaction strategy and underlying "
"connection provider."
msgstr "" msgstr ""
"Dans certaines parties critiques de votre système d'un point de vue " "En ce qui concerne les performances dans certaines parties critiques de "
"performance, quelques opérations peuvent tirer partie d'un appel JDBC natif. " "votre système, quelques opérations peuvent tirer partie d'un appel JDBC "
"Mais attendez de <emphasis>savoir</emphasis> que c'est un goulet " "natif. Mais attendez de <emphasis>savoir</emphasis> que c'est un goulet "
"d'étranglement. Ne supposez jamais qu'un appel JDBC sera forcément plus " "d'étranglement. Ne supposez jamais qu'un appel JDBC sera forcément plus "
"rapide. Si vous avez besoin d'utiliser JDBC directement, ouvrez une " "rapide. Si vous devez utiliser JDBC directement, ouvrez une "
"<literal>Session</literal> Hibernate et utilisez la connexion SQL sous-" "<literal>Session</literal> Hibernate et utilisez la connexion SQL sous-"
"jacente. Ainsi vous pourrez utiliser la même stratégie de transation et la " "jacente. Ainsi vous pourrez utiliser la même stratégie de transation et la "
"même gestion des connexions." "même gestion des connexions. "
#. Tag: term #. Tag: term
#: best_practices.xml:134 #, no-c-format
#, fuzzy, no-c-format
msgid "Understand <literal>Session</literal> flushing:" msgid "Understand <literal>Session</literal> flushing:"
msgstr "Comprendre le flush de <literal>Session</literal>." msgstr "Comprenez le flush de <literal>Session</literal> :"
#. Tag: para #. Tag: para
#: best_practices.xml:136 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Sometimes the Session synchronizes its persistent state with the database. " "Sometimes the Session synchronizes its persistent state with the database. "
"Performance will be affected if this process occurs too often. You can " "Performance will be affected if this process occurs too often. You can "
@ -234,20 +218,18 @@ msgstr ""
"De temps en temps la Session synchronise ses états persistants avec la base " "De temps en temps la Session synchronise ses états persistants avec la base "
"de données. Les performances seront affectées si ce processus arrive trop " "de données. Les performances seront affectées si ce processus arrive trop "
"souvent. Vous pouvez parfois minimiser les flush non nécessaires en " "souvent. Vous pouvez parfois minimiser les flush non nécessaires en "
"désactivant le flush automatique ou même en changeant l'ordre des opérations " "désactivant le flush automatique ou même en changeant l'ordre des requêtes "
"menées dans une transaction particulière." "et autres opérations effectuées dans une transaction particulière. "
#. Tag: term #. Tag: term
#: best_practices.xml:145 #, no-c-format
#, fuzzy, no-c-format
msgid "In a three tiered architecture, consider using detached objects:" msgid "In a three tiered architecture, consider using detached objects:"
msgstr "" msgstr ""
"Dans une architecture à trois couches, pensez à utiliser " "Dans une architecture à trois couches, vous pouvez utilisez des objets "
"<literal>saveOrUpdate()</literal>." "détachés :"
#. Tag: para #. Tag: para
#: best_practices.xml:147 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When using a servlet/session bean architecture, you can pass persistent " "When using a servlet/session bean architecture, you can pass persistent "
"objects loaded in the session bean to and from the servlet/JSP layer. Use a " "objects loaded in the session bean to and from the servlet/JSP layer. Use a "
@ -256,23 +238,21 @@ msgid ""
"database." "database."
msgstr "" msgstr ""
"Quand vous utilisez une architecture à base de servlet / session bean, vous " "Quand vous utilisez une architecture à base de servlet / session bean, vous "
"pourriez passer des objets chargés dans le bean session vers et depuis la " "pouvez passer des objets chargés dans le bean session vers et depuis la "
"couche servlet / JSP. Utilisez une nouvelle session pour traiter chaque " "couche servlet / JSP. Utilisez une nouvelle session pour traiter chaque "
"requête. Utilisez <literal>Session.merge()</literal> ou <literal>Session." "requête. Utilisez <literal>Session.merge()</literal> ou <literal>Session."
"saveOrUpdate()</literal> pour synchroniser les objets avec la base de " "saveOrUpdate()</literal> pour synchroniser les objets avec la base de "
"données." "données. "
#. Tag: term #. Tag: term
#: best_practices.xml:156 #, no-c-format
#, fuzzy, no-c-format
msgid "In a two tiered architecture, consider using long persistence contexts:" msgid "In a two tiered architecture, consider using long persistence contexts:"
msgstr "" msgstr ""
"Dans une architecture à deux couches, pensez à utiliser la déconnexion de " "Dans une architecture à deux couches, pensez à utiliser les contextes de "
"session." "persistance longue :"
#. Tag: para #. Tag: para
#: best_practices.xml:158 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Database Transactions have to be as short as possible for best scalability. " "Database Transactions have to be as short as possible for best scalability. "
"However, it is often necessary to implement long running " "However, it is often necessary to implement long running "
@ -288,28 +268,26 @@ msgid ""
"stale data." "stale data."
msgstr "" msgstr ""
"Les transactions de bases de données doivent être aussi courtes que possible " "Les transactions de bases de données doivent être aussi courtes que possible "
"pour une meilleure montée en charge.Cependant, il est souvent nécessaire " "pour une meilleure extensibilité. Cependant, il est souvent nécessaire "
"d'implémenter de longues <emphasis>transactions applicatives</emphasis>, une " "d'implémenter de longues <emphasis>transactions applicatives</emphasis>, une "
"simple unité de travail du point de vue de l'utilisateur. Une transaction " "simple unité de travail du point de vue de l'utilisateur. Une transaction "
"applicative peut s'étaler sur plusieurs cycles de requêtes/réponses du " "applicative peut s'étaler sur plusieurs cycles de requêtes/réponses du "
"client. Il est commun d'utiliser des objets détachés pour implémenter des " "client. Il est commun d'utiliser des objets détachés pour implémenter des "
"transactions applicatives. Une alternative, extrêmement appropriée dans une " "transactions applicatives. Une alternative, extrêmement appropriée dans une "
"architecture à 2 couches, est de maintenir un seul contact de persistance " "architecture à deux couches, est de maintenir un seul contact de persistance "
"ouvert (session) pour toute la durée de vie de la transaction applicative et " "ouvert (session) pour toute la durée de vie de la transaction applicative et "
"simplement se déconnecter de la connexion JDBC à la fin de chaque requête, " "simplement se déconnecter de la connexion JDBC à la fin de chaque requête, "
"et se reconnecter au début de la requête suivante. Ne partagez jamais une " "et se reconnecter au début de la requête suivante. Ne partagez jamais une "
"seule session avec plus d'une transaction applicative, ou vous travaillerez " "seule session avec plus d'une transaction applicative, ou bien vous "
"avec des données périmées." "travaillerez avec des données périmées. "
#. Tag: term #. Tag: term
#: best_practices.xml:172 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not treat exceptions as recoverable:" msgid "Do not treat exceptions as recoverable:"
msgstr "Considérez que les exceptions ne sont pas rattrapables." msgstr "Considérez que les exceptions ne sont pas rattrapables :"
#. Tag: para #. Tag: para
#: best_practices.xml:174 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is more of a necessary practice than a \"best\" practice. When an " "This is more of a necessary practice than a \"best\" practice. When an "
"exception occurs, roll back the <literal>Transaction</literal> and close the " "exception occurs, roll back the <literal>Transaction</literal> and close the "
@ -324,18 +302,17 @@ msgstr ""
"<literal>Transaction</literal> et fermer la <literal>Session</literal>. " "<literal>Transaction</literal> et fermer la <literal>Session</literal>. "
"Sinon, Hibernate ne peut garantir l'intégrité des états persistants en " "Sinon, Hibernate ne peut garantir l'intégrité des états persistants en "
"mémoire. En particulier, n'utilisez pas <literal>Session.load()</literal> " "mémoire. En particulier, n'utilisez pas <literal>Session.load()</literal> "
"pour déterminer si une instance avec un identifiant donné existe en base de " "pour déterminer si une instance avec l'identifiant donné existe en base de "
"données, utilisez <literal>Session.get()</literal> ou un requête." "données, à la place utilisez <literal>Session.get()</literal> ou une "
"requête. "
#. Tag: term #. Tag: term
#: best_practices.xml:184 #, no-c-format
#, fuzzy, no-c-format
msgid "Prefer lazy fetching for associations:" msgid "Prefer lazy fetching for associations:"
msgstr "Préférez le chargement tardif des associations." msgstr "Préférez le chargement différé des associations :"
#. Tag: para #. Tag: para
#: best_practices.xml:186 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Use eager fetching sparingly. Use proxies and lazy collections for most " "Use eager fetching sparingly. Use proxies and lazy collections for most "
"associations to classes that are not likely to be completely held in the " "associations to classes that are not likely to be completely held in the "
@ -348,27 +325,25 @@ msgstr ""
"Utilisez le chargement complet avec modération. Utilisez les proxies et les " "Utilisez le chargement complet avec modération. Utilisez les proxies et les "
"collections chargées tardivement pour la plupart des associations vers des " "collections chargées tardivement pour la plupart des associations vers des "
"classes qui ne sont pas susceptibles d'être complètement retenues dans le " "classes qui ne sont pas susceptibles d'être complètement retenues dans le "
"cache de second niveau. Pour les assocations de classes en cache, où il y a " "cache de second niveau. Pour les associations de classes en cache, où il y a "
"une extrêmement forte probabilité que l'élément soit en cache, désactivez " "une forte probabilité que l'élément soit en cache, désactivez explicitement "
"explicitement le chargement par jointures ouvertes en utilisant " "le chargement par jointures ouvertes en utilisant <literal>outer-join=\"false"
"<literal>outer-join=\"false\"</literal>. Lorsqu'un chargement par jointure " "\"</literal>. Lorsqu'un chargement par jointure ouverte est approprié pour "
"ouverte est approprié pour un cas d'utilisation particulier, utilisez une " "un cas d'utilisation particulier, utilisez une requête avec un <literal>left "
"requête avec un <literal>left join fetch</literal>." "join fetch</literal>. "
#. Tag: term #. Tag: term
#: best_practices.xml:196 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Use the <emphasis>open session in view</emphasis> pattern, or a disciplined " "Use the <emphasis>open session in view</emphasis> pattern, or a disciplined "
"<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:" "<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:"
msgstr "" msgstr ""
"Utilisez le pattern <emphasis>d'une ouverture de session dans une vue</" "Utilisez le pattern <emphasis>d'une ouverture de session dans une vue</"
"emphasis>, ou une <emphasis>phase d'assemblage</emphasis> disciplinée pour " "emphasis>, ou une <emphasis>phase d'assemblage</emphasis> disciplinée pour "
"éviter des problèmes avec des données non rapatriées." "éviter des problèmes avec des données non rapatriées :"
#. Tag: para #. Tag: para
#: best_practices.xml:201 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate frees the developer from writing tedious <emphasis>Data Transfer " "Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual " "Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
@ -384,28 +359,28 @@ msgid ""
"requirement of safe transactional data access." "requirement of safe transactional data access."
msgstr "" msgstr ""
"Hibernate libère les développeurs de l'écriture fastidieuse des " "Hibernate libère les développeurs de l'écriture fastidieuse des "
"<emphasis>objets de transfert de données (NdT : Data Transfer Objects)</" "<emphasis>objets de transfert de données </emphasis> (DTO). Dans une "
"emphasis> (DTO). Dans une architecture EJB traditionnelle, les DTOs ont deux " "architecture EJB traditionnelle, les DTO ont deux buts : premièrement, ils "
"buts : premièrement, ils contournent le problème des \"entity bean\" qui ne " "contournent le problème des beans entités qui ne sont pas sérialisables ; "
"sont pas sérialisables ; deuxièmement, ils définissent implicitement une " "deuxièmement, ils définissent implicitement une phase d'assemblage où toutes "
"phase d'assemblage où toutes les données utilisées par la vue sont " "les données utilisées par la vue sont rapatriées et organisées dans les DTO "
"rapatriées et organisées dans les DTOs avant de retourner sous le contrôle " "avant de retourner sous le contrôle de la couche de présentation. Hibernate "
"de la couche de présentation. Hibernate élimine le premier but. Pourtant, " "élimine le premier but. Cependant, vous aurez encore besoin d'une phase "
"vous aurez encore besoin d'une phase d'assemblage (pensez vos méthodes " "d'assemblage (pensez à vos méthodes métier comme ayant un contrat strict "
"métier comme ayant un contrat strict avec la couche de présentation à propos " "avec la couche de présentation, en ce qui concerne les données disponibles "
"de quelles données sont disponibles dans les objets détachés) à moins que " "dans les objets détachés) à moins que vous soyez préparés à garder le "
"vous soyez préparés à garder le contexte de persistance (la session) ouvert " "contexte de persistance (la session) ouvert à travers tout le processus de "
"à travers tout le processus de rendu de la vue." "rendu de la vue. Ceci ne représente pas une limitation de Hibernate! Au "
"contraire c'est une exigence fondamentale d'un accès sécurisé aux données "
"transactionnelles. "
#. Tag: term #. Tag: term
#: best_practices.xml:215 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider abstracting your business logic from Hibernate:" msgid "Consider abstracting your business logic from Hibernate:"
msgstr "Pensez à abstraite votre logique métier d'Hibernate." msgstr "Pensez à abstraire votre logique métier d'Hibernate :"
#. Tag: para #. Tag: para
#: best_practices.xml:217 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hide Hibernate data-access code behind an interface. Combine the " "Hide Hibernate data-access code behind an interface. Combine the "
"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> " "<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
@ -415,21 +390,19 @@ msgid ""
"appropriate for an application with five tables." "appropriate for an application with five tables."
msgstr "" msgstr ""
"Cachez le mécanisme d'accès aux données (Hibernate) derrière une interface. " "Cachez le mécanisme d'accès aux données (Hibernate) derrière une interface. "
"Combinez les patterns <emphasis>DAO</emphasis> et <emphasis>Thread Local " "Combinez les modèles <emphasis>DAO</emphasis> et <emphasis>Thread Local "
"Session</emphasis>. Vous pouvez même avoir quelques classes persistées par " "Session</emphasis>. Vous pouvez même avoir quelques classes persistées par "
"du JDBC pur, associées à Hibernate via un <literal>UserType</literal> (ce " "du JDBC pur, associées à Hibernate via un <literal>UserType</literal> (ce "
"conseil est valable pour des applications de taille respectables ; il n'est " "conseil est valable pour des applications de taille respectables ; il n'est "
"pas valable pour une application avec cinq tables)." "pas valable pour une application avec cinq tables). "
#. Tag: term #. Tag: term
#: best_practices.xml:227 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not use exotic association mappings:" msgid "Do not use exotic association mappings:"
msgstr "N'utilisez pas d'associations de mapping exotiques." msgstr "N'utilisez pas d'associations de mapping exotiques :"
#. Tag: para #. Tag: para
#: best_practices.xml:229 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Practical test cases for real many-to-many associations are rare. Most of " "Practical test cases for real many-to-many associations are rare. Most of "
"the time you need additional information stored in the \"link table\". In " "the time you need additional information stored in the \"link table\". In "
@ -438,23 +411,21 @@ msgid ""
"to-one. For this reason, you should proceed cautiously when using any other " "to-one. For this reason, you should proceed cautiously when using any other "
"association style." "association style."
msgstr "" msgstr ""
"De bons cas d'utilisation pour de vraies associations plusieurs-vers-" "Les utilisations appropriées de vraies associations plusieurs-à-plusieurs "
"plusieurs sont rares. La plupart du temps vous avez besoin d'informations " "sont rares. La plupart du temps vous avez besoin d'informations "
"additionnelles stockées dans la table d'association. Dans ce cas, il est " "additionnelles stockées dans la table d'association. Dans ce cas, il est "
"préférable d'utiliser deux associations un-vers-plusieurs vers une classe de " "préférable d'utiliser deux associations un-à-plusieurs vers une classe de "
"liaisons intermédiaire. En fait, nous pensons que la plupart des " "liaisons intermédiaire. En fait, nous pensons que la plupart des "
"associations sont de type un-vers-plusieurs ou plusieurs-vers-un, vous devez " "associations sont de type un-à-plusieurs ou plusieurs-à-un, vous devez être "
"être très attentifs lorsque vous utilisez autre chose et vous demander si " "très prudent lorsque vous utilisez toute autre association et vous demander "
"c'est vraiment nécessaire." "si c'est vraiment nécessaire. "
#. Tag: term #. Tag: term
#: best_practices.xml:239 #, no-c-format
#, fuzzy, no-c-format
msgid "Prefer bidirectional associations:" msgid "Prefer bidirectional associations:"
msgstr "Préférez les associations bidirectionnelles." msgstr "Préférez les associations bidirectionnelles :"
#. Tag: para #. Tag: para
#: best_practices.xml:241
#, no-c-format #, no-c-format
msgid "" msgid ""
"Unidirectional associations are more difficult to query. In a large " "Unidirectional associations are more difficult to query. In a large "
@ -463,4 +434,4 @@ msgid ""
msgstr "" msgstr ""
"Les associations unidirectionnelles sont plus difficiles à questionner. Dans " "Les associations unidirectionnelles sont plus difficiles à questionner. Dans "
"une grande application, la plupart des associations devraient être " "une grande application, la plupart des associations devraient être "
"navigables dans les deux directions dans les requêtes." "navigables dans les deux directions dans les requêtes. "

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2009-07-14 19:55+0000\n" "PO-Revision-Date: 2009-07-14 19:55+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -14,55 +14,36 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. Tag: title #. Tag: title
#: bibliography.xml:27
#, no-c-format #, no-c-format
msgid "References" msgid "References"
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: bibliography.xml:31
#, no-c-format #, no-c-format
msgid "Patterns of Enterprise Application Architecture" msgid "Patterns of Enterprise Application Architecture"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:34
#, no-c-format #, no-c-format
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>" msgid "Martin"
msgstr ""
#. Tag: holder
#: bibliography.xml:41
#, no-c-format
msgid "Pearson Education, Inc."
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: bibliography.xml:50
#, no-c-format #, no-c-format
msgid "Java Persistence with Hibernate" msgid "Java Persistence with Hibernate"
msgstr "" msgstr ""
#. Tag: subtitle #. Tag: subtitle
#: bibliography.xml:51
#, no-c-format #, no-c-format
msgid "Second Edition of Hibernate in Action" msgid "Second Edition of Hibernate in Action"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:57
#, no-c-format #, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>" msgid "Christian"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:61
#, no-c-format #, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>" msgid "Gavin"
msgstr ""
#. Tag: holder
#: bibliography.xml:68
#, no-c-format
msgid "Manning Publications Co."
msgstr "" msgstr ""

View File

@ -1,24 +1,28 @@
# translation of events.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: events\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2009-11-11 09:16+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: events.xml:29
#, no-c-format #, no-c-format
msgid "Interceptors and events" msgid "Interceptors and events"
msgstr "Les intercepteurs et les événements" msgstr "Intercepteurs et événements"
#. Tag: para #. Tag: para
#: events.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"It is useful for the application to react to certain events that occur " "It is useful for the application to react to certain events that occur "
"inside Hibernate. This allows for the implementation of generic " "inside Hibernate. This allows for the implementation of generic "
@ -26,18 +30,15 @@ msgid ""
msgstr "" msgstr ""
"Il est souvent utile pour l'application de réagir à certains événements qui " "Il est souvent utile pour l'application de réagir à certains événements qui "
"surviennent dans Hibernate. Cela autorise l'implémentation de certaines " "surviennent dans Hibernate. Cela autorise l'implémentation de certaines "
"sortes de fonctionnalités génériques, et d'extensions de fonctionnalités " "fonctionnalités génériques, et l'extension de fonctionnalités d'Hibernate."
"d'Hibernate."
#. Tag: title #. Tag: title
#: events.xml:38
#, no-c-format #, no-c-format
msgid "Interceptors" msgid "Interceptors"
msgstr "Intercepteurs" msgstr "Intercepteurs"
#. Tag: para #. Tag: para
#: events.xml:40 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>Interceptor</literal> interface provides callbacks from the " "The <literal>Interceptor</literal> interface provides callbacks from the "
"session to the application, allowing the application to inspect and/or " "session to the application, allowing the application to inspect and/or "
@ -50,145 +51,46 @@ msgid ""
"literal> is updated." "literal> is updated."
msgstr "" msgstr ""
"L'interface <literal>Interceptor</literal> fournit des \"callbacks\" de la " "L'interface <literal>Interceptor</literal> fournit des \"callbacks\" de la "
"session vers l'application et permettent à l'application de consulter et/ou " "session vers l'application permettant à l'application de consulter et/ou de "
"de manipuler des propriétés d'un objet persistant avant qu'il soit " "manipuler des propriétés d'un objet persistant avant qu'il soit sauvegardé, "
"sauvegardé, mis à jour, supprimé ou chargé. Une utilisation possible de " "mis à jour, supprimé ou chargé. Une utilisation possible de cette "
"cette fonctionnalité est de tracer l'accès à l'information. Par exemple, " "fonctionnalité est de tracer l'accès à l'information. Par exemple, "
"l'<literal>Interceptor</literal> suivant positionne " "l'<literal>Interceptor</literal> suivant positionne "
"<literal>createTimestamp</literal> quand un <literal>Auditable</literal> est " "<literal>createTimestamp</literal> quand un <literal>Auditable</literal> est "
"créé et met à jour la propriété <literal>lastUpdateTimestamp</literal> quand " "créé et met à jour la propriété <literal>lastUpdateTimestamp</literal> quand "
"un <literal>Auditable</literal> est mis à jour." "un <literal>Auditable</literal> est mis à jour. "
#. Tag: para #. Tag: para
#: events.xml:51 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can either implement <literal>Interceptor</literal> directly or extend " "You can either implement <literal>Interceptor</literal> directly or extend "
"<literal>EmptyInterceptor</literal>." "<literal>EmptyInterceptor</literal>."
msgstr "" msgstr ""
"Vous pouvez soit implémenter <literal>Interceptor</literal> directement ou " "Vous pouvez soit implémenter <literal>Interceptor</literal> directement ou "
"(mieux) étendre <literal>EmptyInterceptor</literal>." "(mieux) étendre <literal>EmptyInterceptor</literal>. "
#. Tag: programlisting
#: events.xml:56
#, no-c-format
msgid ""
"<![CDATA[package org.hibernate.test;\n"
"\n"
"import java.io.Serializable;\n"
"import java.util.Date;\n"
"import java.util.Iterator;\n"
"\n"
"import org.hibernate.EmptyInterceptor;\n"
"import org.hibernate.Transaction;\n"
"import org.hibernate.type.Type;\n"
"\n"
"public class AuditInterceptor extends EmptyInterceptor {\n"
"\n"
" private int updates;\n"
" private int creates;\n"
" private int loads;\n"
"\n"
" public void onDelete(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
" // do nothing\n"
" }\n"
"\n"
" public boolean onFlushDirty(Object entity,\n"
" Serializable id,\n"
" Object[] currentState,\n"
" Object[] previousState,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
"\n"
" if ( entity instanceof Auditable ) {\n"
" updates++;\n"
" for ( int i=0; i < propertyNames.length; i++ ) {\n"
" if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) {\n"
" currentState[i] = new Date();\n"
" return true;\n"
" }\n"
" }\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public boolean onLoad(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
" if ( entity instanceof Auditable ) {\n"
" loads++;\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public boolean onSave(Object entity,\n"
" Serializable id,\n"
" Object[] state,\n"
" String[] propertyNames,\n"
" Type[] types) {\n"
"\n"
" if ( entity instanceof Auditable ) {\n"
" creates++;\n"
" for ( int i=0; i<propertyNames.length; i++ ) {\n"
" if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
" state[i] = new Date();\n"
" return true;\n"
" }\n"
" }\n"
" }\n"
" return false;\n"
" }\n"
"\n"
" public void afterTransactionCompletion(Transaction tx) {\n"
" if ( tx.wasCommitted() ) {\n"
" System.out.println(\"Creations: \" + creates + \", Updates: \" + "
"updates, \"Loads: \" + loads);\n"
" }\n"
" updates=0;\n"
" creates=0;\n"
" loads=0;\n"
" }\n"
"\n"
"}]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:58 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"There are two kinds of inteceptors: <literal>Session</literal>-scoped and " "There are two kinds of inteceptors: <literal>Session</literal>-scoped and "
"<literal>SessionFactory</literal>-scoped." "<literal>SessionFactory</literal>-scoped."
msgstr "" msgstr ""
"Interceptors come in two flavors: <literal>Session</literal>-scoped and " "Il y a deux types d'intercepteurs : lié à la <literal>Session</literal> et "
"<literal>SessionFactory</literal>-scoped." "lié à la <literal>SessionFactory</literal>. "
#. Tag: para #. Tag: para
#: events.xml:63
#, no-c-format #, no-c-format
msgid "" msgid ""
"A <literal>Session</literal>-scoped interceptor is specified when a session " "A <literal>Session</literal>-scoped interceptor is specified when a session "
"is opened using one of the overloaded SessionFactory.openSession() methods " "is opened using one of the overloaded SessionFactory.openSession() methods "
"accepting an <literal>Interceptor</literal>." "accepting an <literal>Interceptor</literal>."
msgstr "" msgstr ""
"A <literal>Session</literal>-scoped interceptor is specified when a session " "Un intercepteur lié à la <literal>Session</literal> est défini lorsqu'une "
"is opened using one of the overloaded SessionFactory.openSession() methods " "session est ouverte via l'invocation des méthodes surchargées SessionFactory."
"accepting an <literal>Interceptor</literal>." "openSession() acceptant un <literal>Interceptor</literal> (comme argument)."
#. Tag: programlisting
#: events.xml:69
#, no-c-format
msgid "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:71 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A <literal>SessionFactory</literal>-scoped interceptor is registered with " "A <literal>SessionFactory</literal>-scoped interceptor is registered with "
"the <literal>Configuration</literal> object prior to building the " "the <literal>Configuration</literal> object prior to building the "
@ -199,31 +101,24 @@ msgid ""
"Ensure that you do not store session-specific states, since multiple " "Ensure that you do not store session-specific states, since multiple "
"sessions will use this interceptor potentially concurrently." "sessions will use this interceptor potentially concurrently."
msgstr "" msgstr ""
"A <literal>SessionFactory</literal>-scoped interceptor is registered with " "Un intercepteur lié à <literal>SessionFactory</literal> est enregistré avec "
"the <literal>Configuration</literal> object prior to building the " "l'objet <literal>Configuration</literal> avant la construction de la "
"<literal>SessionFactory</literal>. In this case, the supplied interceptor " "<literal>SessionFactory</literal>. Dans ce cas, les intercepteurs fournis "
"will be applied to all sessions opened from that <literal>SessionFactory</" "seront appliqués à toutes les sessions ouvertes pour cette "
"literal>; this is true unless a session is opened explicitly specifying the " "<literal>SessionFactory</literal>; ceci est vrai à moins que la session ne "
"interceptor to use. <literal>SessionFactory</literal>-scoped interceptors " "soit ouverte en spécifiant l'intercepteur à utiliser. Les intercepteurs liés "
"must be thread safe, taking care to not store session-specific state since " "à la <literal>SessionFactory</literal> doivent être thread safe, en faisant "
"multiple sessions will use this interceptor (potentially) concurrently." "attention à ne pas stocker des états spécifiques de la session puisque "
"plusieurs sessions peuvent utiliser cet intercepteur (potentiellement) de "
#. Tag: programlisting "manière concurrente. "
#: events.xml:80
#, no-c-format
msgid ""
"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
msgstr ""
#. Tag: title #. Tag: title
#: events.xml:85
#, no-c-format #, no-c-format
msgid "Event system" msgid "Event system"
msgstr "Système d'événements" msgstr "Système d'événements"
#. Tag: para #. Tag: para
#: events.xml:87 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you have to react to particular events in your persistence layer, you can " "If you have to react to particular events in your persistence layer, you can "
"also use the Hibernate3 <emphasis>event</emphasis> architecture. The event " "also use the Hibernate3 <emphasis>event</emphasis> architecture. The event "
@ -231,12 +126,11 @@ msgid ""
msgstr "" msgstr ""
"Si vous devez réagir à des événements particuliers dans votre couche de " "Si vous devez réagir à des événements particuliers dans votre couche de "
"persistance, vous pouvez aussi utiliser l'architecture " "persistance, vous pouvez aussi utiliser l'architecture "
"d'<emphasis>événements</emphasis> d'Hibernate3. Le système d'événements peut " "d'<emphasis>événements</emphasis> de Hibernate3. Le système d'événements "
"être utilisé en supplément ou en remplacement des interceptors." "peut être utilisé en supplément ou en remplacement des interceptors. "
#. Tag: para #. Tag: para
#: events.xml:93 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"All the methods of the <literal>Session</literal> interface correlate to an " "All the methods of the <literal>Session</literal> interface correlate to an "
"event. You have a <literal>LoadEvent</literal>, a <literal>FlushEvent</" "event. You have a <literal>LoadEvent</literal>, a <literal>FlushEvent</"
@ -256,7 +150,7 @@ msgstr ""
"Essentiellement toutes les méthodes de l'interface <literal>Session</" "Essentiellement toutes les méthodes de l'interface <literal>Session</"
"literal> sont corrélées à un événement. Vous avez un <literal>LoadEvent</" "literal> sont corrélées à un événement. Vous avez un <literal>LoadEvent</"
"literal>, un <literal>FlushEvent</literal>, etc (consultez la DTD du fichier " "literal>, un <literal>FlushEvent</literal>, etc (consultez la DTD du fichier "
"de configuration XML ou le paquet <literal>org.hibernate.event</literal> " "de configuration XML ou le paquetage <literal>org.hibernate.event</literal> "
"pour avoir la liste complète des types d'événement définis). Quand une " "pour avoir la liste complète des types d'événement définis). Quand une "
"requête est faite à partir d'une de ces méthodes, la <literal>Session</" "requête est faite à partir d'une de ces méthodes, la <literal>Session</"
"literal> Hibernate génère un événement approprié et le passe au listener " "literal> Hibernate génère un événement approprié et le passe au listener "
@ -267,22 +161,20 @@ msgstr ""
"l'implémentation de l'interface <literal>LoadEventListener</literal> " "l'implémentation de l'interface <literal>LoadEventListener</literal> "
"déclarée), dans quel cas leur implémentation devrait être responsable du " "déclarée), dans quel cas leur implémentation devrait être responsable du "
"traitement des requêtes <literal>load()</literal> faites par la " "traitement des requêtes <literal>load()</literal> faites par la "
"<literal>Session</literal>." "<literal>Session</literal>. "
#. Tag: para #. Tag: para
#: events.xml:108 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The listeners should be considered singletons. This means they are shared " "The listeners should be considered singletons. This means they are shared "
"between requests, and should not save any state as instance variables." "between requests, and should not save any state as instance variables."
msgstr "" msgstr ""
"Les listeners devraient effectivement être considérés comme des singletons ; " "Les listeners devraient effectivement être considérés comme des singletons ; "
"dans le sens où ils sont partagés entre des requêtes, et donc ne devraient " "dans le sens où ils sont partagés entre des requêtes, et donc ne devraient "
"pas sauvegarder des états de variables d'instance." "pas sauvegarder des états en tant que variables d'instance. "
#. Tag: para #. Tag: para
#: events.xml:113 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A custom listener implements the appropriate interface for the event it " "A custom listener implements the appropriate interface for the event it "
"wants to process and/or extend one of the convenience base classes (or even " "wants to process and/or extend one of the convenience base classes (or even "
@ -298,72 +190,27 @@ msgstr ""
"même l'événement prêt à l'emploi utilisé par Hibernate comme ceux déclarés " "même l'événement prêt à l'emploi utilisé par Hibernate comme ceux déclarés "
"non-finaux à cette intention). Les listeners personnalisés peuvent être soit " "non-finaux à cette intention). Les listeners personnalisés peuvent être soit "
"inscrits par programmation à travers l'objet <literal>Configuration</" "inscrits par programmation à travers l'objet <literal>Configuration</"
"literal>, ou spécifiés la configuration XML d'Hibernate (la configuration " "literal>, ou spécifiés dans la configuration XML de Hibernate (la "
"déclarative à travers le fichier de propriétés n'est pas supportée). Voici " "configuration déclarative à travers le fichier de propriétés n'est pas "
"un exemple de listener personnalisé pour l'événement de chargement :" "supportée). Voici un exemple de listener personnalisé pour l'événement de "
"chargement :"
#. Tag: programlisting
#: events.xml:123
#, no-c-format
msgid ""
"<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
" // this is the single method defined by the LoadEventListener interface\n"
" public void onLoad(LoadEvent event, LoadEventListener.LoadType "
"loadType)\n"
" throws HibernateException {\n"
" if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
"getEntityId() ) ) {\n"
" throw MySecurityException(\"Unauthorized access\");\n"
" }\n"
" }\n"
"}]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:125
#, no-c-format #, no-c-format
msgid "" msgid ""
"You also need a configuration entry telling Hibernate to use the listener in " "You also need a configuration entry telling Hibernate to use the listener in "
"addition to the default listener:" "addition to the default listener:"
msgstr "" msgstr ""
"Vous avez aussi besoin d'une entrée de configuration disant à Hibernate " "Vous avez aussi besoin d'une entrée de configuration indiquant à Hibernate "
"d'utiliser ce listener en plus du listener par défaut :" "d'utiliser ce listener en plus du listener par défaut :"
#. Tag: programlisting
#: events.xml:130
#, no-c-format
msgid ""
"<![CDATA[<hibernate-configuration>\n"
" <session-factory>\n"
" ...\n"
" <event type=\"load\">\n"
" <listener class=\"com.eg.MyLoadListener\"/>\n"
" <listener class=\"org.hibernate.event.def."
"DefaultLoadEventListener\"/>\n"
" </event>\n"
" </session-factory>\n"
"</hibernate-configuration>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:132 #, no-c-format
#, fuzzy, no-c-format
msgid "Instead, you can register it programmatically:" msgid "Instead, you can register it programmatically:"
msgstr "Vous pouvez aussi l'inscrire par programmation :" msgstr "Vous pouvez aussi l'inscrire par programmation : "
#. Tag: programlisting
#: events.xml:136
#, no-c-format
msgid ""
"<![CDATA[Configuration cfg = new Configuration();\n"
"LoadEventListener[] stack = { new MyLoadListener(), new "
"DefaultLoadEventListener() };\n"
"cfg.EventListeners().setLoadEventListeners(stack);]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:138 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Listeners registered declaratively cannot share instances. If the same class " "Listeners registered declaratively cannot share instances. If the same class "
"name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each " "name is used in multiple <literal>&lt;listener/&gt;</literal> elements, each "
@ -373,14 +220,13 @@ msgid ""
msgstr "" msgstr ""
"Les listeners inscrits déclarativement ne peuvent pas partager d'instances. " "Les listeners inscrits déclarativement ne peuvent pas partager d'instances. "
"Si le même nom de classe est utilisée dans plusieurs éléments <literal>&lt;" "Si le même nom de classe est utilisée dans plusieurs éléments <literal>&lt;"
"listener/&gt;</literal>, chaque référence sera une instance distincte de " "listener/&gt;</literal>, chaque référence sultera en une instance "
"cette classe. Si vous avez besoin de la faculté de partager des instances de " "distincte de cette classe. Si vous avez besoin de la faculté de partager des "
"listener entre plusieurs types de listener, vous devez utiliser l'approche " "instances de listener entre plusieurs types de listener, vous devez utiliser "
"d'inscription par programmation." "l'approche d'inscription par programmation. "
#. Tag: para #. Tag: para
#: events.xml:146 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Why implement an interface and define the specific type during " "Why implement an interface and define the specific type during "
"configuration? A listener implementation could implement multiple event " "configuration? A listener implementation could implement multiple event "
@ -390,19 +236,17 @@ msgid ""
msgstr "" msgstr ""
"Pourquoi implémenter une interface et définir le type spécifique durant la " "Pourquoi implémenter une interface et définir le type spécifique durant la "
"configuration ? Une implémentation de listener pourrait implémenter " "configuration ? Une implémentation de listener pourrait implémenter "
"plusieurs interfaces de listener d'événements. Avoir en plus le type défini " "plusieurs interfaces de listener d'événements. Par ailleurs, le fait de "
"durant l'inscription rend plus facile l'activation ou la désactivation " "définir le type durant l'inscription, rend l'activation ou la désactivation "
"pendant la configuration." "plus facile au moment de la configuration. "
#. Tag: title #. Tag: title
#: events.xml:156
#, no-c-format #, no-c-format
msgid "Hibernate declarative security" msgid "Hibernate declarative security"
msgstr "Sécurité déclarative d'Hibernate" msgstr "Sécurité déclarative de Hibernate "
#. Tag: para #. Tag: para
#: events.xml:157 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Usually, declarative security in Hibernate applications is managed in a " "Usually, declarative security in Hibernate applications is managed in a "
"session facade layer. Hibernate3 allows certain actions to be permissioned " "session facade layer. Hibernate3 allows certain actions to be permissioned "
@ -413,35 +257,19 @@ msgstr ""
"gérée dans la couche de session. Maintenant, Hibernate3 permet à certaines " "gérée dans la couche de session. Maintenant, Hibernate3 permet à certaines "
"actions d'être approuvées via JACC, et autorisées via JAAS. Cette " "actions d'être approuvées via JACC, et autorisées via JAAS. Cette "
"fonctionnalité optionnelle est construite au dessus de l'architecture " "fonctionnalité optionnelle est construite au dessus de l'architecture "
"d'événements." "d'événements. "
#. Tag: para #. Tag: para
#: events.xml:163
#, no-c-format #, no-c-format
msgid "" msgid ""
"First, you must configure the appropriate event listeners, to enable the use " "First, you must configure the appropriate event listeners, to enable the use "
"of JAAS authorization." "of JAAS authorization."
msgstr "" msgstr ""
"D'abord, vous devez configurer les listeners d'événements appropriés pour " "D'abord, vous devez configurer les listeners d'événements appropriés pour "
"permettre l'utilisation d'autorisations JAAS." "permettre l'utilisation d'autorisations JAAS. "
#. Tag: programlisting
#: events.xml:168
#, no-c-format
msgid ""
"<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
"JACCPreDeleteEventListener\"/>\n"
"<listener type=\"pre-update\" class=\"org.hibernate.secure."
"JACCPreUpdateEventListener\"/>\n"
"<listener type=\"pre-insert\" class=\"org.hibernate.secure."
"JACCPreInsertEventListener\"/>\n"
"<listener type=\"pre-load\" class=\"org.hibernate.secure."
"JACCPreLoadEventListener\"/>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:170 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is " "Note that <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is "
"shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/" "shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class=\"...\"/"
@ -451,29 +279,288 @@ msgstr ""
"Notez que <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> " "Notez que <literal>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> "
"est juste un raccourci pour <literal>&lt;event type=\"...\"&gt;&lt;listener " "est juste un raccourci pour <literal>&lt;event type=\"...\"&gt;&lt;listener "
"class=\"...\"/&gt;&lt;/event&gt;</literal> quand il y a exactement un " "class=\"...\"/&gt;&lt;/event&gt;</literal> quand il y a exactement un "
"listener pour un type d'événement particulier." "listener pour un type d'événement particulier. "
#. Tag: para #. Tag: para
#: events.xml:176 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Next, while still in <literal>hibernate.cfg.xml</literal>, bind the " "Next, while still in <literal>hibernate.cfg.xml</literal>, bind the "
"permissions to roles:" "permissions to roles:"
msgstr "" msgstr ""
"Ensuite, toujours dans <literal>hibernate.cfg.xml</literal>, lier les " "Ensuite, toujours dans <literal>hibernate.cfg.xml</literal>, liez les "
"permissions aux rôles :" "permissions aux rôles : "
#. Tag: programlisting
#: events.xml:180
#, no-c-format
msgid ""
"<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,update,"
"read\"/>\n"
"<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: events.xml:182
#, no-c-format #, no-c-format
msgid "The role names are the roles understood by your JACC provider." msgid "The role names are the roles understood by your JACC provider."
msgstr "Les noms de rôle sont les rôles compris par votre fournisseur JAAC." msgstr "Les noms de rôle sont les rôles compris par votre fournisseur JAAC."
#~ msgid ""
#~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgstr ""
#~ "<![CDATA[package org.hibernate.test;\n"
#~ "\n"
#~ "import java.io.Serializable;\n"
#~ "import java.util.Date;\n"
#~ "import java.util.Iterator;\n"
#~ "\n"
#~ "import org.hibernate.EmptyInterceptor;\n"
#~ "import org.hibernate.Transaction;\n"
#~ "import org.hibernate.type.Type;\n"
#~ "\n"
#~ "public class AuditInterceptor extends EmptyInterceptor {\n"
#~ "\n"
#~ " private int updates;\n"
#~ " private int creates;\n"
#~ " private int loads;\n"
#~ "\n"
#~ " public void onDelete(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " // do nothing\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onFlushDirty(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] currentState,\n"
#~ " Object[] previousState,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " updates++;\n"
#~ " for ( int i=0; i < propertyNames.length; i++ ) {\n"
#~ " if ( \"lastUpdateTimestamp\".equals( propertyNames[i] ) ) "
#~ "{\n"
#~ " currentState[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onLoad(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " loads++;\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public boolean onSave(Object entity,\n"
#~ " Serializable id,\n"
#~ " Object[] state,\n"
#~ " String[] propertyNames,\n"
#~ " Type[] types) {\n"
#~ "\n"
#~ " if ( entity instanceof Auditable ) {\n"
#~ " creates++;\n"
#~ " for ( int i=0; i<propertyNames.length; i++ ) {\n"
#~ " if ( \"createTimestamp\".equals( propertyNames[i] ) ) {\n"
#~ " state[i] = new Date();\n"
#~ " return true;\n"
#~ " }\n"
#~ " }\n"
#~ " }\n"
#~ " return false;\n"
#~ " }\n"
#~ "\n"
#~ " public void afterTransactionCompletion(Transaction tx) {\n"
#~ " if ( tx.wasCommitted() ) {\n"
#~ " System.out.println(\"Creations: \" + creates + \", Updates: "
#~ "\" + updates, \"Loads: \" + loads);\n"
#~ " }\n"
#~ " updates=0;\n"
#~ " creates=0;\n"
#~ " loads=0;\n"
#~ " }\n"
#~ "\n"
#~ "}]]>"
#~ msgid ""
#~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgstr ""
#~ "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
#~ msgid ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgstr ""
#~ "<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
#~ msgid ""
#~ "<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
#~ " // this is the single method defined by the LoadEventListener "
#~ "interface\n"
#~ " public void onLoad(LoadEvent event, LoadEventListener.LoadType "
#~ "loadType)\n"
#~ " throws HibernateException {\n"
#~ " if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
#~ "getEntityId() ) ) {\n"
#~ " throw MySecurityException(\"Unauthorized access\");\n"
#~ " }\n"
#~ " }\n"
#~ "}]]>"
#~ msgstr ""
#~ "<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
#~ " // this is the single method defined by the LoadEventListener "
#~ "interface\n"
#~ " public void onLoad(LoadEvent event, LoadEventListener.LoadType "
#~ "loadType)\n"
#~ " throws HibernateException {\n"
#~ " if ( !MySecurity.isAuthorized( event.getEntityClassName(), event."
#~ "getEntityId() ) ) {\n"
#~ " throw MySecurityException(\"Unauthorized access\");\n"
#~ " }\n"
#~ " }\n"
#~ "}]]>"
#~ msgid ""
#~ "<![CDATA[<hibernate-configuration>\n"
#~ " <session-factory>\n"
#~ " ...\n"
#~ " <event type=\"load\">\n"
#~ " <listener class=\"com.eg.MyLoadListener\"/>\n"
#~ " <listener class=\"org.hibernate.event.def."
#~ "DefaultLoadEventListener\"/>\n"
#~ " </event>\n"
#~ " </session-factory>\n"
#~ "</hibernate-configuration>]]>"
#~ msgstr ""
#~ "<![CDATA[<hibernate-configuration>\n"
#~ " <session-factory>\n"
#~ " ...\n"
#~ " <event type=\"load\">\n"
#~ " <listener class=\"com.eg.MyLoadListener\"/>\n"
#~ " <listener class=\"org.hibernate.event.def."
#~ "DefaultLoadEventListener\"/>\n"
#~ " </event>\n"
#~ " </session-factory>\n"
#~ "</hibernate-configuration>]]>"
#~ msgid ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgstr ""
#~ "<![CDATA[Configuration cfg = new Configuration();\n"
#~ "LoadEventListener[] stack = { new MyLoadListener(), new "
#~ "DefaultLoadEventListener() };\n"
#~ "cfg.EventListeners().setLoadEventListeners(stack);]]>"
#~ msgid ""
#~ "<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
#~ "JACCPreDeleteEventListener\"/>\n"
#~ "<listener type=\"pre-update\" class=\"org.hibernate.secure."
#~ "JACCPreUpdateEventListener\"/>\n"
#~ "<listener type=\"pre-insert\" class=\"org.hibernate.secure."
#~ "JACCPreInsertEventListener\"/>\n"
#~ "<listener type=\"pre-load\" class=\"org.hibernate.secure."
#~ "JACCPreLoadEventListener\"/>]]>"
#~ msgstr ""
#~ "<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
#~ "JACCPreDeleteEventListener\"/>\n"
#~ "<listener type=\"pre-update\" class=\"org.hibernate.secure."
#~ "JACCPreUpdateEventListener\"/>\n"
#~ "<listener type=\"pre-insert\" class=\"org.hibernate.secure."
#~ "JACCPreInsertEventListener\"/>\n"
#~ "<listener type=\"pre-load\" class=\"org.hibernate.secure."
#~ "JACCPreLoadEventListener\"/>]]>"
#~ msgid ""
#~ "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,"
#~ "update,read\"/>\n"
#~ "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"
#~ msgstr ""
#~ "<![CDATA[<grant role=\"admin\" entity-name=\"User\" actions=\"insert,"
#~ "update,read\"/>\n"
#~ "<grant role=\"su\" entity-name=\"User\" actions=\"*\"/>]]>"

View File

@ -1,24 +1,28 @@
# translation of example_parentchild.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: example_parentchild\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-08-17 20:22+0000\n" "POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-05 09:05+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: example_parentchild.xml:29
#, no-c-format #, no-c-format
msgid "Example: Parent/Child" msgid "Example: Parent/Child"
msgstr "Exemple : Père/Fils" msgstr "Exemple : père/fils"
#. Tag: para #. Tag: para
#: example_parentchild.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"One of the first things that new users want to do with Hibernate is to model " "One of the first things that new users want to do with Hibernate is to model "
"a parent/child type relationship. There are two different approaches to " "a parent/child type relationship. There are two different approaches to "
@ -42,46 +46,41 @@ msgstr ""
"literal> comme des classes entités liées par une association <literal>&lt;" "literal> comme des classes entités liées par une association <literal>&lt;"
"one-to-many&gt;</literal> du <literal>Père</literal> vers le <literal>Fils</" "one-to-many&gt;</literal> du <literal>Père</literal> vers le <literal>Fils</"
"literal> (l'autre approche est de déclarer le <literal>Fils</literal> comme " "literal> (l'autre approche est de déclarer le <literal>Fils</literal> comme "
"un <literal>&lt;composite-element&gt;</literal>). Il est évident que le sens " "un <literal>&lt;composite-element&gt;</literal>). On constate que la "
"de l'association un vers plusieurs (dans Hibernate) est bien moins proche du " "sémantique par défaut de l'association un-à-plusieurs (dans Hibernate) est "
"sens habituel d'une relation père/fils que ne l'est celui d'un élément " "bien moins proche du sens habituel d'une relation père/fils que celle d'un "
"cmposite. Nous allons vous expliquer comment utiliser une association " "mappage d'élément composite. Nous allons vous expliquer comment utiliser une "
"<emphasis>un vers plusieurs bidirectionnelle avec cascade</emphasis> afin de " "association <emphasis>un-à-plusieurs bidirectionnelle avec cascade</"
"modéliser efficacement et élégamment une relation père/fils, ce n'est " "emphasis> afin de modéliser efficacement et élégamment une relation père/"
"vraiment pas difficile !" "fils."
#. Tag: title #. Tag: title
#: example_parentchild.xml:45
#, no-c-format #, no-c-format
msgid "A note about collections" msgid "A note about collections"
msgstr "Une note à propos des collections" msgstr "Une note à propos des collections"
#. Tag: para #. Tag: para
#: example_parentchild.xml:47 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate collections are considered to be a logical part of their owning " "Hibernate collections are considered to be a logical part of their owning "
"entity and not of the contained entities. Be aware that this is a critical " "entity and not of the contained entities. Be aware that this is a critical "
"distinction that has the following consequences:" "distinction that has the following consequences:"
msgstr "" msgstr ""
"Les collections Hibernate sont considérées comme étant une partie logique de " "Les collections Hibernate sont considérées comme étant une partie logique de "
"l'entité dans laquelle elles sont contenues ; jamais des entités qu'elle " "leur entité propriétaire, jamais des entités qu'elle contient. C'est une "
"contient. C'est une distinction crutiale ! Les conséquences sont les " "distinction cruciale ! Les conséquences sont les suivantes : "
"suivantes :"
#. Tag: para #. Tag: para
#: example_parentchild.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When you remove/add an object from/to a collection, the version number of " "When you remove/add an object from/to a collection, the version number of "
"the collection owner is incremented." "the collection owner is incremented."
msgstr "" msgstr ""
"Quand nous ajoutons / retirons un objet d'une collection, le numéro de " "Quand nous ajoutons / retirons un objet d'une collection, le numéro de "
"version du propriétaire de la collection est incrémenté." "version du propriétaire de la collection est incrémenté. "
#. Tag: para #. Tag: para
#: example_parentchild.xml:60 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If an object that was removed from a collection is an instance of a value " "If an object that was removed from a collection is an instance of a value "
"type (e.g. a composite element), that object will cease to be persistent and " "type (e.g. a composite element), that object will cease to be persistent and "
@ -90,14 +89,13 @@ msgid ""
"persistent." "persistent."
msgstr "" msgstr ""
"Si un objet qui a été enlevé d'une collection est une instance de type " "Si un objet qui a été enlevé d'une collection est une instance de type "
"valeur (ex : élément composite), cet objet cessera d'être persistant et son " "valeur (par ex : élément composite), cet objet cessera d'être persistant et "
"état sera complètement effacé de la base de données. Par ailleurs, ajouter " "son état sera complètement effacé de la base de données. Par ailleurs, "
"une instance de type valeur dans une collection aura pour conséquence que " "ajouter une instance de type valeur dans une collection entraînera que son "
"son état sera immédiatement persistant." "état sera immédiatement persistant. "
#. Tag: para #. Tag: para
#: example_parentchild.xml:68 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Conversely, if an entity is removed from a collection (a one-to-many or many-" "Conversely, if an entity is removed from a collection (a one-to-many or many-"
"to-many association), it will not be deleted by default. This behavior is " "to-many association), it will not be deleted by default. This behavior is "
@ -105,16 +103,15 @@ msgid ""
"should not cause the associated entity to vanish. Likewise, adding an entity " "should not cause the associated entity to vanish. Likewise, adding an entity "
"to a collection does not cause that entity to become persistent, by default." "to a collection does not cause that entity to become persistent, by default."
msgstr "" msgstr ""
"Si une entité est enlevée d'une collection (association un-vers-plusieurs ou " "Si une entité est enlevée d'une collection (association un-à-plusieurs ou "
"plusieurs-vers-plusieurs), par défaut, elle ne sera pas effacée. Ce " "plusieurs-à-plusieurs), elle ne sera pas effacée par défaut. Ce comportement "
"comportement est complètement logique - une modification de l'un des états " "est complètement logique - une modification de l'un des états internes d'une "
"internes d'une entité ne doit pas causer la disparition de l'entité " "autre entité ne doit pas causer la disparition de l'entité associée. De "
"associée ! De même, l'ajout d'une entité dans une collection n'engendre pas, " "même, l'ajout d'une entité dans une collection n'engendre pas, par défaut, "
"par défaut, la persistance de cette entité." "la persistance de cette entité."
#. Tag: para #. Tag: para
#: example_parentchild.xml:78 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Adding an entity to a collection, by default, merely creates a link between " "Adding an entity to a collection, by default, merely creates a link between "
"the two entities. Removing the entity will remove the link. This is " "the two entities. Removing the entity will remove the link. This is "
@ -123,62 +120,36 @@ msgid ""
"bound to the life cycle of the parent." "bound to the life cycle of the parent."
msgstr "" msgstr ""
"Le comportement par défaut est donc que l'ajout d'une entité dans une " "Le comportement par défaut est donc que l'ajout d'une entité dans une "
"collection créé simplement le lien entre les deux entités, et qu'effacer une " "collection crée simplement le lien entre les deux entités, alors qu'effacer "
"entité supprime ce lien. C'est le comportement le plus approprié dans la " "une entité supprime ce lien. C'est le comportement le plus approprié dans la "
"plupart des cas. Ce comportement n'est cependant pas approprié lorsque la " "plupart des cas. Ce comportement n'est cependant pas approprié lorsque la "
"vie du fils est liée au cycle de vie du père." "vie du fils est liée au cycle de vie du père. "
#. Tag: title #. Tag: title
#: example_parentchild.xml:88
#, no-c-format #, no-c-format
msgid "Bidirectional one-to-many" msgid "Bidirectional one-to-many"
msgstr "un-vers-plusieurs bidirectionnel" msgstr "Un-à-plusieurs bidirectionnel"
#. Tag: para #. Tag: para
#: example_parentchild.xml:90
#, no-c-format #, no-c-format
msgid "" msgid ""
"Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> " "Suppose we start with a simple <literal>&lt;one-to-many&gt;</literal> "
"association from <literal>Parent</literal> to <literal>Child</literal>." "association from <literal>Parent</literal> to <literal>Child</literal>."
msgstr "" msgstr ""
"Supposons que nous ayons une simple association <literal>&lt;one-to-many&gt;" "Supposons que nous ayons une simple association <literal>&lt;one-to-many&gt;"
"</literal> de <literal>Parent</literal> vers <literal>Child</literal>." "</literal> de <literal>Parent</literal> à <literal>Child</literal>."
#. Tag: programlisting
#: example_parentchild.xml:95
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:97 #, no-c-format
#, fuzzy, no-c-format
msgid "If we were to execute the following code:" msgid "If we were to execute the following code:"
msgstr "Si nous executions le code suivant" msgstr "Si nous exécutions le code suivant :"
#. Tag: programlisting
#: example_parentchild.xml:101
#, no-c-format
msgid ""
"<![CDATA[Parent p = .....;\n"
"Child c = new Child();\n"
"p.getChildren().add(c);\n"
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:103
#, no-c-format #, no-c-format
msgid "Hibernate would issue two SQL statements:" msgid "Hibernate would issue two SQL statements:"
msgstr "Hibernate exécuterait deux ordres SQL:" msgstr "Hibernate exécuterait deux ordres SQL :"
#. Tag: para #. Tag: para
#: example_parentchild.xml:109
#, no-c-format #, no-c-format
msgid "" msgid ""
"an <literal>INSERT</literal> to create the record for <literal>c</literal>" "an <literal>INSERT</literal> to create the record for <literal>c</literal>"
@ -187,7 +158,6 @@ msgstr ""
"literal>" "literal>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:112
#, no-c-format #, no-c-format
msgid "" msgid ""
"an <literal>UPDATE</literal> to create the link from <literal>p</literal> to " "an <literal>UPDATE</literal> to create the link from <literal>p</literal> to "
@ -197,38 +167,25 @@ msgstr ""
"<literal>c</literal>" "<literal>c</literal>"
#. Tag: para #. Tag: para
#: example_parentchild.xml:119 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is not only inefficient, but also violates any <literal>NOT NULL</" "This is not only inefficient, but also violates any <literal>NOT NULL</"
"literal> constraint on the <literal>parent_id</literal> column. You can fix " "literal> constraint on the <literal>parent_id</literal> column. You can fix "
"the nullability constraint violation by specifying <literal>not-null=\"true" "the nullability constraint violation by specifying <literal>not-null=\"true"
"\"</literal> in the collection mapping:" "\"</literal> in the collection mapping:"
msgstr "" msgstr ""
"Ceci est non seuleument inefficace, mais viole aussi toute contrainte " "Ceci est non seulement inefficace, mais viole aussi toute contrainte "
"<literal>NOT NULL</literal> sur la colonne <literal>parent_id</literal>. " "<literal>NOT NULL</literal> sur la colonne <literal>parent_id</literal>. "
"Nous pouvons réparer la contrainte de nullité en spécifiant <literal>not-" "Nous pouvons réparer la contrainte de nullité en spécifiant <literal>not-"
"null=\"true\"</literal> dans le mapping de la collection :" "null=\"true\"</literal> dans le mappage de la collection : "
#. Tag: programlisting
#: example_parentchild.xml:125
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\">\n"
" <key column=\"parent_id\" not-null=\"true\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:127
#, no-c-format #, no-c-format
msgid "However, this is not the recommended solution." msgid "However, this is not the recommended solution."
msgstr "Cependant ce n'est pas la solution recommandée." msgstr "Cependant ce n'est pas la solution recommandée."
#. Tag: para #. Tag: para
#: example_parentchild.xml:130 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The underlying cause of this behavior is that the link (the foreign key " "The underlying cause of this behavior is that the link (the foreign key "
"<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</" "<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</"
@ -240,30 +197,20 @@ msgstr ""
"<literal>parent_id</literal>) de <literal>p</literal> vers <literal>c</" "<literal>parent_id</literal>) de <literal>p</literal> vers <literal>c</"
"literal> n'est pas considérée comme faisant partie de l'état de l'objet " "literal> n'est pas considérée comme faisant partie de l'état de l'objet "
"<literal>Child</literal> et n'est donc pas créé par l'<literal>INSERT</" "<literal>Child</literal> et n'est donc pas créé par l'<literal>INSERT</"
"literal>. La solution est donc que ce lien fasse partie du mapping de " "literal>. La solution est donc que ce lien fasse partie du mappage de "
"<literal>Child</literal>." "<literal>Child</literal>. "
#. Tag: programlisting
#: example_parentchild.xml:137
#, no-c-format
msgid ""
"<![CDATA[<many-to-one name=\"parent\" column=\"parent_id\" not-null=\"true\"/"
">]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:139 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You also need to add the <literal>parent</literal> property to the " "You also need to add the <literal>parent</literal> property to the "
"<literal>Child</literal> class." "<literal>Child</literal> class."
msgstr "" msgstr ""
"(Nous avons aussi besoin d'ajouter la propriété <literal>parent</literal> " "Nous avons aussi besoin d'ajouter la propriété <literal>parent</literal> "
"dans la classe <literal>Child</literal>)." "dans la classe <literal>Child</literal>."
#. Tag: para #. Tag: para
#: example_parentchild.xml:143 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Now that the <literal>Child</literal> entity is managing the state of the " "Now that the <literal>Child</literal> entity is managing the state of the "
"link, we tell the collection not to update the link. We use the " "link, we tell the collection not to update the link. We use the "
@ -271,164 +218,71 @@ msgid ""
msgstr "" msgstr ""
"Maintenant que l'état du lien est géré par l'entité <literal>Child</" "Maintenant que l'état du lien est géré par l'entité <literal>Child</"
"literal>, nous spécifions à la collection de ne pas mettre à jour le lien. " "literal>, nous spécifions à la collection de ne pas mettre à jour le lien. "
"Nous utilisons l'attribut <literal>inverse</literal>." "Nous utilisons l'attribut <literal>inverse</literal> pour faire cela :"
#. Tag: programlisting
#: example_parentchild.xml:148
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:150 #, no-c-format
#, fuzzy, no-c-format
msgid "The following code would be used to add a new <literal>Child</literal>:" msgid "The following code would be used to add a new <literal>Child</literal>:"
msgstr "" msgstr ""
"Le code suivant serait utilisé pour ajouter un nouveau <literal>Child</" "Le code suivant serait utilisé pour ajouter un nouveau <literal>Child</"
"literal>" "literal> :"
#. Tag: programlisting #. Tag: para
#: example_parentchild.xml:154
#, no-c-format #, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"c.setParent(p);\n"
"p.getChildren().add(c);\n"
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para
#: example_parentchild.xml:156
#, fuzzy, no-c-format
msgid "Only one SQL <literal>INSERT</literal> would now be issued." msgid "Only one SQL <literal>INSERT</literal> would now be issued."
msgstr "Maintenant, seul un <literal>INSERT</literal> SQL est nécessaire !" msgstr "Maintenant, seul un SQL <literal>INSERT</literal> est nécessaire."
#. Tag: para #. Tag: para
#: example_parentchild.xml:160 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You could also create an <literal>addChild()</literal> method of " "You could also create an <literal>addChild()</literal> method of "
"<literal>Parent</literal>." "<literal>Parent</literal>."
msgstr "" msgstr ""
"Pour alléger encore un peu les choses, nous devrions créer une méthode " "Pour alléger encore un peu les choses, nous créerons une méthode "
"<literal>addChild()</literal> dans <literal>Parent</literal>." "<literal>addChild()</literal> de <literal>Parent</literal>. "
#. Tag: programlisting
#: example_parentchild.xml:165
#, no-c-format
msgid ""
"<![CDATA[public void addChild(Child c) {\n"
" c.setParent(this);\n"
" children.add(c);\n"
"}]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:167
#, fuzzy, no-c-format
msgid "The code to add a <literal>Child</literal> looks like this:"
msgstr "Le code d'ajout d'un <literal>Child</literal> serait alors"
#. Tag: programlisting
#: example_parentchild.xml:171
#, no-c-format #, no-c-format
msgid "" msgid "The code to add a <literal>Child</literal> looks like this:"
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n" msgstr "Le code d'ajout d'un <literal>Child</literal> serait alors :"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.save(c);\n"
"session.flush();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: example_parentchild.xml:176
#, no-c-format #, no-c-format
msgid "Cascading life cycle" msgid "Cascading life cycle"
msgstr "Cycle de vie en cascade" msgstr "Cycle de vie en cascade "
#. Tag: para #. Tag: para
#: example_parentchild.xml:178 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can address the frustrations of the explicit call to <literal>save()</" "You can address the frustrations of the explicit call to <literal>save()</"
"literal> by using cascades." "literal> by using cascades."
msgstr "" msgstr ""
"L'appel explicite de <literal>save()</literal> est un peu fastidieux. Nous " "L'appel explicite de <literal>save()</literal> est un peu fastidieux. Nous "
"pouvons simplifier cela en utilisant les cascades." "pouvons simplifier cela en utilisant les cascades. "
#. Tag: programlisting
#: example_parentchild.xml:183
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:185 #, no-c-format
#, fuzzy, no-c-format
msgid "This simplifies the code above to:" msgid "This simplifies the code above to:"
msgstr "Simplifie le code précédent en" msgstr "Cela simplifie le code précédent en :"
#. Tag: programlisting
#: example_parentchild.xml:189
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
"p.addChild(c);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:191 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Similarly, we do not need to iterate over the children when saving or " "Similarly, we do not need to iterate over the children when saving or "
"deleting a <literal>Parent</literal>. The following removes <literal>p</" "deleting a <literal>Parent</literal>. The following removes <literal>p</"
"literal> and all its children from the database." "literal> and all its children from the database."
msgstr "" msgstr ""
"De la même manière, nous n'avons pas à itérer sur les fils lorsque nous " "De la même manière, nous n'avons pas à itérer sur les fils lorsque nous "
"sauvons ou effacons un <literal>Parent</literal>. Le code suivant efface " "sauvons ou effaçons un <literal>Parent</literal>. Le code suivant efface "
"<literal>p</literal> et tous ses fils de la base de données." "<literal>p</literal> et tous ses fils de la base de données. "
#. Tag: programlisting
#: example_parentchild.xml:196
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"session.delete(p);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:198 #, no-c-format
#, fuzzy, no-c-format
msgid "However, the following code:" msgid "However, the following code:"
msgstr "Par contre, ce code" msgstr "Par contre, ce code :"
#. Tag: programlisting
#: example_parentchild.xml:202
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
"p.getChildren().remove(c);\n"
"c.setParent(null);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:204 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"will not remove <literal>c</literal> from the database. In this case, it " "will not remove <literal>c</literal> from the database. In this case, it "
"will only remove the link to <literal>p</literal> and cause a <literal>NOT " "will only remove the link to <literal>p</literal> and cause a <literal>NOT "
@ -439,22 +293,10 @@ msgstr ""
"seulement le lien vers <literal>p</literal> (et causera une violation de " "seulement le lien vers <literal>p</literal> (et causera une violation de "
"contrainte <literal>NOT NULL</literal>, dans ce cas). Vous devez " "contrainte <literal>NOT NULL</literal>, dans ce cas). Vous devez "
"explicitement utiliser <literal>delete()</literal> sur <literal>Child</" "explicitement utiliser <literal>delete()</literal> sur <literal>Child</"
"literal>." "literal>. "
#. Tag: programlisting
#: example_parentchild.xml:210
#, no-c-format
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
"p.getChildren().remove(c);\n"
"session.delete(c);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:212 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In our case, a <literal>Child</literal> cannot exist without its parent. So " "In our case, a <literal>Child</literal> cannot exist without its parent. So "
"if we remove a <literal>Child</literal> from the collection, we do want it " "if we remove a <literal>Child</literal> from the collection, we do want it "
@ -462,24 +304,12 @@ msgid ""
"\"</literal>." "\"</literal>."
msgstr "" msgstr ""
"Dans notre cas, un <literal>Child</literal> ne peut pas vraiment exister " "Dans notre cas, un <literal>Child</literal> ne peut pas vraiment exister "
"sans son père. Si nous effacons un <literal>Child</literal> de la " "sans son père. Si nous effaçons un <literal>Child</literal> de la "
"collection, nous voulons vraiment qu'il soit effacé. Pour cela, nous devons " "collection, nous voulons vraiment qu'il soit effacé. Pour cela, nous devons "
"utiliser <literal>cascade=\"all-delete-orphan\"</literal>." "utiliser <literal>cascade=\"all-delete-orphan\"</literal>. "
#. Tag: programlisting
#: example_parentchild.xml:218
#, no-c-format
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan"
"\">\n"
" <key column=\"parent_id\"/>\n"
" <one-to-many class=\"Child\"/>\n"
"</set>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:220 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Even though the collection mapping specifies <literal>inverse=\"true\"</" "Even though the collection mapping specifies <literal>inverse=\"true\"</"
"literal>, cascades are still processed by iterating the collection elements. " "literal>, cascades are still processed by iterating the collection elements. "
@ -487,21 +317,20 @@ msgid ""
"it to the collection. It is not enough to simply call <literal>setParent()</" "it to the collection. It is not enough to simply call <literal>setParent()</"
"literal>." "literal>."
msgstr "" msgstr ""
"A noter : même si le mapping de la collection spécifie <literal>inverse=" "À noter : même si le mappage de la collection spécifie <literal>inverse="
"\"true\"</literal>, les cascades sont toujours assurées par l'itération sur " "\"true\"</literal>, les cascades sont toujours assurées par l'itération sur "
"les éléments de la collection. Donc, si vous avez besoin qu'un objet soit " "les éléments de la collection. Donc, si vous avez besoin qu'un objet soit "
"enregistré, effacé ou mis à jour par cascade, vous devez l'ajouter dans la " "enregistré, effacé ou mis à jour par cascade, vous devez l'ajouter dans la "
"colleciton. Il ne suffit pas d'appeler explicitement <literal>setParent()</" "collection. Il ne suffit pas d'appeler explicitement <literal>setParent()</"
"literal>." "literal>."
#. Tag: title #. Tag: title
#: example_parentchild.xml:230
#, no-c-format #, no-c-format
msgid "Cascades and <literal>unsaved-value</literal>" msgid "Cascades and <literal>unsaved-value</literal>"
msgstr "Cascades et <literal>unsaved-value</literal>" msgstr ""
"Cascades et <literal>unsaved-value</literal> (valeurs non sauvegardées)"
#. Tag: para #. Tag: para
#: example_parentchild.xml:232
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</" "Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</"
@ -514,50 +343,36 @@ msgid ""
"literal> have generated identifier properties of type <literal>Long</" "literal> have generated identifier properties of type <literal>Long</"
"literal>. Hibernate will use the identifier and version/timestamp property " "literal>. Hibernate will use the identifier and version/timestamp property "
"value to determine which of the children are new. (See <xref linkend=" "value to determine which of the children are new. (See <xref linkend="
"\"objectstate-saveorupdate\"/>.) <emphasis>In Hibernate3, it is no longer " "\"objectstate-saveorupdate\" />.) <emphasis>In Hibernate3, it is no longer "
"necessary to specify an <literal>unsaved-value</literal> explicitly.</" "necessary to specify an <literal>unsaved-value</literal> explicitly.</"
"emphasis>" "emphasis>"
msgstr "" msgstr ""
"Supposons que nous ayons chargé un <literal>Parent</literal> dans une " "Supposons que nous ayons chargé un <literal>Parent</literal> dans une "
"<literal>Session</literal>, que nous l'ayons ensuite modifié et que voulions " "<literal>Session</literal>, que nous l'ayons ensuite modifié et que voulions "
"persiter ces modifications dans une nouvelle session en appelant " "persister ces modifications dans une nouvelle session en appelant "
"<literal>update()</literal>. Le <literal>Parent</literal> contiendra une " "<literal>update()</literal>. Le <literal>Parent</literal> contiendra une "
"collection de fils et, puisque la cascade est activée, Hibernate a besoin de " "collection de fils et, puisque la cascade est activée, Hibernate a besoin de "
"savoir quels fils viennent d'être instanciés et quels fils proviennent de la " "savoir quels fils viennent d'être instanciés et quels fils représentent des "
"base de données. Supposons aussi que <literal>Parent</literal> et " "lignes existantes dans la base de données. Supposons aussi que "
"<literal>Child</literal> ont tous deux des identifiants du type " "<literal>Parent</literal> et <literal>Child</literal> ont tous deux des "
"<literal>Long</literal>. Hibernate utilisera la propriété de l'identifiant " "identifiants du type <literal>Long</literal>. Hibernate utilisera la "
"et la propriété de la version/horodatage pour déterminer quels fils sont " "propriété de l'identifiant et la propriété de la version/horodatage pour "
"nouveaux (vous pouvez aussi utiliser la propriété version ou timestamp, voir " "déterminer quels fils sont nouveaux (vous pouvez aussi utiliser la propriété "
"<xref linkend=\"manipulatingdata-updating-detached\"/>). <emphasis>Dans " "version ou timestamp, consultez <xref linkend=\"objectstate-saveorupdate\" /"
"Hibernate3, il n'est plus nécessaire de spécifier une <literal>unsaved-" ">.) <emphasis>Dans Hibernate3, il n'est plus nécessaire de spécifier une "
"value</literal> explicitement.</emphasis>" "<literal>unsaved-value</literal> explicitement.</emphasis> "
#. Tag: para #. Tag: para
#: example_parentchild.xml:244 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The following code will update <literal>parent</literal> and <literal>child</" "The following code will update <literal>parent</literal> and <literal>child</"
"literal> and insert <literal>newChild</literal>:" "literal> and insert <literal>newChild</literal>:"
msgstr "" msgstr ""
"Le code suivant mettra à jour <literal>parent</literal> et <literal>child</" "Le code suivant mettra à jour <literal>parent</literal> et <literal>child</"
"literal> et insérera <literal>newChild</literal>." "literal> et insérera <literal>newChild</literal>. "
#. Tag: programlisting
#: example_parentchild.xml:249
#, no-c-format
msgid ""
"<![CDATA[//parent and child were both loaded in a previous session\n"
"parent.addChild(child);\n"
"Child newChild = new Child();\n"
"parent.addChild(newChild);\n"
"session.update(parent);\n"
"session.flush();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: example_parentchild.xml:251 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This may be suitable for the case of a generated identifier, but what about " "This may be suitable for the case of a generated identifier, but what about "
"assigned identifiers and composite identifiers? This is more difficult, " "assigned identifiers and composite identifiers? This is more difficult, "
@ -569,22 +384,21 @@ msgid ""
msgstr "" msgstr ""
"Ceci est très bien pour des identifiants générés, mais qu'en est-il des " "Ceci est très bien pour des identifiants générés, mais qu'en est-il des "
"identifiants assignés et des identifiants composés ? C'est plus difficile, " "identifiants assignés et des identifiants composés ? C'est plus difficile, "
"puisqu'Hibernate ne peut pas utiliser la propriété de l'identifiant pour " "puisque Hibernate ne peut pas utiliser la propriété de l'identifiant pour "
"distinguer un objet nouvellement instancié (avec un identifiant assigné par " "distinguer entre un objet nouvellement instancié (avec un identifiant "
"l'utilisateur) d'un objet chargé dans une session précédente. Dans ce cas, " "assigné par l'utilisateur) et un objet chargé dans une session précédente. "
"Hibernate utilisera soit la propriété de version ou d'horodatage, soit " "Dans ce cas, Hibernate utilisera soit la propriété de version ou "
"effectuera vraiment une requête au cache de second niveau, soit, dans le " "d'horodatage, soit effectuera vraiment une requête au cache de second "
"pire des cas, à la base de données, pour voir si la ligne existe." "niveau, soit, dans le pire des cas, à la base de données, pour voir si la "
"ligne existe. "
#. Tag: title #. Tag: title
#: example_parentchild.xml:263
#, no-c-format #, no-c-format
msgid "Conclusion" msgid "Conclusion"
msgstr "Conclusion" msgstr "Conclusion"
#. Tag: para #. Tag: para
#: example_parentchild.xml:265 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The sections we have just covered can be a bit confusing. However, in " "The sections we have just covered can be a bit confusing. However, in "
"practice, it all works out nicely. Most Hibernate applications use the " "practice, it all works out nicely. Most Hibernate applications use the "
@ -593,11 +407,10 @@ msgstr ""
"Il y a quelques principes à maîtriser dans ce chapitre et tout cela peut " "Il y a quelques principes à maîtriser dans ce chapitre et tout cela peut "
"paraître déroutant la première fois. Cependant, dans la pratique, tout " "paraître déroutant la première fois. Cependant, dans la pratique, tout "
"fonctionne parfaitement. La plupart des applications Hibernate utilisent le " "fonctionne parfaitement. La plupart des applications Hibernate utilisent le "
"pattern père / fils." "modèle père / fils. "
#. Tag: para #. Tag: para
#: example_parentchild.xml:270 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"We mentioned an alternative in the first paragraph. None of the above issues " "We mentioned an alternative in the first paragraph. None of the above issues "
"exist in the case of <literal>&lt;composite-element&gt;</literal> mappings, " "exist in the case of <literal>&lt;composite-element&gt;</literal> mappings, "
@ -607,9 +420,9 @@ msgid ""
"of any entity other than the unique parent." "of any entity other than the unique parent."
msgstr "" msgstr ""
"Nous avons évoqué une alternative dans le premier paragraphe. Aucun des " "Nous avons évoqué une alternative dans le premier paragraphe. Aucun des "
"points traités précédemment n'existe dans le cas d'un mapping <literal>&lt;" "points traités précédemment n'existe dans le cas de mappings <literal>&lt;"
"composite-element&gt;</literal> qui possède exactement la sémantique d'une " "composite-element&gt;</literal> qui possède exactement la sémantique d'une "
"relation père / fils. Malheureusement, il y a deux grandes limitations pour " "relation père / fils. Malheureusement, il y a deux grandes limitations pour "
"les classes éléments composites : les éléments composites ne peuvent " "les classes d'éléments composites : les éléments composites ne peuvent "
"contenir de collections, et ils ne peuvent être les fils d'entités autres " "contenir de collections, et ils ne peuvent être les fils d'entités autres "
"que l'unique parent." "que l'unique parent. "

View File

@ -1,44 +1,46 @@
# translation of filters.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: filters\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:56+0000\n" "POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2009-11-11 09:26+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: filters.xml:29
#, no-c-format #, no-c-format
msgid "Filtering data" msgid "Filtering data"
msgstr "Filtrer les données" msgstr "Filtrer les données"
#. Tag: para #. Tag: para
#: filters.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate3 provides an innovative new approach to handling data with " "Hibernate3 provides an innovative new approach to handling data with "
"\"visibility\" rules. A <emphasis>Hibernate filter</emphasis> is a global, " "\"visibility\" rules. A <emphasis>Hibernate filter</emphasis> is a global, "
"named, parameterized filter that can be enabled or disabled for a particular " "named, parameterized filter that can be enabled or disabled for a particular "
"Hibernate session." "Hibernate session."
msgstr "" msgstr ""
"Hibernate3 fournit une nouvelle approche innovatrice pour gérer des données " "Hibernate3 fournit une nouvelle approche innovatrice pour manipuler des "
"avec des règles de \"visibilité\". Un <emphasis>filtre Hibernate</emphasis> " "données avec des règles de \"visibilité\". Un <emphasis>filtre Hibernate</"
"est un filtre global, nommé, paramétré qui peut être activé ou désactivé " "emphasis> est un filtre global, nommé, paramétré qui peut être activé ou "
"pour une session Hibernate particulière." "désactivé pour une session Hibernate particulière. "
#. Tag: title #. Tag: title
#: filters.xml:38
#, no-c-format #, no-c-format
msgid "Hibernate filters" msgid "Hibernate filters"
msgstr "Filtres Hibernate" msgstr "Filtres Hibernate"
#. Tag: para #. Tag: para
#: filters.xml:40 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate3 has the ability to pre-define filter criteria and attach those " "Hibernate3 has the ability to pre-define filter criteria and attach those "
"filters at both a class level and a collection level. A filter criteria " "filters at both a class level and a collection level. A filter criteria "
@ -53,14 +55,13 @@ msgstr ""
"d'attacher ces filtres à une classe ou à une collection. Un critère de " "d'attacher ces filtres à une classe ou à une collection. Un critère de "
"filtre est la faculté de définir une clause de restriction très similaire à " "filtre est la faculté de définir une clause de restriction très similaire à "
"l'attribut \"where\" existant disponible sur une classe et divers éléments " "l'attribut \"where\" existant disponible sur une classe et divers éléments "
"d'une collection. Mis à part que ces conditions de filtre peuvent être " "d'une collection. Par ailleurs ces conditions de filtre peuvent être "
"paramétrées. L'application peut alors prendre la décision à l'exécution si " "paramétrées. L'application peut alors prendre la décision à l'exécution si "
"des filtres donnés devraient être activés et quels devraient être leurs " "des filtres donnés doivent être activés et quels doivent être leurs "
"paramètres. Des filtres peuvent être utilisés comme des vues de base de " "paramètres. Des filtres peuvent être utilisés comme des vues de base de "
"données, mais paramétrées dans l'application." "données, mais paramétrées dans l'application. "
#. Tag: para #. Tag: para
#: filters.xml:50
#, no-c-format #, no-c-format
msgid "" msgid ""
"In order to use filters, they must first be defined and then attached to the " "In order to use filters, they must first be defined and then attached to the "
@ -73,57 +74,23 @@ msgstr ""
"l'élément <literal>&lt;filter-def/&gt;</literal> dans un élément " "l'élément <literal>&lt;filter-def/&gt;</literal> dans un élément "
"<literal>&lt;hibernate-mapping/&gt;</literal> :" "<literal>&lt;hibernate-mapping/&gt;</literal> :"
#. Tag: programlisting
#: filters.xml:56
#, no-c-format
msgid ""
"<![CDATA[<filter-def name=\"myFilter\">\n"
" <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
"</filter-def>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: filters.xml:58 #, no-c-format
#, fuzzy, no-c-format
msgid "This filter can then be attached to a class:" msgid "This filter can then be attached to a class:"
msgstr "Puis, ce filtre peut être attaché à une classe :" msgstr "Puis, ce filtre peut être attaché à une classe : "
#. Tag: programlisting
#: filters.xml:62
#, no-c-format
msgid ""
"<![CDATA[<class name=\"myClass\" ...>\n"
" ...\n"
" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
"\"/>\n"
"</class>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: filters.xml:64 #, no-c-format
#, fuzzy, no-c-format
msgid "Or, to a collection:" msgid "Or, to a collection:"
msgstr "ou à une collection :" msgstr "Ou bien, à une collection :"
#. Tag: programlisting #. Tag: para
#: filters.xml:68
#, no-c-format #, no-c-format
msgid ""
"<![CDATA[<set ...>\n"
" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
"\"/>\n"
"</set>]]>"
msgstr ""
#. Tag: para
#: filters.xml:70
#, fuzzy, no-c-format
msgid "Or, to both or multiples of each at the same time." msgid "Or, to both or multiples of each at the same time."
msgstr "ou même aux deux (ou à plusieurs de chaque) en même temps." msgstr "Ou même encore, aux deux (ou à plusieurs de chaque) en même temps."
#. Tag: para #. Tag: para
#: filters.xml:74 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The methods on <literal>Session</literal> are: <literal>enableFilter(String " "The methods on <literal>Session</literal> are: <literal>enableFilter(String "
"filterName)</literal>, <literal>getEnabledFilter(String filterName)</" "filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
@ -139,104 +106,40 @@ msgstr ""
"literal>, et <literal>disableFilter(String filterName)</literal>. Par " "literal>, et <literal>disableFilter(String filterName)</literal>. Par "
"défaut, les filtres <emphasis>ne sont pas</emphasis> activés pour une " "défaut, les filtres <emphasis>ne sont pas</emphasis> activés pour une "
"session donnée ; ils doivent être explicitement activés en appelant la " "session donnée ; ils doivent être explicitement activés en appelant la "
"méthode <literal>Session.enableFilter()</literal>, laquelle retourne une " "méthode <literal>Session.enabledFilter()</literal>, laquelle retourne une "
"instance de l'interface <literal>Filter</literal>. Utiliser le simple filtre " "instance de l'interface <literal>Filter</literal>. Utiliser le simple filtre "
"défini au-dessus ressemblerait à :" "défini ci-dessus ressemblerait à : "
#. Tag: programlisting
#: filters.xml:83
#, no-c-format
msgid ""
"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
"\"some-value\");]]>"
msgstr ""
#. Tag: para #. Tag: para
#: filters.xml:85 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Methods on the org.hibernate.Filter interface do allow the method-chaining " "Methods on the org.hibernate.Filter interface do allow the method-chaining "
"common to much of Hibernate." "common to much of Hibernate."
msgstr "" msgstr ""
"Notez que des méthodes sur l'interface org.hibernate.Filter autorisent le " "Notez que des méthodes sur l'interface org.hibernate.Filter autorisent le "
"chaînage de beaucoup de méthodes communes d'Hibernate." "chaînage de beaucoup de méthodes communes à Hibernate. "
#. Tag: para #. Tag: para
#: filters.xml:89 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The following is a full example, using temporal data with an effective " "The following is a full example, using temporal data with an effective "
"record date pattern:" "record date pattern:"
msgstr "" msgstr ""
"Un exemple complet, utilisant des données temporelles avec une structure de " "Un exemple complet, utilisant des données temporelles avec une structure de "
"date d'enregistrement effectif :" "date d'enregistrement effectif : "
#. Tag: programlisting
#: filters.xml:93
#, no-c-format
msgid ""
"<![CDATA[<filter-def name=\"effectiveDate\">\n"
" <filter-param name=\"asOfDate\" type=\"date\"/>\n"
"</filter-def>\n"
"\n"
"<class name=\"Employee\" ...>\n"
"...\n"
" <many-to-one name=\"department\" column=\"dept_id\" class=\"Department\"/"
">\n"
" <property name=\"effectiveStartDate\" type=\"date\" column=\"eff_start_dt"
"\"/>\n"
" <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt\"/"
">\n"
"...\n"
" <!--\n"
" Note that this assumes non-terminal records have an eff_end_dt set "
"to\n"
" a max db date for simplicity-sake\n"
" -->\n"
" <filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/>\n"
"</class>\n"
"\n"
"<class name=\"Department\" ...>\n"
"...\n"
" <set name=\"employees\" lazy=\"true\">\n"
" <key column=\"dept_id\"/>\n"
" <one-to-many class=\"Employee\"/>\n"
" <filter name=\"effectiveDate\"\n"
" condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
">\n"
" </set>\n"
"</class>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: filters.xml:95 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In order to ensure that you are provided with currently effective records, " "In order to ensure that you are provided with currently effective records, "
"enable the filter on the session prior to retrieving employee data:" "enable the filter on the session prior to retrieving employee data:"
msgstr "" msgstr ""
"Puis, afin de s'assurer que vous pouvez toujours récupérer les " "Puis, afin de s'assurer que vous pouvez toujours récupérer les "
"enregistrements actuellement effectifs, activez simplement le filtre sur la " "enregistrements actuellement effectifs, activez simplement le filtre sur la "
"session avant de récupérer des données des employés :" "session avant de récupérer des données des employés : "
#. Tag: programlisting
#: filters.xml:100
#, no-c-format
msgid ""
"<![CDATA[Session session = ...;\n"
"session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
"());\n"
"List results = session.createQuery(\"from Employee as e where e.salary > :"
"targetSalary\")\n"
" .setLong(\"targetSalary\", new Long(1000000))\n"
" .list();\n"
"]]>"
msgstr ""
#. Tag: para #. Tag: para
#: filters.xml:102 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Even though a salary constraint was mentioned explicitly on the results in " "Even though a salary constraint was mentioned explicitly on the results in "
"the above HQL, because of the enabled filter, the query will return only " "the above HQL, because of the enabled filter, the query will return only "
@ -244,13 +147,12 @@ msgid ""
"dollars." "dollars."
msgstr "" msgstr ""
"Dans le HQL ci-dessus, bien que nous ayons seulement mentionné une " "Dans le HQL ci-dessus, bien que nous ayons seulement mentionné une "
"contrainte de salaire sur les resultats, à cause du filtre activé, la " "contrainte de salaire sur les résultats, à cause du filtre activé, la "
"requête retournera seulement les employés actuellement actifs qui ont un " "requête retournera seulement les employés actuellement actifs qui ont un "
"salaire supérieur à un million de dollars." "salaire supérieur à un million de dollars. "
#. Tag: para #. Tag: para
#: filters.xml:108 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you want to use filters with outer joining, either through HQL or load " "If you want to use filters with outer joining, either through HQL or load "
"fetching, be careful of the direction of the condition expression. It is " "fetching, be careful of the direction of the condition expression. It is "
@ -258,33 +160,27 @@ msgid ""
"followed by the column name(s) after the operator." "followed by the column name(s) after the operator."
msgstr "" msgstr ""
"A noter : si vous prévoyez d'utiliser des filtres avec des jointures " "A noter : si vous prévoyez d'utiliser des filtres avec des jointures "
"externes (soit à travers HQL, soit par le chargement) faites attention à la " "externes (soit à travers HQL, soit par le chargement), faites attention à la "
"direction de l'expression de condition. Il est plus sûr de la positionner " "direction de l'expression de condition. Il est plus sûr de la positionner "
"pour les jointures externes à gauche ; en général, placez le paramètre " "pour les jointures externes à gauche ; en général, placez le paramètre "
"d'abord, suivi du(des) nom(s) de colonne après l'opérateur." "d'abord, suivi du(des) nom(s) de colonne après l'opérateur. "
#. Tag: para #. Tag: para
#: filters.xml:115 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"After being defined, a filter might be attached to multiple entities and/or " "After being defined, a filter might be attached to multiple entities and/or "
"collections each with its own condition. This can be problematic when the " "collections each with its own condition. This can be problematic when the "
"conditions are the same each time. Using <literal>&lt;filter-def/&gt;</" "conditions are the same each time. Using <literal>&lt;filter-def/&gt;</"
"literal> allows you to definine a default condition, either as an attribute " "literal> allows you to definine a default condition, either as an attribute "
"or CDATA:" "or CDATA:"
msgstr "translator-credits"
#. Tag: programlisting
#: filters.xml:122
#, no-c-format
msgid ""
"<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-"
"def>\n"
"<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
msgstr "" msgstr ""
"Après avoir été défini, un filtre peut être attaché à de nombreuses entités "
"et/ou des collections, chacune avec sa propre condition. Cela peut être "
"fastidieux quand les conditions sont les mêmes à chaque fois. Ainsi "
"<literal>&lt;filter-def/&gt;</literal> permet de définir une condition par "
"défaut, soit en tant qu'attribut, soit comme CDATA. "
#. Tag: para #. Tag: para
#: filters.xml:124
#, no-c-format #, no-c-format
msgid "" msgid ""
"This default condition will be used whenever the filter is attached to " "This default condition will be used whenever the filter is attached to "
@ -292,3 +188,145 @@ msgid ""
"condition as part of the attachment of the filter that overrides the default " "condition as part of the attachment of the filter that overrides the default "
"condition in that particular case." "condition in that particular case."
msgstr "" msgstr ""
"Cette condition par défaut sera alors utilisée à chaque fois que le filtre "
"est attaché à quelque chose sans spécifier la condition. Notez que cela "
"signifie que vous pouvez fournir une condition spécifique en tant que "
"faisant partie de la pièce attachée du filtre qui surcharge la condition par "
"défaut dans ce cas particulier. "
#~ msgid ""
#~ "<![CDATA[<filter-def name=\"myFilter\">\n"
#~ " <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
#~ "</filter-def>]]>"
#~ msgstr ""
#~ "<![CDATA[<filter-def name=\"myFilter\">\n"
#~ " <filter-param name=\"myFilterParam\" type=\"string\"/>\n"
#~ "</filter-def>]]>"
#~ msgid ""
#~ "<![CDATA[<class name=\"myClass\" ...>\n"
#~ " ...\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</class>]]>"
#~ msgstr ""
#~ "<![CDATA[<class name=\"myClass\" ...>\n"
#~ " ...\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</class>]]>"
#~ msgid ""
#~ "<![CDATA[<set ...>\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</set>]]>"
#~ msgstr ""
#~ "<![CDATA[<set ...>\n"
#~ " <filter name=\"myFilter\" condition=\":myFilterParam = "
#~ "MY_FILTERED_COLUMN\"/>\n"
#~ "</set>]]>"
#~ msgid ""
#~ "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam"
#~ "\", \"some-value\");]]>"
#~ msgstr ""
#~ "<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam"
#~ "\", \"some-value\");]]>"
#~ msgid ""
#~ "<![CDATA[<filter-def name=\"effectiveDate\">\n"
#~ " <filter-param name=\"asOfDate\" type=\"date\"/>\n"
#~ "</filter-def>\n"
#~ "\n"
#~ "<class name=\"Employee\" ...>\n"
#~ "...\n"
#~ " <many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
#~ "\"/>\n"
#~ " <property name=\"effectiveStartDate\" type=\"date\" column="
#~ "\"eff_start_dt\"/>\n"
#~ " <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
#~ "\"/>\n"
#~ "...\n"
#~ " <!--\n"
#~ " Note that this assumes non-terminal records have an eff_end_dt "
#~ "set to\n"
#~ " a max db date for simplicity-sake\n"
#~ " -->\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
#~ ">\n"
#~ "</class>\n"
#~ "\n"
#~ "<class name=\"Department\" ...>\n"
#~ "...\n"
#~ " <set name=\"employees\" lazy=\"true\">\n"
#~ " <key column=\"dept_id\"/>\n"
#~ " <one-to-many class=\"Employee\"/>\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt"
#~ "\"/>\n"
#~ " </set>\n"
#~ "</class>]]>"
#~ msgstr ""
#~ "<![CDATA[<filter-def name=\"effectiveDate\">\n"
#~ " <filter-param name=\"asOfDate\" type=\"date\"/>\n"
#~ "</filter-def>\n"
#~ "\n"
#~ "<class name=\"Employee\" ...>\n"
#~ "...\n"
#~ " <many-to-one name=\"department\" column=\"dept_id\" class=\"Department"
#~ "\"/>\n"
#~ " <property name=\"effectiveStartDate\" type=\"date\" column="
#~ "\"eff_start_dt\"/>\n"
#~ " <property name=\"effectiveEndDate\" type=\"date\" column=\"eff_end_dt"
#~ "\"/>\n"
#~ "...\n"
#~ " <!--\n"
#~ " Note that this assumes non-terminal records have an eff_end_dt "
#~ "set to\n"
#~ " a max db date for simplicity-sake\n"
#~ " -->\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt\"/"
#~ ">\n"
#~ "</class>\n"
#~ "\n"
#~ "<class name=\"Department\" ...>\n"
#~ "...\n"
#~ " <set name=\"employees\" lazy=\"true\">\n"
#~ " <key column=\"dept_id\"/>\n"
#~ " <one-to-many class=\"Employee\"/>\n"
#~ " <filter name=\"effectiveDate\"\n"
#~ " condition=\":asOfDate BETWEEN eff_start_dt and eff_end_dt"
#~ "\"/>\n"
#~ " </set>\n"
#~ "</class>]]>"
#~ msgid ""
#~ "<![CDATA[Session session = ...;\n"
#~ "session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new "
#~ "Date());\n"
#~ "List results = session.createQuery(\"from Employee as e where e.salary > :"
#~ "targetSalary\")\n"
#~ " .setLong(\"targetSalary\", new Long(1000000))\n"
#~ " .list();\n"
#~ "]]>"
#~ msgstr ""
#~ "<![CDATA[Session session = ...;\n"
#~ "session.enableFilter(\"effectiveDate\").setParameter(\"asOfDate\", new "
#~ "Date());\n"
#~ "List results = session.createQuery(\"from Employee as e where e.salary > :"
#~ "targetSalary\")\n"
#~ " .setLong(\"targetSalary\", new Long(1000000))\n"
#~ " .list();\n"
#~ "]]>"
#~ msgid ""
#~ "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</"
#~ "filter-def>\n"
#~ "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
#~ msgstr ""
#~ "<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</"
#~ "filter-def>\n"
#~ "<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"

View File

@ -1,32 +1,32 @@
# Language fr-FR translations for PACKAGE package. # translation of portability.po to French
# Automatically generated, 2009. # Myriam Malga <mmalga@redhat.com>, 2007.
# # Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: portability\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:56+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: 2009-07-14 19:56+0000\n" "PO-Revision-Date: 2010-01-05 09:42+1000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: none\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: portability.xml:26
#, no-c-format #, no-c-format
msgid "Database Portability Considerations" msgid "Database Portability Considerations"
msgstr "" msgstr "Considérations de portabilité des bases de données"
#. Tag: title #. Tag: title
#: portability.xml:29
#, no-c-format #, no-c-format
msgid "Portability Basics" msgid "Portability Basics"
msgstr "" msgstr "Aspects fondamentaux de la portabilité"
#. Tag: para #. Tag: para
#: portability.xml:31
#, no-c-format #, no-c-format
msgid "" msgid ""
"One of the selling points of Hibernate (and really Object/Relational Mapping " "One of the selling points of Hibernate (and really Object/Relational Mapping "
@ -38,15 +38,23 @@ msgid ""
"run against any number of databases without changes to your code, and " "run against any number of databases without changes to your code, and "
"ideally without any changes to the mapping metadata." "ideally without any changes to the mapping metadata."
msgstr "" msgstr ""
"La portabilité des bases de données est un des atouts qui sont mis en avant "
"pour vendre Hibernate (et plus largement le mappage objet/relationnel dans "
"son ensemble). Il pourrait s'agir d'un utilisateur IT interne qui migre "
"d'une base de données de fournisseur vers une autre, ou il pourrait s'agir "
"d'un framework ou d'une application déployable consommant Hibernate pour "
"cibler simultanément plusieurs produits de base de données par leurs "
"utilisateurs. Quel que soit le scénario exact, l'idée de base est que vous "
"souhaitez que HIBERNATE vous permettre d'exécuter avec un certain nombre de "
"bases de données sans modifications à votre code et idéalement sans "
"modifications des métadonnées de mappage."
#. Tag: title #. Tag: title
#: portability.xml:42
#, no-c-format #, no-c-format
msgid "Dialect" msgid "Dialect"
msgstr "" msgstr "Dialecte"
#. Tag: para #. Tag: para
#: portability.xml:44
#, no-c-format #, no-c-format
msgid "" msgid ""
"The first line of portability for Hibernate is the dialect, which is a " "The first line of portability for Hibernate is the dialect, which is a "
@ -58,15 +66,22 @@ msgid ""
"your particular database is not among them, it is not terribly difficult to " "your particular database is not among them, it is not terribly difficult to "
"write your own." "write your own."
msgstr "" msgstr ""
"La première ligne de la portabilité d'Hibernate est le dialecte, qui est une "
"spécialisation du contrat <classname>org.Hibernate.dialect.dialect</"
"classname>. Un dialecte encapsule toutes les différences selon lesquelles "
"Hibernate doit communiquer avec une base de données particulière pour "
"accomplir certaines tâches comme l'obtention d'une valeur de la séquence ou "
"de structuration d'une requête SELECT. Hibernate regroupe un large éventail "
"de dialectes pour la plupart des bases de données les plus communes. Si vous "
"trouvez que votre base de données particulière n'en fait pas partie, il "
"n'est pas difficile d'écrire votre propre dialecte."
#. Tag: title #. Tag: title
#: portability.xml:55
#, no-c-format #, no-c-format
msgid "Dialect resolution" msgid "Dialect resolution"
msgstr "" msgstr "Résolution de dialecte"
#. Tag: para #. Tag: para
#: portability.xml:57
#, no-c-format #, no-c-format
msgid "" msgid ""
"Originally, Hibernate would always require that users specify which dialect " "Originally, Hibernate would always require that users specify which dialect "
@ -75,9 +90,14 @@ msgid ""
"their users to configure the Hibernate dialect or defining their own method " "their users to configure the Hibernate dialect or defining their own method "
"of setting that value." "of setting that value."
msgstr "" msgstr ""
"À l'origine, Hibernate exigeait toujours que les utilisateurs spécifient "
"quel dialecte utiliser. Dans le cas des utilisateurs qui cherchent à cibler "
"simultanément plusieurs bases de données avec leur version, c'était "
"problématique. Généralement cela amenait leurs utilisateurs à configurer le "
"dialecte Hibernate ou à définir leur propre méthode de définition de cette "
"valeur."
#. Tag: para #. Tag: para
#: portability.xml:64
#, no-c-format #, no-c-format
msgid "" msgid ""
"Starting with version 3.2, Hibernate introduced the notion of automatically " "Starting with version 3.2, Hibernate introduced the notion of automatically "
@ -87,17 +107,22 @@ msgid ""
"that this resolution was limited to databases Hibernate know about ahead of " "that this resolution was limited to databases Hibernate know about ahead of "
"time and was in no way configurable or overrideable." "time and was in no way configurable or overrideable."
msgstr "" msgstr ""
"A partir de la version 3.2, Hibernate a introduit la détection "
"automatiquement du dialecte à utiliser basé sur les <interfacename>Java.SQL."
"DatabaseMetaData</interfacename> obtenues à partir d'un <interfacename>Java."
"SQL.Connexion</interfacename> vers cette base de données. C'était beaucoup "
"mieux, sauf que cette résolution a été limitée aux bases de données déjà "
"connues d'Hibernate et elle n'était ni configurable, ni remplaçable."
#. Tag: para #. Tag: para
#: portability.xml:72 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"Starting with version 3.3, Hibernate has a fare more powerful way to " "Starting with version 3.3, Hibernate has a fare more powerful way to "
"automatically determine which dialect to should be used by relying on a " "automatically determine which dialect to should be used by relying on a "
"series of delegates which implement the <interfacename>org.hibernate.dialect." "series of delegates which implement the <interfacename>org.hibernate.dialect."
"resolver.DialectResolver</interfacename> which defines only a single method:" "resolver.DialectResolver</interfacename> which defines only a single method:"
"<programlisting><![CDATA[public Dialect resolveDialect(DatabaseMetaData " "<programlisting role=\"JAVA\">public Dialect resolveDialect(DatabaseMetaData "
"metaData) throws JDBCConnectionException]]></programlisting>. The basic " "metaData) throws JDBCConnectionException</programlisting>. The basic "
"contract here is that if the resolver 'understands' the given database " "contract here is that if the resolver 'understands' the given database "
"metadata then it returns the corresponding Dialect; if not it returns null " "metadata then it returns the corresponding Dialect; if not it returns null "
"and the process continues to the next resolver. The signature also " "and the process continues to the next resolver. The signature also "
@ -108,9 +133,23 @@ msgid ""
"All other exceptions result in a warning and continuing on to the next " "All other exceptions result in a warning and continuing on to the next "
"resolver." "resolver."
msgstr "" msgstr ""
"A partir de la version 3.3, Hibernate a un moyen bien plus puissant de "
"déterminer automatiquement quel dialecte devrait être utilisé en s'appuyant "
"sur une série de délégués qui implémentent le <interfacename>org.hibernate."
"dialect.resolver.DialectResolver</interfacename>. Le résolveur ne définit "
"qu'une seule méthode :<programlisting>public Dialect resolveDialect"
"(DatabaseMetaData metaData) throws JDBCConnectionException</programlisting>. "
"Le contrat de base ici est que si le résolveur 'comprend' les métadonnées de "
"base de données, alors il renvoie le dialecte correspondant ; si non, il "
"renvoie la valeur null et le processus se poursuit avec le prochain "
"résolveur. La signature identifie également l'envoi éventuel de l'exception "
"<exceptionname>org.hibernate.exception.JDBCConnectionException</"
"exceptionname>. Une JDBCConnectionException ici implique un problème de "
"connexion \"non transient\" (aka non récupérable) et est utilisé pour "
"indiquer un arrêt immédiat à des tentatives de résolution. Toutes les autres "
"exceptions entraînent un avertissement et de passer à la résolution suivante."
#. Tag: para #. Tag: para
#: portability.xml:85
#, no-c-format #, no-c-format
msgid "" msgid ""
"The cool part about these resolvers is that users can also register their " "The cool part about these resolvers is that users can also register their "
@ -124,16 +163,26 @@ msgid ""
"<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate." "<constant>DIALECT_RESOLVERS</constant> constant on <classname>org.hibernate."
"cfg.Environment</classname>)." "cfg.Environment</classname>)."
msgstr "" msgstr ""
"Le bon côté de ces outils de résolution, c'est que les utilisateurs peuvent "
"également enregistrer leurs propres outils de résolution personnalisés, qui "
"seront traités avant les résolveurs Hibernate intégrés. Cette option peut "
"être utile dans un certain nombre de situations différentes : elle permet "
"une intégration aisée pour la détection automatique des dialectes au-delà de "
"ceux qui sont livrés avec Hibernate lui-même ; elle vous permet de spécifier "
"d'utiliser un dialecte personnalisé lorsqu'une base de données particulière "
"est reconnue ; etc.. Pour enregistrer un ou plusieurs outils de résolution, "
"il vous suffit de les spécifier (séparés par des virgules, des onglets ou "
"des espaces) à l'aide du paramètre de configuration 'hibernate."
"dialect_resolvers' (voir la constante <constant>DIALECT_RESOLVERS</constant> "
"sur <classname>cfg.Environment org.Hibernate.</classname>)."
#. Tag: title #. Tag: title
#: portability.xml:98
#, no-c-format #, no-c-format
msgid "Identifier generation" msgid "Identifier generation"
msgstr "" msgstr "Générer les identifiants"
#. Tag: para #. Tag: para
#: portability.xml:100 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"When considering portability between databases, another important decision " "When considering portability between databases, another important decision "
"is selecting the identifier generation stratagy you want to use. Originally " "is selecting the identifier generation stratagy you want to use. Originally "
@ -151,38 +200,96 @@ msgid ""
"reference entities within a persistence context it must then issue the " "reference entities within a persistence context it must then issue the "
"insert immediately when the users requests the entitiy be associated with " "insert immediately when the users requests the entitiy be associated with "
"the session (like via save() e.g.) regardless of current transactional " "the session (like via save() e.g.) regardless of current transactional "
"semantics. <note> <para> Hibernate was changed slightly once the implication " "semantics."
"of this was better understood so that the insert is delayed in cases where " msgstr ""
"that is feasible. </para> </note> The underlying issue is that the actual " "Quand on considère la portabilité entre les bases de données, la sélection "
"semanctics of the application itself changes in these cases." "de stratégie de génération d'identifiant à utiliser est une autre décision "
"importante. Initialement, Hibernate fournissait le générateur "
"<emphasis>natif</emphasis> à cette fin, dans le but de choisir entre une "
"stratégie <emphasis>séquence</emphasis>, <emphasis>identité</emphasis>, ou "
"<emphasis>table</emphasis> suivant la capacité de la base de données sous-"
"jacente. Toutefois, une implication insidieuse de cette approche surgit au "
"moment de cibler certaines bases de données entre celles qui prennent en "
"charge la génération d' <emphasis>identité</emphasis> et celles qui ne la "
"prenne pas. La génération d'<emphasis>identité</emphasis> s'appuie sur la "
"définition SQL d'une colonne IDENTITY (ou auto-incrémentation) pour gérer la "
"valeur d'identificateur ; c'est ce qui est connu sous le nom de stratégie de "
"génération car l'insersion doit effectivement avoir lieu avant que nous "
"puissions connaître la valeur de l'identifiant. Étant donné qu'Hibernate "
"repose sur la valeur de cet identifiant pour indentifier les entités de "
"façon unique dans un contexte de persistance, il doit alors émettre "
"l'insertion immédiatement, quand les utilisateurs demandent que l'entité "
"soit associée à la session (comme par exemple, via save()) indépendamment de "
"la sémantique transactionnelle actuelle. La question sous-jacente est que la "
"sémantique de l'application elle-même change dans ces cas."
#. Tag: para
#, fuzzy, no-c-format
msgid ""
"Hibernate was changed slightly once the implication of this was better "
"understood so that the insert is delayed in cases where that is feasible."
msgstr ""
"Hibernate a été amélioré de façon à ce que l'insertion puisse être retardée "
"quand c'est possible."
#. Tag: note
#, no-c-format
msgid ""
"The underlying issue is that the actual semanctics of the application itself "
"changes in these cases."
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: portability.xml:125
#, no-c-format #, no-c-format
msgid "" msgid ""
"Starting with version 3.2.3, Hibernate comes with a set of <ulink url=" "Starting with version 3.2.3, Hibernate comes with a set of <ulink url="
"\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators " "\"http://in.relation.to/2082.lace\">enhanced</ulink> identifier generators "
"targetting portability in a much different way. <note> <para> There are " "targetting portability in a much different way."
"specifically 2 bundled <emphasis>enhanced</emphasis>generators: "
"<itemizedlist> <listitem> <para> <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> </para> </listitem> <listitem> <para> "
"<classname>org.hibernate.id.enhanced.TableGenerator</classname> </para> </"
"listitem> </itemizedlist> </para> </note> The idea behind these generators "
"is to port the actual semantics of the identifer value generation to the "
"different databases. For example, the <classname>org.hibernate.id.enhanced."
"SequenceStyleGenerator</classname> mimics the behavior of a sequence on "
"databases which do not support sequences by using a table."
msgstr ""
#. Tag: title
#: portability.xml:154
#, no-c-format
msgid "Database functions"
msgstr "" msgstr ""
"A partir de la version 3.2.3, Hibernate est fourni avec un ensemble de "
"générateurs d'identifiants <ulink url=\"http://in.relation.to/2082.lace"
"\">améliorés</ulink>qui ciblent la portabilité d'une façon très différente."
#. Tag: para
#, no-c-format
msgid ""
"There are specifically 2 bundled <emphasis>enhanced</emphasis>generators:"
msgstr ""
"Il existe 2 générateurs <emphasis>améliorés</emphasis> spécifiques qui sont "
"livrés."
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
msgstr ""
"<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname>"
#. Tag: para
#, fuzzy, no-c-format
msgid "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
msgstr "<classname>org.hibernate.id.enhanced.TableGenerator</classname>"
#. Tag: note
#, no-c-format
msgid ""
"The idea behind these generators is to port the actual semantics of the "
"identifer value generation to the different databases. For example, the "
"<classname>org.hibernate.id.enhanced.SequenceStyleGenerator</classname> "
"mimics the behavior of a sequence on databases which do not support "
"sequences by using a table."
msgstr ""
"L'idée qui se cache là derrière, c'est de porter la sémantique de la "
"génération de la valeur d'identifiant vers les bases de données diverses. "
"Ainsi, <classname>org.hibernate.id.enhanced.SequenceStyleGenerator</"
"classname> imite le comportement d'une séquence de databases, ne supportant "
"pas les séquences par une table."
#. Tag: title
#, no-c-format
msgid "Database functions"
msgstr "Fonctions de base de données"
#. Tag: para #. Tag: para
#: portability.xml:157
#, no-c-format #, no-c-format
msgid "" msgid ""
"This is an area in Hibernate in need of improvement. In terms of portability " "This is an area in Hibernate in need of improvement. In terms of portability "
@ -191,7 +298,6 @@ msgid ""
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: portability.xml:164
#, no-c-format #, no-c-format
msgid "" msgid ""
"SQL functions can be referenced in many ways by users. However, not all " "SQL functions can be referenced in many ways by users. However, not all "
@ -200,9 +306,14 @@ msgid ""
"knows how to render that particular function, perhaps even using a totally " "knows how to render that particular function, perhaps even using a totally "
"different physical function call." "different physical function call."
msgstr "" msgstr ""
"Les fonctions SQL peuvent être référencées de bien des façons par les "
"utilisateurs. Cependant, toutes les bases de données ne supportent pas le "
"même groupe de fonctions. Hibernate procure une façon de faire correspondre "
"un nom de fonction <emphasis>logique</emphasis> à un délégué qui sait "
"comment traduire cette fonction particulière, peut-être en utilisant un "
"appel de fonction physique totalement différente."
#. Tag: para #. Tag: para
#: portability.xml:170
#, no-c-format #, no-c-format
msgid "" msgid ""
"Technically this function registration is handled through the <classname>org." "Technically this function registration is handled through the <classname>org."
@ -211,24 +322,37 @@ msgid ""
"having to provide a custom dialect. This specific behavior is not fully " "having to provide a custom dialect. This specific behavior is not fully "
"completed as of yet." "completed as of yet."
msgstr "" msgstr ""
"Techniquement, cet enregistrement de la fonction est géré par le biais de la "
"classe <classname>hibernate.dialect.function.SQLFunctionRegistry org.</"
"classname> qui est destinée à permettre aux utilisateurs de fournir des "
"définitions de fonction personnalisée sans avoir à fournir un dialecte "
"personnalisé. Ce comportement spécifique n'est pas encore entièrement "
"terminé."
#. Tag: para #. Tag: para
#: portability.xml:177
#, no-c-format #, no-c-format
msgid "" msgid ""
"It is sort of implemented such that users can programatically register " "It is sort of implemented such that users can programatically register "
"functions with the <classname>org.hibernate.cfg.Configuration</classname> " "functions with the <classname>org.hibernate.cfg.Configuration</classname> "
"and those functions will be recognized for HQL." "and those functions will be recognized for HQL."
msgstr "" msgstr ""
"Il est mis en oeuvre de telle sorte que les utilisateurs peuvent enregistrer "
"des fonctions par programmation avec <classname>org.Hibernate.cfg."
"Configuration</classname> et ces fonctions seront reconnues pour HQL."
#. Tag: title #. Tag: title
#: portability.xml:187
#, no-c-format #, no-c-format
msgid "Type mappings" msgid "Type mappings"
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: portability.xml:189
#, no-c-format #, no-c-format
msgid "This section scheduled for completion at a later date..." msgid "This section scheduled for completion at a later date..."
msgstr "" msgstr ""
#~ msgid ""
#~ "This is a new area in Hibernate and as such it is not as mature as the "
#~ "overall Hibernate experience."
#~ msgstr ""
#~ "Il s'agit d'une nouveau domaine pour Hibernate, et de ce fait, n'a pas "
#~ "encore atteint une maturité."

View File

@ -1,23 +1,27 @@
# translation of Preface.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: Preface\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:56+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-05 09:43+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: preface.xml:29
#, no-c-format #, no-c-format
msgid "Preface" msgid "Preface"
msgstr "Préface" msgstr "Préface"
#. Tag: para #. Tag: para
#: preface.xml:31
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Working with object-oriented software and a relational database can be " "Working with object-oriented software and a relational database can be "
@ -27,32 +31,30 @@ msgid ""
"representation from an object model to a relational data model with a SQL-" "representation from an object model to a relational data model with a SQL-"
"based schema." "based schema."
msgstr "" msgstr ""
"Travailler dans les deux univers que sont l'orienté objet et la base de " "Travailler avec des logiciels orientés-objet et une base de données "
"données relationnelle peut être lourd et consommateur en temps dans le monde " "relationnelle peut sembler parfois lourd et coûteux en temps dans les "
"de l'entreprise d'aujourd'hui. Hibernate est un outil de mapping objet/" "environnements entreprise de nos jours. Hibernate est un outil de mappage "
"relationnel pour le monde Java. Le terme mapping objet/relationnel (ORM) " "objet/relationnel pour les environnements Java. Le terme de mappage objet/"
"décrit la technique consistant à faire le lien entre la représentation objet " "relationnel (ORM de l'anglais Objet Relational Mapping) fait référence à la "
"des données et sa représentation relationnelle basée sur un schéma SQL." "technique de mappage d'une représentation de données à partir d'un modèle "
"d'objet vers un modèle de données relationnelles dans un schéma basé-SQL."
#. Tag: para #. Tag: para
#: preface.xml:39 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate not only takes care of the mapping from Java classes to database " "Hibernate not only takes care of the mapping from Java classes to database "
"tables (and from Java data types to SQL data types), but also provides data " "tables (and from Java data types to SQL data types), but also provides data "
"query and retrieval facilities. It can also significantly reduce development " "query and retrieval facilities. It can also significantly reduce development "
"time otherwise spent with manual data handling in SQL and JDBC." "time otherwise spent with manual data handling in SQL and JDBC."
msgstr "" msgstr ""
"Non seulement, Hibernate s'occupe du transfert des classes Java dans les " "Hibernate s'occupe du mappage des classes Java vers les tables de bases de "
"tables de la base de données (et des types de données Java dans les types de " "données (et des types de données Java vers les types de données SQL), mais "
"données SQL), mais il permet de requêter les données et propose des moyens " "fournit également des facilités de recherche et de retrait de données. "
"de les récupérer. Il peut donc réduire de manière significative le temps de " "Hibernate peut réduire énormément le temps de développement, normalement "
"développement qui aurait été autrement perdu dans une manipulation manuelle " "passé à traiter des données manuellement dans SQL ou JDBC."
"des données via SQL et JDBC."
#. Tag: para #. Tag: para
#: preface.xml:46 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate's goal is to relieve the developer from 95 percent of common data " "Hibernate's goal is to relieve the developer from 95 percent of common data "
"persistence related programming tasks. Hibernate may not be the best " "persistence related programming tasks. Hibernate may not be the best "
@ -63,51 +65,48 @@ msgid ""
"specific SQL code and will help with the common task of result set " "specific SQL code and will help with the common task of result set "
"translation from a tabular representation to a graph of objects." "translation from a tabular representation to a graph of objects."
msgstr "" msgstr ""
"Le but d'Hibernate est de libérer le développeur de 95 pourcent des tâches " "Le but d'Hibernate est de libérer le développeur de 95 pour cent des tâches "
"de programmation liées à la persistance des données communes. Hibernate " "de programmation liées à la persistance de données communes. Hibernate n'est "
"n'est probablement pas la meilleure solution pour les applications centrées " "peut-être pas la meilleure solution pour les applications centrées-données "
"sur les données qui n'utilisent que les procédures stockées pour implémenter " "qui utilisent uniquement les procédures-stored pour implémenter la logique "
"la logique métier dans la base de données, il est le plus utile dans les " "métier dans la base de données. Cela est surtout utile avec les modèles de "
"modèles métier orientés objets dont la logique métier est implémentée dans " "domaines orientés-objet et la logique métier dans l'étape intermédiaire "
"la couche Java dite intermédiaire. Cependant, Hibernate vous aidera à " "basée Java. Malgré tout, Hibernate peut vous aider à supprimer ou à "
"supprimer ou à encapsuler le code SQL spécifique à votre base de données et " "encapsuler le code SQL propre à un distributeur et vous aidera à régler la "
"vous aidera sur la tâche commune qu'est la transformation des données d'une " "tâche commune qui consiste à transposer un ensemble de résultats à partir "
"représentation tabulaire à une représentation sous forme de graphe d'objets." "d'un tableau de représentation vers un graphe d'objets. "
#. Tag: para #. Tag: para
#: preface.xml:56
#, no-c-format #, no-c-format
msgid "" msgid ""
"If you are new to Hibernate and Object/Relational Mapping or even Java, " "If you are new to Hibernate and Object/Relational Mapping or even Java, "
"please follow these steps:" "please follow these steps:"
msgstr "" msgstr ""
"Si vous êtes nouveau dans Hibernate et le mapping Objet/Relationnel voire " "Si vous n'êtes pas familiarisé avec Hibernate et le mappage Objet/"
"même en Java, suivez ces quelques étapes :" "Relationnel ou même Java, veuillez suivre les étapes suivantes :"
#. Tag: para #. Tag: para
#: preface.xml:63 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step " "Read <xref linkend=\"tutorial\" /> for a tutorial with step-by-step "
"instructions. The source code for the tutorial is included in the " "instructions. The source code for the tutorial is included in the "
"distribution in the <literal>doc/reference/tutorial/</literal> directory." "distribution in the <literal>doc/reference/tutorial/</literal> directory."
msgstr "" msgstr ""
"Lisez <xref linkend=\"tutorial\"/> pour un didacticiel plus long avec plus " "Lisez <xref linkend=\"tutorial\" /> pour bénéficier d'un tutoriel avec des "
"d'instructions étape par étape." "instructions étape par étape. Le code source du tutoriel est inclus dans la "
"distribution du répertoire <literal>doc/reference/tutorial/</literal>. "
#. Tag: para #. Tag: para
#: preface.xml:71 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"Read <xref linkend=\"architecture\"/> to understand the environments where " "Read <xref linkend=\"architecture\" /> to understand the environments where "
"Hibernate can be used." "Hibernate can be used."
msgstr "" msgstr ""
"Lisez <xref linkend=\"architecture\"/> pour comprendre les environnements " "Veuillez lire <xref linkend=\"architecture\" /> pour comprendre dans quels "
"dans lesquels Hibernate peut être utilisé." "environnements Hibernate peuvent-être utilisés."
#. Tag: para #. Tag: para
#: preface.xml:77 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"View the <literal>eg/</literal> directory in the Hibernate distribution. It " "View the <literal>eg/</literal> directory in the Hibernate distribution. It "
"contains a simple standalone application. Copy your JDBC driver to the " "contains a simple standalone application. Copy your JDBC driver to the "
@ -116,66 +115,57 @@ msgid ""
"command prompt in the distribution directory, type <literal>ant eg</literal> " "command prompt in the distribution directory, type <literal>ant eg</literal> "
"(using Ant), or under Windows, type <literal>build eg</literal>." "(using Ant), or under Windows, type <literal>build eg</literal>."
msgstr "" msgstr ""
"Regardez le répertoire <literal>eg</literal> de la distribution Hibernate, " "Veuillez consulter le répertoire <literal>eg/</literal> dans la distribution "
"il contient une application simple et autonome. Copiez votre pilote JDBC " "Hibernate, qui contient une application autonome simple. Copier votre pilote "
"dans le répertoire <literal>lib/</literal> et éditez <literal>src/hibernate." "JDBC dans le répertoire <literal>lib/</literal> et éditez <literal>etc/"
"properties</literal>, en positionnant correctement les valeurs pour votre " "hibernate.properties</literal>, en spécifiant les valeurs qu'il faut dans "
"base de données. A partir d'une invite de commande dans le répertoire de la " "votre base de données. A partir d'une invite de commande du répertoire de "
"distribution, tapez <literal>ant eg</literal> (cela utilise Ant), ou sous " "distribution, veuillez saisir <literal>ant eg</literal> (en utilisant Ant), "
"Windows tapez <literal>build eg</literal>." "et sous Windows, tapez <literal>build eg</literal>."
#. Tag: para #. Tag: para
#: preface.xml:88
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Use this reference documentation as your primary source of information. " "Use this reference documentation as your primary source of information. "
"Consider reading <biblioref linkend=\"biblio-JPwH\"></biblioref> if you need " "Consider reading <biblioref linkend=\"biblio-JPwH\"></biblioref> if you need "
"more help with application design, or if you prefer a step-by-step tutorial. " "more help with application design, or if you prefer a step-by-step tutorial. "
"Also visit <ulink url=\"http://caveatemptor.hibernate.org\"></ulink> and " "Also visit <ulink url=\"http://caveatemptor.hibernate.org\" /> and download "
"download the example application from <biblioref linkend=\"biblio-JPwH\"></" "the example application from <biblioref linkend=\"biblio-JPwH\"></biblioref>."
"biblioref>."
msgstr "" msgstr ""
"Faîtes de cette documentation de référence votre principale source " "Utiliser cette documentation de référence en tant que source primaire "
"d'information. Pensez à lire <emphasis>Java Persistence with Hibernate</" "d'information. Vous pourrez lire <emphasis>Hibernate in Action</emphasis> "
"emphasis> (http://www.manning.com/bauer2) si vous avez besoin de plus d'aide " "(http://www.manning.com/bauer) si vous avez besoin d'aide supplémentaire au "
"avec le design d'applications ou si vous préférez un tutoriel pas à pas. " "niveau de la conception des applications ou si vous préférez un tutoriel "
"Visitez aussi http://caveatemptor.hibernate.org et téléchargez l'application " "étape par étape. Aussi, veuillez consulter http://caveatemptor.hibernate.org "
"exemple pour Java Persistence with Hibernate." "et décharger l'exemple d'application pour Hibernate en action."
#. Tag: para #. Tag: para
#: preface.xml:98
#, no-c-format #, no-c-format
msgid "FAQs are answered on the Hibernate website." msgid "FAQs are answered on the Hibernate website."
msgstr "" msgstr "Les questions FAQ sont traitées sur le site Hibernate."
"Les questions les plus fréquemment posées (FAQs) trouvent leur réponse sur "
"le site web Hibernate."
#. Tag: para #. Tag: para
#: preface.xml:103
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Links to third party demos, examples, and tutorials are maintained on the " "Links to third party demos, examples, and tutorials are maintained on the "
"Hibernate website." "Hibernate website."
msgstr "" msgstr ""
"Des démos, exemples et tutoriaux de tierces personnes sont référencés sur le " "Des démos de tierces parties, des exemples et des tutoriels sont accessibles "
"site web Hibernate." "à partir du site Hibernate."
#. Tag: para #. Tag: para
#: preface.xml:109
#, no-c-format #, no-c-format
msgid "" msgid ""
"The Community Area on the Hibernate website is a good resource for design " "The Community Area on the Hibernate website is a good resource for design "
"patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, " "patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, "
"etc.)." "etc.)."
msgstr "" msgstr ""
"La zone communautaire (Community Area) du site web Hibernate est une bonne " "La section Community Area (Zône communautaire) du site Hibernate constitue "
"source d'information sur les design patterns et sur différentes solutions " "une ressource intéressante pour les modèles conceptuels et autres solutions "
"d'intégration d'Hibernate (Tomcat, JBoss, Spring Framework, Struts, EJB, " "diverses d'intégration (Tomcat, JBoss AS, Struts, EJB, etc.)."
"etc)."
#. Tag: para #. Tag: para
#: preface.xml:117 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you have questions, use the user forum linked on the Hibernate website. " "If you have questions, use the user forum linked on the Hibernate website. "
"We also provide a JIRA issue tracking system for bug reports and feature " "We also provide a JIRA issue tracking system for bug reports and feature "
@ -183,14 +173,13 @@ msgid ""
"developer mailing list. If you are interested in translating this " "developer mailing list. If you are interested in translating this "
"documentation into your language, contact us on the developer mailing list." "documentation into your language, contact us on the developer mailing list."
msgstr "" msgstr ""
"Si vous avez des questions, utilisez le forum utilisateurs du site web " "Si vous avez des questions, participez au forum utilisateur sur le site "
"Hibernate. Nous utilisons également l'outil de gestion des incidents JIRA " "Hibernate. Nous proposons également des systèmes de traçage JIRA pour les "
"pour tout ce qui est rapports de bogue et demandes d'évolution. Si vous êtes " "rapports de bogues et les demandes sur les fonctionalités. Si vous êtes "
"intéressé par le développement d'Hibernate, joignez-vous à la liste de " "intéressé à participer au développement d'Hibernate, veuillez rejoindre la "
"diffusion de développement." "liste de distribution électronique des développeurs. "
#. Tag: para #. Tag: para
#: preface.xml:125
#, no-c-format #, no-c-format
msgid "" msgid ""
"Commercial development support, production support, and training for " "Commercial development support, production support, and training for "
@ -199,8 +188,8 @@ msgid ""
"critical component of the JBoss Enterprise Middleware System (JEMS) suite of " "critical component of the JBoss Enterprise Middleware System (JEMS) suite of "
"products." "products."
msgstr "" msgstr ""
"Le développement commercial, le support de production et les formations à " "Le support pour le développement commercial, le support production, et la "
"Hibernate sont proposés par JBoss Inc (voir http://www.hibernate.org/" "formation Hibernate sont disponibles à travers JBoss Inc. (voir http://www."
"SupportTraining/). Hibernate est un projet Open Source professionnel et un " "hibernate.org/SupportTraining/). Hibernate est un projet professionnel en "
"composant critique de la suite de produits JBoss Enterprise Middleware " "source ouverte et un composant critique de la suite de produits JBoss "
"System (JEMS)." "Enterprise Middleware System (JEMS). "

View File

@ -1,36 +1,38 @@
# translation of query_criteria.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: query_criteria\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:56+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-05 09:43+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: query_criteria.xml:29
#, no-c-format #, no-c-format
msgid "Criteria Queries" msgid "Criteria Queries"
msgstr "Requêtes par critères" msgstr "Requêtes par critères"
#. Tag: para #. Tag: para
#: query_criteria.xml:31
#, no-c-format #, no-c-format
msgid "Hibernate features an intuitive, extensible criteria query API." msgid "Hibernate features an intuitive, extensible criteria query API."
msgstr "" msgstr ""
"Hibernate offre une API d'interrogation par critères intuitive et extensible." "Hibernate offre une API d'interrogation par critères intuitive et extensible."
#. Tag: title #. Tag: title
#: query_criteria.xml:36
#, no-c-format #, no-c-format
msgid "Creating a <literal>Criteria</literal> instance" msgid "Creating a <literal>Criteria</literal> instance"
msgstr "Créer une instance de <literal>Criteria</literal>" msgstr "Créer une instance de <literal>Criteria</literal>"
#. Tag: para #. Tag: para
#: query_criteria.xml:38
#, no-c-format #, no-c-format
msgid "" msgid ""
"The interface <literal>org.hibernate.Criteria</literal> represents a query " "The interface <literal>org.hibernate.Criteria</literal> represents a query "
@ -38,26 +40,15 @@ msgid ""
"factory for <literal>Criteria</literal> instances." "factory for <literal>Criteria</literal> instances."
msgstr "" msgstr ""
"L'interface <literal>net.sf.hibernate.Criteria</literal> représente une " "L'interface <literal>net.sf.hibernate.Criteria</literal> représente une "
"requête sur une classe persistente donnée. La <literal>Session</literal> " "requête sur une classe persistante donnée. La <literal>Session</literal> "
"fournit les instances de <literal>Criteria</literal>." "fournit les instances de <literal>Criteria</literal>."
#. Tag: programlisting
#: query_criteria.xml:44
#, no-c-format
msgid ""
"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
"crit.setMaxResults(50);\n"
"List cats = crit.list();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:49
#, no-c-format #, no-c-format
msgid "Narrowing the result set" msgid "Narrowing the result set"
msgstr "Restriction du résultat" msgstr "Restriction du résultat"
#. Tag: para #. Tag: para
#: query_criteria.xml:51
#, no-c-format #, no-c-format
msgid "" msgid ""
"An individual query criterion is an instance of the interface <literal>org." "An individual query criterion is an instance of the interface <literal>org."
@ -65,187 +56,78 @@ msgid ""
"criterion.Restrictions</literal> defines factory methods for obtaining " "criterion.Restrictions</literal> defines factory methods for obtaining "
"certain built-in <literal>Criterion</literal> types." "certain built-in <literal>Criterion</literal> types."
msgstr "" msgstr ""
"Un criterion (critère de recherche) est une instance de l'interface " "Un critère de recherche (criterion) individuel est une instance de "
"<literal>org.hibernate.criterion.Criterion</literal>. La classe <literal>org." "l'interface <literal>org.hibernate.criterion.Criterion</literal>. La classe "
"hibernate.criterion.Restrictions</literal> définit des méthodes pour obtenir " "<literal>org.hibernate.criterion.Restrictions</literal> définit des méthodes "
"des types de <literal>Criterion</literal> pré-définis." "de fabrique pour obtenir des types de <literal>Criterion</literal> intégrés."
#. Tag: programlisting
#: query_criteria.xml:59
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
" .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:61 #, no-c-format
#, fuzzy, no-c-format
msgid "Restrictions can be grouped logically." msgid "Restrictions can be grouped logically."
msgstr "Les restrictions peuvent être goupées de manière logique." msgstr "Les restrictions peuvent être groupées de manière logique. "
#. Tag: programlisting
#: query_criteria.xml:65
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
" .add( Restrictions.or(\n"
" Restrictions.eq( \"age\", new Integer(0) ),\n"
" Restrictions.isNull(\"age\")\n"
" ) )\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:67
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.in( \"name\", new String[] { \"Fritz\", \"Izi\", \"Pk"
"\" } ) )\n"
" .add( Restrictions.disjunction()\n"
" .add( Restrictions.isNull(\"age\") )\n"
" .add( Restrictions.eq(\"age\", new Integer(0) ) )\n"
" .add( Restrictions.eq(\"age\", new Integer(1) ) )\n"
" .add( Restrictions.eq(\"age\", new Integer(2) ) )\n"
" ) )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:69 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"There are a range of built-in criterion types (<literal>Restrictions</" "There are a range of built-in criterion types (<literal>Restrictions</"
"literal> subclasses). One of the most useful allows you to specify SQL " "literal> subclasses). One of the most useful allows you to specify SQL "
"directly." "directly."
msgstr "" msgstr ""
"Il y a plusieurs types de criterion pré-définis (sous classes de " "Il y a un grand choix de types de critères intégrés (sous classes de "
"<literal>Restriction</literal>), mais l'une d'entre elle particulièrement " "<literal>Restriction</literal>), dont un est particulièrement utile "
"utile vous permet de spécifier directement du SQL." "puisqu'il vous permet de spécifier directement SQL."
#. Tag: programlisting
#: query_criteria.xml:74
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.sqlRestriction(\"lower({alias}.name) like lower(?)\", "
"\"Fritz%\", Hibernate.STRING) )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:76
#, no-c-format #, no-c-format
msgid "" msgid ""
"The <literal>{alias}</literal> placeholder with be replaced by the row alias " "The <literal>{alias}</literal> placeholder with be replaced by the row alias "
"of the queried entity." "of the queried entity."
msgstr "" msgstr ""
"La zone <literal>{alias}</literal> sera remplacée par l'alias de colonne de " "La zone <literal>{alias}</literal> sera remplacée par l'alias de colonne de "
"l'entité que l'on souhaite intérroger." "l'entité que l'on souhaite interroger."
#. Tag: para #. Tag: para
#: query_criteria.xml:81 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can also obtain a criterion from a <literal>Property</literal> instance. " "You can also obtain a criterion from a <literal>Property</literal> instance. "
"You can create a <literal>Property</literal> by calling <literal>Property." "You can create a <literal>Property</literal> by calling <literal>Property."
"forName()</literal>:" "forName()</literal>:"
msgstr "" msgstr ""
"Une autre approche pour obtenir un criterion est de le récupérer d'une " "Une autre approche pour obtenir un critère est de le récupérer d'une "
"instance de <literal>Property</literal>. Vous pouvez créer une " "instance de <literal>Property</literal>. Vous pouvez créer une "
"<literal>Property</literal> en appelant <literal>Property.forName()</" "<literal>Property</literal> en appelant <literal>Property.forName()</"
"literal>." "literal>. "
#. Tag: programlisting
#: query_criteria.xml:87
#, no-c-format
msgid ""
"<![CDATA[\n"
"Property age = Property.forName(\"age\");\n"
"List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.disjunction()\n"
" .add( age.isNull() )\n"
" .add( age.eq( new Integer(0) ) )\n"
" .add( age.eq( new Integer(1) ) )\n"
" .add( age.eq( new Integer(2) ) )\n"
" ) )\n"
" .add( Property.forName(\"name\").in( new String[] { \"Fritz\", \"Izi\", "
"\"Pk\" } ) )\n"
" .list();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:92
#, no-c-format #, no-c-format
msgid "Ordering the results" msgid "Ordering the results"
msgstr "Trier les résultats" msgstr "Trier les résultats"
#. Tag: para #. Tag: para
#: query_criteria.xml:94 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can order the results using <literal>org.hibernate.criterion.Order</" "You can order the results using <literal>org.hibernate.criterion.Order</"
"literal>." "literal>."
msgstr "" msgstr ""
"Vous pouvez trier les résultats en utilisant <literal>org.hibernate." "Vous pouvez trier les résultats en utilisant <literal>org.hibernate."
"criterion.Order</literal>." "criterion.Order</literal>. "
#. Tag: programlisting
#: query_criteria.xml:98
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"F%\")\n"
" .addOrder( Order.asc(\"name\") )\n"
" .addOrder( Order.desc(\"age\") )\n"
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:100
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Property.forName(\"name\").like(\"F%\") )\n"
" .addOrder( Property.forName(\"name\").asc() )\n"
" .addOrder( Property.forName(\"age\").desc() )\n"
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:105
#, no-c-format #, no-c-format
msgid "Associations" msgid "Associations"
msgstr "Associations" msgstr "Associations"
#. Tag: para #. Tag: para
#: query_criteria.xml:107
#, no-c-format #, no-c-format
msgid "" msgid ""
"By navigating associations using <literal>createCriteria()</literal> you can " "By navigating associations using <literal>createCriteria()</literal> you can "
"specify constraints upon related entities:" "specify constraints upon related entities:"
msgstr "" msgstr ""
"En naviguant les associations qui utilisent <literal>createCriteria()</"
#. Tag: programlisting "literal>, vous pouvez spécifier des contraintes associées à des entités :"
#: query_criteria.xml:112
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"F%\") )\n"
" .createCriteria(\"kittens\")\n"
" .add( Restrictions.like(\"name\", \"F%\") )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:114 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The second <literal>createCriteria()</literal> returns a new instance of " "The second <literal>createCriteria()</literal> returns a new instance of "
"<literal>Criteria</literal> that refers to the elements of the " "<literal>Criteria</literal> that refers to the elements of the "
@ -253,28 +135,15 @@ msgid ""
msgstr "" msgstr ""
"Notez que la seconde <literal>createCriteria()</literal> retourne une " "Notez que la seconde <literal>createCriteria()</literal> retourne une "
"nouvelle instance de <literal>Criteria</literal>, qui se rapporte aux " "nouvelle instance de <literal>Criteria</literal>, qui se rapporte aux "
"éléments de la collection <literal>kittens</literal>." "éléments de la collection <literal>kittens</literal>. "
#. Tag: para #. Tag: para
#: query_criteria.xml:120
#, fuzzy, no-c-format
msgid ""
"There is also an alternate form that is useful in certain circumstances:"
msgstr "La forme alternative suivante est utile dans certains cas."
#. Tag: programlisting
#: query_criteria.xml:124
#, no-c-format #, no-c-format
msgid "" msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n" "There is also an alternate form that is useful in certain circumstances:"
" .createAlias(\"kittens\", \"kt\")\n" msgstr "La forme alternative suivante est utile dans certains cas :"
" .createAlias(\"mate\", \"mt\")\n"
" .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\") )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:126
#, no-c-format #, no-c-format
msgid "" msgid ""
"(<literal>createAlias()</literal> does not create a new instance of " "(<literal>createAlias()</literal> does not create a new instance of "
@ -284,8 +153,7 @@ msgstr ""
"<literal>Criteria</literal>.)" "<literal>Criteria</literal>.)"
#. Tag: para #. Tag: para
#: query_criteria.xml:131 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The kittens collections held by the <literal>Cat</literal> instances " "The kittens collections held by the <literal>Cat</literal> instances "
"returned by the previous two queries are <emphasis>not</emphasis> pre-" "returned by the previous two queries are <emphasis>not</emphasis> pre-"
@ -295,97 +163,84 @@ msgstr ""
"Notez que les collections kittens contenues dans les instances de " "Notez que les collections kittens contenues dans les instances de "
"<literal>Cat</literal> retournées par les deux précédentes requêtes ne sont " "<literal>Cat</literal> retournées par les deux précédentes requêtes ne sont "
"<emphasis>pas</emphasis> pré-filtrées par les critères ! Si vous souhaitez " "<emphasis>pas</emphasis> pré-filtrées par les critères ! Si vous souhaitez "
"récupérer uniquement les kittens qui correspondent à la criteria, vous devez " "récupérer uniquement les kittens correspondant aux critères, vous devez "
"utiliser <literal>ResultTransformer</literal>." "utiliser <literal>ResultTransformer</literal>. "
#. Tag: programlisting #. Tag: para
#: query_criteria.xml:138 #, no-c-format
msgid "Additionally you may manipulate the result set using a left outer join:"
msgstr ""
#. Tag: para
#, no-c-format #, no-c-format
msgid "" msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n" "This will return all of the <literal>Cat</literal>s with a mate whose name "
" .createCriteria(\"kittens\", \"kt\")\n" "starts with \"good\" ordered by their mate's age, and all cats who do not "
" .add( Restrictions.eq(\"name\", \"F%\") )\n" "have a mate. This is useful when there is a need to order or limit in the "
" .setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP)\n" "database prior to returning complex/large result sets, and removes many "
" .list();\n" "instances where multiple queries would have to be performed and the results "
"Iterator iter = cats.iterator();\n" "unioned by java in memory."
"while ( iter.hasNext() ) {\n" msgstr ""
" Map map = (Map) iter.next();\n"
" Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);\n" #. Tag: para
" Cat kitten = (Cat) map.get(\"kt\");\n" #, no-c-format
"}]]>" msgid ""
"Without this feature, first all of the cats without a mate would need to be "
"loaded in one query."
msgstr ""
#. Tag: para
#, no-c-format
msgid ""
"A second query would need to retreive the cats with mates who's name started "
"with \"good\" sorted by the mates age."
msgstr ""
#. Tag: para
#, no-c-format
msgid "Thirdly, in memory; the lists would need to be joined manually."
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:143
#, no-c-format #, no-c-format
msgid "Dynamic association fetching" msgid "Dynamic association fetching"
msgstr "Peuplement d'associations de manière dynamique" msgstr "Peuplement d'associations de manière dynamique"
#. Tag: para #. Tag: para
#: query_criteria.xml:145 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can specify association fetching semantics at runtime using " "You can specify association fetching semantics at runtime using "
"<literal>setFetchMode()</literal>." "<literal>setFetchMode()</literal>."
msgstr "" msgstr ""
"Vous pouvez spéficier au moment de l'exécution le peuplement d'une " "Vous pouvez spécifier, au moment de l'exécution, le peuplement d'une "
"association en utilisant <literal>setFetchMode()</literal> (c'est-à-dire le " "association en utilisant <literal>setFetchMode()</literal>."
"chargement de celle-ci). Cela permet de surcharger les valeurs \"lazy\" et "
"\"outer-join\" du mapping."
#. Tag: programlisting
#: query_criteria.xml:150
#, no-c-format
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
" .setFetchMode(\"mate\", FetchMode.EAGER)\n"
" .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:152 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"This query will fetch both <literal>mate</literal> and <literal>kittens</" "This query will fetch both <literal>mate</literal> and <literal>kittens</"
"literal> by outer join. See <xref linkend=\"performance-fetching\"/> for " "literal> by outer join. See <xref linkend=\"performance-fetching\" /> for "
"more information." "more information."
msgstr "" msgstr ""
"Cette requête recherchera <literal>mate</literal> et <literal>kittens</" "Cette requête recherchera <literal>mate</literal> et <literal>kittens</"
"literal> via les jointures externes. Voir <xref linkend=\"performance-" "literal> via les jointures externes. Consultez <xref linkend=\"performance-"
"fetching\"/> pour plus d'informations." "fetching\" /> pour plus d'informations."
#. Tag: title #. Tag: title
#: query_criteria.xml:160
#, no-c-format #, no-c-format
msgid "Example queries" msgid "Example queries"
msgstr "Requêtes par l'exemple" msgstr "Requêtes par l'exemple"
#. Tag: para #. Tag: para
#: query_criteria.xml:162
#, no-c-format #, no-c-format
msgid "" msgid ""
"The class <literal>org.hibernate.criterion.Example</literal> allows you to " "The class <literal>org.hibernate.criterion.Example</literal> allows you to "
"construct a query criterion from a given instance." "construct a query criterion from a given instance."
msgstr "" msgstr ""
"La classe <literal>org.hibernate.criterion.Example</literal> vous permet de " "La classe <literal>org.hibernate.criterion.Example</literal> vous permet de "
"construire un critère suivant une instance d'objet donnée." "construire un critère de requête à partir d'une instance d'objet donnée."
#. Tag: programlisting
#: query_criteria.xml:167
#, no-c-format
msgid ""
"<![CDATA[Cat cat = new Cat();\n"
"cat.setSex('F');\n"
"cat.setColor(Color.BLACK);\n"
"List results = session.createCriteria(Cat.class)\n"
" .add( Example.create(cat) )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:169
#, no-c-format #, no-c-format
msgid "" msgid ""
"Version properties, identifiers and associations are ignored. By default, " "Version properties, identifiers and associations are ignored. By default, "
@ -395,56 +250,26 @@ msgstr ""
"Par défaut, les valeurs null sont exclues." "Par défaut, les valeurs null sont exclues."
#. Tag: para #. Tag: para
#: query_criteria.xml:174
#, no-c-format #, no-c-format
msgid "You can adjust how the <literal>Example</literal> is applied." msgid "You can adjust how the <literal>Example</literal> is applied."
msgstr "" msgstr ""
"Vous pouvez ajuster la stratégie d'utilisation de valeurs de " "Vous pouvez ajuster la stratégie d'utilisation de valeurs de "
"l'<literal>Exemple</literal>." "l'<literal>Exemple</literal>."
#. Tag: programlisting
#: query_criteria.xml:178
#, no-c-format
msgid ""
"<![CDATA[Example example = Example.create(cat)\n"
" .excludeZeroes() //exclude zero valued properties\n"
" .excludeProperty(\"color\") //exclude the property named \"color\"\n"
" .ignoreCase() //perform case insensitive string "
"comparisons\n"
" .enableLike(); //use like for string comparisons\n"
"List results = session.createCriteria(Cat.class)\n"
" .add(example)\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:180
#, no-c-format #, no-c-format
msgid "You can even use examples to place criteria upon associated objects." msgid "You can even use examples to place criteria upon associated objects."
msgstr "" msgstr ""
"Vous pouvez utiliser les \"exemples\" pour des critères sur les objets " "Vous pouvez utiliser les \"exemples\" pour des critères sur des objets "
"associés." "associés."
#. Tag: programlisting
#: query_criteria.xml:184
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .add( Example.create(cat) )\n"
" .createCriteria(\"mate\")\n"
" .add( Example.create( cat.getMate() ) )\n"
" .list();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:189
#, no-c-format #, no-c-format
msgid "Projections, aggregation and grouping" msgid "Projections, aggregation and grouping"
msgstr "Projections, agrégation et regroupement" msgstr "Projections, agrégation et regroupement"
#. Tag: para #. Tag: para
#: query_criteria.xml:190 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The class <literal>org.hibernate.criterion.Projections</literal> is a " "The class <literal>org.hibernate.criterion.Projections</literal> is a "
"factory for <literal>Projection</literal> instances. You can apply a " "factory for <literal>Projection</literal> instances. You can apply a "
@ -452,34 +277,9 @@ msgid ""
msgstr "" msgstr ""
"La classe <literal>org.hibernate.criterion.Projections</literal> est une " "La classe <literal>org.hibernate.criterion.Projections</literal> est une "
"fabrique d'instances de <literal>Projection</literal>. Nous appliquons une " "fabrique d'instances de <literal>Projection</literal>. Nous appliquons une "
"projection sur une requête en appelant <literal>setProjection()</literal>." "projection sur une requête en appelant <literal>setProjection()</literal>. "
#. Tag: programlisting
#: query_criteria.xml:196
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.rowCount() )\n"
" .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:198
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
" .add( Projections.rowCount() )\n"
" .add( Projections.avg(\"weight\") )\n"
" .add( Projections.max(\"weight\") )\n"
" .add( Projections.groupProperty(\"color\") )\n"
" )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:200
#, no-c-format #, no-c-format
msgid "" msgid ""
"There is no explicit \"group by\" necessary in a criteria query. Certain " "There is no explicit \"group by\" necessary in a criteria query. Certain "
@ -488,44 +288,21 @@ msgid ""
msgstr "" msgstr ""
"Il n'y a pas besoin de \"group by\" explicite dans une requête par critère. " "Il n'y a pas besoin de \"group by\" explicite dans une requête par critère. "
"Certains types de projection sont définis pour être des " "Certains types de projection sont définis pour être des "
"<emphasis>projections de regroupement</emphasis>, lesquels apparaissent " "<emphasis>projections de regroupement</emphasis>, qui apparaissent aussi "
"aussi dans la clause <literal>group by</literal> SQL." "dans la clause SQL <literal>group by</literal>."
#. Tag: para #. Tag: para
#: query_criteria.xml:206 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"An alias can be assigned to a projection so that the projected value can be " "An alias can be assigned to a projection so that the projected value can be "
"referred to in restrictions or orderings. Here are two different ways to do " "referred to in restrictions or orderings. Here are two different ways to do "
"this:" "this:"
msgstr "" msgstr ""
"Un alias peut optionnellement être assigné à une projection, ainsi la valeur " "Un alias peut optionnellement être assigné à une projection, ainsi la valeur "
"projetée peut être référencée dans des restrictions ou des tris. Voici deux " "projetée peut être référencée dans des restrictions ou des tris. À cet "
"façons différentes de faire ça :" "effet, voici deux procédés différents : "
#. Tag: programlisting
#: query_criteria.xml:212
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.alias( Projections.groupProperty(\"color\"), "
"\"colr\" ) )\n"
" .addOrder( Order.asc(\"colr\") )\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:214
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
" .addOrder( Order.asc(\"colr\") )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:216
#, no-c-format #, no-c-format
msgid "" msgid ""
"The <literal>alias()</literal> and <literal>as()</literal> methods simply " "The <literal>alias()</literal> and <literal>as()</literal> methods simply "
@ -533,44 +310,13 @@ msgid ""
"<literal>Projection</literal>. As a shortcut, you can assign an alias when " "<literal>Projection</literal>. As a shortcut, you can assign an alias when "
"you add the projection to a projection list:" "you add the projection to a projection list:"
msgstr "" msgstr ""
"Les méthodes <literal>alias()</literal> et <literal>as()</literal> enveloppe " "Les méthodes <literal>alias()</literal> et <literal>as()</literal> "
"simplement une instance de projection dans une autre instance (aliasée) de " "enveloppent simplement une instance de projection dans une autre instance "
"<literal>Projection</literal>. Comme un raccourci, vous pouvez assignez un " "(aliasée) de <literal>Projection</literal>. Pour un raccourci, vous pouvez "
"alias lorsque vous ajoutez la projection à la liste de projections :" "assigner un alias lorsque vous ajoutez la projection à une liste de "
"projections :"
#. Tag: programlisting
#: query_criteria.xml:223
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
" .add( Projections.rowCount(), \"catCountByColor\" )\n"
" .add( Projections.avg(\"weight\"), \"avgWeight\" )\n"
" .add( Projections.max(\"weight\"), \"maxWeight\" )\n"
" .add( Projections.groupProperty(\"color\"), \"color\" )\n"
" )\n"
" .addOrder( Order.desc(\"catCountByColor\") )\n"
" .addOrder( Order.desc(\"avgWeight\") )\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:225
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Domestic.class, \"cat\")\n"
" .createAlias(\"kittens\", \"kit\")\n"
" .setProjection( Projections.projectionList()\n"
" .add( Projections.property(\"cat.name\"), \"catName\" )\n"
" .add( Projections.property(\"kit.name\"), \"kitName\" )\n"
" )\n"
" .addOrder( Order.asc(\"catName\") )\n"
" .addOrder( Order.asc(\"kitName\") )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:227
#, no-c-format #, no-c-format
msgid "" msgid ""
"You can also use <literal>Property.forName()</literal> to express " "You can also use <literal>Property.forName()</literal> to express "
@ -579,41 +325,13 @@ msgstr ""
"Vous pouvez aussi utiliser <literal>Property.forName()</literal> pour " "Vous pouvez aussi utiliser <literal>Property.forName()</literal> pour "
"formuler des projections :" "formuler des projections :"
#. Tag: programlisting
#: query_criteria.xml:231
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Property.forName(\"name\") )\n"
" .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:233
#, no-c-format
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
" .add( Projections.rowCount().as(\"catCountByColor\") )\n"
" .add( Property.forName(\"weight\").avg().as(\"avgWeight\") )\n"
" .add( Property.forName(\"weight\").max().as(\"maxWeight\") )\n"
" .add( Property.forName(\"color\").group().as(\"color\" )\n"
" )\n"
" .addOrder( Order.desc(\"catCountByColor\") )\n"
" .addOrder( Order.desc(\"avgWeight\") )\n"
" .list();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:238
#, no-c-format #, no-c-format
msgid "Detached queries and subqueries" msgid "Detached queries and subqueries"
msgstr "Requêtes et sous-requêtes détachées" msgstr "Requêtes et sous-requêtes détachées"
#. Tag: para #. Tag: para
#: query_criteria.xml:239 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>DetachedCriteria</literal> class allows you to create a query " "The <literal>DetachedCriteria</literal> class allows you to create a query "
"outside the scope of a session and then execute it using an arbitrary " "outside the scope of a session and then execute it using an arbitrary "
@ -621,86 +339,32 @@ msgid ""
msgstr "" msgstr ""
"La classe <literal>DetachedCriteria</literal> vous laisse créer une requête " "La classe <literal>DetachedCriteria</literal> vous laisse créer une requête "
"en dehors de la portée de la session, et puis l'exécuter plus tard en " "en dehors de la portée de la session, et puis l'exécuter plus tard en "
"utilisant n'importe quelle <literal>Session</literal> arbitraire." "utilisant une <literal>Session</literal> arbitraire. "
#. Tag: programlisting
#: query_criteria.xml:244
#, no-c-format
msgid ""
"<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
" .add( Property.forName(\"sex\").eq('F') );\n"
" \n"
"Session session = ....;\n"
"Transaction txn = session.beginTransaction();\n"
"List results = query.getExecutableCriteria(session).setMaxResults(100).list"
"();\n"
"txn.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:246 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A <literal>DetachedCriteria</literal> can also be used to express a " "A <literal>DetachedCriteria</literal> can also be used to express a "
"subquery. Criterion instances involving subqueries can be obtained via " "subquery. Criterion instances involving subqueries can be obtained via "
"<literal>Subqueries</literal> or <literal>Property</literal>." "<literal>Subqueries</literal> or <literal>Property</literal>."
msgstr "" msgstr ""
"Une <literal>DetachedCriteria</literal> peut aussi être utilisée pour " "Les <literal>DetachedCriteria</literal> peuvent aussi être utilisés pour "
"exprimer une sous-requête. Des instances de criterion impliquant des sous-" "exprimer une sous-requête. Des instances de critère impliquant des sous-"
"requêtes peuvent être obtenues via <literal>Subqueries</literal> ou " "requêtes peuvent être obtenues via <literal>Subqueries</literal> ou "
"<literal>Property</literal>." "<literal>Property</literal>. "
#. Tag: programlisting
#: query_criteria.xml:252
#, no-c-format
msgid ""
"<![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)\n"
" .setProjection( Property.forName(\"weight\").avg() );\n"
"session.createCriteria(Cat.class)\n"
" .add( Property.forName(\"weight\").gt(avgWeight) )\n"
" .list();]]>"
msgstr ""
#. Tag: programlisting
#: query_criteria.xml:254
#, no-c-format
msgid ""
"<![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)\n"
" .setProjection( Property.forName(\"weight\") );\n"
"session.createCriteria(Cat.class)\n"
" .add( Subqueries.geAll(\"weight\", weights) )\n"
" .list();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:256
#, fuzzy, no-c-format
msgid "Correlated subqueries are also possible:"
msgstr "Même des requêtes corrélées sont possibles :"
#. Tag: programlisting
#: query_criteria.xml:260
#, no-c-format #, no-c-format
msgid "" msgid "Correlated subqueries are also possible:"
"<![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat." msgstr "Des sous-requêtes corrélées sont également possibles :"
"class, \"cat2\")\n"
" .setProjection( Property.forName(\"weight\").avg() )\n"
" .add( Property.forName(\"cat2.sex\").eqProperty(\"cat.sex\") );\n"
"session.createCriteria(Cat.class, \"cat\")\n"
" .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
" .list();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: query_criteria.xml:269
#, no-c-format #, no-c-format
msgid "Queries by natural identifier" msgid "Queries by natural identifier"
msgstr "Requêtes par identifiant naturel" msgstr "Requêtes par identifiant naturel"
#. Tag: para #. Tag: para
#: query_criteria.xml:271 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For most queries, including criteria queries, the query cache is not " "For most queries, including criteria queries, the query cache is not "
"efficient because query cache invalidation occurs too frequently. However, " "efficient because query cache invalidation occurs too frequently. However, "
@ -711,79 +375,38 @@ msgid ""
msgstr "" msgstr ""
"Pour la plupart des requêtes, incluant les requêtes par critère, le cache de " "Pour la plupart des requêtes, incluant les requêtes par critère, le cache de "
"requêtes n'est pas très efficace, parce que l'invalidation du cache de " "requêtes n'est pas très efficace, parce que l'invalidation du cache de "
"requêtes arrive trop souvent. Cependant, il y a une sorte spéciale de " "requêtes arrive trop souvent. Cependant, il y existe une requête spéciale où "
"requête où nous pouvons optimiser l'algorithme d'invalidation du cache : les " "l'on peut optimiser l'algorithme d'invalidation du cache : les recherches "
"recherches sur une clef naturelle constante. Dans certaines applications, " "par une clef naturelle constante. Dans certaines applications, ce genre de "
"cette sorte de requête se produit fréquemment. L'API de critère fournit une " "requête se produit fréquemment. L'API des critères fournit une disposition "
"provision spéciale pour ce cas d'utilisation." "spéciale pour ce cas d'utilisation. "
#. Tag: para #. Tag: para
#: query_criteria.xml:279 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"First, map the natural key of your entity using <literal>&lt;natural-id&gt;</" "First, map the natural key of your entity using <literal>&lt;natural-id&gt;</"
"literal> and enable use of the second-level cache." "literal> and enable use of the second-level cache."
msgstr "" msgstr ""
"D'abord vous devriez mapper la clef naturelle de votre entité en utilisant " "D'abord, vous devrez mapper la clé naturelle de votre entité en utilisant "
"<literal>&lt;natural-id&gt;</literal>, et activer l'utilisation du cache de " "<literal>&lt;natural-id&gt;</literal>, et activer l'utilisation du cache de "
"second niveau." "second niveau."
#. Tag: programlisting
#: query_criteria.xml:284
#, no-c-format
msgid ""
"<![CDATA[<class name=\"User\">\n"
" <cache usage=\"read-write\"/>\n"
" <id name=\"id\">\n"
" <generator class=\"increment\"/>\n"
" </id>\n"
" <natural-id>\n"
" <property name=\"name\"/>\n"
" <property name=\"org\"/>\n"
" </natural-id>\n"
" <property name=\"password\"/>\n"
"</class>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: query_criteria.xml:286 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This functionality is not intended for use with entities with " "This functionality is not intended for use with entities with "
"<emphasis>mutable</emphasis> natural keys." "<emphasis>mutable</emphasis> natural keys."
msgstr "" msgstr ""
"Notez que cette fonctionnalité n'est pas prévue pour l'utilisation avec des " "Cette fonctionnalité n'est pas prévue pour l'utilisation avec des entités "
"entités avec des clefs naturelles <emphasis>mutables</emphasis>." "avec des clés naturelles <emphasis>mutables</emphasis>."
#. Tag: para #. Tag: para
#: query_criteria.xml:291 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Once you have enabled the Hibernate query cache, the <literal>Restrictions." "Once you have enabled the Hibernate query cache, the <literal>Restrictions."
"naturalId()</literal> allows you to make use of the more efficient cache " "naturalId()</literal> allows you to make use of the more efficient cache "
"algorithm." "algorithm."
msgstr "" msgstr ""
"Maintenant <literal>Restrictions.naturalId()</literal> nous permet de rendre " "Une fois que vous aurez activé le cache de requête d'Hibernate, "
"<literal>Restrictions.naturalId()</literal> vous permettra de rendre "
"l'utilisation de l'algorithme de cache plus efficace." "l'utilisation de l'algorithme de cache plus efficace."
#. Tag: programlisting
#: query_criteria.xml:297
#, no-c-format
msgid ""
"<![CDATA[session.createCriteria(User.class)\n"
" .add( Restrictions.naturalId()\n"
" .set(\"name\", \"gavin\")\n"
" .set(\"org\", \"hb\") \n"
" ).setCacheable(true)\n"
" .uniqueResult();]]>"
msgstr ""
#~ msgid ""
#~ "You may easily specify constraints upon related entities by navigating "
#~ "associations using <literal>createCriteria()</literal>."
#~ msgstr ""
#~ "Vous pouvez facilement spécifier des contraintes sur des entités liées, "
#~ "par des associations en utilisant <literal>createCriteria()</literal>."
#~ msgid "Next, enable the Hibernate query cache."
#~ msgstr "Ensuite, activez le cache de requête d'Hibernate."

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +1,42 @@
# translation of xml.po to French
# Myriam Malga <mmalga@redhat.com>, 2007.
# Xi HUANG <xhuang@redhat.com>, 2007.
# Corina Roe <croe@redhat.com>, 2009, 2010.
# translation of Collection_Mapping.po to
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: xml\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:56+0000\n" "POT-Creation-Date: 2010-02-10T07:25:35\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-05 10:08+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Corina Roe <croe@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: French <i18@redhat.com>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: xml.xml:29
#, no-c-format #, no-c-format
msgid "XML Mapping" msgid "XML Mapping"
msgstr "Mapping XML" msgstr "Mappage XML"
#. Tag: emphasis #. Tag: para
#: xml.xml:31
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"XML Mapping is an experimental feature in Hibernate 3.0 and is currently " "<emphasis> XML Mapping is an experimental feature in Hibernate 3.0 and is "
"under active development." "currently under active development. </emphasis>"
msgstr "" msgstr ""
"Notez que cette fonctionnalité est expérimentale dans Hibernate 3.0 et est " "<emphasis>Notez que cette fonctionnalité est expérimentale dans Hibernate "
"en développement extrêmement actif." "3.0 et est en développement extrêmement actif. </emphasis>"
#. Tag: title #. Tag: title
#: xml.xml:37
#, no-c-format #, no-c-format
msgid "Working with XML data" msgid "Working with XML data"
msgstr "Travailler avec des données XML" msgstr "Travailler avec des données XML"
#. Tag: para #. Tag: para
#: xml.xml:39 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate allows you to work with persistent XML data in much the same way " "Hibernate allows you to work with persistent XML data in much the same way "
"you work with persistent POJOs. A parsed XML tree can be thought of as " "you work with persistent POJOs. A parsed XML tree can be thought of as "
@ -42,12 +44,11 @@ msgid ""
"of POJOs." "of POJOs."
msgstr "" msgstr ""
"Hibernate vous laisse travailler avec des données XML persistantes de la " "Hibernate vous laisse travailler avec des données XML persistantes de la "
"même manière que vous travaillez avec des POJOs persistants. Un arbre XML " "même manière que vous travaillez avec des POJO persistants. Un arbre XML "
"peut être vu comme une autre manière de représenter les données " "peut être vu comme une autre manière de représenter les données "
"relationnelles au niveau objet, à la place des POJOs." "relationnelles au niveau objet, à la place des POJO. "
#. Tag: para #. Tag: para
#: xml.xml:46
#, no-c-format #, no-c-format
msgid "" msgid ""
"Hibernate supports dom4j as API for manipulating XML trees. You can write " "Hibernate supports dom4j as API for manipulating XML trees. You can write "
@ -59,181 +60,113 @@ msgid ""
"yet supported)." "yet supported)."
msgstr "" msgstr ""
"Hibernate supporte dom4j en tant qu'API pour la manipulation des arbres XML. " "Hibernate supporte dom4j en tant qu'API pour la manipulation des arbres XML. "
"Vous pouvez écrire des requêtes qui récupèrent des arbres dom4j à partie de " "Vous pouvez écrire des requêtes qui récupèrent des arbres dom4j à partir de "
"la base de données, et avoir toutes les modifications que vous faites sur " "la base de données, et avoir toutes les modifications que vous faites sur "
"l'arbre automatiquement synchronisées dans la base de données. Vous pouvez " "l'arbre automatiquement synchronisées dans la base de données. Vous pouvez "
"même prendre un document XML, l'analyser en utilisant dom4j, et l'écrire " "même prendre un document XML, l'analyser en utilisant dom4j, et l'écrire "
"dans la base de données via les opérations basiques d'Hibernate : " "dans la base de données via les opérations basiques de Hibernate : "
"<literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal> " "<literal>persist(), saveOrUpdate(), merge(), delete(), replicate()</literal> "
"(merge() n'est pas encore supporté)." "(merge n'est pas encore supporté)."
#. Tag: para #. Tag: para
#: xml.xml:56
#, no-c-format #, no-c-format
msgid "" msgid ""
"This feature has many applications including data import/export, " "This feature has many applications including data import/export, "
"externalization of entity data via JMS or SOAP and XSLT-based reporting." "externalization of entity data via JMS or SOAP and XSLT-based reporting."
msgstr "" msgstr ""
"Cette fonctionnalité a plusieurs applications dont l'import/export de " "Cette fonctionnalité a plusieurs applications dont l'import/export de "
"données, l'externalisation d'entités via JMS ou SOAP et les rapports XSLT." "données, l'externalisation de données d'entités via JMS ou SOAP et les "
"rapports XSLT."
#. Tag: para #. Tag: para
#: xml.xml:61 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A single mapping can be used to simultaneously map properties of a class and " "A single mapping can be used to simultaneously map properties of a class and "
"nodes of an XML document to the database, or, if there is no class to map, " "nodes of an XML document to the database, or, if there is no class to map, "
"it can be used to map just the XML." "it can be used to map just the XML."
msgstr "" msgstr ""
"Un simple mapping peut être utilisé pour simultanément mapper les propriétés " "Un simple mappage peut être utilisé pour simultanément mapper les propriétés "
"d'une classe et les noeuds d'un document XML vers la base de données, ou, si " "d'une classe et les noeuds d'un document XML vers la base de données, ou, "
"il n'y a pas de classe à mapper, il peut être utilisé juste pour mapper le " "s'il n'y a pas de classe à mapper, il peut être utilisé juste pour mapper le "
"XML." "XML. "
#. Tag: title #. Tag: title
#: xml.xml:68
#, no-c-format #, no-c-format
msgid "Specifying XML and class mapping together" msgid "Specifying XML and class mapping together"
msgstr "Spécifier le mapping XML et le mapping d'une classe ensemble" msgstr "Spécifier le mappage XML et le mappage d'une classe ensemble"
#. Tag: para #. Tag: para
#: xml.xml:70
#, no-c-format #, no-c-format
msgid "Here is an example of mapping a POJO and XML simultaneously:" msgid "Here is an example of mapping a POJO and XML simultaneously:"
msgstr "Voici un exemple de mapping d'un POJO et du XML simultanément :" msgstr "Voici un exemple de mappage d'un POJO et du XML simultanément :"
#. Tag: programlisting
#: xml.xml:74
#, no-c-format
msgid ""
"<![CDATA[<class name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
" node=\"account\">\n"
" \n"
" <id name=\"accountId\" \n"
" column=\"ACCOUNT_ID\" \n"
" node=\"@id\"/>\n"
" \n"
" <many-to-one name=\"customer\" \n"
" column=\"CUSTOMER_ID\" \n"
" node=\"customer/@id\" \n"
" embed-xml=\"false\"/>\n"
" \n"
" <property name=\"balance\" \n"
" column=\"BALANCE\" \n"
" node=\"balance\"/>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
msgstr ""
#. Tag: title #. Tag: title
#: xml.xml:78
#, no-c-format #, no-c-format
msgid "Specifying only an XML mapping" msgid "Specifying only an XML mapping"
msgstr "Spécifier seulement un mapping XML" msgstr "Spécifier seulement un mappage XML"
#. Tag: para #. Tag: para
#: xml.xml:80
#, no-c-format #, no-c-format
msgid "Here is an example where there is no POJO class:" msgid "Here is an example where there is no POJO class:"
msgstr "Voici un exemple dans lequel il n'y a pas de class POJO :" msgstr "Voici un exemple dans lequel il n'y a pas de classe POJO :"
#. Tag: programlisting
#: xml.xml:84
#, no-c-format
msgid ""
"<![CDATA[<class entity-name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
" node=\"account\">\n"
" \n"
" <id name=\"id\" \n"
" column=\"ACCOUNT_ID\" \n"
" node=\"@id\" \n"
" type=\"string\"/>\n"
" \n"
" <many-to-one name=\"customerId\" \n"
" column=\"CUSTOMER_ID\" \n"
" node=\"customer/@id\" \n"
" embed-xml=\"false\" \n"
" entity-name=\"Customer\"/>\n"
" \n"
" <property name=\"balance\" \n"
" column=\"BALANCE\" \n"
" node=\"balance\" \n"
" type=\"big_decimal\"/>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: xml.xml:86 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This mapping allows you to access the data as a dom4j tree, or as a graph of " "This mapping allows you to access the data as a dom4j tree, or as a graph of "
"property name/value pairs or java <literal>Map</literal>s. The property " "property name/value pairs or java <literal>Map</literal>s. The property "
"names are purely logical constructs that can be referred to in HQL queries." "names are purely logical constructs that can be referred to in HQL queries."
msgstr "" msgstr ""
"Ce mapping vous permet d'accéder aux données comme un arbre dom4j, ou comme " "Ce mappage vous permet d'accéder aux données comme un arbre dom4j, ou comme "
"un graphe de paire nom de propriété/valeur (<literal>Map</literal>s java). " "un graphe de paire nom/valeur de propriété (<literal>Map</literal> s java). "
"Les noms des propriétés sont des constructions purement logiques qui peuvent " "Les noms des propriétés sont des constructions purement logiques qui peuvent "
"être référées des dans requêtes HQL." "être référées dans des requêtes HQL. "
#. Tag: title #. Tag: title
#: xml.xml:97
#, no-c-format #, no-c-format
msgid "XML mapping metadata" msgid "XML mapping metadata"
msgstr "Métadonnées du mapping XML" msgstr "Métadonnées du mappage XML"
#. Tag: para #. Tag: para
#: xml.xml:99 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A range of Hibernate mapping elements accept the <literal>node</literal> " "A range of Hibernate mapping elements accept the <literal>node</literal> "
"attribute. This lets you specify the name of an XML attribute or element " "attribute. This lets you specify the name of an XML attribute or element "
"that holds the property or entity data. The format of the <literal>node</" "that holds the property or entity data. The format of the <literal>node</"
"literal> attribute must be one of the following:" "literal> attribute must be one of the following:"
msgstr "" msgstr ""
"Plusieurs éléments du mapping Hibernate acceptent l'attribut <literal>node</" "Plusieurs éléments du mappage Hibernate acceptent l'attribut <literal>node</"
"literal>. Ceci vous permet de spécifier le nom d'un attribut XML ou d'un " "literal>. Ceci vous permet de spécifier le nom d'un attribut XML ou d'un "
"élément qui contient la propriété ou les données de l'entité. Le format de " "élément qui contient la propriété ou les données de l'entité. Le format de "
"l'attribut <literal>node</literal> doit être un des suivants :" "l'attribut <literal>node</literal> doit être un des suivants : "
#. Tag: para #. Tag: para
#: xml.xml:108 #, no-c-format
#, fuzzy, no-c-format
msgid "<literal>\"element-name\"</literal>: map to the named XML element" msgid "<literal>\"element-name\"</literal>: map to the named XML element"
msgstr "<literal>\"element-name\"</literal> - mappe vers l'élément XML nommé" msgstr "<literal>\"element-name\"</literal> - mappe vers l'élément XML nommé "
#. Tag: para #. Tag: para
#: xml.xml:111 #, no-c-format
#, fuzzy, no-c-format
msgid "<literal>\"@attribute-name\"</literal>: map to the named XML attribute" msgid "<literal>\"@attribute-name\"</literal>: map to the named XML attribute"
msgstr "" msgstr ""
"<literal>\"@attribute-name\"</literal> - mappe vers l'attribut XML nommé" "<literal>\"@attribute-name\"</literal> - mappe vers l'attribut XML nommé "
#. Tag: para #. Tag: para
#: xml.xml:114 #, no-c-format
#, fuzzy, no-c-format
msgid "<literal>\".\"</literal>: map to the parent element" msgid "<literal>\".\"</literal>: map to the parent element"
msgstr "<literal>\".\"</literal> - mappe vers le parent de l'élément" msgstr "<literal>\".\"</literal> - mappe vers le parent de l'élément "
#. Tag: para #. Tag: para
#: xml.xml:117 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>\"element-name/@attribute-name\"</literal>: map to the named " "<literal>\"element-name/@attribute-name\"</literal>: map to the named "
"attribute of the named element" "attribute of the named element"
msgstr "" msgstr ""
"<literal>\"element-name/@attribute-name\"</literal> - mappe vers l'élément " "<literal>\"element-name/@attribute-name\"</literal> - mappe vers l'élément "
"nommé de l'attribut nommé" "nommé de l'attribut nommé "
#. Tag: para #. Tag: para
#: xml.xml:124 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For collections and single valued associations, there is an additional " "For collections and single valued associations, there is an additional "
"<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</" "<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</"
@ -250,201 +183,61 @@ msgstr ""
"l'arbre XML pour l'entité qui possède l'association. Sinon, si " "l'arbre XML pour l'entité qui possède l'association. Sinon, si "
"<literal>embed-xml=\"false\"</literal>, alors seule la valeur de " "<literal>embed-xml=\"false\"</literal>, alors seule la valeur de "
"l'identifiant référencé apparaîtra dans le XML pour de simples associations " "l'identifiant référencé apparaîtra dans le XML pour de simples associations "
"de points, et les collections n'appraîtront simplement pas." "de points, et les collections n'apparaîtront pas. "
#. Tag: para #. Tag: para
#: xml.xml:134 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Do not leave <literal>embed-xml=\"true\"</literal> for too many " "Do not leave <literal>embed-xml=\"true\"</literal> for too many "
"associations, since XML does not deal well with circularity." "associations, since XML does not deal well with circularity."
msgstr "" msgstr ""
"Vous devriez faire attention à ne pas laisser <literal>embed-xml=\"true\"</" "Faire attention à ne pas laisser <literal>embed-xml=\"true\"</literal> pour "
"literal> pour trop d'associations, puisque XML ne traite pas bien les liens " "trop d'associations, puisque XML ne traite pas bien les liens circulaires. "
"circurlaires."
#. Tag: programlisting
#: xml.xml:139
#, no-c-format
msgid ""
"<![CDATA[<class name=\"Customer\" \n"
" table=\"CUSTOMER\" \n"
" node=\"customer\">\n"
" \n"
" <id name=\"id\" \n"
" column=\"CUST_ID\" \n"
" node=\"@id\"/>\n"
" \n"
" <map name=\"accounts\" \n"
" node=\".\" \n"
" embed-xml=\"true\">\n"
" <key column=\"CUSTOMER_ID\" \n"
" not-null=\"true\"/>\n"
" <map-key column=\"SHORT_DESC\" \n"
" node=\"@short-desc\" \n"
" type=\"string\"/>\n"
" <one-to-many entity-name=\"Account\"\n"
" embed-xml=\"false\" \n"
" node=\"account\"/>\n"
" </map>\n"
" \n"
" <component name=\"name\" \n"
" node=\"name\">\n"
" <property name=\"firstName\" \n"
" node=\"first-name\"/>\n"
" <property name=\"initial\" \n"
" node=\"initial\"/>\n"
" <property name=\"lastName\" \n"
" node=\"last-name\"/>\n"
" </component>\n"
" \n"
" ...\n"
" \n"
"</class>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: xml.xml:141 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In this case, the collection of account ids is embedded, but not the actual " "In this case, the collection of account ids is embedded, but not the actual "
"account data. The following HQL query:" "account data. The following HQL query:"
msgstr "" msgstr ""
"dans ce cas, nous avons décidé d'embarquer la collection d'identifiants de " "Dans ce cas, nous avons décidé d'embarquer la collection d'identifiants de "
"compte, mais pas les données actuelles du compte. La requête HQL suivante :" "compte, mais pas les données actuelles du compte. La requête HQL suivante :"
#. Tag: programlisting
#: xml.xml:146
#, no-c-format
msgid ""
"<![CDATA[from Customer c left join fetch c.accounts where c.lastName like :"
"lastName]]>"
msgstr ""
#. Tag: para #. Tag: para
#: xml.xml:148 #, no-c-format
#, fuzzy, no-c-format
msgid "would return datasets such as this:" msgid "would return datasets such as this:"
msgstr "devrait retourner l'ensemble de données suivant :" msgstr "devrait retourner l'ensemble de données suivant : "
#. Tag: programlisting
#: xml.xml:152
#, no-c-format
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account short-desc=\"Savings\">987632567</account>\n"
" <account short-desc=\"Credit Card\">985612323</account>\n"
" <name>\n"
" <first-name>Gavin</first-name>\n"
" <initial>A</initial>\n"
" <last-name>King</last-name>\n"
" </name>\n"
" ...\n"
"</customer>]]>"
msgstr ""
#. Tag: para #. Tag: para
#: xml.xml:154
#, no-c-format #, no-c-format
msgid "" msgid ""
"If you set <literal>embed-xml=\"true\"</literal> on the <literal>&lt;one-to-" "If you set <literal>embed-xml=\"true\"</literal> on the <literal>&lt;one-to-"
"many&gt;</literal> mapping, the data might look more like this:" "many&gt;</literal> mapping, the data might look more like this:"
msgstr "" msgstr ""
"Si vous positionnez <literal>embed-xml=\"true\"</literal> sur le mapping " "Si vous positionnez <literal>embed-xml=\"true\"</literal> sur le mappage "
"<literal>&lt;one-to-many&gt;</literal>, les données pourraient ressembler " "<literal>&lt;one-to-many&gt;</literal>, les données ressembleraient à ce qui "
"plus à ça :" "suit :"
#. Tag: programlisting
#: xml.xml:159
#, no-c-format
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account id=\"987632567\" short-desc=\"Savings\">\n"
" <customer id=\"123456789\"/>\n"
" <balance>100.29</balance>\n"
" </account>\n"
" <account id=\"985612323\" short-desc=\"Credit Card\">\n"
" <customer id=\"123456789\"/>\n"
" <balance>-2370.34</balance>\n"
" </account>\n"
" <name>\n"
" <first-name>Gavin</first-name>\n"
" <initial>A</initial>\n"
" <last-name>King</last-name>\n"
" </name>\n"
" ...\n"
"</customer>]]>"
msgstr ""
#. Tag: title #. Tag: title
#: xml.xml:165
#, no-c-format #, no-c-format
msgid "Manipulating XML data" msgid "Manipulating XML data"
msgstr "Manipuler des données XML" msgstr "Manipuler des données XML"
#. Tag: para #. Tag: para
#: xml.xml:167 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can also re-read and update XML documents in the application. You can do " "You can also re-read and update XML documents in the application. You can do "
"this by obtaining a dom4j session:" "this by obtaining a dom4j session:"
msgstr "" msgstr ""
"Relisons et mettons à jour des documents XML dans l'application. Nous " "Relisons et mettons à jour des documents XML dans l'application. Nous "
"faisons ça en obtenant une session dom4j :" "effectuons cela en obtenant une session dom4j : "
#. Tag: programlisting
#: xml.xml:172
#, no-c-format
msgid ""
"<![CDATA[Document doc = ....;\n"
" \n"
"Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"List results = dom4jSession\n"
" .createQuery(\"from Customer c left join fetch c.accounts where c."
"lastName like :lastName\")\n"
" .list();\n"
"for ( int i=0; i<results.size(); i++ ) {\n"
" //add the customer data to the XML document\n"
" Element customer = (Element) results.get(i);\n"
" doc.add(customer);\n"
"}\n"
"\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: programlisting
#: xml.xml:174
#, no-c-format
msgid ""
"<![CDATA[Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"Element cust = (Element) dom4jSession.get(\"Customer\", customerId);\n"
"for ( int i=0; i<results.size(); i++ ) {\n"
" Element customer = (Element) results.get(i);\n"
" //change the customer name in the XML and database\n"
" Element name = customer.element(\"name\");\n"
" name.element(\"first-name\").setText(firstName);\n"
" name.element(\"initial\").setText(initial);\n"
" name.element(\"last-name\").setText(lastName);\n"
"}\n"
"\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: xml.xml:176 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When implementing XML-based data import/export, it is useful to combine this " "When implementing XML-based data import/export, it is useful to combine this "
"feature with Hibernate's <literal>replicate()</literal> operation." "feature with Hibernate's <literal>replicate()</literal> operation."
msgstr "" msgstr ""
"Il est extrêmement utile de combiner cette fonctionnalité avec l'opération " "Il est extrêmement utile de combiner cette fonctionnalité avec l'opération "
"<literal>replicate()</literal> d'Hibernate pour implémenter des imports/" "<literal>replicate()</literal> de Hibernate pour implémenter des imports/"
"exports de données XML." "exports de données XML. "

View File

@ -2,35 +2,33 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:56+0000\n" "POT-Creation-Date: 2010-02-04T04:51:23\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
#. Tag: title #. Tag: title
#: legal_notice.xml:28
#, no-c-format #, no-c-format
msgid "Legal Notice" msgid "Legal Notice"
msgstr "Legal Notice" msgstr "Legal Notice"
#. Tag: address #. Tag: para
#: legal_notice.xml:30 #, fuzzy, no-c-format
#, no-c-format
msgid "" msgid ""
"<street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</" "<address> <street>1801 Varsity Drive</street> <city>Raleigh</city>, "
"state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 " "<state>NC</state><postcode>27606-2072</postcode><country>USA</country> "
"919 754 3700</phone> <phone>Phone: 888 733 4281</phone> <fax>Fax: +1 919 754 " "<phone>Phone: +1 919 754 3700</phone> <phone>Phone: 888 733 4281</phone> "
"3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, " "<fax>Fax: +1 919 754 3701</fax> <pob>PO Box 13588</pob><city>Research "
"<state>NC</state><postcode>27709</postcode><country>USA</country>" "Triangle Park</city>, <state>NC</state><postcode>27709</"
"postcode><country>USA</country> </address>"
msgstr "" msgstr ""
"<street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</" "<address> <street>1801 Varsity Drive</street> <city>Raleigh</city>, <state>NC</"
"state><postcode>27606-2072</postcode><country>USA</country> <phone>Phone: +1 " "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 " "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>, " "3701</fax> <pob>PO Box 13588</pob><city>Research Triangle Park</city>, "
"<state>NC</state><postcode>27709</postcode><country>USA</country>" "<state>NC</state><postcode>27709</postcode><country>USA</country> </address>"
#. Tag: para #. Tag: para
#: legal_notice.xml:39
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc. " "Copyright <trademark class=\"copyright\"></trademark> 2007 by Red Hat, Inc. "
@ -46,7 +44,6 @@ msgstr ""
"Public License</ulink>, as published by the Free Software Foundation." "Public License</ulink>, as published by the Free Software Foundation."
#. Tag: para #. Tag: para
#: legal_notice.xml:45
#, no-c-format #, no-c-format
msgid "" msgid ""
"Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red " "Red Hat and the Red Hat \"Shadow Man\" logo are registered trademarks of Red "
@ -56,7 +53,6 @@ msgstr ""
"Hat, Inc. in the United States and other countries." "Hat, Inc. in the United States and other countries."
#. Tag: para #. Tag: para
#: legal_notice.xml:48
#, no-c-format #, no-c-format
msgid "" msgid ""
"All other trademarks referenced herein are the property of their respective " "All other trademarks referenced herein are the property of their respective "
@ -66,13 +62,11 @@ msgstr ""
"owners." "owners."
#. Tag: para #. Tag: para
#: legal_notice.xml:51
#, no-c-format #, no-c-format
msgid "The GPG fingerprint of the security@redhat.com key is:" msgid "The GPG fingerprint of the security@redhat.com key is:"
msgstr "The GPG fingerprint of the security@redhat.com key is:" msgstr "The GPG fingerprint of the security@redhat.com key is:"
#. Tag: para #. Tag: para
#: legal_notice.xml:54
#, no-c-format #, no-c-format
msgid "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E" msgid "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"
msgstr "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E" msgstr "CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E"

View File

@ -1,32 +1,30 @@
# SOME DESCRIPTIVE TITLE.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-11T05:38:14\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Content-Type: text/plain; charset=UTF-8\n" "Language-Team: LANGUAGE <kde-i18n-doc@kde.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: application/x-xml2pot; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. Tag: title #. Tag: title
#: Hibernate_Reference.xml:35
#, no-c-format #, no-c-format
msgid "HIBERNATE - Relational Persistence for Idiomatic Java" msgid "HIBERNATE - Relational Persistence for Idiomatic Java"
msgstr "HIBERNATE - Relational Persistence for Idiomatic Java" msgstr ""
#. Tag: subtitle #. Tag: subtitle
#: Hibernate_Reference.xml:36
#, no-c-format #, no-c-format
msgid "Hibernate Reference Documentation" msgid "Hibernate Reference Documentation"
msgstr "Hibernate Reference Documentation" msgstr ""
#. Tag: holder #. Tag: releaseinfo
#: Hibernate_Reference.xml:51
#, no-c-format #, no-c-format
msgid "&copyrightHolder;" msgid "&versionNumber;"
msgstr "&copyrightHolder;" msgstr ""
#~ msgid "ROLES_OF_TRANSLATORS"
#~ msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
#~ msgid "CREDIT_FOR_TRANSLATORS"
#~ msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2009-07-14 19:55+0000\n" "PO-Revision-Date: 2009-07-14 19:55+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -13,209 +13,137 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. Tag: author #. Tag: firstname
#: author_group.xml:27
#, no-c-format #, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>" msgid "Gavin"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:31
#, no-c-format #, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>" msgid "Christian"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:35
#, no-c-format #, no-c-format
msgid "" msgid "Max"
"<firstname>Max</firstname> <othername>Rydahl</othername> <surname>Andersen</"
"surname>"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:40
#, no-c-format #, no-c-format
msgid "" msgid "Emmanuel"
"<author><firstname>Emmanuel</firstname> <surname>Bernard</surname></author>"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: author_group.xml:44
#, no-c-format #, no-c-format
msgid "<firstname>Steve</firstname> <surname>Ebersole</surname>" msgid "Steve"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:49
#, no-c-format #, no-c-format
msgid "<firstname>James</firstname> <surname>Cobb</surname>" msgid "James"
msgstr "" msgstr ""
#. Tag: shortaffil #. Tag: firstname
#: author_group.xml:53 author_group.xml:60
#, no-c-format #, no-c-format
msgid "Graphic Design" msgid "Cheyenne"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:56
#, no-c-format #, no-c-format
msgid "<firstname>Cheyenne</firstname> <surname>Weaver</surname>" msgid "Vincent"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:69
#, no-c-format #, no-c-format
msgid "" msgid "Sebastien"
"<othername><![CDATA[Bernardo Antonio Buffa Colom&#x00e9]]></othername> "
"<email>kreimer@bbs.frc.utn.edu.ar</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:79
#, no-c-format #, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Ricard</surname>" msgid "Michael"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:83
#, no-c-format #, no-c-format
msgid "<firstname>Sebastien</firstname> <surname>Cesbron</surname>" msgid "Baptiste"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:87
#, no-c-format #, no-c-format
msgid "<firstname>Michael</firstname> <surname>Courcy</surname>" msgid "Anthony"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:91
#, no-c-format #, no-c-format
msgid "<firstname>Vincent</firstname> <surname>Giguère</surname>" msgid "Alvaro"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:95
#, no-c-format #, no-c-format
msgid "<firstname>Baptiste</firstname> <surname>Mathus</surname>" msgid "Anderson"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:99
#, no-c-format #, no-c-format
msgid "" msgid "Daniel Vieira"
"<othercredit><firstname>Emmanuel</firstname> <surname>Bernard</surname></"
"othercredit>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:103
#, no-c-format #, no-c-format
msgid "<firstname>Anthony</firstname> <surname>Patricio</surname>" msgid "Francisco"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:113
#, no-c-format #, no-c-format
msgid "" msgid "Gamarra"
"<firstname>Alvaro</firstname> <surname>Netto</surname> "
"<email>alvaronetto@cetip.com.br</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:118
#, no-c-format #, no-c-format
msgid "" msgid "Luiz Carlos"
"<firstname>Anderson</firstname> <surname>Braulio</surname> "
"<email>andersonbraulio@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:123
#, no-c-format #, no-c-format
msgid "" msgid "Marcel"
"<firstname>Daniel Vieira</firstname> <surname>Costa</surname> "
"<email>danielvc@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:128
#, no-c-format #, no-c-format
msgid "" msgid "Paulo"
"<firstname>Francisco</firstname> <surname>gamarra</surname> <email>francisco."
"gamarra@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:133
#, no-c-format #, no-c-format
msgid "" msgid "Pablo L."
"<firstname>Gamarra</firstname> <email>mauricio.gamarra@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:137
#, no-c-format #, no-c-format
msgid "" msgid "Renato"
"<firstname>Luiz Carlos</firstname> <surname>Rodrigues</surname> "
"<email>luizcarlos_rodrigues@yahoo.com.br</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:142
#, no-c-format #, no-c-format
msgid "" msgid "Rogério"
"<firstname>Marcel</firstname> <surname>Castelo</surname> <email>marcel."
"castelo@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:147
#, no-c-format #, no-c-format
msgid "" msgid "Wanderson"
"<firstname>Paulo</firstname> <surname>César</surname> <email>paulocol@gmail."
"com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: firstname
#: author_group.xml:152
#, no-c-format #, no-c-format
msgid "" msgid "Cao"
"<firstname>Pablo L.</firstname> <surname>de Miranda</surname> "
"<email>pablolmiranda@gmail.com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: orgname
#: author_group.xml:157
#, no-c-format #, no-c-format
msgid "" msgid "RedSaga"
"<firstname>Renato</firstname> <surname>Deggau</surname> <email>rdeggau@gmail."
"com</email>"
msgstr "" msgstr ""
#. Tag: othercredit #. Tag: contrib
#: author_group.xml:162
#, no-c-format #, no-c-format
msgid "" msgid "Translation Lead"
"<firstname>Rogério</firstname> <surname>Araújo</surname> "
"<email>rgildoaraujo@yahoo.com.br</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:167
#, no-c-format
msgid ""
"<firstname>Wanderson</firstname> <surname>Siqueira</surname> "
"<email>wandersonxs@gmail.com</email>"
msgstr ""
#. Tag: othercredit
#: author_group.xml:178
#, no-c-format
msgid ""
"<firstname>Cao</firstname> <surname>Xiaogang</surname> <affiliation> "
"<orgname>RedSaga</orgname> </affiliation> <contrib>Translation Lead</"
"contrib> <email>caoxg@yahoo.com</email>"
msgstr "" msgstr ""

View File

@ -1,36 +1,35 @@
# translation of Collection_Mapping.po to
# Xi HUANG <xhuang@redhat.com>, 2007, 2010.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-10T07:25:34\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-13 10:25+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Xi HUANG <xhuang@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: architecture.xml:30
#, no-c-format #, no-c-format
msgid "Architecture" msgid "Architecture"
msgstr "アーキテクチャ" msgstr "アーキテクチャ"
#. Tag: title #. Tag: title
#: architecture.xml:33
#, no-c-format #, no-c-format
msgid "Overview" msgid "Overview"
msgstr "概観" msgstr "概観"
#. Tag: para #. Tag: para
#: architecture.xml:35 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The diagram below provides a high-level view of the Hibernate architecture:" "The diagram below provides a high-level view of the Hibernate architecture:"
msgstr "Hibernateアーキテクチャの非常に高いレベルからのビュー" msgstr "Hibernate アーキテクチャの(非常に)高いレベルからのビュー:"
#. Tag: para #. Tag: para
#: architecture.xml:48
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"We do not have the scope in this document to provide a more detailed view of " "We do not have the scope in this document to provide a more detailed view of "
@ -38,61 +37,56 @@ msgid ""
"several different approaches. We will, however, show the two extremes: " "several different approaches. We will, however, show the two extremes: "
"\"minimal\" architecture and \"comprehensive\" architecture." "\"minimal\" architecture and \"comprehensive\" architecture."
msgstr "" msgstr ""
"ここで実行時アーキテクチャのより詳細なビューをお見せしましょう。 あいにく、" "ここで実行時アーキテクチャのより詳細なビューをお見せしましょう。あいにく、 "
"Hibernateは柔軟であり、いろいろなアプローチをサポートしています。 ここでは、2" "Hibernate は柔軟であり、いろいろなアプローチをサポートしています。ここでは、2"
"つの極端な例をお見せします。 「軽い」アーキテクチャでは、アプリケーションが自" "つの極端な例をお見せします。「軽い」アーキテクチャでは、アプリケーションが自"
"前のJDBCコネクションを用意し、 アプリケーション自身がトランザクションを管理" "前の JDBC コネクションを用意し、アプリケーション自身がトランザクションを管理"
"ます。 この方法は、Hibernate APIの最小限のサブセットを使います" "ます。この方法は、 Hibernate API の最小限のサブセットを使います:"
#. Tag: para #. Tag: para
#: architecture.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This next diagram illustrates how Hibernate utilizes database and " "This next diagram illustrates how Hibernate utilizes database and "
"configuration data to provide persistence services, and persistent objects, " "configuration data to provide persistence services, and persistent objects, "
"to the application." "to the application."
msgstr "" msgstr ""
"この図はHibernateが、アプリケーションに対して永続化サービス (と永続オブジェ" "この図は Hibernate が、アプリケーションに対して永続化サービス (と永続オブ"
"クト)を提供するために、データベースと設定データを使うことを 示しています。" "ジェクト)を提供するために、データベースと設定データを使うことを示していま"
"す。"
#. Tag: para #. Tag: para
#: architecture.xml:59
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"The \"minimal\" architecture has the application provide its own JDBC " "The \"minimal\" architecture has the application provide its own JDBC "
"connections and manage its own transactions. This approach uses a minimal " "connections and manage its own transactions. This approach uses a minimal "
"subset of Hibernate's APIs:" "subset of Hibernate's APIs:"
msgstr "" msgstr ""
"ここで実行時アーキテクチャのより詳細なビューをお見せしましょう。 あいにく、" "ここで実行時アーキテクチャのより詳細なビューをお見せしましょう。あいにく、 "
"Hibernateは柔軟であり、いろいろなアプローチをサポートしています。 ここでは、2" "Hibernate は柔軟であり、いろいろなアプローチをサポートしています。ここでは、2"
"つの極端な例をお見せします。 「軽い」アーキテクチャでは、アプリケーションが自" "つの極端な例をお見せします。「軽い」アーキテクチャでは、アプリケーションが自"
"前のJDBCコネクションを用意し、 アプリケーション自身がトランザクションを管理" "前の JDBC コネクションを用意し、アプリケーション自身がトランザクションを管理"
"ます。 この方法は、Hibernate APIの最小限のサブセットを使います" "ます。この方法は、 Hibernate API の最小限のサブセットを使います:"
#. Tag: para #. Tag: para
#: architecture.xml:74
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"The \"comprehensive\" architecture abstracts the application away from the " "The \"comprehensive\" architecture abstracts the application away from the "
"underlying JDBC/JTA APIs and allows Hibernate to manage the details." "underlying JDBC/JTA APIs and allows Hibernate to manage the details."
msgstr "" msgstr ""
"「重い」アーキテクチャは、アプリケーションから、その下に位置するJDBCやJTAの" "「軽い」アーキテクチャは、アプリケーションから、その下に位置する JDBC や JTA "
"API 取り払って抽象化し、その詳細の面倒をHibernateに見させます。" "API 取り払って抽象化し、その詳細の面倒を Hibernate に見させます。"
#. Tag: para #. Tag: para
#: architecture.xml:88 #, no-c-format
#, fuzzy, no-c-format
msgid "Here are some definitions of the objects depicted in the diagrams:" msgid "Here are some definitions of the objects depicted in the diagrams:"
msgstr "以下は、上の図に含まれるオブジェクトの定義です: <placeholder-1/>" msgstr "以下は、図に含まれるオブジェクトの定義です:"
#. Tag: term #. Tag: term
#: architecture.xml:93
#, no-c-format #, no-c-format
msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)" msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)" msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:95
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"A threadsafe, immutable cache of compiled mappings for a single database. A " "A threadsafe, immutable cache of compiled mappings for a single database. A "
@ -101,20 +95,18 @@ msgid ""
"hold an optional (second-level) cache of data that is reusable between " "hold an optional (second-level) cache of data that is reusable between "
"transactions at a process, or cluster, level." "transactions at a process, or cluster, level."
msgstr "" msgstr ""
"1つのデータベースに対するコンパイルされたマッピングの スレッドセーフな(更新" "1つのデータベースに対するコンパイルされたマッピングのスレッドセーフな更新"
"能の)キャッシュ。 <literal>Session</literal> のファクトリであり、 " "能の)キャッシュ。 <literal>Session</literal> のファクトリであり、 "
"<literal>ConnectionProvider</literal> のクライアント。 オプションとして、プロ" "<literal>ConnectionProvider</literal> のクライアント。オプションとして、プロ"
"セスまたはクラスタレベルにおいて、 トランザクション間で再利用可能なデータの" "セスまたはクラスタレベルにおいて、トランザクション間で再利用可能なデータの"
"(二次)キャッシュを持ちます。" "(二次)キャッシュを持ちます。"
#. Tag: term #. Tag: term
#: architecture.xml:105
#, no-c-format #, no-c-format
msgid "Session (<literal>org.hibernate.Session</literal>)" msgid "Session (<literal>org.hibernate.Session</literal>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)" msgstr "Session (<literal>org.hibernate.Session</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:107
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"A single-threaded, short-lived object representing a conversation between " "A single-threaded, short-lived object representing a conversation between "
@ -123,21 +115,19 @@ msgid ""
"holds a mandatory first-level cache of persistent objects that are used when " "holds a mandatory first-level cache of persistent objects that are used when "
"navigating the object graph or looking up objects by identifier." "navigating the object graph or looking up objects by identifier."
msgstr "" msgstr ""
"アプリケーションと永続ストアとの対話を表す、 シングルスレッドで短命のオブジェ" "アプリケーションと永続ストアとの対話を表す、シングルスレッドで短命のオブジェ"
"クト。 JDBCコネクションをラップします。 <literal>Transaction</literal> のファ" "クト。 JDBC コネクションをラップします。 <literal>Transaction</literal> の"
"クトリです。 永続オブジェクトの必須の(一次)キャッシュを保持します。 この" "ファクトリです。永続オブジェクトの必須の(一次)キャッシュを保持します。この"
"キャッシュはオブジェクトグラフをナビゲーションする時や、 識別子でオブジェクト" "キャッシュはオブジェクトグラフをナビゲーションする時や、識別子でオブジェクト"
"を検索する時に使われます。" "を検索する時に使われます。"
#. Tag: term #. Tag: term
#: architecture.xml:117
#, no-c-format #, no-c-format
msgid "Persistent objects and collections" msgid "Persistent objects and collections"
msgstr "Persistent objects と Collections" msgstr "Persistent objects と Collections"
#. Tag: para #. Tag: para
#: architecture.xml:119 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Short-lived, single threaded objects containing persistent state and " "Short-lived, single threaded objects containing persistent state and "
"business function. These can be ordinary JavaBeans/POJOs. They are " "business function. These can be ordinary JavaBeans/POJOs. They are "
@ -146,43 +136,38 @@ msgid ""
"in any application layer (for example, directly as data transfer objects to " "in any application layer (for example, directly as data transfer objects to "
"and from presentation)." "and from presentation)."
msgstr "" msgstr ""
"永続化状態とビジネスメソッドを持つ、短命でシングルスレッドのオブジェクト。 こ" "永続化状態とビジネス機能を持つ、短命でシングルスレッドのオブジェクト。これは"
"れは通常のJavaBeans/POJOのこともありますが、特徴的なことは、 その時点での(た" "通常の JavaBeans/POJO のこともありますが、特徴的なことは、その時点でのただ1"
"だ1つの <literal>Session</literal> と関連していることです。 " "つの) <literal>Session</literal> と関連していることです。 <literal>Session</"
"<literal>Session</literal> がクローズされるとすぐに、 それらは切り離されて他" "literal> がクローズされるとすぐに、それらは切り離されて他のアプリケーション層"
"のアプリケーション層から自由に使うことができます。 (例えばデータ・トランス" "から自由に使うことができます(例えばデータトランスファオブジェクトとして、プ"
"ファ・オブジェクトとして、 プレゼンテーション層から、またはプレゼンテーション" "レゼンテーション層から、またはプレゼンテーション層へ直接使用できます)。"
"層へ直接使用できます。)"
#. Tag: term #. Tag: term
#: architecture.xml:129
#, no-c-format #, no-c-format
msgid "Transient and detached objects and collections" msgid "Transient and detached objects and collections"
msgstr "Transient と detached な objects と Collections" msgstr "Transient と detached な objects と Collections"
#. Tag: para #. Tag: para
#: architecture.xml:131 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Instances of persistent classes that are not currently associated with a " "Instances of persistent classes that are not currently associated with a "
"<literal>Session</literal>. They may have been instantiated by the " "<literal>Session</literal>. They may have been instantiated by the "
"application and not yet persisted, or they may have been instantiated by a " "application and not yet persisted, or they may have been instantiated by a "
"closed <literal>Session</literal>." "closed <literal>Session</literal>."
msgstr "" msgstr ""
"現時点では <literal>Session</literal> と関連していない、 永続クラスのインスタ" "現時点では <literal>Session</literal> と関連していない、永続クラスのインスタ"
"ンス。 すでにアプリケーション側でインスタンス化されていて、まだ永続化されてい" "ンス。すでにアプリケーション側でインスタンス化されていて、まだ永続化されてい"
"ないか、 クローズされた <literal>Session</literal> でインスタンス化されたかの" "ないか、クローズされた <literal>Session</literal> でインスタンス化されたかの"
"どちらかです。" "どちらかです。"
#. Tag: term #. Tag: term
#: architecture.xml:140
#, no-c-format #, no-c-format
msgid "Transaction (<literal>org.hibernate.Transaction</literal>)" msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)" msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:142 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A single-threaded, short-lived object used by the application to " "(Optional) A single-threaded, short-lived object used by the application to "
"specify atomic units of work. It abstracts the application from the " "specify atomic units of work. It abstracts the application from the "
@ -191,16 +176,15 @@ msgid ""
"transaction demarcation, either using the underlying API or " "transaction demarcation, either using the underlying API or "
"<literal>Transaction</literal>, is never optional." "<literal>Transaction</literal>, is never optional."
msgstr "" msgstr ""
"(オプション)原子性を持つ作業単位(Unit of Work)を指定するために、アプリケー" "(オプション) 原子性を持つ作業単位 (Unit of Work) を指定するために、アプリケー"
"ションが使用する、 シングルスレッドで短命なオブジェクト。 下に位置するJDBC、" "ションが使用する、シングルスレッドで短命なオブジェクト。下に位置する JDBC "
"JTA、CORBAトランザクションからアプリケーションを抽象化します。 " "JTA CORBA トランザクションからアプリケーションを抽象化します。 "
"<literal>Session</literal> は、時には いくつかの <literal>Transaction</" "<literal>Session</literal> は、時にはいくつかの <literal>Transaction</"
"literal> をまたがるかもしれません。 しかし、下の層のAPIを使うにせよ、 " "literal> をまたがるかもしれません。しかし、下の層の API を使うにせよ、 "
"<literal>Transaction</literal> を使うにせよ、 トランザクション境界を設定する" "<literal>Transaction</literal> を使うにせよ、トランザクション境界を設定する"
"とは、決してオプションではありません。" "とは、決してオプションではありません。"
#. Tag: term #. Tag: term
#: architecture.xml:153
#, no-c-format #, no-c-format
msgid "" msgid ""
"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</" "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
@ -210,21 +194,19 @@ msgstr ""
"literal>)" "literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:155 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A factory for, and pool of, JDBC connections. It abstracts the " "(Optional) A factory for, and pool of, JDBC connections. It abstracts the "
"application from underlying <literal>Datasource</literal> or " "application from underlying <literal>Datasource</literal> or "
"<literal>DriverManager</literal>. It is not exposed to application, but it " "<literal>DriverManager</literal>. It is not exposed to application, but it "
"can be extended and/or implemented by the developer." "can be extended and/or implemented by the developer."
msgstr "" msgstr ""
"(オプション)JDBCコネクションとそのプールのファクトリ。 下の層に位置する " "(オプション) JDBC コネクション(とそのプール)のファクトリ。下の層に位置する "
"<literal>Datasource</literal> や <literal>DriverManager</literal> からアプリ" "<literal>Datasource</literal> や <literal>DriverManager</literal> からアプリ"
"ケーションを抽象化します。 アプリケーションには公開されませんが、開発者が継承" "ケーションを抽象化します。アプリケーションには公開されませんが、開発者が継承"
"または実装することは可能です。" "または実装することは可能です。"
#. Tag: term #. Tag: term
#: architecture.xml:163
#, no-c-format #, no-c-format
msgid "" msgid ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)" "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
@ -232,90 +214,80 @@ msgstr ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)" "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
#. Tag: para #. Tag: para
#: architecture.xml:165 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"(Optional) A factory for <literal>Transaction</literal> instances. It is not " "(Optional) A factory for <literal>Transaction</literal> instances. It is not "
"exposed to the application, but it can be extended and/or implemented by the " "exposed to the application, but it can be extended and/or implemented by the "
"developer." "developer."
msgstr "" msgstr ""
"(オプション) <literal>Transaction</literal> インスタンスのファクトリ。 アプリ" "(オプション) <literal>Transaction</literal> インスタンスのファクトリ。アプリ"
"ケーションには公開されませんが、開発者が継承または実装することは可能です。" "ケーションには公開されませんが、開発者が継承または実装することは可能です。"
#. Tag: emphasis #. Tag: term
#: architecture.xml:172 #, fuzzy, no-c-format
#, no-c-format msgid "<emphasis>Extension Interfaces</emphasis>"
msgid "Extension Interfaces" msgstr "<emphasis>Extension Interfaces</emphasis>"
msgstr "Extension Interfaces"
#. Tag: para #. Tag: para
#: architecture.xml:174 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate offers a range of optional extension interfaces you can implement " "Hibernate offers a range of optional extension interfaces you can implement "
"to customize the behavior of your persistence layer. See the API " "to customize the behavior of your persistence layer. See the API "
"documentation for details." "documentation for details."
msgstr "" msgstr ""
"Hibernateは、永続層の振る舞いをカスタマイズするために、 多くのオプション拡張" "Hibernate は、永続層の振る舞いをカスタマイズするために、多くのオプション拡張"
"インタフェースを用意しています。 詳細はAPIドキュメントを参照してください。" "インタフェースを用意しています。詳細は API ドキュメントを参照してください。"
#. Tag: para #. Tag: para
#: architecture.xml:183 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Given a \"minimal\" architecture, the application bypasses the " "Given a \"minimal\" architecture, the application bypasses the "
"<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or " "<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or "
"<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC " "<literal>ConnectionProvider</literal> APIs to communicate with JTA or JDBC "
"directly." "directly."
msgstr "" msgstr ""
"「軽い」アーキテクチャでは、アプリケーションは直接JTAやJDBCと対話するため" "「軽い」アーキテクチャでは、アプリケーションは直接 JTA JDBC と対話するため"
"に、 <literal>Transaction</literal> や <literal>TransactionFactory</literal> " "に、 <literal>Transaction</literal> や <literal>TransactionFactory</literal> "
"や <literal>ConnectionProvider</literal> をバイパスします。" "や <literal>ConnectionProvider</literal> の API をバイパスします。"
#. Tag: title #. Tag: title
#: architecture.xml:191
#, no-c-format #, no-c-format
msgid "Instance states" msgid "Instance states"
msgstr "インスタンスの状態" msgstr "インスタンスの状態"
#. Tag: para #. Tag: para
#: architecture.xml:192 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"An instance of a persistent class can be in one of three different states. " "An instance of a persistent class can be in one of three different states. "
"These states are defined in relation to a <emphasis>persistence context</" "These states are defined in relation to a <emphasis>persistence context</"
"emphasis>. The Hibernate <literal>Session</literal> object is the " "emphasis>. The Hibernate <literal>Session</literal> object is the "
"persistence context. The three different states are as follows:" "persistence context. The three different states are as follows:"
msgstr "" msgstr ""
"永続クラスのインスタンスは、次の3つの異なる状態のどれかになります。 それ" "永続クラスのインスタンスは、次の3つの異なる状態のどれかになります。それは、 "
"は、 <emphasis>永続コンテキスト</emphasis> によって決まります。 Hibernateの " "<emphasis>永続コンテキスト</emphasis> によって決まります。 Hibernate の "
"<literal>Session</literal> オブジェクトが、永続コンテキストになります" "<literal>Session</literal> オブジェクトが、永続コンテキストになります:"
#. Tag: term #. Tag: term
#: architecture.xml:200
#, no-c-format #, no-c-format
msgid "transient" msgid "transient"
msgstr "transient" msgstr "transient"
#. Tag: para #. Tag: para
#: architecture.xml:202
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"The instance is not associated with any persistence context. It has no " "The instance is not associated with any persistence context. It has no "
"persistent identity or primary key value." "persistent identity or primary key value."
msgstr "" msgstr ""
"この状態のインスタンスは、現在もそして過去においても、 永続コンテキストに関連" "この状態のインスタンスは、現在もそして過去においても、永続コンテキストに関連"
"づいていません。また、永続ID主キーの値を 持っていません。" "づいていません。また、永続 ID (主キーの値)を 持っていません。"
#. Tag: term #. Tag: term
#: architecture.xml:210
#, no-c-format #, no-c-format
msgid "persistent" msgid "persistent"
msgstr "persistent" msgstr "persistent"
#. Tag: para #. Tag: para
#: architecture.xml:212 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance is currently associated with a persistence context. It has a " "The instance is currently associated with a persistence context. It has a "
"persistent identity (primary key value) and can have a corresponding row in " "persistent identity (primary key value) and can have a corresponding row in "
@ -323,21 +295,19 @@ msgid ""
"<emphasis>guarantees</emphasis> that persistent identity is equivalent to " "<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
"Java identity in relation to the in-memory location of the object." "Java identity in relation to the in-memory location of the object."
msgstr "" msgstr ""
"この状態のインスタンスは、その時点で永続コンテキストに関連づいています。 ま" "この状態のインスタンスは、その時点で永続コンテキストに関連づいています。ま"
"た、永続ID主キーの値を持ち、 たいていはデータベースに対応する行を持って" "た、永続 ID (主キーの値)を持ち、たいていはデータベースに対応する行を持って"
"るでしょう。 個々の永続コンテキストのなかでは、永続IDが JavaのIDオブジェク" "いるでしょう。特定の永続コンテキストのなかでは、永続 ID が Java ID (オブ"
"トのメモリ上の位置)と同じであることを Hibernateが <emphasis>保証</emphasis> " "ジェクトのメモリ上の位置)と同じであることを Hibernate が <emphasis>保証</"
"します。" "emphasis> します。"
#. Tag: term #. Tag: term
#: architecture.xml:224
#, no-c-format #, no-c-format
msgid "detached" msgid "detached"
msgstr "detached" msgstr "detached"
#. Tag: para #. Tag: para
#: architecture.xml:226 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The instance was once associated with a persistence context, but that " "The instance was once associated with a persistence context, but that "
"context was closed, or the instance was serialized to another process. It " "context was closed, or the instance was serialized to another process. It "
@ -345,46 +315,43 @@ msgid ""
"For detached instances, Hibernate does not guarantee the relationship " "For detached instances, Hibernate does not guarantee the relationship "
"between persistent identity and Java identity." "between persistent identity and Java identity."
msgstr "" msgstr ""
"この状態のインスタンスは、かつて永続コンテキストに関連づけられたが、 そのコン" "この状態のインスタンスは、かつて永続コンテキストに関連づけられたが、そのコン"
"テキストがクローズされたか、あるいは、 他のプロセスにそのインスタンスがシリア" "テキストがクローズされたか、あるいは、他のプロセスにそのインスタンスがシリア"
"ライズされたかです。 このインスタンスは、永続IDを持ち、たいていはデータベー" "ライズされたかです。このインスタンスは、永続 ID を持ち、たいていはデータベー"
"に 対応する行を持っているでしょう。分離インスタンスに対しては、 永続IDとJava" "に対応する行を持っているでしょう。分離インスタンスに対しては、永続 ID と "
"のIDとの関連は、Hibernateが保証しません。" "Java ID との関連は、 Hibernate が保証しません。"
#. Tag: title #. Tag: title
#: architecture.xml:241
#, no-c-format #, no-c-format
msgid "JMX Integration" msgid "JMX Integration"
msgstr "JMXとの統合" msgstr "JMX との統合"
#. Tag: para #. Tag: para
#: architecture.xml:243 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"JMX is the J2EE standard for the management of Java components. Hibernate " "JMX is the J2EE standard for the management of Java components. Hibernate "
"can be managed via a JMX standard service. AN MBean implementation is " "can be managed via a JMX standard service. AN MBean implementation is "
"provided in the distribution: <literal>org.hibernate.jmx.HibernateService</" "provided in the distribution: <literal>org.hibernate.jmx.HibernateService</"
"literal>." "literal>."
msgstr "" msgstr ""
"JMXはJavaコンポーネント管理のJ2EE標準です。 JMX標準サービスを通して、" "JMX Java コンポーネント管理の J2EE 標準です。 JMX 標準サービスを通して、 "
"Hibernateは管理されます。 ディストリビューションの中に <literal>org." "Hibernate は管理されます。ディストリビューションの中に <literal>org."
"hibernate.jmx.HibernateService</literal> という MBean実装を用意しています。" "hibernate.jmx.HibernateService</literal> という MBean 実装を用意しています。"
#. Tag: para #. Tag: para
#: architecture.xml:249 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For an example of how to deploy Hibernate as a JMX service on the JBoss " "For an example of how to deploy Hibernate as a JMX service on the JBoss "
"Application Server, please see the JBoss User Guide. JBoss AS also provides " "Application Server, please see the JBoss User Guide. JBoss AS also provides "
"these benefits if you deploy using JMX:" "these benefits if you deploy using JMX:"
msgstr "" msgstr ""
"JBoss アプリケーションサーバー上にHibernateをJMXサービスとしてデプロイする方" "JBoss アプリケーションサーバー上に Hibernate を JMX サービスとしてデプロイす"
"法の例としては、 JBoss ユーザガイドを参照してください。 JBoss アプリケーショ" "る方法の例としては、 JBoss ユーザーガイドを参照してください。 JBoss アプリ"
"ンサーバーにおいて、 JMXを使ってデプロイすると、次のメリットが得られます。" "ケーションサーバーにおいて、 JMX を使ってデプロイすると、次のメリットが得られ"
"ます:"
#. Tag: para #. Tag: para
#: architecture.xml:257 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</" "<emphasis>Session Management</emphasis>: the Hibernate <literal>Session</"
"literal>'s life cycle can be automatically bound to the scope of a JTA " "literal>'s life cycle can be automatically bound to the scope of a JTA "
@ -396,19 +363,18 @@ msgid ""
"the <literal>HibernateContext</literal> to access a <literal>Session</" "the <literal>HibernateContext</literal> to access a <literal>Session</"
"literal>." "literal>."
msgstr "" msgstr ""
"<emphasis>セッション管理:</emphasis> Hibernateの <literal>Session</literal> " "<emphasis>セッション管理:</emphasis> Hibernate の <literal>Session</literal> "
"のライフサイクルは、 自動的にJTAトランザクションのスコープに結びつけられま" "のライフサイクルは、自動的に JTA トランザクションのスコープに結びつけられま"
"す。これは、もはや手動で <literal>Session</literal> をオープンしたり、クロー" "す。これは、もはや手動で <literal>Session</literal> をオープンしたり、クロー"
"ズしたりする必要がないことを意味します。 これは、JBoss EJB インターセプタの仕" "ズしたりする必要がないことを意味します。これは、 JBoss EJB インターセプタの仕"
"事になります。 また、コードのどこでトランザクション境界を設定するかについ" "事になります。また、コードのどこでトランザクション境界を設定するかについて、"
"て、 もはや悩む必要がありません(もちろん移植可能な永続層を書かかなくていいの" "もはや悩む必要がありません(もちろん移植可能な永続層を書かかなくていいのなら"
"ならば、 オプションのHibernateの <literal>Transaction</literal> を使用してく" "ば、オプションの Hibernate の <literal>Transaction</literal> を使用してくださ"
"ださい。) <literal>Session</literal> にアクセスするためには、 " "い。) <literal>Session</literal> にアクセスするためには、 "
"<literal>HibernateContext</literal> を コールしてください。" "<literal>HibernateContext</literal> をコールしてください。"
#. Tag: para #. Tag: para
#: architecture.xml:269 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is deployed " "<emphasis>HAR deployment</emphasis>: the Hibernate JMX service is deployed "
"using a JBoss service deployment descriptor in an EAR and/or SAR file, as it " "using a JBoss service deployment descriptor in an EAR and/or SAR file, as it "
@ -418,61 +384,55 @@ msgid ""
"deployment, JBoss will automatically detect all mapping files in your HAR " "deployment, JBoss will automatically detect all mapping files in your HAR "
"file." "file."
msgstr "" msgstr ""
"<emphasis>HAR デプロイ:</emphasis> 通常、(EAR または SAR ファイルにある)" "<emphasis>HAR デプロイ:</emphasis> 通常、( EAR または SAR ファイルにある) "
"JBoss サービス デプロイメントディスクリプタを使って、Hibernate JMX サービスを" "JBoss サービスデプロイメントディスクリプタを使って、 Hibernate JMX サービスを"
"デプロイします。 それは、Hibernateの <literal>SessionFactory</literal> の全" "デプロイします。それは、 Hibernate の <literal>SessionFactory</literal> の全"
"の一般的な設定オプションを サポートします。しかし依然としてデプロイメントディ" "の一般的な設定オプションをサポートします。しかし依然としてデプロイメント"
"スクリプタのなかにすべてのマッピングファイルの 名前を挙げる必要があります。 " "ディスクリプタのなかにすべてのマッピングファイルの名前を挙げる必要がありま"
"もし、オプションのHARデプロイメントを使うことを決めたなら、 JBossは自動的に" "す。もし、オプションの HAR デプロイメントを使うことを決めたなら、 JBoss は自"
"HARファイルのなかの全てのマッピングファイルを検出します。" "動的に HAR ファイルのなかの全てのマッピングファイルを検出します。"
#. Tag: para #. Tag: para
#: architecture.xml:280
#, no-c-format #, no-c-format
msgid "" msgid ""
"Consult the JBoss AS user guide for more information about these options." "Consult the JBoss AS user guide for more information about these options."
msgstr "" msgstr ""
"これらのオプションについての詳細な情報は、JBossアプリケーションサーバユーザガ" "これらのオプションについての詳細な情報は、 JBoss アプリケーションサーバユー"
"イドを 参考にしてください。" "ザーガイドを参考にしてください。"
#. Tag: para #. Tag: para
#: architecture.xml:284
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Another feature available as a JMX service is runtime Hibernate statistics. " "Another feature available as a JMX service is runtime Hibernate statistics. "
"See <xref linkend=\"configuration-optional-statistics\"/> for more " "See <xref linkend=\"configuration-optional-statistics\" /> for more "
"information." "information."
msgstr "" msgstr ""
"JMXサービスとして利用可能な他の機能に、Hibernate実行時統計情報があります。 " "JMX サービスとして利用可能な他の機能に、 Hibernate 実行時統計情報があります。"
"<xref linkend=\"configuration-optional-statistics\"/> を見てください。" "<xref linkend=\"configuration-optional-statistics\"/> を見てください。"
#. Tag: title #. Tag: title
#: architecture.xml:291
#, no-c-format #, no-c-format
msgid "JCA Support" msgid "JCA Support"
msgstr "JCA サポート" msgstr "JCA サポート"
#. Tag: para #. Tag: para
#: architecture.xml:292 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate can also be configured as a JCA connector. Please see the website " "Hibernate can also be configured as a JCA connector. Please see the website "
"for more information. Please note, however, that at this stage Hibernate JCA " "for more information. Please note, however, that at this stage Hibernate JCA "
"support is under development." "support is under development."
msgstr "" msgstr ""
"Hibernate は JCA コネクタとしても設定できます。詳細については、Webサイトを" "Hibernate は JCA コネクタとしても設定できます。詳細については、 Web サイトを"
"てください。 Hibernate JCA サポートは、今のところ実験段階として考えられてい" "てください。 Hibernate JCA サポートは、今のところ実験段階として考えられてい"
"ことに注意してください。" "ことに注意してください。"
#. Tag: title #. Tag: title
#: architecture.xml:299 #, no-c-format
#, fuzzy, no-c-format
msgid "Contextual sessions" msgid "Contextual sessions"
msgstr "コンテキスト上のセッション" msgstr "コンテキスト上のセッション"
#. Tag: para #. Tag: para
#: architecture.xml:300 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Most applications using Hibernate need some form of \"contextual\" session, " "Most applications using Hibernate need some form of \"contextual\" session, "
"where a given session is in effect throughout the scope of a given context. " "where a given session is in effect throughout the scope of a given context. "
@ -484,19 +444,18 @@ msgid ""
"utilized third-party frameworks, such as Spring or Pico, which provided " "utilized third-party frameworks, such as Spring or Pico, which provided "
"proxy/interception-based contextual sessions." "proxy/interception-based contextual sessions."
msgstr "" msgstr ""
"Hibernate を使ったアプリケーションは、ほとんど、なんらかの形で\"コンテキスト" "Hibernate を使ったアプリケーションは、ほとんど、なんらかの形でコンテキスト"
"上の\"セッションが必要になります。 「コンテキスト上のセッション」は、特定のコ" "上の」セッションが必要になります。「コンテキスト上のセッション」は、特定のコ"
"ンテキストのスコープのなかで有効なセッションのことです。 しかし、通常アプリ" "ンテキストのスコープのなかで有効なセッションのことです。しかし、通常アプリ"
"ケーションごとにコンテキストを構成するものの定義は異なります。 しかも、異なる" "ケーションごとにコンテキストを構成するものの定義は異なります。しかも、異なる"
"複数のコンテキストは、現時点に対して異なるスコープを定義します。 バージョン" "複数のコンテキストは、現時点に対して異なるスコープを定義します。バージョン3.0"
"3.0より前の Hibernate では、自作の <literal>ThreadLocal</literal> ベースの" "より前の Hibernate では、自作の <literal>ThreadLocal</literal> ベースの「コン"
"「コンテキスト上のセッション」を 利用するか、 <literal>HibernateUtil</" "テキスト上のセッション」を利用するか、 <literal>HibernateUtil</literal> のよ"
"literal> のようなヘルパークラスを利用するか、 proxy/interception ベースの「コ" "うなヘルパークラスを利用するか、 proxy/interception ベースの「コンテキスト上"
"ンテキスト上のセッション」を提供する Spring や Pico のような)サードパー" "のセッション」を提供する Spring や Pico のような)サードパーティのフレーム"
"ティのフレームワークを利用するかのいずれかでした。" "ワークを利用するかのいずれかでした。"
#. Tag: para #. Tag: para
#: architecture.xml:309
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory." "Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
@ -509,20 +468,19 @@ msgid ""
"deployed into a <literal>J2EE</literal> container. Based on that, the " "deployed into a <literal>J2EE</literal> container. Based on that, the "
"<literal>JTA</literal>-based contextual sessions are all you need to use." "<literal>JTA</literal>-based contextual sessions are all you need to use."
msgstr "" msgstr ""
"バージョン 3.0.1 から、Hibernate には <literal>SessionFactory." "バージョン 3.0.1 から、 Hibernate には <literal>SessionFactory."
"getCurrentSession()</literal> が 加わりました。 これは、 <literal>JTA</" "getCurrentSession()</literal> メソッドが加わりました。これは、 <literal>JTA</"
"literal> トランザクションの使用を前提にしています。 <literal>JTA</literal> ト" "literal> トランザクションの使用を前提にしています。 <literal>JTA</literal> ト"
"ランザクションは、現在のセッションのスコープとコンテキストの両方を定義しま" "ランザクションは、現在のセッションのスコープとコンテキストの両方を定義しま"
"す。 Hibernate チームは、次のことを主張します。 巨大なスタンドアロンの " "す。 Hibernate チームは、次のことを主張します。巨大なスタンドアロンの "
"<literal>JTA TransactionManager</literal> 実装が成熟したら、 <literal>J2EE</" "<literal>JTA TransactionManager</literal> 実装が成熟したら、 <literal>J2EE</"
"literal> コンテナ上にデプロイされるかどうかにかかわらず、 ほとんどの(すべて" "literal> コンテナ上にデプロイされるかどうかにかかわらず、ほとんどの(すべて"
"は言わないが)アプリケーションが、 <literal>JTA</literal> トランザクション" "は言わないが)アプリケーションが、 <literal>JTA</literal> トランザクション"
"理を使用すべきであると。 この考えに基づくと、 <literal>JTA</literal> ベース" "理を使用すべきであると。この考えに基づくと、 <literal>JTA</literal> ベース"
"「コンテキスト上のセッション」を 使うしかないでしょう。" "「コンテキスト上のセッション」を使うしかないでしょう。"
#. Tag: para #. Tag: para
#: architecture.xml:319 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"However, as of version 3.1, the processing behind <literal>SessionFactory." "However, as of version 3.1, the processing behind <literal>SessionFactory."
"getCurrentSession()</literal> is now pluggable. To that end, a new extension " "getCurrentSession()</literal> is now pluggable. To that end, a new extension "
@ -532,14 +490,13 @@ msgid ""
"pluggability of the scope and context of defining current sessions." "pluggability of the scope and context of defining current sessions."
msgstr "" msgstr ""
"しかし、バージョン 3.1 からは、 <literal>SessionFactory.getCurrentSession()</" "しかし、バージョン 3.1 からは、 <literal>SessionFactory.getCurrentSession()</"
"literal> の後の処理が、 プラガブルになりました。 これを受けて、現在のセッショ" "literal> の後の処理が、プラガブルになりました。これを受けて、現在のセッショ"
"を定義するスコープとコンテキストのプラガビリティを可能にするために、 新しい" "を定義するスコープとコンテキストのプラガビリティを可能にするために、新しい"
"張インタフェース ( <literal>org.hibernate.context.CurrentSessionContext</" "張インタフェース ( <literal>org.hibernate.context.CurrentSessionContext</"
"literal> ) と 新しい構成パラメータ ( <literal>hibernate." "literal> ) と新しい構成パラメータ ( <literal>hibernate."
"current_session_context_class</literal> ) が追加されました。" "current_session_context_class</literal> ) が追加されました。"
#. Tag: para #. Tag: para
#: architecture.xml:326
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"See the Javadocs for the <literal>org.hibernate.context." "See the Javadocs for the <literal>org.hibernate.context."
@ -550,15 +507,14 @@ msgid ""
"implementations of this interface:" "implementations of this interface:"
msgstr "" msgstr ""
"<literal>org.hibernate.context.CurrentSessionContext</literal> インタフェース" "<literal>org.hibernate.context.CurrentSessionContext</literal> インタフェース"
"の規約についての 詳細な内容は Javadoc を参照してください。 それには、 " "の規約についての詳細な内容は Javadoc を参照してください。それには、 "
"<literal>currentSession()</literal> という1つのメソッドが定義されており、 そ" "<literal>currentSession()</literal> という1つのメソッドが定義されており、そ"
"実装は、現在の「コンテキスト上のセッション」を追跡することに責任を持ちま" "実装は、現在の「コンテキスト上のセッション」を追跡することに責任を持ちます。"
"す。 そのまま使えるように、Hibernateはこのインタフェースの実装を2つ提供してい" "そのまま使えるように、 Hibernate はこのインタフェースの実装を2つ提供してい"
"す。" "す。"
#. Tag: para #. Tag: para
#: architecture.xml:336 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.JTASessionContext</literal>: current sessions " "<literal>org.hibernate.context.JTASessionContext</literal>: current sessions "
"are tracked and scoped by a <literal>JTA</literal> transaction. The " "are tracked and scoped by a <literal>JTA</literal> transaction. The "
@ -566,24 +522,22 @@ msgid ""
"the Javadocs for details." "the Javadocs for details."
msgstr "" msgstr ""
"<literal>org.hibernate.context.JTASessionContext</literal> - <literal>JTA</" "<literal>org.hibernate.context.JTASessionContext</literal> - <literal>JTA</"
"literal> トランザクションによって、現在のセッションが追跡され、 スコープを決" "literal> トランザクションによって、現在のセッションが追跡され、スコープを決"
"られます。この処理は、古いJTAだけのアプローチとまったく同じです。 詳細は" "られます。この処理は、古い JTA だけのアプローチとまったく同じです。詳細は "
"Javadocを参照してください。" "Javadoc を参照してください。"
#. Tag: para #. Tag: para
#: architecture.xml:344 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current " "<literal>org.hibernate.context.ThreadLocalSessionContext</literal>:current "
"sessions are tracked by thread of execution. See the Javadocs for details." "sessions are tracked by thread of execution. See the Javadocs for details."
msgstr "" msgstr ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - スレッド" "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - スレッド"
"の実行によって、現在のセッションが追跡されます。 詳細はJavadocを参照してくだ" "の実行によって、現在のセッションが追跡されます。詳細は Javadoc を参照してくだ"
"さい。" "さい。"
#. Tag: para #. Tag: para
#: architecture.xml:350 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"<literal>org.hibernate.context.ManagedSessionContext</literal>: current " "<literal>org.hibernate.context.ManagedSessionContext</literal>: current "
"sessions are tracked by thread of execution. However, you are responsible to " "sessions are tracked by thread of execution. However, you are responsible to "
@ -591,13 +545,12 @@ msgid ""
"this class: it does not open, flush, or close a <literal>Session</literal>." "this class: it does not open, flush, or close a <literal>Session</literal>."
msgstr "" msgstr ""
"<literal>org.hibernate.context.ManagedSessionContext</literal> - スレッドの実" "<literal>org.hibernate.context.ManagedSessionContext</literal> - スレッドの実"
"行によって、現在のセッションが追跡されます。 しかし、このクラスのstaticメソッ" "行によって、現在のセッションが追跡されます。しかし、このクラスの static メ"
"ドで <literal>Session</literal> インスタンスを バインド/アンバインドする責" "ソッドで <literal>Session</literal> インスタンスをバインド/アンバインドする責"
"はあなたにあります。 これは決して <literal>Session</literal> をオープン、フ" "はあなたにあります。これは決して <literal>Session</literal> をオープン、フ"
"ラッシュ、クローズしません。" "ラッシュ、クローズしません。"
#. Tag: para #. Tag: para
#: architecture.xml:359
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"The first two implementations provide a \"one session - one database " "The first two implementations provide a \"one session - one database "
@ -610,25 +563,24 @@ msgid ""
"utilize the JTA interfaces to demarcate transactions. If you execute in an " "utilize the JTA interfaces to demarcate transactions. If you execute in an "
"EJB container that supports CMT, transaction boundaries are defined " "EJB container that supports CMT, transaction boundaries are defined "
"declaratively and you do not need any transaction or session demarcation " "declaratively and you do not need any transaction or session demarcation "
"operations in your code. Refer to <xref linkend=\"transactions\"/> for more " "operations in your code. Refer to <xref linkend=\"transactions\" /> for more "
"information and code examples." "information and code examples."
msgstr "" msgstr ""
"始めの2つの実装は、\"1セッション - 1データベーストランザクション\" プログラミ" "はじめの2つの実装は、「1セッション - 1データベーストランザクション」プログラ"
"ングモデルを提供します。 これは <emphasis>リクエストごとのセッション" "ングモデルを提供します。これは <emphasis>リクエストごとのセッション"
"session-per-request</emphasis> としても知られており、使われています。 " "session-per-request</emphasis> としても知られており、使われています。 "
"Hibernate セッションの開始と終了は、データベーストランザクションの期間で決ま" "Hibernate セッションの開始と終了は、データベーストランザクションの期間で決ま"
"ります。 JTAを使わない普通のJSEで、プログラム上のトランザクション境界設定を行" "ります。 JTA を使わない普通の JSE で、プログラム上のトランザクション境界設定"
"うなら、 コードから基礎のトランザクションシステムを隠蔽するために、 " "を行うなら、コードから基礎のトランザクションシステムを隠蔽するために、 "
"Hibernate <literal>Transaction</literal> APIを使うとよいでしょう。 JTAを使" "Hibernate <literal>Transaction</literal> API を使うとよいでしょう。 JTA を使"
"なら、トランザクションの境界設定には、JTAインターフェイスを使ってください。 " "なら、トランザクションの境界設定には、 JTA インターフェースを使ってくださ"
"CMTをサポートするEJBコンテナで実行するつもりなら、トランザクション境界は宣言" "い。 CMT をサポートする EJB コンテナで実行するつもりなら、トランザクション境"
"的に定義できるため、 コード上でトランザクションやセッションの境界を設定する必" "界は宣言的に定義できるため、コード上でトランザクションやセッションの境界を設"
"要はありません。 さらに詳細な情報やコードの例は、 <xref linkend=" "定する必要はありません。さらに詳細な情報やコードの例は、 <xref linkend="
"\"transactions\"/> を参照してください。" "\"transactions\"/> を参照してください。"
#. Tag: para #. Tag: para
#: architecture.xml:371 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>hibernate.current_session_context_class</literal> configuration " "The <literal>hibernate.current_session_context_class</literal> configuration "
"parameter defines which <literal>org.hibernate.context." "parameter defines which <literal>org.hibernate.context."
@ -643,10 +595,9 @@ msgid ""
msgstr "" msgstr ""
"<literal>hibernate.current_session_context_class</literal> 設定パラメータ" "<literal>hibernate.current_session_context_class</literal> 設定パラメータ"
"は、 <literal>org.hibernate.context.CurrentSessionContext</literal> のどの実" "は、 <literal>org.hibernate.context.CurrentSessionContext</literal> のどの実"
"装を使うかを指定します。 下位互換性のため、このパラメータが設定されず " "装を使うかを指定します。下位互換性のため、このパラメータが設定されず "
"<literal>org.hibernate.transaction.TransactionManagerLookup</literal> が設定" "<literal>org.hibernate.transaction.TransactionManagerLookup</literal> が設定"
"されていた場合、 Hibernateは <literal>org.hibernate.context." "されていた場合、 Hibernate は <literal>org.hibernate.context."
"JTASessionContext</literal> を使うことに注意してください。 通常このパラメータ" "JTASessionContext</literal> を使うことに注意してください。通常このパラメータ"
"の値には、3つの実装の中から使用する実装クラスの名前を直接指定します。 しか" "の値には、3つの実装の中から使用する実装クラスの名前を直接指定します。しかし、"
"し、\"jta\", \"thread\", \"managed\"というそれぞれの省略名も用意されていま" "\"jta\"、 \"thread\"、 \"managed\"というそれぞれの省略名も用意されています。"
"す。"

View File

@ -1,48 +1,34 @@
# translation of Collection_Mapping.po to
# Xi HUANG <xhuang@redhat.com>, 2007, 2010.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-13 15:16+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Xi HUANG <xhuang@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: batch.xml:29
#, no-c-format #, no-c-format
msgid "Batch processing" msgid "Batch processing"
msgstr "バッチ処理" msgstr "バッチ処理"
#. Tag: para #. Tag: para
#: batch.xml:31 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"A naive approach to inserting 100,000 rows in the database using Hibernate " "A naive approach to inserting 100,000 rows in the database using Hibernate "
"might look like this:" "might look like this:"
msgstr "" msgstr ""
"Hibernateを使ってデータベースに100,000行を挿入する愚直な方法は、このようなも" "Hibernate を使ってデータベースに100,000行を挿入する愚直な方法は、このようなも"
"のです:" "のです:"
#. Tag: programlisting
#: batch.xml:36
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
"}\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:38 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This would fall over with an <literal>OutOfMemoryException</literal> " "This would fall over with an <literal>OutOfMemoryException</literal> "
"somewhere around the 50,000th row. That is because Hibernate caches all the " "somewhere around the 50,000th row. That is because Hibernate caches all the "
@ -50,158 +36,90 @@ msgid ""
"cache. In this chapter we will show you how to avoid this problem." "cache. In this chapter we will show you how to avoid this problem."
msgstr "" msgstr ""
"これは50,000番目の行のあたりで <literal>OutOfMemoryException</literal> で失敗" "これは50,000番目の行のあたりで <literal>OutOfMemoryException</literal> で失敗"
"するでしょう。 Hibernateがセッションレベルキャッシュで、 新しく挿入されたすべ" "するでしょう。 Hibernate がセッションレベルキャッシュで、新しく挿入されたすべ"
"ての <literal>Customer</literal> インスタンスをキャッシュするからです。" "ての <literal>Customer</literal> インスタンスをキャッシュするからです。"
#. Tag: para #. Tag: para
#: batch.xml:45 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"If you are undertaking batch processing you will need to enable the use of " "If you are undertaking batch processing you will need to enable the use of "
"JDBC batching. This is absolutely essential if you want to achieve optimal " "JDBC batching. This is absolutely essential if you want to achieve optimal "
"performance. Set the JDBC batch size to a reasonable number (10-50, for " "performance. Set the JDBC batch size to a reasonable number (10-50, for "
"example):" "example):"
msgstr "" msgstr ""
"この章では、この問題を回避する方法を紹介します。 しかしバッチ処理をするなら、" "この章では、この問題を回避する方法を紹介します。しかしバッチ処理をするなら、 "
"JDBCバッチが使用可能であることが非常に重要です。 そうでなければ手頃なパフォー" "JDBC バッチが使用可能であることが非常に重要です。そうでなければ手頃なパフォー"
"マンスが得られません。 JDBCバッチサイズを手頃な数値例えば、10から50に設定" "マンスが得られません。 JDBC バッチサイズを手頃な数値例えば、10から50に設"
"してください:" "定してください:"
#. Tag: programlisting
#: batch.xml:52
#, no-c-format
msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:54 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate disables insert batching at the JDBC level transparently if you " "Hibernate disables insert batching at the JDBC level transparently if you "
"use an <literal>identity</literal> identifier generator." "use an <literal>identity</literal> identifier generator."
msgstr "" msgstr ""
"Note that Hibernate disables insert batching at the JDBC level transparently " "<literal>identiy</literal> 識別子生成を使う場合は、Hibernate は JDBC レベルで"
"if you use an <literal>identiy</literal> identifier generator." "インサートバッチングを無効にすることに注意してください。"
#. Tag: para #. Tag: para
#: batch.xml:59 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"You can also do this kind of work in a process where interaction with the " "You can also do this kind of work in a process where interaction with the "
"second-level cache is completely disabled:" "second-level cache is completely disabled:"
msgstr "" msgstr ""
"また二次キャッシュが全く効かないプロセスで、 このような作業をしたいと思うかも" "また二次キャッシュが全く効かないプロセスで、このような作業をしたいと思うかも"
"しれません:" "しれません:"
#. Tag: programlisting
#: batch.xml:64
#, no-c-format
msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:66
#, no-c-format #, no-c-format
msgid "" msgid ""
"However, this is not absolutely necessary, since we can explicitly set the " "However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode</literal> to disable interaction with the second-level " "<literal>CacheMode</literal> to disable interaction with the second-level "
"cache." "cache."
msgstr "" msgstr ""
"しかし、これは絶対に必要というわけではありません。 なぜなら明示的に " "しかし、これは絶対に必要というわけではありません。なぜなら明示的に "
"<literal>CacheMode</literal> を設定して、 二次キャッシュとの相互作用を無効に" "<literal>CacheMode</literal> を設定して、二次キャッシュとの相互作用を無効に"
"ることができるからです。" "ることができるからです。"
#. Tag: title #. Tag: title
#: batch.xml:72
#, no-c-format #, no-c-format
msgid "Batch inserts" msgid "Batch inserts"
msgstr "バッチ挿入" msgstr "バッチ挿入"
#. Tag: para #. Tag: para
#: batch.xml:74 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When making new objects persistent <literal>flush()</literal> and then " "When making new objects persistent <literal>flush()</literal> and then "
"<literal>clear()</literal> the session regularly in order to control the " "<literal>clear()</literal> the session regularly in order to control the "
"size of the first-level cache." "size of the first-level cache."
msgstr "" msgstr ""
"新しいオブジェクトを永続化するとき、一次キャッシュのサイズを制限するため、 " "新しいオブジェクトを永続化するとき、一次キャッシュのサイズを制限するため、"
"セッションを <literal>flush()</literal> して <literal>clear()</literal> しな" "セッションを <literal>flush()</literal> して <literal>clear()</literal> しな"
"ければなりません。" "ければなりません。"
#. Tag: programlisting
#: batch.xml:80
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"for ( int i=0; i<100000; i++ ) {\n"
" Customer customer = new Customer(.....);\n"
" session.save(customer);\n"
" if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
" //flush a batch of inserts and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: batch.xml:85
#, no-c-format #, no-c-format
msgid "Batch updates" msgid "Batch updates"
msgstr "バッチ更新" msgstr "バッチ更新"
#. Tag: para #. Tag: para
#: batch.xml:87 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For retrieving and updating data, the same ideas apply. In addition, you " "For retrieving and updating data, the same ideas apply. In addition, you "
"need to use <literal>scroll()</literal> to take advantage of server-side " "need to use <literal>scroll()</literal> to take advantage of server-side "
"cursors for queries that return many rows of data." "cursors for queries that return many rows of data."
msgstr "" msgstr ""
"データを復元したり更新したりするには同じアイディアを適用します。 それに加え" "データを復元したり更新したりするには同じアイディアを適用します。それに加え"
"て、データの行を多く返すクエリに対して有効な サーバーサイドのカーソルの利点を" "て、データの行を多く返すクエリに対して有効なサーバーサイドのカーソルの利点を"
"生かしたければ <literal>scroll()</literal> を使う必要があります。" "生かしたければ <literal>scroll()</literal> を使う必要があります。"
#. Tag: programlisting
#: batch.xml:93
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .setCacheMode(CacheMode.IGNORE)\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"int count=0;\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" if ( ++count % 20 == 0 ) {\n"
" //flush a batch of updates and release memory:\n"
" session.flush();\n"
" session.clear();\n"
" }\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: title #. Tag: title
#: batch.xml:98
#, no-c-format #, no-c-format
msgid "The StatelessSession interface" msgid "The StatelessSession interface"
msgstr "StatelessSessionインターフェイス" msgstr "StatelessSession インターフェース"
#. Tag: para #. Tag: para
#: batch.xml:99 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Alternatively, Hibernate provides a command-oriented API that can be used " "Alternatively, Hibernate provides a command-oriented API that can be used "
"for streaming data to and from the database in the form of detached objects. " "for streaming data to and from the database in the form of detached objects. "
@ -217,54 +135,33 @@ msgid ""
"effects. A stateless session is a lower-level abstraction that is much " "effects. A stateless session is a lower-level abstraction that is much "
"closer to the underlying JDBC." "closer to the underlying JDBC."
msgstr "" msgstr ""
"また別の方法として、Hibernateはコマンド指向のAPIを用意しています。 これは分離" "また別の方法として、 Hibernate はコマンド指向の API を用意しています。これは"
"オブジェクトの形で、 データベースとのデータストリームのやり取りに使うことがで" "分離オブジェクトの形で、データベースとのデータストリームのやり取りに使うこと"
"きます。 <literal>StatelessSession</literal> は関連する永続コンテキストを持た" "ができます。 <literal>StatelessSession</literal> は関連する永続コンテキストを"
"ず、 高レベルのライフサイクルセマンティクスの多くを提供しません。 特にステー" "持たず、高レベルのライフサイクルセマンティクスの多くを提供しません。特にス"
"トレスセッションは、一時キャッシュを実装せず、 またどのような二次キャッシュや" "テートレスセッションは、一次キャッシュを実装せず、またどのような二次キャッ"
"クエリキャッシュとも相互作用しません。 トランザクショナルなwrite-behindや自動" "シュやクエリキャッシュとも相互作用しません。トランザクショナルな write-"
"ダーティチェックも実装しません。 ステートレスセッションを使って行われる操作" "behind や自動ダーティチェックも実装しません。ステートレスセッションを使って行"
"が、 関連するインスタンスへカスケードされることは決してありません。 コレク" "われる操作が、関連するインスタンスへカスケードされることは決してありません。"
"ションは、ステートレスセッションからは無視されます。 ステートレスセッションを" "コレクションは、ステートレスセッションからは無視されます。ステートレスセッ"
"通して行われる操作は、 Hibernateのイベントモデルやインターセプタの影響を受け" "ションを通して行われる操作は、 Hibernate のイベントモデルやインターセプタの影"
"ません。 一時キャッシュを持たないため、 ステートレスセッションは別名を持つ" "響を受けません。一次キャッシュを持たないため、ステートレスセッションは別名を"
"データに上手く対処できません。 ステートレスセッションは低レベルの抽象化であ" "持つデータに上手く対処できません。ステートレスセッションは低レベルの抽象化で"
"り、JDBCに非常によく似ています。" "あり、 JDBC に非常によく似ています。"
#. Tag: programlisting
#: batch.xml:114
#, no-c-format
msgid ""
"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
"Transaction tx = session.beginTransaction();\n"
" \n"
"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
" .scroll(ScrollMode.FORWARD_ONLY);\n"
"while ( customers.next() ) {\n"
" Customer customer = (Customer) customers.get(0);\n"
" customer.updateStuff(...);\n"
" session.update(customer);\n"
"}\n"
" \n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:116 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"In this code example, the <literal>Customer</literal> instances returned by " "In this code example, the <literal>Customer</literal> instances returned by "
"the query are immediately detached. They are never associated with any " "the query are immediately detached. They are never associated with any "
"persistence context." "persistence context."
msgstr "" msgstr ""
"このコード例では、クエリが返す <literal>Customer</literal> インスタンスは即座" "このコード例では、クエリが返す <literal>Customer</literal> インスタンスは即座"
"に(セッションから)分離されることに注意してください。 これは、どのような永" "に (セッションから) 分離されることに注意してください。これは、どのような永"
"コンテキストとも決して関連しません。" "続コンテキストとも決して関連しません。"
#. Tag: para #. Tag: para
#: batch.xml:122 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>insert(), update()</literal> and <literal>delete()</literal> " "The <literal>insert(), update()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>StatelessSession</literal> interface are " "operations defined by the <literal>StatelessSession</literal> interface are "
@ -274,21 +171,20 @@ msgid ""
"<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> " "<literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>Session</literal> interface." "operations defined by the <literal>Session</literal> interface."
msgstr "" msgstr ""
"<literal>StatelessSession</literal> インターフェイスで定義されている " "<literal>StatelessSession</literal> インターフェースで定義されている "
"<literal>insert(), update(), delete()</literal> は、 低レベルの直接的なデータ" "<literal>insert(), update()</literal> と <literal>delete()</literal> の操作"
"ベース操作と考えられます。 結果として、SQLの <literal>INSERT, UPDATE, " "は、低レベルの直接的なデータベース操作と考えられます。結果として、 SQL の "
"DELETE</literal> がそれぞれ即座に実行されます。 このように、これらは " "<literal>INSERT, UPDATE</literal> または <literal>DELETE</literal> がそれぞれ"
"<literal>Session</literal> インターフェイスで定義されている <literal>save(), " "即座に実行されます。このように、これらは <literal>Session</literal> インター"
"saveOrUpdate(), delete()</literal> とは非常に異なる意味を持ちます。" "フェースで定義されている <literal>save(), saveOrUpdate()</literal> と "
"<literal>delete()</literal> とは非常に異なる意味を持ちます。"
#. Tag: title #. Tag: title
#: batch.xml:135
#, no-c-format #, no-c-format
msgid "DML-style operations" msgid "DML-style operations"
msgstr "DMLスタイルの操作" msgstr "DML スタイルの操作"
#. Tag: para #. Tag: para
#: batch.xml:137
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"As already discussed, automatic and transparent object/relational mapping is " "As already discussed, automatic and transparent object/relational mapping is "
@ -302,17 +198,17 @@ msgid ""
"\">HQL</link>)." "\">HQL</link>)."
msgstr "" msgstr ""
"すでに議論したように、自動的かつ透過的なオブジェクト/リレーショナルマッピング" "すでに議論したように、自動的かつ透過的なオブジェクト/リレーショナルマッピング"
"は、 オブジェクトの状態の管理であると考えられます。 これはメモリ内のオブジェ" "は、オブジェクトの状態の管理であると考えられます。これはメモリ内のオブジェク"
"クトの状態を利用できるということです。 そのためSQLの <literal>データ操作言" "トの状態を利用できるということです。そのため SQLの <literal>データ操作言語"
"語</literal> (DML) 文: <literal>INSERT</literal>, <literal>UPDATE</" "</literal> (DML) 文: <literal>INSERT</literal>、 <literal>UPDATE</"
"literal>, <literal>DELETE</literal> を使って)データベース内のデータを直接操" "literal>、 <literal>DELETE</literal> を使って)データベース内のデータを直接操"
"作しても、 メモリ内の状態には影響を与えません。 しかしHibernateは、バルクSQL" "作しても、メモリ内の状態には影響を与えません。しかし Hibernate は、バルク "
"スタイルのDML文実行に対応するメソッドを用意しています。 これはHibernateクエリ" "SQL スタイルの DML 文実行に対応するメソッドを用意しています。これは "
"言語(<xref linkend=\"queryhql\">HQL</xref> を通して実行されます。" "Hibernate クエリ言語 (<xref linkend=\"queryhql\"/> HQL) を通して実行されま"
"す。"
#. Tag: para #. Tag: para
#: batch.xml:146 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</" "The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE " "literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
@ -320,87 +216,61 @@ msgid ""
msgstr "" msgstr ""
"<literal>UPDATE</literal> と <literal>DELETE</literal> 文の疑似構文は: " "<literal>UPDATE</literal> と <literal>DELETE</literal> 文の疑似構文は: "
"<literal>( UPDATE | DELETE ) FROM? エンティティ名 (WHERE 条件節)?</literal> " "<literal>( UPDATE | DELETE ) FROM? エンティティ名 (WHERE 条件節)?</literal> "
"です。 注意すべき点がいくつかあります:" "です。注意すべき点がいくつかあります:"
#. Tag: para #. Tag: para
#: batch.xml:151
#, no-c-format #, no-c-format
msgid "Some points to note:" msgid "Some points to note:"
msgstr "" msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:157
#, no-c-format #, no-c-format
msgid "In the from-clause, the FROM keyword is optional" msgid "In the from-clause, the FROM keyword is optional"
msgstr "from節において、FROMキーワードはオプションです。" msgstr "from 節において、 FROM キーワードはオプションです。"
#. Tag: para #. Tag: para
#: batch.xml:162 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"There can only be a single entity named in the from-clause. It can, however, " "There can only be a single entity named in the from-clause. It can, however, "
"be aliased. If the entity name is aliased, then any property references must " "be aliased. If the entity name is aliased, then any property references must "
"be qualified using that alias. If the entity name is not aliased, then it is " "be qualified using that alias. If the entity name is not aliased, then it is "
"illegal for any property references to be qualified." "illegal for any property references to be qualified."
msgstr "" msgstr ""
"from節では単一のエンティティ名だけが可能で、 任意で別名を付けることができま" "from 節では単一のエンティティ名だけが可能で、任意で別名を付けることができま"
"す。 エンティティ名に別名が与えられると、どのようなプロパティ参照も、 その別" "す。エンティティ名に別名が与えられると、どのようなプロパティ参照も、その別"
"を使って修飾しなければなりません。 もしエンティティ名に別名が与えられなけれ" "を使って修飾しなければなりません。もしエンティティ名に別名が与えられなけれ"
"ば、 どのようなプロパティ参照も修飾してはなりません。" "ば、どのようなプロパティ参照も修飾してはなりません。"
#. Tag: para #. Tag: para
#: batch.xml:170
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or " "No <link linkend=\"queryhql-joins-forms\">joins</link>, either implicit or "
"explicit, can be specified in a bulk HQL query. Sub-queries can be used in " "explicit, can be specified in a bulk HQL query. Sub-queries can be used in "
"the where-clause, where the subqueries themselves may contain joins." "the where-clause, where the subqueries themselves may contain joins."
msgstr "" msgstr ""
"(暗黙的であれ明示的であれ)<xref linkend=\"queryhql-joins-forms\">結合</" "(暗黙的であれ明示的であれ) <xref linkend=\"queryhql-joins-forms\"/> 結合を"
"xref> をバルクHQLクエリ内で指定することはできません。 サブクエリはwhere節で使" "バルク HQL クエリ内で指定することはできません。サブクエリは where 節で使うこ"
"うことができます サブクエリそのものは、結合を含められます。" "とができます。サブクエリそのものは、結合を含められます。"
#. Tag: para #. Tag: para
#: batch.xml:177
#, no-c-format #, no-c-format
msgid "The where-clause is also optional." msgid "The where-clause is also optional."
msgstr "where節はオプションです。" msgstr "where 節はオプションです。"
#. Tag: para #. Tag: para
#: batch.xml:183 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"As an example, to execute an HQL <literal>UPDATE</literal>, use the " "As an example, to execute an HQL <literal>UPDATE</literal>, use the "
"<literal>Query.executeUpdate()</literal> method. The method is named for " "<literal>Query.executeUpdate()</literal> method. The method is named for "
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</" "those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
"literal>:" "literal>:"
msgstr "" msgstr ""
"例として、HQLの <literal>UPDATE</literal> を実行するには、 <literal>Query." "例として、 HQL の <literal>UPDATE</literal> を実行するには、 <literal>Query."
"executeUpdate()</literal> メソッドを使ってください。 (このメソッドはおなじみ" "executeUpdate()</literal> メソッドを使ってください。(このメソッドはおなじみ"
"のJDBC <literal>PreparedStatement.executeUpdate()</literal> から名付けられま" "の JDBC <literal>PreparedStatement.executeUpdate()</literal> から名付けられま"
"した): d" "した):"
#. Tag: programlisting
#: batch.xml:189
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :"
"oldName\";\n"
"// or String hqlUpdate = \"update Customer set name = :newName where name = :"
"oldName\";\n"
"int updatedEntities = s.createQuery( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:191
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> " "In keeping with the EJB3 specification, HQL <literal>UPDATE</literal> "
@ -413,72 +283,37 @@ msgid ""
"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> " "<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
"keyword." "keyword."
msgstr "" msgstr ""
"HQLの <literal>UPDATE</literal> 文は、デフォルトでは、作用するエンティティ" "HQL の <literal>UPDATE</literal> 文は、デフォルトでは、作用するエンティティ"
"<xref linkend=\"mapping-declaration-version\">version</xref> や <xref " "<xref linkend=\"mapping-declaration-version\"/> バージョンや <xref "
"linkend=\"mapping-declaration-timestamp\">timestamp</xref> プロパティの値に" "linkend=\"mapping-declaration-timestamp\"/> タイムスタンプのプロパティの値に"
"影響しません。 これはEJB3の仕様にも受け継がれています。 しかし " "影響しません。これは EJB3 の仕様にも受け継がれています。しかし "
"<literal>versioned update</literal> を使って、 <literal>version</literal> や " "<literal>versioned update</literal> を使って、 <literal>version</literal> や "
"<literal>timestamp</literal> プロパティの値を強制的にリセットさせることができ" "<literal>timestamp</literal> プロパティの値を強制的にリセットさせることができ"
"ます。 これは <literal>UPDATE</literal> キーワードの後に <literal>VERSIONED</" "ます。これは <literal>UPDATE</literal> キーワードの後に <literal>VERSIONED</"
"literal> キーワードを追加することで行えます。" "literal> キーワードを追加することで行えます。"
#. Tag: programlisting
#: batch.xml:201
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"String hqlVersionedUpdate = \"update versioned Customer set name = :newName "
"where name = :oldName\";\n"
"int updatedEntities = s.createQuery( hqlUpdate )\n"
" .setString( \"newName\", newName )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:203 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Custom version types, <literal>org.hibernate.usertype.UserVersionType</" "Custom version types, <literal>org.hibernate.usertype.UserVersionType</"
"literal>, are not allowed in conjunction with a <literal>update versioned</" "literal>, are not allowed in conjunction with a <literal>update versioned</"
"literal> statement." "literal> statement."
msgstr "" msgstr ""
"カスタムバージョン型(<literal>org.hibernate.usertype.UserVersionType</" "カスタムバージョン型(<literal>org.hibernate.usertype.UserVersionType</"
"literal> は <literal>update versioned</literal> 文と一緒に使えないことに注" "literal>)は <literal>update versioned</literal> 文と一緒に使えないことに注意"
"してください。" "してください。"
#. Tag: para #. Tag: para
#: batch.xml:208
#, no-c-format #, no-c-format
msgid "" msgid ""
"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query." "To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
"executeUpdate()</literal> method:" "executeUpdate()</literal> method:"
msgstr "" msgstr ""
"HQLの <literal>DELETE</literal> を実行するには、 同じ <literal>Query." "HQL の <literal>DELETE</literal> を実行するには、同じ <literal>Query."
"executeUpdate()</literal> メソッドを使ってください:" "executeUpdate()</literal> メソッドを使ってください:"
#. Tag: programlisting
#: batch.xml:213
#, no-c-format
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
"\n"
"String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
"// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
"int deletedEntities = s.createQuery( hqlDelete )\n"
" .setString( \"oldName\", oldName )\n"
" .executeUpdate();\n"
"tx.commit();\n"
"session.close();]]>"
msgstr ""
#. Tag: para #. Tag: para
#: batch.xml:215 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The <literal>int</literal> value returned by the <literal>Query.executeUpdate" "The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
"()</literal> method indicates the number of entities effected by the " "()</literal> method indicates the number of entities effected by the "
@ -492,16 +327,15 @@ msgid ""
"joined-subclass tables further down the inheritance hierarchy." "joined-subclass tables further down the inheritance hierarchy."
msgstr "" msgstr ""
"<literal>Query.executeUpdate()</literal> メソッドが返す <literal>int</" "<literal>Query.executeUpdate()</literal> メソッドが返す <literal>int</"
"literal> の値は、この操作が影響を及ぼしたエンティティの数です。 これが影響す" "literal> の値は、この操作が影響を及ぼしたエンティティの数です。これが影響す"
"データベース内の行数と、相互に関係するかどうかを考えてみてください。 HQLバ" "データベース内の行数と、相互に関係するかどうかを考えてみてください。 HQL "
"ク操作は、結果として、実際のSQL文が複数実行されることになります。 例えば" "ク操作は、結果として、実際の SQL 文が複数実行されることになります。例えば "
"joined-subclassです。 返される数は、その文によって影響された実際のエンティ" "joined-subclass です。返される数は、その文によって影響された実際のエンティ"
"ティの数を示します。 joined-subclassの例に戻ると、サブクラスの一つに対する削" "ティの数を示します。 joined-subclass の例に戻ると、サブクラスの一つに対する削"
"除は、 そのサブクラスがマッピングされたテーブルだけではなく、 「ルート」テー" "除は、そのサブクラスがマッピングされたテーブルだけではなく、「ルート」テー"
"ルと継承階層をさらに下ったjoined-subclassのテーブルの削除になります。" "ルと継承階層をさらに下った joined-subclass のテーブルの削除になります。"
#. Tag: para #. Tag: para
#: batch.xml:226
#, no-c-format #, no-c-format
msgid "" msgid ""
"The pseudo-syntax for <literal>INSERT</literal> statements is: " "The pseudo-syntax for <literal>INSERT</literal> statements is: "
@ -509,11 +343,9 @@ msgid ""
"Some points to note:" "Some points to note:"
msgstr "" msgstr ""
"<literal>INSERT</literal> 文の疑似構文は: <literal>INSERT INTO エンティティ" "<literal>INSERT</literal> 文の疑似構文は: <literal>INSERT INTO エンティティ"
"名 プロパティリスト select文</literal> です。 注意すべき点がいくつかありま" "名プロパティリスト select 文</literal> です。注意すべき点がいくつかあります:"
"す:"
#. Tag: para #. Tag: para
#: batch.xml:234
#, no-c-format #, no-c-format
msgid "" msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT " "Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
@ -523,8 +355,7 @@ msgstr ""
"INTO ... VALUES ... の形式はサポートされていません。" "INTO ... VALUES ... の形式はサポートされていません。"
#. Tag: para #. Tag: para
#: batch.xml:237 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The properties_list is analogous to the <literal>column specification</" "The properties_list is analogous to the <literal>column specification</"
"literal> in the SQL <literal>INSERT</literal> statement. For entities " "literal> in the SQL <literal>INSERT</literal> statement. For entities "
@ -533,16 +364,15 @@ msgid ""
"are not allowed and subclass properties do not make sense. In other words, " "are not allowed and subclass properties do not make sense. In other words, "
"<literal>INSERT</literal> statements are inherently non-polymorphic." "<literal>INSERT</literal> statements are inherently non-polymorphic."
msgstr "" msgstr ""
"プロパティリストは、SQLの <literal>INSERT</literal> 文における <literal>カ" "プロパティリストは、 SQL の <literal>INSERT</literal> 文における <literal>カ"
"ムの仕様</literal> に類似しています。 継承のマッピングに含まれるエンティティ" "ムの仕様</literal> に類似しています。継承のマッピングに含まれるエンティティ"
"に対して、 クラスレベルで直接定義されたプロパティだけが、プロパティリストに使" "に対して、クラスレベルで直接定義されたプロパティだけが、プロパティリストに使"
"えます。 スーパークラスのプロパティは認められず、サブクラスのプロパティは効果" "えます。スーパークラスのプロパティは認められず、サブクラスのプロパティは効果"
"がありません。 言い換えると <literal>INSERT</literal> 文は、本質的にポリモー" "がありません。言い換えると <literal>INSERT</literal> 文は、本質的にポリモー"
"フィックではありません。" "フィックではありません。"
#. Tag: para #. Tag: para
#: batch.xml:247 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"select_statement can be any valid HQL select query, with the caveat that the " "select_statement can be any valid HQL select query, with the caveat that the "
"return types must match the types expected by the insert. Currently, this is " "return types must match the types expected by the insert. Currently, this is "
@ -555,19 +385,18 @@ msgid ""
"TimestampType</literal>, even though the database might not make a " "TimestampType</literal>, even though the database might not make a "
"distinction or might be able to handle the conversion." "distinction or might be able to handle the conversion."
msgstr "" msgstr ""
"select文の返り値の型がinsert文が期待する型とマッチしていれば、 そのselect文は" "select 文の返り値の型が insert 文が期待する型とマッチしていれば、その select "
"妥当なHQL selectクエリとなりえます。 現在このチェックをデータベースへ任せるの" "文は妥当な HQL select クエリとなりえます。現在このチェックをデータベースへ任"
"ではなく、クエリのコンパイル時にチェックします。 このことは、" "せるのではなく、クエリのコンパイル時にチェックします。このことは、 "
"<emphasis>equal</emphasis>とは違い、 Hibernateの <literal>Type</literal> 間" "<emphasis>equal</emphasis> とは違い、 Hibernate の <literal>Type</literal> 間"
"の <emphasis>equivalent</emphasis> に関する 問題を引き起こすことに注意してく" "の <emphasis>equivalent</emphasis> に関する問題を引き起こすことに注意してく"
"ださい。 これは <literal>org.hibernate.type.DataType</literal> として定義され" "さい。これは <literal>org.hibernate.type.DateType</literal> として定義された"
"プロパティと、 <literal>org.hibernate.type.TimestampType</literal> として定" "プロパティと、 <literal>org.hibernate.type.TimestampType</literal> として定"
"されたプロパティの間のミスマッチの問題を引き起こします。 データベースがそれ" "されたプロパティの間のミスマッチの問題を引き起こします。データベースがそれ"
"を区別できなくても、変換することができても、この問題は発生します。" "を区別できなくても、変換することができても、この問題は発生します。"
#. Tag: para #. Tag: para
#: batch.xml:259 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For the id property, the insert statement gives you two options. You can " "For the id property, the insert statement gives you two options. You can "
"either explicitly specify the id property in the properties_list, in which " "either explicitly specify the id property in the properties_list, in which "
@ -583,21 +412,21 @@ msgid ""
"TableHiLoGenerator</literal>, which cannot be used because it does not " "TableHiLoGenerator</literal>, which cannot be used because it does not "
"expose a selectable way to get its values." "expose a selectable way to get its values."
msgstr "" msgstr ""
"idプロパティに対して、insert文には二つの選択肢があります。 プロパティリストで" "id プロパティに対して、 insert 文には二つの選択肢があります。プロパティリスト"
"明示的にidプロパティを指定するか この場合、対応するselect式から値が取られま" "で明示的に id プロパティを指定するか (この場合、対応する select 式から値が取"
"す)、 プロパティリストから除外するか (この場合、生成される値が使われます)" "られます)、プロパティリストからそれを除外するかのいずれかです (この場合、生"
"のいずれかです。 後者の選択肢は、データベース内を操作するidジェネレータを使う" "成される値が使われます)。 後者の選択肢は、データベース内を操作する id ジェネ"
"ときのみ、利用可能です。 この選択肢を採る場合、「インメモリ」型のジェネレータ" "レータを使うときのみ、利用可能です。この選択肢を採る場合、「インメモリ」型の"
"を使うと、構文解析時に例外が発生します。 この議論では、インデータベース型ジェ" "ジェネレータを使うと、構文解析時に例外が発生します。この議論では、インデータ"
"ネレータは <literal>org.hibernate.id.SequenceGenerator</literal> (とそのサブ" "ベース型ジェネレータは <literal>org.hibernate.id.SequenceGenerator</literal> "
"クラス)と、<literal>org.hibernate.id.PostInsertIdentifierGenerator</" "(とそのサブクラス) と、 <literal>org.hibernate.id."
"literal> の実装であると考えています。 ここで最も注意すべき例外は、" "PostInsertIdentifierGenerator</literal> の実装であると考えています。ここで最"
"<literal>org.hibernate.id.TableHiLoGenerator</literal> です。 値を取得する選" "も注意すべき例外は、 <literal>org.hibernate.id.TableHiLoGenerator</literal> "
"択可能な方法がないため、このジェネレータを使うことはできません。" "です。値を取得する選択可能な方法がないため、このジェネレータを使うことはでき"
"ません。"
#. Tag: para #. Tag: para
#: batch.xml:274 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"For properties mapped as either <literal>version</literal> or " "For properties mapped as either <literal>version</literal> or "
"<literal>timestamp</literal>, the insert statement gives you two options. " "<literal>timestamp</literal>, the insert statement gives you two options. "
@ -607,31 +436,251 @@ msgid ""
"defined by the <literal>org.hibernate.type.VersionType</literal> is used." "defined by the <literal>org.hibernate.type.VersionType</literal> is used."
msgstr "" msgstr ""
"<literal>version</literal> や <literal>timestamp</literal> としてマッピングさ" "<literal>version</literal> や <literal>timestamp</literal> としてマッピングさ"
"れるプロパティに対して、 insert文には二つの選択肢があります。 プロパティリス" "れるプロパティに対して、 insert 文には二つの選択肢があります。プロパティリス"
"トで明示的にプロパティを指定するか この場合、対応するselect式から値が取ら" "トで明示的にプロパティを指定するか(この場合、対応する select 式から値が取ら"
"ます)、 プロパティリストから除外するか (この場合、<literal>org.hibernate." "ます)、プロパティリストから除外するか(この場合、 <literal>org.hibernate."
"type.VersionType</literal> で定義された <literal>シード値</literal> が使われ" "type.VersionType</literal> で定義された <literal>シード値</literal> が使われ"
"ます)のいずれかです。" "ます)のいずれかです。"
#. Tag: para #. Tag: para
#: batch.xml:284 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"The following is an example of an HQL <literal>INSERT</literal> statement " "The following is an example of an HQL <literal>INSERT</literal> statement "
"execution:" "execution:"
msgstr "HQLの <literal>INSERT</literal> 文の実行例です:" msgstr "HQL の <literal>INSERT</literal> 文の実行例です:"
#. Tag: programlisting #, fuzzy
#: batch.xml:288 #~ msgid ""
#, no-c-format #~ "<![CDATA[Session session = sessionFactory.openSession();\n"
msgid "" #~ "Transaction tx = session.beginTransaction();\n"
"<![CDATA[Session session = sessionFactory.openSession();\n" #~ "for ( int i=0; i<100000; i++ ) {\n"
"Transaction tx = session.beginTransaction();\n" #~ " Customer customer = new Customer(.....);\n"
"\n" #~ " session.save(customer);\n"
"String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c." #~ "}\n"
"name from Customer c where ...\";\n" #~ "tx.commit();\n"
"int createdEntities = s.createQuery( hqlInsert )\n" #~ "session.close();]]>"
" .executeUpdate();\n" #~ msgstr ""
"tx.commit();\n" #~ "Session session = sessionFactory.openSession();\n"
"session.close();]]>" #~ "Transaction tx = session.beginTransaction();\n"
msgstr "" #~ "for ( int i=0; i&lt;100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ "}\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
#~ msgstr "hibernate.jdbc.batch_size 20"
#, fuzzy
#~ msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
#~ msgstr "hibernate.cache.use_second_level_cache false"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "for ( int i=0; i<100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ " if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
#~ " //flush a batch of inserts and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "for ( int i=0; i&lt;100000; i++ ) {\n"
#~ " Customer customer = new Customer(.....);\n"
#~ " session.save(customer);\n"
#~ " if ( i &#37; 20 == 0 ) { //20, same as the JDBC batch size\n"
#~ " //flush a batch of inserts and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .setCacheMode(CacheMode.IGNORE)\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "int count=0;\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " if ( ++count % 20 == 0 ) {\n"
#~ " //flush a batch of updates and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .setCacheMode(CacheMode.IGNORE)\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "int count=0;\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " if ( ++count &#37; 20 == 0 ) {\n"
#~ " //flush a batch of updates and release memory:\n"
#~ " session.flush();\n"
#~ " session.clear();\n"
#~ " }\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[StatelessSession session = sessionFactory.openStatelessSession"
#~ "();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " session.update(customer);\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "StatelessSession session = sessionFactory.openStatelessSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ " \n"
#~ "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
#~ " .scroll(ScrollMode.FORWARD_ONLY);\n"
#~ "while ( customers.next() ) {\n"
#~ " Customer customer = (Customer) customers.get(0);\n"
#~ " customer.updateStuff(...);\n"
#~ " session.update(customer);\n"
#~ "}\n"
#~ " \n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlUpdate = \"update Customer c set c.name = :newName where c.name "
#~ "= :oldName\";\n"
#~ "// or String hqlUpdate = \"update Customer set name = :newName where name "
#~ "= :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlUpdate = \"update Customer c set c.name = :newName where c.name "
#~ "= :oldName\";\n"
#~ "// or String hqlUpdate = \"update Customer set name = :newName where name "
#~ "= :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "String hqlVersionedUpdate = \"update versioned Customer set name = :"
#~ "newName where name = :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "String hqlVersionedUpdate = \"update versioned Customer set name = :"
#~ "newName where name = :oldName\";\n"
#~ "int updatedEntities = s.createQuery( hqlUpdate )\n"
#~ " .setString( \"newName\", newName )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
#~ "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
#~ "int deletedEntities = s.createQuery( hqlDelete )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
#~ "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
#~ "int deletedEntities = s.createQuery( hqlDelete )\n"
#~ " .setString( \"oldName\", oldName )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"
#, fuzzy
#~ msgid ""
#~ "<![CDATA[Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlInsert = \"insert into DelinquentAccount (id, name) select c."
#~ "id, c.name from Customer c where ...\";\n"
#~ "int createdEntities = s.createQuery( hqlInsert )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();]]>"
#~ msgstr ""
#~ "Session session = sessionFactory.openSession();\n"
#~ "Transaction tx = session.beginTransaction();\n"
#~ "\n"
#~ "String hqlInsert = \"insert into DelinquentAccount (id, name) select c."
#~ "id, c.name from Customer \n"
#~ " c where ...\";\n"
#~ "int createdEntities = s.createQuery( hqlInsert )\n"
#~ " .executeUpdate();\n"
#~ "tx.commit();\n"
#~ "session.close();"

View File

@ -1,24 +1,25 @@
# translation of Collection_Mapping.po to
# Xi HUANG <xhuang@redhat.com>, 2007, 2010.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: Collection_Mapping\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-11T05:38:15\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: 2010-01-20 16:59+1000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: Xi HUANG <xhuang@redhat.com>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: KBabel 1.11.4\n"
#. Tag: title #. Tag: title
#: best_practices.xml:29
#, no-c-format #, no-c-format
msgid "Best Practices" msgid "Best Practices"
msgstr "ベストプラクティス" msgstr "ベストプラクティス"
#. Tag: term #. Tag: term
#: best_practices.xml:33 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Write fine-grained classes and map them using <literal>&lt;component&gt;</" "Write fine-grained classes and map them using <literal>&lt;component&gt;</"
"literal>:" "literal>:"
@ -27,7 +28,6 @@ msgstr ""
"ましょう。" "ましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:35
#, no-c-format #, no-c-format
msgid "" msgid ""
"Use an <literal>Address</literal> class to encapsulate <literal>street</" "Use an <literal>Address</literal> class to encapsulate <literal>street</"
@ -35,37 +35,33 @@ msgid ""
"<literal>postcode</literal>. This encourages code reuse and simplifies " "<literal>postcode</literal>. This encourages code reuse and simplifies "
"refactoring." "refactoring."
msgstr "" msgstr ""
"<literal>street</literal>(通り), <literal>suburb</literal> (都市), " "<literal>street</literal> (通り)、 <literal>suburb</literal> (都市)、 "
"<literal>state</literal>(州), <literal>postcode</literal> (郵便番号)を" "<literal>state</literal> (州)、 <literal>postcode</literal> (郵便番号)を"
"プセル化する <literal>Address</literal>(住所)クラスを使いましょう。 そう" "プセル化する <literal>Address</literal> (住所)クラスを使いましょう。そう"
"ればコードが再利用しやすくなり、リファクタリングも簡単になります。" "ればコードが再利用しやすくなり、リファクタリングも簡単になります。"
#. Tag: term #. Tag: term
#: best_practices.xml:43 #, no-c-format
#, fuzzy, no-c-format
msgid "Declare identifier properties on persistent classes:" msgid "Declare identifier properties on persistent classes:"
msgstr "永続クラスには識別子プロパティを定義しましょう。" msgstr "永続クラスには識別子プロパティを定義しましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:45 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate makes identifier properties optional. There are a range of reasons " "Hibernate makes identifier properties optional. There are a range of reasons "
"why you should use them. We recommend that identifiers be 'synthetic', that " "why you should use them. We recommend that identifiers be 'synthetic', that "
"is, generated with no business meaning." "is, generated with no business meaning."
msgstr "" msgstr ""
"Hibernateでは識別子プロパティはオプションですが、 使用すべき理由がたくさんあ" "Hibernate では識別子プロパティはオプションですが、使用すべき理由がたくさんあ"
"ります。 識別子は「人工的」(生成された、業務的な意味を持たない) なものにす" "ります。識別子は「人工的」(生成された、業務的な意味を持たない)なものにす"
"ことをおすすめします。" "ことをおすすめします。"
#. Tag: term #. Tag: term
#: best_practices.xml:53 #, no-c-format
#, fuzzy, no-c-format
msgid "Identify natural keys:" msgid "Identify natural keys:"
msgstr "自然キーを見つけましょう。" msgstr "自然キーを見つけましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:55
#, no-c-format #, no-c-format
msgid "" msgid ""
"Identify natural keys for all entities, and map them using <literal>&lt;" "Identify natural keys for all entities, and map them using <literal>&lt;"
@ -74,19 +70,17 @@ msgid ""
"natural key." "natural key."
msgstr "" msgstr ""
"すべてのエンティティに対して自然キーを見つけて、 <literal>&lt;natural-id&gt;" "すべてのエンティティに対して自然キーを見つけて、 <literal>&lt;natural-id&gt;"
"</literal> でマッピングしましょう。 自然キーを構成するプロパティを比較するた" "</literal> でマッピングしましょう。自然キーを構成するプロパティを比較するた"
"に、 <literal>equals()</literal> と <literal>hashCode()</literal> を実装し" "に、 <literal>equals()</literal> と <literal>hashCode()</literal> を実装し"
"しょう。" "しょう。"
#. Tag: term #. Tag: term
#: best_practices.xml:63 #, no-c-format
#, fuzzy, no-c-format
msgid "Place each class mapping in its own file:" msgid "Place each class mapping in its own file:"
msgstr "クラスのマッピングはそれぞれのクラス専用のファイルに書きましょう。" msgstr "クラスのマッピングはそれぞれのクラス専用のファイルに書きましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:65 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</" "Do not use a single monolithic mapping document. Map <literal>com.eg.Foo</"
"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes " "literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
@ -94,85 +88,75 @@ msgid ""
msgstr "" msgstr ""
"単一の巨大なマッピングドキュメントを使用しないでください。 <literal>com.eg." "単一の巨大なマッピングドキュメントを使用しないでください。 <literal>com.eg."
"Foo</literal> クラスなら <literal>com/eg/Foo.hbm.xml</literal> ファイルにマッ" "Foo</literal> クラスなら <literal>com/eg/Foo.hbm.xml</literal> ファイルにマッ"
"ピングしましょう。 このことは、特にチームでの開発に意味があります。" "ピングしましょう。このことは、特にチームでの開発に意味があります。"
#. Tag: term #. Tag: term
#: best_practices.xml:73 #, no-c-format
#, fuzzy, no-c-format
msgid "Load mappings as resources:" msgid "Load mappings as resources:"
msgstr "リソースとしてマッピングをロードしましょう。" msgstr "リソースとしてマッピングをロードしましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:75
#, no-c-format #, no-c-format
msgid "Deploy the mappings along with the classes they map." msgid "Deploy the mappings along with the classes they map."
msgstr "マッピングを、それらがマッピングするするクラスと一緒に配置しましょう。" msgstr "マッピングを、それらがマッピングするクラスと一緒に配置しましょう。"
#. Tag: term #. Tag: term
#: best_practices.xml:81 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider externalizing query strings:" msgid "Consider externalizing query strings:"
msgstr "クエリ文字列を外部に置くことを考えましょう" msgstr "クエリ文字列を外部に置くことを考えましょう"
#. Tag: para #. Tag: para
#: best_practices.xml:83 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is recommended if your queries call non-ANSI-standard SQL functions. " "This is recommended if your queries call non-ANSI-standard SQL functions. "
"Externalizing the query strings to mapping files will make the application " "Externalizing the query strings to mapping files will make the application "
"more portable." "more portable."
msgstr "" msgstr ""
"クエリがANSI標準でないSQL関数を呼んでいるなら、これはよいプラクティスです。 " "クエリが ANSI 標準でない SQL 関数を呼んでいるなら、これはよいプラクティスで"
"クエリ文字列をマッピングファイルへ外出しすればアプリケーションがポータブルに" "す。クエリ文字列をマッピングファイルへ外出しすればアプリケーションがポータブ"
"なります。" "ルになります。"
#. Tag: term #. Tag: term
#: best_practices.xml:91
#, no-c-format #, no-c-format
msgid "Use bind variables." msgid "Use bind variables."
msgstr "バインド変数を使いましょう。" msgstr "バインド変数を使いましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:93 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"As in JDBC, always replace non-constant values by \"?\". Do not use string " "As in JDBC, always replace non-constant values by \"?\". Do not use string "
"manipulation to bind a non-constant value in a query. You should also " "manipulation to bind a non-constant value in a query. You should also "
"consider using named parameters in queries." "consider using named parameters in queries."
msgstr "" msgstr ""
"JDBCの場合と同じように、定数でない値は必ず\"?\"で置き換えましょう。 定数で" "JDBC の場合と同じように、定数でない値は必ず \"?\" で置き換えましょう。定数で"
"い値をバインドするために、クエリで文字列操作を使ってはいけません。 名前付き" "い値をバインドするために、クエリで文字列操作を使ってはいけません。名前付き"
"パラメータを使うようにするとさらに良いです。" "パラメータを使うようにするとさらに良いです。"
#. Tag: term #. Tag: term
#: best_practices.xml:101 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not manage your own JDBC connections:" msgid "Do not manage your own JDBC connections:"
msgstr "JDBCコネクションを管理してはいけません。" msgstr "JDBC コネクションを管理してはいけません。"
#. Tag: para #. Tag: para
#: best_practices.xml:103 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate allows the application to manage JDBC connections, but his " "Hibernate allows the application to manage JDBC connections, but his "
"approach should be considered a last-resort. If you cannot use the built-in " "approach should be considered a last-resort. If you cannot use the built-in "
"connection providers, consider providing your own implementation of " "connection providers, consider providing your own implementation of "
"<literal>org.hibernate.connection.ConnectionProvider</literal>." "<literal>org.hibernate.connection.ConnectionProvider</literal>."
msgstr "" msgstr ""
"HibernateではアプリケーションがJDBCコネクションを管理することが許されてい" "Hibernate ではアプリケーションが JDBC コネクションを管理することが許されてい"
"す。 しかしこれは最終手段だと思ってください。 組み込みのコネクションプロバイ" "す。しかしこれは最終手段だと思ってください。組み込みのコネクションプロバイ"
"ダを使うことができなければ、 <literal>org.hibernate.connection." "ダを使うことができなければ、 <literal>org.hibernate.connection."
"ConnectionProvider</literal> を実装することを考えてください。" "ConnectionProvider</literal> を実装することを考えてください。"
#. Tag: term #. Tag: term
#: best_practices.xml:111 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider using a custom type:" msgid "Consider using a custom type:"
msgstr "カスタム型の使用を考えましょう。" msgstr "カスタム型の使用を考えましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:113 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Suppose you have a Java type from a library that needs to be persisted but " "Suppose you have a Java type from a library that needs to be persisted but "
"does not provide the accessors needed to map it as a component. You should " "does not provide the accessors needed to map it as a component. You should "
@ -180,47 +164,44 @@ msgid ""
"approach frees the application code from implementing transformations to/" "approach frees the application code from implementing transformations to/"
"from a Hibernate type." "from a Hibernate type."
msgstr "" msgstr ""
"あるライブラリから持ってきたJava型を永続化する必要があるとしましょう。 しか" "あるライブラリから持ってきた Java 型を永続化する必要があるとしましょう。しか"
"その型には、コンポーネントとしてマッピングするために必要なアクセサがないと" "その型には、コンポーネントとしてマッピングするために必要なアクセサがないと"
"ます。 このような場合は <literal>org.hibernate.UserType</literal> の実装を考" "ます。このような場合は <literal>org.hibernate.UserType</literal> の実装を考"
"えるべきです。 そうすればHibernate型との実装変換を心配せずにアプリケーション" "えるべきです。そうすれば Hibernate 型との実装変換を心配せずにアプリケーション"
"のコードを扱えます。" "のコードを扱えます。"
#. Tag: term #. Tag: term
#: best_practices.xml:122 #, no-c-format
#, fuzzy, no-c-format
msgid "Use hand-coded JDBC in bottlenecks:" msgid "Use hand-coded JDBC in bottlenecks:"
msgstr "ボトルネックを解消するにはJDBCをハンドコードしましょう。" msgstr "ボトルネックを解消するには JDBC をハンドコードしましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:124
#, fuzzy, no-c-format #, fuzzy, no-c-format
msgid "" msgid ""
"In performance-critical areas of the system, some kinds of operations might " "In performance-critical areas of the system, some kinds of operations might "
"benefit from direct JDBC. Do not assume, however, that JDBC is necessarily " "benefit from direct JDBC. Do not assume, however, that JDBC is necessarily "
"faster. Please wait until you <emphasis>know</emphasis> something is a " "faster. Please wait until you <emphasis>know</emphasis> something is a "
"bottleneck. If you need to use direct JDBC, you can open a Hibernate " "bottleneck. If you need to use direct JDBC, you can open a Hibernate "
"<literal>Session</literal> and usingfile:///usr/share/doc/HTML/en-US/index." "<literal>Session</literal>, wrap your JDBC operation as a <literal>org."
"html that JDBC connection. This way you can still use the same transaction " "hibernate.jdbc.Work</literal> object and using that JDBC connection. This "
"strategy and underlying connection provider." "way you can still use the same transaction strategy and underlying "
"connection provider."
msgstr "" msgstr ""
"システムのパフォーマンスクリティカルな領域では、 ある種の操作にJDBCを直接使" "システムのパフォーマンスクリティカルな領域では、ある種の操作に JDBC を直接使"
"と良いかもしれません。 しかし何がボトルネックになっているか <emphasis>はっき" "と良いかもしれません。しかし何がボトルネックになっているか <emphasis>はっき"
"りする</emphasis> までは待ってください。 またJDBCを直接使うからといって、必" "りする</emphasis> までは待ってください。また JDBC を直接使うからといって、必"
"しも速くなるとは限らないことも理解してください。 JDBCを直接使う必要があれば、" "しも速くなるとは限らないことも理解してください。 JDBC を直接使う必要があれ"
"Hibernateの <literal>Session</literal> をオープンして、 JDBCコネクションを使" "ば、 Hibernate の <literal>Session</literal> をオープンして、 JDBC コネク"
"うと良いかもしれません。 依然として同じトランザクション戦略とコネクションプロ" "ションを使うと良いかもしれません。依然として同じトランザクション戦略とコネク"
"バイダが使えるからです。" "ションプロバイダが使えるからです。"
#. Tag: term #. Tag: term
#: best_practices.xml:134 #, no-c-format
#, fuzzy, no-c-format
msgid "Understand <literal>Session</literal> flushing:" msgid "Understand <literal>Session</literal> flushing:"
msgstr "<literal>Session</literal> のフラッシュを理解しましょう。" msgstr "<literal>Session</literal> のフラッシュを理解しましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:136 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Sometimes the Session synchronizes its persistent state with the database. " "Sometimes the Session synchronizes its persistent state with the database. "
"Performance will be affected if this process occurs too often. You can " "Performance will be affected if this process occurs too often. You can "
@ -228,20 +209,18 @@ msgid ""
"even by changing the order of queries and other operations within a " "even by changing the order of queries and other operations within a "
"particular transaction." "particular transaction."
msgstr "" msgstr ""
"Sessionが永続状態をデータベースと同期させることがときどきあります。 しかしこ" "Session が永続状態をデータベースと同期させることがときどきあります。しかしこ"
"れがあまりに頻繁に起こるようだと、パフォーマンスに影響が出てきます。 自動フ" "れがあまりに頻繁に起こるようだと、パフォーマンスに影響が出てきます。自動フ"
"ラッシュを無効にしたり、特定のトランザクションのクエリや操作の順番を変更する" "ラッシュを無効にしたり、特定のトランザクションのクエリや操作の順番を変更する"
"ことで、 不必要なフラッシュを最小限にできます。" "ことで、不必要なフラッシュを最小限にできます。"
#. Tag: term #. Tag: term
#: best_practices.xml:145 #, no-c-format
#, fuzzy, no-c-format
msgid "In a three tiered architecture, consider using detached objects:" msgid "In a three tiered architecture, consider using detached objects:"
msgstr "3層アーキテクチャでは分離オブジェクトの使用を考えましょう。" msgstr "3層アーキテクチャでは分離オブジェクトの使用を考えましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:147 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"When using a servlet/session bean architecture, you can pass persistent " "When using a servlet/session bean architecture, you can pass persistent "
"objects loaded in the session bean to and from the servlet/JSP layer. Use a " "objects loaded in the session bean to and from the servlet/JSP layer. Use a "
@ -249,21 +228,19 @@ msgid ""
"or <literal>Session.saveOrUpdate()</literal> to synchronize objects with the " "or <literal>Session.saveOrUpdate()</literal> to synchronize objects with the "
"database." "database."
msgstr "" msgstr ""
"サーブレット / セッションビーンアーキテクチャを使うとき、 サーブレット層 / " "サーブレット / セッション Bean アーキテクチャを使うとき、サーブレット層 / "
"JSP層間でセッションビーンでロードした永続オブジェクトをやり取りできます。 そ" "JSP 層間でセッション Bean でロードした永続オブジェクトをやり取りできます。そ"
"の際リクエストごとに新しいSessionを使ってください。 また <literal>Session." "の際リクエストごとに新しい Session を使ってください。また <literal>Session."
"merge()</literal> や <literal>Session.saveOrUpdate()</literal> を使って、オブ" "merge()</literal> や <literal>Session.saveOrUpdate()</literal> を使って、オブ"
"ジェクトとデータベースを同期させてください。" "ジェクトとデータベースを同期させてください。"
#. Tag: term #. Tag: term
#: best_practices.xml:156 #, no-c-format
#, fuzzy, no-c-format
msgid "In a two tiered architecture, consider using long persistence contexts:" msgid "In a two tiered architecture, consider using long persistence contexts:"
msgstr "2層アーキテクチャでは長い永続コンテキストの使用を考えましょう。" msgstr "2層アーキテクチャでは長い永続コンテキストの使用を考えましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:158 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Database Transactions have to be as short as possible for best scalability. " "Database Transactions have to be as short as possible for best scalability. "
"However, it is often necessary to implement long running " "However, it is often necessary to implement long running "
@ -278,28 +255,26 @@ msgid ""
"across more than one application transaction or you will be working with " "across more than one application transaction or you will be working with "
"stale data." "stale data."
msgstr "" msgstr ""
"最高のスケーラビリティを得るには、 データベーストランザクションをできるだけ短" "最高のスケーラビリティを得るには、データベーストランザクションをできるだけ短"
"くしなければなりません。 しかし長い間実行する <emphasis>アプリケーショントラ" "くしなければなりません。しかし長い間実行する <emphasis>アプリケーショントラ"
"ザクション</emphasis> の実装が必要なことはしばしばです。 これはユーザの視点" "ザクション</emphasis> の実装が必要なことはしばしばです。これはユーザの視点"
"からは1個の作業単位unit of workになります。 アプリケーショントランザク" "からは1個の作業単位unit of workになります。アプリケーショントランザクショ"
"ションはいくつかのクライアントのリクエスト/レスポンスサイクルにまたがりま" "ンはいくつかのクライアントのリクエスト/レスポンスサイクルにまたがります。アプ"
"す。 アプリケーショントランザクションの実装に分離オブジェクトを使うのは一般的" "リケーショントランザクションの実装に分離オブジェクトを使うのは一般的です。そ"
"です。 そうでなければ、2層アーキテクチャの場合は特に適切なことですが、 アプリ" "うでなければ、2層アーキテクチャの場合は特に適切なことですが、アプリケーション"
"ケーショントランザクションのライフサイクル全体に対して 単一のオープンな永続化" "トランザクションのライフサイクル全体に対して単一のオープンな永続化コンテキス"
"コンテキスト(セッション)を維持してください。 そして単純にリクエストの最後に" "ト(セッション)を維持してください。そして単純にリクエストの最後に JDBC コネ"
"JDBCコネクションから切断し、 次のリクエストの最初に再接続します。 決して複数" "クションから切断し、次のリクエストの最初に再接続します。決して複数のアプリ"
"のアプリケーショントランザクションユースケースに渡って 1個のSessionを使い回さ" "ケーショントランザクションユースケースに渡って1個の Session を使い回さないで"
"ないでください。 そうでなければ、古いデータで作業することになります。" "ください。そうでなければ、古いデータで作業することになります。"
#. Tag: term #. Tag: term
#: best_practices.xml:172 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not treat exceptions as recoverable:" msgid "Do not treat exceptions as recoverable:"
msgstr "例外を復帰可能なものとして扱ってはいけません。" msgstr "例外を復帰可能なものとして扱ってはいけません。"
#. Tag: para #. Tag: para
#: best_practices.xml:174 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"This is more of a necessary practice than a \"best\" practice. When an " "This is more of a necessary practice than a \"best\" practice. When an "
"exception occurs, roll back the <literal>Transaction</literal> and close the " "exception occurs, roll back the <literal>Transaction</literal> and close the "
@ -309,23 +284,21 @@ msgid ""
"instance with the given identifier exists on the database; use " "instance with the given identifier exists on the database; use "
"<literal>Session.get()</literal> or a query instead." "<literal>Session.get()</literal> or a query instead."
msgstr "" msgstr ""
"これは「ベスト」プラクティス以上の、必須のプラクティスです。 例外が発生したと" "これは「ベスト」プラクティス以上の、必須のプラクティスです。例外が発生したと"
"きは <literal>Transaction</literal> をロールバックして、 <literal>Session</" "きは <literal>Transaction</literal> をロールバックして、 <literal>Session</"
"literal> をクローズしてください。 そうしないとHibernateはメモリの状態が永続" "literal> をクローズしてください。そうしないと Hibernate はメモリの状態が永続"
"態を正確に表現していることを保証できません。 この特別な場合として、与えられ" "態を正確に表現していることを保証できません。この特別な場合として、与えられ"
"識別子を持つインスタンスがデータベースに存在するかどうかを判定するために、 " "識別子を持つインスタンスがデータベースに存在するかどうかを判定するために、 "
"<literal>Session.load()</literal> を使うことはやめてください。 その代わりに " "<literal>Session.load()</literal> を使うことはやめてください。その代わりに "
"<literal>Session.get()</literal> かクエリを使ってください。" "<literal>Session.get()</literal> かクエリを使ってください。"
#. Tag: term #. Tag: term
#: best_practices.xml:184 #, no-c-format
#, fuzzy, no-c-format
msgid "Prefer lazy fetching for associations:" msgid "Prefer lazy fetching for associations:"
msgstr "関連にはなるべく遅延フェッチを使いましょう。" msgstr "関連にはなるべく遅延フェッチを使いましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:186 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Use eager fetching sparingly. Use proxies and lazy collections for most " "Use eager fetching sparingly. Use proxies and lazy collections for most "
"associations to classes that are not likely to be completely held in the " "associations to classes that are not likely to be completely held in the "
@ -335,27 +308,26 @@ msgid ""
"to a particular use case, use a query with a <literal>left join fetch</" "to a particular use case, use a query with a <literal>left join fetch</"
"literal>." "literal>."
msgstr "" msgstr ""
"即時フェッチは控えめにしましょう。 二次キャッシュには完全に保持されないような" "即時フェッチは控えめにしましょう。二次キャッシュには完全に保持されないような"
"クラスの関連には、 プロキシと遅延コレクションを使ってください。 キャッシュさ" "クラスの関連には、プロキシと遅延コレクションを使ってください。キャッシュさ"
"るクラスの関連、つまりキャッシュがヒットする可能性が非常に高い関連は、 " "るクラスの関連、つまりキャッシュがヒットする可能性が非常に高い関連は、 "
"<literal>lazy=\"false\"</literal> で積極的なフェッチを明示的に無効にしてくだ" "<literal>lazy=\"false\"</literal> で積極的なフェッチを明示的に無効にしてくだ"
"さい。 結合フェッチが適切な特定のユースケースには、 クエリで <literal>left " "さい。結合フェッチが適切な特定のユースケースには、クエリで <literal>left "
"join fetch</literal> を使ってください。" "join fetch</literal> を使ってください。"
#. Tag: term #. Tag: term
#: best_practices.xml:196 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Use the <emphasis>open session in view</emphasis> pattern, or a disciplined " "Use the <emphasis>open session in view</emphasis> pattern, or a disciplined "
"<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:" "<emphasis>assembly phase</emphasis> to avoid problems with unfetched data:"
msgstr "" msgstr ""
"フェッチされていないデータに関わる問題を避けるために、 <emphasis>ビューの中で" "フェッチされていないデータに関わる問題を避けるために、 <emphasis>ビューの中で"
"オープンセッションを使う(open session in view)</emphasis> パターンか、統制さ" "オープンセッションを使う (open session in view) </emphasis> パターンか、統制"
"れた <emphasis>組み立てフェーズ(assembly phase)</emphasis> を使いましょう。" "された <emphasis>組み立てフェーズ (assembly phase) </emphasis> を使いましょ"
"う。"
#. Tag: para #. Tag: para
#: best_practices.xml:201 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hibernate frees the developer from writing tedious <emphasis>Data Transfer " "Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual " "Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
@ -370,27 +342,25 @@ msgid ""
"objects. This is not a limitation of Hibernate. It is a fundamental " "objects. This is not a limitation of Hibernate. It is a fundamental "
"requirement of safe transactional data access." "requirement of safe transactional data access."
msgstr "" msgstr ""
"Hibernateは <emphasis>Data Transfer Objects</emphasis> (DTO)を書く退屈な作" "Hibernate は <emphasis>Data Transfer Objects</emphasis> (DTO) を書く退屈な作"
"から開発者を解放します。 伝統的なEJBアーキテクチャではDTOは二つ目的がありま" "業から開発者を解放します。伝統的な EJB アーキテクチャでは DTO は2つ目的があり"
"す: 1つ目は、エンティティビーンがシリアライズされない問題への対策です。 2つ" "ます: 1つ目は、エンティティ Bean がシリアライズされない問題への対策です。2つ"
"目は、プレゼンテーション層に制御が戻る前に、 ビューに使われるすべてのデータが" "目は、プレゼンテーション層に制御が戻る前に、ビューに使われるすべてのデータが"
"フェッチされて、DTOに復元されるような組み立てフェーズを暗黙的に定義します。 " "フェッチされて、 DTO に復元されるような組み立てフェーズを暗黙的に定義しま"
"Hibernateでは1つ目の目的が不要になります。 しかしビューのレンダリング処理の" "す。 Hibernate では1つ目の目的が不要になります。しかしビューのレンダリング処"
"間、永続コンテキスト(セッション)をオープンにしたままにしなければ、 組み立て" "理の間、永続コンテキスト(セッション)をオープンにしたままにしなければ、組み"
"フェーズはまだ必要です(分離オブジェクトの中のどのデータが利用可能かにつ" "立てフェーズはまだ必要です(分離オブジェクトの中のどのデータが利用可能かにつ"
"て、 プレゼンテーション層と厳密な取り決めをしているビジネスメソッドを考えて" "て、プレゼンテーション層と厳密な取り決めをしているビジネスメソッドを考えて"
"てください)。 これはHibernate側の問題ではありません。 トランザクション内で" "てください)。これは Hibernate 側の問題ではありません。トランザクション内で"
"全にデータアクセスするための基本的な要件です。" "全にデータアクセスするための基本的な要件です。"
#. Tag: term #. Tag: term
#: best_practices.xml:215 #, no-c-format
#, fuzzy, no-c-format
msgid "Consider abstracting your business logic from Hibernate:" msgid "Consider abstracting your business logic from Hibernate:"
msgstr "Hibernateからビジネスロジックを抽象化することを考えましょう。" msgstr "Hibernate からビジネスロジックを抽象化することを考えましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:217 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Hide Hibernate data-access code behind an interface. Combine the " "Hide Hibernate data-access code behind an interface. Combine the "
"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> " "<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
@ -399,22 +369,20 @@ msgid ""
"however, intended for \"sufficiently large\" applications. It is not " "however, intended for \"sufficiently large\" applications. It is not "
"appropriate for an application with five tables." "appropriate for an application with five tables."
msgstr "" msgstr ""
"インターフェイスでHibernateの)データアクセスコードを隠蔽しましょう。 " "インターフェースでHibernate の)データアクセスコードを隠蔽しましょう。 "
"<emphasis>DAO</emphasis> と <emphasis>Thread Local Session</emphasis> パター" "<emphasis>DAO</emphasis> と <emphasis>Thread Local Session</emphasis> パター"
"ンを組み合わせましょう。 <literal>UserType</literal> でHibernateに関連付け" "ンを組み合わせましょう。 <literal>UserType</literal> で Hibernate に関連付け"
"と、 ハンドコードしたJDBCで永続化するクラスを持つこともできます。 (このア" "と、ハンドコードした JDBC で永続化するクラスを持つこともできます。(このア"
"バイスは「十分大きな」アプリケーションに対してのものです。 テーブルが5個しか" "バイスは「十分大きな」アプリケーションに対してのものです。テーブルが5個しか"
"ないようなアプリケーションには当てはまりません。)" "ないようなアプリケーションには当てはまりません。)"
#. Tag: term #. Tag: term
#: best_practices.xml:227 #, no-c-format
#, fuzzy, no-c-format
msgid "Do not use exotic association mappings:" msgid "Do not use exotic association mappings:"
msgstr "珍しい関連マッピングは使わないようにしましょう。" msgstr "珍しい関連マッピングは使わないようにしましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:229 #, no-c-format
#, fuzzy, no-c-format
msgid "" msgid ""
"Practical test cases for real many-to-many associations are rare. Most of " "Practical test cases for real many-to-many associations are rare. Most of "
"the time you need additional information stored in the \"link table\". In " "the time you need additional information stored in the \"link table\". In "
@ -423,25 +391,22 @@ msgid ""
"to-one. For this reason, you should proceed cautiously when using any other " "to-one. For this reason, you should proceed cautiously when using any other "
"association style." "association style."
msgstr "" msgstr ""
"よいユースケースに本当の多対多関連があることは稀(まれ)です。 ほとんどの場合" "よいユースケースに本当の多対多関連があることは稀です。ほとんどの場合「リンク"
"「リンクテーブル」の付加的な情報が必要になります。 この場合、リンククラスに2" "テーブル」の付加的な情報が必要になります。この場合、リンククラスに2つの一対多"
"つの1対多関連を使う方がずっと良いです。 実際ほとんどの場合関連は1対多と多対1" "関連を使う方がずっとよいです。実際ほとんどの場合、関連は一対多と多対一なの"
"なので、 他のスタイルの関連を使うときは本当に必要かどうかを考えてみてくださ" "で、他のスタイルの関連を使うときは本当に必要かどうかを考えてみてください。"
"い。"
#. Tag: term #. Tag: term
#: best_practices.xml:239 #, no-c-format
#, fuzzy, no-c-format
msgid "Prefer bidirectional associations:" msgid "Prefer bidirectional associations:"
msgstr "なるべく双方向関連にしましょう。" msgstr "なるべく双方向関連にしましょう。"
#. Tag: para #. Tag: para
#: best_practices.xml:241
#, no-c-format #, no-c-format
msgid "" msgid ""
"Unidirectional associations are more difficult to query. In a large " "Unidirectional associations are more difficult to query. In a large "
"application, almost all associations must be navigable in both directions in " "application, almost all associations must be navigable in both directions in "
"queries." "queries."
msgstr "" msgstr ""
"単方向関連は双方向に比べて検索が難しくなります。 大きなアプリケーションで" "単方向関連は双方向に比べて検索が難しくなります。大きなアプリケーションでは、"
"は、 ほとんどすべての関連が双方向にナビゲーションできなければなりません。" "ほとんどすべての関連が双方向にナビゲーションできなければなりません。"

View File

@ -5,7 +5,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://bugs.kde.org\n" "Report-Msgid-Bugs-To: http://bugs.kde.org\n"
"POT-Creation-Date: 2009-07-14 19:55+0000\n" "POT-Creation-Date: 2010-02-04T04:51:21\n"
"PO-Revision-Date: 2009-07-14 19:55+0000\n" "PO-Revision-Date: 2009-07-14 19:55+0000\n"
"Last-Translator: Automatically generated\n" "Last-Translator: Automatically generated\n"
"Language-Team: none\n" "Language-Team: none\n"
@ -14,55 +14,36 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#. Tag: title #. Tag: title
#: bibliography.xml:27
#, no-c-format #, no-c-format
msgid "References" msgid "References"
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: bibliography.xml:31
#, no-c-format #, no-c-format
msgid "Patterns of Enterprise Application Architecture" msgid "Patterns of Enterprise Application Architecture"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:34
#, no-c-format #, no-c-format
msgid "<firstname>Martin</firstname> <surname>Fowler</surname>" msgid "Martin"
msgstr ""
#. Tag: holder
#: bibliography.xml:41
#, no-c-format
msgid "Pearson Education, Inc."
msgstr "" msgstr ""
#. Tag: title #. Tag: title
#: bibliography.xml:50
#, no-c-format #, no-c-format
msgid "Java Persistence with Hibernate" msgid "Java Persistence with Hibernate"
msgstr "" msgstr ""
#. Tag: subtitle #. Tag: subtitle
#: bibliography.xml:51
#, no-c-format #, no-c-format
msgid "Second Edition of Hibernate in Action" msgid "Second Edition of Hibernate in Action"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:57
#, no-c-format #, no-c-format
msgid "<firstname>Christian</firstname> <surname>Bauer</surname>" msgid "Christian"
msgstr "" msgstr ""
#. Tag: author #. Tag: firstname
#: bibliography.xml:61
#, no-c-format #, no-c-format
msgid "<firstname>Gavin</firstname> <surname>King</surname>" msgid "Gavin"
msgstr ""
#. Tag: holder
#: bibliography.xml:68
#, no-c-format
msgid "Manning Publications Co."
msgstr "" msgstr ""

Some files were not shown because too many files have changed in this diff Show More