Hibernate SVN: r14180 - core/trunk/testsuite/src/test/java/org/hibernate/test/ops.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-02 12:11:05 -0400 (Fri, 02 Nov 2007)
New Revision: 14180
Modified:
core/trunk/testsuite/src/test/java/org/hibernate/test/ops/MergeTest.java
Log:
added test for stale merging
Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/ops/MergeTest.java
===================================================================
--- core/trunk/testsuite/src/test/java/org/hibernate/test/ops/MergeTest.java 2007-11-02 14:46:53 UTC (rev 14179)
+++ core/trunk/testsuite/src/test/java/org/hibernate/test/ops/MergeTest.java 2007-11-02 16:11:05 UTC (rev 14180)
@@ -11,6 +11,7 @@
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.NonUniqueObjectException;
+import org.hibernate.StaleObjectStateException;
import org.hibernate.junit.functional.FunctionalTestClassTestSuite;
import org.hibernate.criterion.Projections;
@@ -27,6 +28,39 @@
return new FunctionalTestClassTestSuite( MergeTest.class );
}
+ public void testMergeStaleVersionFails() throws Exception {
+ Session s = openSession();
+ s.beginTransaction();
+ VersionedEntity entity = new VersionedEntity( "entity", "entity" );
+ s.persist( entity );
+ s.getTransaction().commit();
+ s.close();
+
+ // make the detached 'entity' reference stale...
+ s = openSession();
+ s.beginTransaction();
+ VersionedEntity entity2 = ( VersionedEntity ) s.get( VersionedEntity.class, entity.getId() );
+ entity2.setName( "entity-name" );
+ s.getTransaction().commit();
+ s.close();
+
+ // now try to reattch it
+ s = openSession();
+ s.beginTransaction();
+ try {
+ s.merge( entity );
+ s.getTransaction().commit();
+ fail( "was expecting staleness error" );
+ }
+ catch ( StaleObjectStateException expected ) {
+ // expected outcome...
+ }
+ finally {
+ s.getTransaction().rollback();
+ s.close();
+ }
+ }
+
public void testMergeBidiPrimayKeyOneToOne() throws Exception {
Session s = openSession();
s.beginTransaction();
17 years, 2 months
Hibernate SVN: r14179 - core/branches/Branch_3_2/src/org/hibernate/dialect.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-02 10:46:53 -0400 (Fri, 02 Nov 2007)
New Revision: 14179
Modified:
core/branches/Branch_3_2/src/org/hibernate/dialect/DB2Dialect.java
Log:
HHH-1753 : db2 current_timestamp
Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/DB2Dialect.java
===================================================================
--- core/branches/Branch_3_2/src/org/hibernate/dialect/DB2Dialect.java 2007-11-02 14:46:10 UTC (rev 14178)
+++ core/branches/Branch_3_2/src/org/hibernate/dialect/DB2Dialect.java 2007-11-02 14:46:53 UTC (rev 14179)
@@ -357,10 +357,6 @@
return false;
}
- public String getCurrentTimestampSQLFunctionName() {
- return "sysdate";
- }
-
// Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public boolean supportsEmptyInList() {
17 years, 2 months
Hibernate SVN: r14178 - core/trunk/core/src/main/java/org/hibernate/dialect.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-02 10:46:10 -0400 (Fri, 02 Nov 2007)
New Revision: 14178
Modified:
core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java
Log:
HHH-1753 : db2 current_timestamp
Modified: core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java 2007-11-02 14:27:41 UTC (rev 14177)
+++ core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java 2007-11-02 14:46:10 UTC (rev 14178)
@@ -357,10 +357,6 @@
return false;
}
- public String getCurrentTimestampSQLFunctionName() {
- return "sysdate";
- }
-
// Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public boolean supportsEmptyInList() {
17 years, 2 months
Hibernate SVN: r14177 - core/trunk/documentation/manual/src/main/docbook/en-US/content.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-02 10:27:41 -0400 (Fri, 02 Nov 2007)
New Revision: 14177
Modified:
core/trunk/documentation/manual/src/main/docbook/en-US/content/basic_mapping.xml
core/trunk/documentation/manual/src/main/docbook/en-US/content/collection_mapping.xml
core/trunk/documentation/manual/src/main/docbook/en-US/content/performance.xml
core/trunk/documentation/manual/src/main/docbook/en-US/content/persistent_classes.xml
core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml
Log:
corrected DTD incongruities
Modified: core/trunk/documentation/manual/src/main/docbook/en-US/content/basic_mapping.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/content/basic_mapping.xml 2007-11-02 04:31:34 UTC (rev 14176)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/content/basic_mapping.xml 2007-11-02 14:27:41 UTC (rev 14177)
@@ -1821,13 +1821,13 @@
<literal>entity-name</literal> (optional): The entity name of the associated class.
</para>
</callout>
- </calloutlist>
<callout arearefs="manytoone16">
<para>
<literal>formula</literal> (optional): an SQL expression that defines the value for a
<emphasis>computed</emphasis> foreign key.
</para>
</callout>
+ </calloutlist>
</programlistingco>
<para>
Modified: core/trunk/documentation/manual/src/main/docbook/en-US/content/collection_mapping.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/content/collection_mapping.xml 2007-11-02 04:31:34 UTC (rev 14176)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/content/collection_mapping.xml 2007-11-02 14:27:41 UTC (rev 14177)
@@ -80,6 +80,14 @@
<sect1 id="collections-mapping" revision="4">
<title>Collection mappings</title>
+ <tip>
+ <para>
+ There are quite a range of mappings that can be generated for collections, covering
+ many common relational models. We suggest you experiment with the schema generation tool
+ to get a feeling for how various mapping declarations translate to database tables.
+ </para>
+ </tip>
+
<para>
The Hibernate mapping element used for mapping a collection depends upon
the type of the interface. For example, a <literal><set></literal>
@@ -409,12 +417,6 @@
</sect2>
- <para>
- There are quite a range of mappings that can be generated for collections, covering
- many common relational models. We suggest you experiment with the schema generation tool
- to get a feeling for how various mapping declarations translate to database tables.
- </para>
-
<sect2 id="collections-ofvalues" revision="2">
<title>Collections of values and many-to-many associations</title>
Modified: core/trunk/documentation/manual/src/main/docbook/en-US/content/performance.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/content/performance.xml 2007-11-02 04:31:34 UTC (rev 14176)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/content/performance.xml 2007-11-02 14:27:41 UTC (rev 14177)
@@ -829,69 +829,79 @@
</para>
</sect2>
-
- <para>
- None of the cache providers support all of the cache concurrency strategies. The following table shows
- which providers are compatible with which concurrency strategies.
- </para>
- <table frame="topbot">
- <title>Cache Concurrency Strategy Support</title>
- <tgroup cols='5' align='left' colsep='1' rowsep='1'>
- <colspec colname='c1' colwidth="1*"/>
- <colspec colname='c2' colwidth="1*"/>
- <colspec colname='c3' colwidth="1*"/>
- <colspec colname='c4' colwidth="1*"/>
- <colspec colname='c5' colwidth="1*"/>
- <thead>
- <row>
- <entry>Cache</entry>
- <entry>read-only</entry>
- <entry>nonstrict-read-write</entry>
- <entry>read-write</entry>
- <entry>transactional</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>Hashtable (not intended for production use)</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry></entry>
- </row>
- <row>
- <entry>EHCache</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry></entry>
- </row>
- <row>
- <entry>OSCache</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry></entry>
- </row>
- <row>
- <entry>SwarmCache</entry>
- <entry>yes</entry>
- <entry>yes</entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
- <entry>JBoss TreeCache</entry>
- <entry>yes</entry>
- <entry></entry>
- <entry></entry>
- <entry>yes</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
+ <sect2 id="performance-cache-compat-matrix">
+ <title>Cache-provider/concurrency-strategy compatibility</title>
+ <important>
+ <para>
+ None of the cache providers support all of the cache concurrency strategies.
+ </para>
+ </important>
+
+ <para>
+ The following table shows which providers are compatible with which concurrency strategies.
+ </para>
+
+ <table frame="topbot">
+ <title>Cache Concurrency Strategy Support</title>
+ <tgroup cols='5' align='left' colsep='1' rowsep='1'>
+ <colspec colname='c1' colwidth="1*"/>
+ <colspec colname='c2' colwidth="1*"/>
+ <colspec colname='c3' colwidth="1*"/>
+ <colspec colname='c4' colwidth="1*"/>
+ <colspec colname='c5' colwidth="1*"/>
+ <thead>
+ <row>
+ <entry>Cache</entry>
+ <entry>read-only</entry>
+ <entry>nonstrict-read-write</entry>
+ <entry>read-write</entry>
+ <entry>transactional</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Hashtable (not intended for production use)</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>EHCache</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>OSCache</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>SwarmCache</entry>
+ <entry>yes</entry>
+ <entry>yes</entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ <row>
+ <entry>JBoss TreeCache</entry>
+ <entry>yes</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry>yes</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ </sect2>
+
</sect1>
<sect1 id="performance-sessioncache" revision="2">
Modified: core/trunk/documentation/manual/src/main/docbook/en-US/content/persistent_classes.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/content/persistent_classes.xml 2007-11-02 04:31:34 UTC (rev 14176)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/content/persistent_classes.xml 2007-11-02 14:27:41 UTC (rev 14177)
@@ -526,9 +526,12 @@
</sect1>
- <para>
- TODO: Document user-extension framework in the property and proxy packages
- </para>
+ <sect1 id="persistent-classes-extensions">
+ <title>Extentsions</title>
+ <para>
+ TODO: Document user-extension framework in the property and proxy packages
+ </para>
+ </sect1>
</chapter>
Modified: core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml 2007-11-02 04:31:34 UTC (rev 14176)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/content/tutorial.xml 2007-11-02 14:27:41 UTC (rev 14177)
@@ -1260,16 +1260,16 @@
</sect2>
- <para>
- Let's turn this into a small web application.
- </para>
-
</sect1>
<sect1 id="tutorial-webapp">
<title>Part 3 - The EventManager web application</title>
<para>
+ Let's turn the following discussion into a small web application...
+ </para>
+
+ <para>
A Hibernate web application uses <literal>Session</literal> and <literal>Transaction</literal>
almost like a standalone application. However, some common patterns are useful. We now write
an <literal>EventManagerServlet</literal>. This servlet can list all events stored in the
17 years, 2 months
Hibernate SVN: r14176 - core/trunk/documentation/manual/src/main/docbook/es-ES/content.
by hibernate-commits@lists.jboss.org
Author: xhuang(a)jboss.com
Date: 2007-11-02 00:31:34 -0400 (Fri, 02 Nov 2007)
New Revision: 14176
Modified:
core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po
core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po
Log:
update with split2po
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/architecture.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,47 +1,32 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: architecture.xml:21
-#, no-c-format
+#: index.docbook:21
msgid "Architecture"
msgstr "Arquitectura"
-#. Tag: title
-#: architecture.xml:24
-#, no-c-format
+#: index.docbook:24
msgid "Overview"
-msgstr "Visión General"
+msgstr "Visión General"
-#. Tag: para
-#: architecture.xml:26
-#, no-c-format
+#: index.docbook:26
msgid "A (very) high-level view of the Hibernate architecture:"
-msgstr "Una visión a (muy) alto nivel de la arquitectura de Hibernate:"
+msgstr "Una visión a (muy) alto nivel de la arquitectura de Hibernate:"
-#. Tag: para
-#: architecture.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"This diagram shows Hibernate using the database and configuration data to "
"provide persistence services (and persistent objects) to the application."
msgstr ""
"Este diagrama muestra a Hibernate usando la base de datos y los datos de "
-"configuración para proveer servicios de persistencia (y objetos "
-"persistentes) a la aplicación."
+"configuración para proveer servicios de persistencia (y objetos "
+"persistentes) a la aplicación."
-#. Tag: para
-#: architecture.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"We would like to show a more detailed view of the runtime architecture. "
"Unfortunately, Hibernate is flexible and supports several approaches. We "
@@ -49,40 +34,30 @@
"provide its own JDBC connections and manage its own transactions. This "
"approach uses a minimal subset of Hibernate's APIs:"
msgstr ""
-"Nos gustaría mostrar una vista más detallada de la arquitectura de tiempo de "
-"ejecución. Desafortunadamente, Hibernate es flexible y soporta diferentes "
-"enfoques. Mostraremos los dos extremos. En la arquitectura \"sencilla\", es "
-"la aplicación la que provee su propias conexiones JDBC y gestiona sus "
-"propias transacciones. Este enfoque usa un mínimo subconjunto de la API de "
-"Hibernate:"
+"Nos gustaría mostrar una vista más detallada de la "
+"arquitectura de tiempo de ejecución. Desafortunadamente, Hibernate es "
+"flexible y soporta diferentes enfoques. Mostraremos los dos extremos. En la "
+"arquitectura \"sencilla\", es la aplicación la que provee su propias "
+"conexiones JDBC y gestiona sus propias transacciones. Este enfoque usa un "
+"mínimo subconjunto de la API de Hibernate:"
-#. Tag: para
-#: architecture.xml:61
-#, no-c-format
+#: index.docbook:61
msgid ""
"The \"full cream\" architecture abstracts the application away from the "
"underlying JDBC/JTA APIs and lets Hibernate take care of the details."
msgstr ""
-"La arquitectura \"full cream\" abstrae a la aplicación de las APIs de JDBC/"
-"JTA y deja que Hibernate se encargue de los detalles."
+"La arquitectura \"full cream\" abstrae a la aplicación de las APIs de "
+"JDBC/JTA y deja que Hibernate se encargue de los detalles."
-#. Tag: para
-#: architecture.xml:75
-#, fuzzy, no-c-format
+#: index.docbook:75
msgid "Heres some definitions of the objects in the diagrams:"
-msgstr ""
-"He aquí algunas definiciones de los objetos en los diagramas: <placeholder-1/"
-">"
+msgstr "He aquí algunas definiciones de los objetos en los diagramas:"
-#. Tag: term
-#: architecture.xml:80
-#, no-c-format
+#: index.docbook:80
msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
-#. Tag: para
-#: architecture.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"A threadsafe (immutable) cache of compiled mappings for a single database. A "
"factory for <literal>Session</literal> and a client of "
@@ -90,21 +65,17 @@
"cache of data that is reusable between transactions, at a process- or "
"cluster-level."
msgstr ""
-"Caché threadsafe (inmutable) de mapeos compilados para una sola base de "
-"datos. Es una fábrica de <literal>Session</literal> y un cliente de "
-"<literal>ConnectionProvider</literal>. Opcionalmente, puede mantener una "
-"caché (de segundo nivel) de datos reusables entre transacciones, a un nivel "
-"de proceso o de cluster."
+"Caché threadsafe (inmutable) de mapeos compilados para una sola base "
+"de datos. Es una fábrica de <literal>Session</literal> y un cliente "
+"de <literal>ConnectionProvider</literal>. Opcionalmente, puede mantener una "
+"caché (de segundo nivel) de datos reusables entre transacciones, a un "
+"nivel de proceso o de cluster."
-#. Tag: term
-#: architecture.xml:92
-#, no-c-format
+#: index.docbook:92
msgid "Session (<literal>org.hibernate.Session</literal>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)"
-#. Tag: para
-#: architecture.xml:94
-#, no-c-format
+#: index.docbook:94
msgid ""
"A single-threaded, short-lived object representing a conversation between "
"the application and the persistent store. Wraps a JDBC connection. Factory "
@@ -112,21 +83,18 @@
"persistent objects, used when navigating the object graph or looking up "
"objects by identifier."
msgstr ""
-"Objeto mono-hebra, de corta vida que representa una conversación entre la "
-"aplicación y el almacenamiento persistente. Envuelve una conexión JDBC. Es "
-"una fábrica de <literal>Transaction</literal>. Mantiene una caché requerida "
-"(de primer nivel) de objetos persistentes, usada mientras se navega el grafo "
-"de objetos o se recuperen objetos por identificador."
+"Objeto mono-hebra, de corta vida que representa una conversación "
+"entre la aplicación y el almacenamiento persistente. Envuelve una "
+"conexión JDBC. Es una fábrica de <literal>Transaction</"
+"literal>. Mantiene una caché requerida (de primer nivel) de objetos "
+"persistentes, usada mientras se navega el grafo de objetos o se recuperen "
+"objetos por identificador."
-#. Tag: term
-#: architecture.xml:104
-#, no-c-format
+#: index.docbook:104
msgid "Persistent objects and collections"
msgstr "Objetos y colecciones persistentes"
-#. Tag: para
-#: architecture.xml:106
-#, no-c-format
+#: index.docbook:106
msgid ""
"Short-lived, single threaded objects containing persistent state and "
"business function. These might be ordinary JavaBeans/POJOs, the only special "
@@ -136,23 +104,20 @@
"directly as data transfer objects to and from presentation)."
msgstr ""
"Objetos de corta vida, mono-hebra conteniendo estado persistente y "
-"funciónalidad de negocio. Estos pueden ser JavaBeans/POJOs (Plain Old Java "
-"Objects, o sea, cualquier objeto Java), la única cosa especial en ellos es "
-"que estan asociados actualmente con una (y sólo una) <literal>Session</"
-"literal>. Tan pronto como la <literal>Session</literal> sea cerrada, serán "
-"separados y estarán libres para ser usados en cualquier capa de aplicación. "
-"(por ejemplo, directamente como objetos de transferencia de datos hacia y "
-"desde la capa de presentación)."
+"funciónalidad de negocio. Estos pueden ser JavaBeans/POJOs (Plain Old "
+"Java Objects, o sea, cualquier objeto Java), la única cosa especial "
+"en ellos es que estan asociados actualmente con una (y sólo una) "
+"<literal>Session</literal>. Tan pronto como la <literal>Session</literal> "
+"sea cerrada, serán separados y estarán libres para ser usados "
+"en cualquier capa de aplicación. (por ejemplo, directamente como "
+"objetos de transferencia de datos hacia y desde la capa de presentació"
+"n)."
-#. Tag: term
-#: architecture.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "Transient and detached objects and collections"
msgstr "Objetos y colecciones transitorios y separados"
-#. Tag: para
-#: architecture.xml:119
-#, no-c-format
+#: index.docbook:119
msgid ""
"Instances of persistent classes that are not currently associated with a "
"<literal>Session</literal>. They may have been instantiated by the "
@@ -161,18 +126,14 @@
msgstr ""
"Instancias de clases persistentes que no estan acutualmente asociadas con "
"una <literal>Session</literal>. Pueden haber sido instanciadas por la "
-"aplicación y (aún) no haber sido hechas persistentes, o pueden haber sido "
-"instanciadas por una <literal>Session</literal> cerrada."
+"aplicación y (aún) no haber sido hechas persistentes, o pueden "
+"haber sido instanciadas por una <literal>Session</literal> cerrada."
-#. Tag: term
-#: architecture.xml:128
-#, no-c-format
+#: index.docbook:128
msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
-#. Tag: para
-#: architecture.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"(Optional) A single-threaded, short-lived object used by the application to "
"specify atomic units of work. Abstracts application from underlying JDBC, "
@@ -181,17 +142,15 @@
"demarcation, either using the underlying API or <literal>Transaction</"
"literal>, is never optional!"
msgstr ""
-"(Opcional) Un objeto de corta vida, mono-hebra, usado por la aplicación para "
-"especificar unidades atómicas de trabajo. Abstrae a la aplicación de las "
-"subyacentes transacciones JDBC, JTA o CORBA. En algunos casos, una "
-"<literal>Session</literal> puede extenderse sobre varias "
-"<literal>Transaction</literal>s. Sin embargo, la demarcación de la "
-"transacción, ya sea usando la API subyacente o <literal>Transaction</"
+"(Opcional) Un objeto de corta vida, mono-hebra, usado por la aplicació"
+"n para especificar unidades atómicas de trabajo. Abstrae a la "
+"aplicación de las subyacentes transacciones JDBC, JTA o CORBA. En "
+"algunos casos, una <literal>Session</literal> puede extenderse sobre varias "
+"<literal>Transaction</literal>s. Sin embargo, la demarcación de la "
+"transacción, ya sea usando la API subyacente o <literal>Transaction</"
"literal>, nunca es opcional!"
-#. Tag: term
-#: architecture.xml:141
-#, no-c-format
+#: index.docbook:141
msgid ""
"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
"literal>)"
@@ -199,78 +158,65 @@
"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
"literal>)"
-#. Tag: para
-#: architecture.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"(Optional) A factory for (and pool of) JDBC connections. Abstracts "
"application from underlying <literal>Datasource</literal> or "
"<literal>DriverManager</literal>. Not exposed to application, but can be "
"extended/implemented by the developer."
msgstr ""
-"(Opcional) Una fábrica (y pool) de conexiones JDBC. Abstrae a la aplicación "
-"del <literal>Datasource</literal> o <literal>DriverManager</literal> "
-"subyacente. No se expone a la aplicación, pero puede ser extendido/"
-"implementado por el desarrollador."
+"(Opcional) Una fábrica (y pool) de conexiones JDBC. Abstrae a la "
+"aplicación del <literal>Datasource</literal> o "
+"<literal>DriverManager</literal> subyacente. No se expone a la "
+"aplicación, pero puede ser extendido/implementado por el "
+"desarrollador."
-#. Tag: term
-#: architecture.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
msgstr ""
"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
-#. Tag: para
-#: architecture.xml:153
-#, no-c-format
+#: index.docbook:153
msgid ""
"(Optional) A factory for <literal>Transaction</literal> instances. Not "
"exposed to the application, but can be extended/implemented by the developer."
msgstr ""
-"(Opcional) Una fábrica de instancias de <literal>Transaction</literal>. No "
-"se expone a la aplicación, pero puede ser extendido/implementado por el "
-"desarrollador."
+"(Opcional) Una fábrica de instancias de <literal>Transaction</"
+"literal>. No se expone a la aplicación, pero puede ser extendido/"
+"implementado por el desarrollador."
-#. Tag: emphasis
-#: architecture.xml:160
-#, no-c-format
+#: index.docbook:160
msgid "Extension Interfaces"
-msgstr "Interfaces de Extensión"
+msgstr "Interfaces de Extensión"
-#. Tag: para
-#: architecture.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"Hibernate offers many optional extension interfaces you can implement to "
"customize the behavior of your persistence layer. See the API documentation "
"for details."
msgstr ""
-"Hibernate ofrece muchas interfaces de extensión opcional que puedes "
+"Hibernate ofrece muchas interfaces de extensión opcional que puedes "
"implementar para modificar a medida el comportamiento de tu capa de "
-"persistencia. Para más detalles, mira la documentación de la API."
+"persistencia. Para más detalles, mira la documentación de la "
+"API."
-#. Tag: para
-#: architecture.xml:171
-#, no-c-format
+#: index.docbook:171
msgid ""
"Given a \"lite\" architecture, the application bypasses the "
"<literal>Transaction</literal>/<literal>TransactionFactory</literal> and/or "
"<literal>ConnectionProvider</literal> APIs to talk to JTA or JDBC directly."
msgstr ""
-"Dada una arquitectura \"sencilla\", la aplicación pasa por alto las APIs de "
-"<literal>Transaction</literal>/<literal>TransactionFactory</literal> y/o "
-"<literal>ConnectionProvider</literal>, para hablar directamente a JTA o JDBC."
+"Dada una arquitectura \"sencilla\", la aplicación pasa por alto las "
+"APIs de <literal>Transaction</literal>/<literal>TransactionFactory</literal> "
+"y/o <literal>ConnectionProvider</literal>, para hablar directamente a JTA o "
+"JDBC."
-#. Tag: title
-#: architecture.xml:179
-#, no-c-format
+#: index.docbook:179
msgid "Instance states"
msgstr "Estados de instancia"
-#. Tag: para
-#: architecture.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"An instance of a persistent classes may be in one of three different states, "
"which are defined with respect to a <emphasis>persistence context</"
@@ -282,31 +228,23 @@
"emphasis>. El objeto <literal>Session</literal> de Hibernate es el contexto "
"de persistencia:"
-#. Tag: term
-#: architecture.xml:188
-#, no-c-format
+#: index.docbook:188
msgid "transient"
msgstr "transitorio"
-#. Tag: para
-#: architecture.xml:190
-#, no-c-format
+#: index.docbook:190
msgid ""
"The instance is not, and has never been associated with any persistence "
"context. It has no persistent identity (primary key value)."
msgstr ""
-"La instancia no está y nunca estuvo asociada con un contexto de "
+"La instancia no está y nunca estuvo asociada con un contexto de "
"persistencia. No tiene identidad persistente (valor de clave primaria)."
-#. Tag: term
-#: architecture.xml:198
-#, no-c-format
+#: index.docbook:198
msgid "persistent"
msgstr "persistente"
-#. Tag: para
-#: architecture.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"The instance is currently associated with a persistence context. It has a "
"persistent identity (primary key value) and, perhaps, a corresponding row in "
@@ -314,22 +252,18 @@
"<emphasis>guarantees</emphasis> that persistent identity is equivalent to "
"Java identity (in-memory location of the object)."
msgstr ""
-"La instancia está actualmente asociada con un contexto de persistencia. "
-"Tiene una identidad persistente (valor de clave primaria) y, quizás, una "
-"fila correspondiente en la base de datos. Para un contexto de persistencia "
-"en particular, Hibernate <emphasis>garantiza</emphasis> que la identidad "
-"persistente es equivalente a la identidad Java (localización en memoria del "
-"objeto)."
+"La instancia está actualmente asociada con un contexto de "
+"persistencia. Tiene una identidad persistente (valor de clave primaria) y, "
+"quizás, una fila correspondiente en la base de datos. Para un "
+"contexto de persistencia en particular, Hibernate <emphasis>garantiza</"
+"emphasis> que la identidad persistente es equivalente a la identidad Java "
+"(localización en memoria del objeto)."
-#. Tag: term
-#: architecture.xml:212
-#, no-c-format
+#: index.docbook:212
msgid "detached"
msgstr "separado"
-#. Tag: para
-#: architecture.xml:214
-#, no-c-format
+#: index.docbook:214
msgid ""
"The instance was once associated with a persistence context, but that "
"context was closed, or the instance was serialized to another process. It "
@@ -339,44 +273,38 @@
msgstr ""
"La instancia estuvo una vez asociada con un contexto de persistencia, pero "
"ese contexto fue cerrado, o la instancia fue serializada a otro proceso. "
-"Tiene una identidad persistente y, quizás, una fila correspondiente en la "
-"base de datos. Para las instancias separadas, Hibernate no establece ninguna "
-"garantía sobre la relación entre identidad persistente e identidad Java."
+"Tiene una identidad persistente y, quizás, una fila correspondiente "
+"en la base de datos. Para las instancias separadas, Hibernate no establece "
+"ninguna garantía sobre la relación entre identidad persistente "
+"e identidad Java."
-#. Tag: title
-#: architecture.xml:229
-#, no-c-format
+#: index.docbook:229
msgid "JMX Integration"
-msgstr "Integración JMX"
+msgstr "Integración JMX"
-#. Tag: para
-#: architecture.xml:231
-#, no-c-format
+#: index.docbook:231
msgid ""
"JMX is the J2EE standard for management of Java components. Hibernate may be "
"managed via a JMX standard service. We provide an MBean implementation in "
"the distribution, <literal>org.hibernate.jmx.HibernateService</literal>."
msgstr ""
-"JMX es el estándar J2EE para la gestión de componentes Java. Hibernate puede "
-"ser gestionado por medio de un servicio estándar JMX. Proveemos una "
-"implementación de MBean en la distribución, <literal>org.hibernate.jmx."
-"HibernateService</literal>."
+"JMX es el estándar J2EE para la gestión de componentes Java. "
+"Hibernate puede ser gestionado por medio de un servicio estándar JMX. "
+"Proveemos una implementación de MBean en la distribución, "
+"<literal>org.hibernate.jmx.HibernateService</literal>."
-#. Tag: para
-#: architecture.xml:237
-#, no-c-format
+#: index.docbook:237
msgid ""
"For an example how to deploy Hibernate as a JMX service on the JBoss "
"Application Server, please see the JBoss User Guide. On JBoss AS, you also "
"get these benefits if you deploy using JMX:"
msgstr ""
-"Para ejemplo de cómo desplegar Hibernate como un servicio JMX en un Servidor "
-"de Aplicaciones JBoss, por favor, mira la Guía del Usuario de JBoss. En "
-"JBoss AS, tienes además estos beneficios si despliegas usando JMX:"
+"Para ejemplo de cómo desplegar Hibernate como un servicio JMX en un "
+"Servidor de Aplicaciones JBoss, por favor, mira la Guía del Usuario "
+"de JBoss. En JBoss AS, tienes además estos beneficios si despliegas "
+"usando JMX:"
-#. Tag: para
-#: architecture.xml:245
-#, no-c-format
+#: index.docbook:245
msgid ""
"<emphasis>Session Management:</emphasis> The Hibernate <literal>Session</"
"literal>'s life cycle can be automatically bound to the scope of a JTA "
@@ -388,19 +316,18 @@
"call the <literal>HibernateContext</literal> to access a <literal>Session</"
"literal>."
msgstr ""
-"<emphasis>Gestión de Sesión:</emphasis> El ciclo de vida de la "
-"<literal>Session</literal> de Hibernate puede estar automáticamente ligado "
-"al ámbito de una transacción JTA. Esto significa que ya no tienes que abrir "
-"ni cerrar la <literal>Session</literal> manualmente, esto pasa a ser trabajo "
-"de un interceptor EJB de JBoss. Además tampoco tienes que preocuparte más de "
-"la demarcación de la transacción (a menos que que quieras escribir una capa "
-"de persitencia portable, por supuesto, usa la API de <literal>Transaction</"
-"literal> de Hibernate para esto). Para acceder a una <literal>Session</"
-"literal> llama al <literal>HibernateContext</literal>."
+"<emphasis>Gestión de Sesión:</emphasis> El ciclo de vida de la "
+"<literal>Session</literal> de Hibernate puede estar automáticamente "
+"ligado al ámbito de una transacción JTA. Esto significa que ya "
+"no tienes que abrir ni cerrar la <literal>Session</literal> manualmente, "
+"esto pasa a ser trabajo de un interceptor EJB de JBoss. Además "
+"tampoco tienes que preocuparte más de la demarcación de la "
+"transacción (a menos que que quieras escribir una capa de persitencia "
+"portable, por supuesto, usa la API de <literal>Transaction</literal> de "
+"Hibernate para esto). Para acceder a una <literal>Session</literal> llama al "
+"<literal>HibernateContext</literal>."
-#. Tag: para
-#: architecture.xml:257
-#, no-c-format
+#: index.docbook:257
msgid ""
"<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate JMX "
"service using a JBoss service deployment descriptor (in an EAR and/or SAR "
@@ -412,59 +339,48 @@
msgstr ""
"<emphasis>Despliegue de HAR:</emphasis> Usualmente despliegas el servicio "
"JMX de Hibernate usando un descriptor de despliegue de servicio de JBoss (en "
-"un fichero EAR y/o SAR), que soporta todas las opciones de configuración "
-"usuales de una <literal>SessionFactory</literal> de Hibernate. Sin embargo, "
-"todavía tienes que nombrar todos tus ficheros de mapeo en el descriptor de "
-"despliegue. Si decides usar el depliegue de HAR opcional, JBoss detectará "
-"automáticamente todos los ficheros de mapeo en tu fichero HAR."
+"un fichero EAR y/o SAR), que soporta todas las opciones de "
+"configuración usuales de una <literal>SessionFactory</literal> de "
+"Hibernate. Sin embargo, todavía tienes que nombrar todos tus ficheros "
+"de mapeo en el descriptor de despliegue. Si decides usar el depliegue de HAR "
+"opcional, JBoss detectará automáticamente todos los ficheros "
+"de mapeo en tu fichero HAR."
-#. Tag: para
-#: architecture.xml:268
-#, no-c-format
+#: index.docbook:268
msgid ""
"Consult the JBoss AS user guide for more information about these options."
msgstr ""
-"Para más información sobre estas opciones, consulta la Guía de Usuario del "
-"JBoss AS."
+"Para más información sobre estas opciones, consulta la "
+"Guía de Usuario del JBoss AS."
-#. Tag: para
-#: architecture.xml:272
-#, no-c-format
+#: index.docbook:272
msgid ""
"Another feature available as a JMX service are runtime Hibernate statistics. "
"See <xref linkend=\"configuration-optional-statistics\"/>."
msgstr ""
-"Otra funcionalidad disponible como un servicio JMX son las estadísticas en "
-"tiempo de ejecución de Hibernate. Mira <xref linkend=\"configuration-"
-"optional-statistics\"/>."
+"Otra funcionalidad disponible como un servicio JMX son las estadí"
+"sticas en tiempo de ejecución de Hibernate. Mira <xref linkend="
+"\"configuration-optional-statistics\"/>."
-#. Tag: title
-#: architecture.xml:279
-#, no-c-format
+#: index.docbook:279
msgid "JCA Support"
msgstr "Soporte JCA:"
-#. Tag: para
-#: architecture.xml:280
-#, no-c-format
+#: index.docbook:280
msgid ""
"Hibernate may also be configured as a JCA connector. Please see the website "
"for more details. Please note that Hibernate JCA support is still considered "
"experimental."
msgstr ""
-"Hiberate puede además ser configurado como un conector JCA. Por favor mira "
-"el sitio web para más detalles. Por favor ten en cuenta que el soporte de "
-"JCA de Hibernate está aún considerado experimental."
+"Hiberate puede además ser configurado como un conector JCA. Por favor "
+"mira el sitio web para más detalles. Por favor ten en cuenta que el "
+"soporte de JCA de Hibernate está aún considerado experimental."
-#. Tag: title
-#: architecture.xml:287
-#, no-c-format
+#: index.docbook:287
msgid "Contextual Sessions"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! Contextual Sessions"
-#. Tag: para
-#: architecture.xml:288
-#, no-c-format
+#: index.docbook:288
msgid ""
"Most applications using Hibernate need some form of \"contextual\" sessions, "
"where a given session is in effect throughout the scope of a given context. "
@@ -476,10 +392,17 @@
"utilized third-party frameworks (such as Spring or Pico) which provided "
"proxy/interception-based contextual sessions."
msgstr ""
+"Most applications using Hibernate need some form of \"contextual\" sessions, "
+"where a given session is in effect throughout the scope of a given context. "
+"However, across applications the definition of what constitutes a context is "
+"typically different; and different contexts define different scopes to the "
+"notion of current. Applications using Hibernate prior to version 3.0 tended "
+"to utilize either home-grown <literal>ThreadLocal</literal>-based contextual "
+"sessions, helper classes such as <literal>HibernateUtil</literal>, or "
+"utilized third-party frameworks (such as Spring or Pico) which provided "
+"proxy/interception-based contextual sessions."
-#. Tag: para
-#: architecture.xml:297
-#, no-c-format
+#: index.docbook:297
msgid ""
"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
"getCurrentSession()</literal> method. Initially, this assumed usage of "
@@ -492,10 +415,18 @@
"<literal>J2EE</literal> container. Based on that, the <literal>JTA</literal>-"
"based contextual sessions is all you should ever need to use."
msgstr ""
+"Starting with version 3.0.1, Hibernate added the <literal>SessionFactory."
+"getCurrentSession()</literal> method. Initially, this assumed usage of "
+"<literal>JTA</literal> transactions, where the <literal>JTA</literal> "
+"transaction defined both the scope and context of a current session. The "
+"Hibernate team maintains that, given the maturity of the numerous stand-"
+"alone <literal>JTA TransactionManager</literal> implementations out there, "
+"most (if not all) applications should be using <literal>JTA</literal> "
+"transaction management whether or not they are deployed into a "
+"<literal>J2EE</literal> container. Based on that, the <literal>JTA</literal>-"
+"based contextual sessions is all you should ever need to use."
-#. Tag: para
-#: architecture.xml:307
-#, no-c-format
+#: index.docbook:307
msgid ""
"However, as of version 3.1, the processing behind <literal>SessionFactory."
"getCurrentSession()</literal> is now pluggable. To that end, a new extension "
@@ -504,10 +435,14 @@
"current_session_context_class</literal>) have been added to allow "
"pluggability of the scope and context of defining current sessions."
msgstr ""
+"However, as of version 3.1, the processing behind <literal>SessionFactory."
+"getCurrentSession()</literal> is now pluggable. To that end, a new extension "
+"interface (<literal>org.hibernate.context.CurrentSessionContext</literal>) "
+"and a new configuration parameter (<literal>hibernate."
+"current_session_context_class</literal>) have been added to allow "
+"pluggability of the scope and context of defining current sessions."
-#. Tag: para
-#: architecture.xml:314
-#, no-c-format
+#: index.docbook:314
msgid ""
"See the Javadocs for the <literal>org.hibernate.context."
"CurrentSessionContext</literal> interface for a detailed discussion of its "
@@ -516,39 +451,48 @@
"contextual session. Out-of-the-box, Hibernate comes with three "
"implementations of this interface."
msgstr ""
+"See the Javadocs for the <literal>org.hibernate.context."
+"CurrentSessionContext</literal> interface for a detailed discussion of its "
+"contract. It defines a single method, <literal>currentSession()</literal>, "
+"by which the implementation is responsible for tracking the current "
+"contextual session. Out-of-the-box, Hibernate comes with three "
+"implementations of this interface."
-#. Tag: para
-#: architecture.xml:324
-#, no-c-format
+#: index.docbook:324
msgid ""
"<literal>org.hibernate.context.JTASessionContext</literal> - current "
"sessions 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 "
"the Javadocs for details."
msgstr ""
+"<literal>org.hibernate.context.JTASessionContext</literal> - current "
+"sessions 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 "
+"the Javadocs for details."
-#. Tag: para
-#: architecture.xml:332
-#, no-c-format
+#: index.docbook:332
msgid ""
"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current "
"sessions are tracked by thread of execution. Again, see the Javadocs for "
"details."
msgstr ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current "
+"sessions are tracked by thread of execution. Again, see the Javadocs for "
+"details."
-#. Tag: para
-#: architecture.xml:338
-#, no-c-format
+#: index.docbook:338
msgid ""
"<literal>org.hibernate.context.ManagedSessionContext</literal> - current "
"sessions are tracked by thread of execution. However, you are responsible to "
"bind and unbind a <literal>Session</literal> instance with static methods on "
"this class, it does never open, flush, or close a <literal>Session</literal>."
msgstr ""
+"<literal>org.hibernate.context.ManagedSessionContext</literal> - current "
+"sessions are tracked by thread of execution. However, you are responsible to "
+"bind and unbind a <literal>Session</literal> instance with static methods on "
+"this class, it does never open, flush, or close a <literal>Session</literal>."
-#. Tag: para
-#: architecture.xml:347
-#, no-c-format
+#: index.docbook:347
msgid ""
"The first two implementations provide a \"one session - one database "
"transaction\" programming model, also known and used as <emphasis>session-"
@@ -562,10 +506,19 @@
"transaction or session demarcation operations in your code. Refer to <xref "
"linkend=\"transactions\"/> for more information and code examples."
msgstr ""
+"The first two implementations provide a \"one session - one database "
+"transaction\" programming model, also known and used as <emphasis>session-"
+"per-request</emphasis>. The beginning and end of a Hibernate session is "
+"defined by the duration of a database transaction. If you use programatic "
+"transaction demarcation in plain JSE without JTA, you are adviced to use the "
+"Hibernate <literal>Transaction</literal> API to hide the underlying "
+"transaction system from your code. If you use JTA, use the JTA interfaces to "
+"demarcate transactions. If you execute in an EJB container that supports "
+"CMT, transaction boundaries are defined declaratively and you don't need any "
+"transaction or session demarcation operations in your code. Refer to <xref "
+"linkend=\"transactions\"/> for more information and code examples."
-#. Tag: para
-#: architecture.xml:359
-#, no-c-format
+#: index.docbook:359
msgid ""
"The <literal>hibernate.current_session_context_class</literal> configuration "
"parameter defines which <literal>org.hibernate.context."
@@ -578,3 +531,19 @@
"however, there are three corresponding short names, \"jta\", \"thread\", and "
"\"managed\"."
msgstr ""
+"The <literal>hibernate.current_session_context_class</literal> configuration "
+"parameter defines which <literal>org.hibernate.context."
+"CurrentSessionContext</literal> implementation should be used. Note that for "
+"backwards compatibility, if this config param is not set but a <literal>org."
+"hibernate.transaction.TransactionManagerLookup</literal> is configured, "
+"Hibernate will use the <literal>org.hibernate.context.JTASessionContext</"
+"literal>. Typically, the value of this parameter would just name the "
+"implementation class to use; for the three out-of-the-box implementations, "
+"however, there are three corresponding short names, \"jta\", \"thread\", and "
+"\"managed\"."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/association_mapping.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,30 +1,19 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: association_mapping.xml:6
-#, no-c-format
+#: index.docbook:6
msgid "Association Mappings"
-msgstr "Mapeos de Asociación"
+msgstr "Mapeos de Asociación"
-#. Tag: title
-#: association_mapping.xml:9
-#, no-c-format
+#: index.docbook:9
msgid "Introduction"
-msgstr "Introducción"
+msgstr "Introducción"
-#. Tag: para
-#: association_mapping.xml:11
-#, no-c-format
+#: index.docbook:11
msgid ""
"Association mappings are the often most difficult thing to get right. In "
"this section we'll go through the canonical cases one by one, starting with "
@@ -32,62 +21,51 @@
"use <literal>Person</literal> and <literal>Address</literal> in all the "
"examples."
msgstr ""
-"Los mapeos de asociación son frecuentemente las cosas mas difíciles de hacer "
-"correctamente. En esta sección iremos a través de los casos canónicos uno a "
-"uno, comenzando con los mapeos unidireccionales, y considerando luego los "
-"casos bidireccionales. Usaremos <literal>Person</literal> y "
-"<literal>Address</literal> en todos los ejemplos."
+"Los mapeos de asociación son frecuentemente las cosas mas difí"
+"ciles de hacer correctamente. En esta sección iremos a través "
+"de los casos canónicos uno a uno, comenzando con los mapeos "
+"unidireccionales, y considerando luego los casos bidireccionales. Usaremos "
+"<literal>Person</literal> y <literal>Address</literal> en todos los ejemplos."
-#. Tag: para
-#: association_mapping.xml:19
-#, no-c-format
+#: index.docbook:19
msgid ""
"We'll classify associations by whether or not they map to an intervening "
"join table, and by multiplicity."
msgstr ""
-"Clasificaremos las asociaciones por cuanto mapeen o no a una tabla de unión "
-"interviniente, y por su multiplicidad."
+"Clasificaremos las asociaciones por cuanto mapeen o no a una tabla de "
+"unión interviniente, y por su multiplicidad."
-#. Tag: para
-#: association_mapping.xml:24
-#, no-c-format
+#: index.docbook:24
msgid ""
"Nullable foreign keys are not considered good practice in traditional data "
"modelling, so all our examples use not null foreign keys. This is not a "
"requirement of Hibernate, and the mappings will all work if you drop the "
"nullability constraints."
msgstr ""
-"Las claves foráneas que aceptan valores nulos (en adelante, nullables) no "
-"son consideradas una buena práctica en el modelado tradicional de datos, así "
-"que todos nuestros ejemplos usan claves foráneas no nullables. Esto no es un "
-"requerimiento de Hibernate, y todos los mapeos funcionarán si quitas las "
-"restricciones de nulabilidad."
+"Las claves foráneas que aceptan valores nulos (en adelante, "
+"nullables) no son consideradas una buena práctica en el modelado "
+"tradicional de datos, así que todos nuestros ejemplos usan claves "
+"foráneas no nullables. Esto no es un requerimiento de Hibernate, y "
+"todos los mapeos funcionarán si quitas las restricciones de "
+"nulabilidad."
-#. Tag: title
-#: association_mapping.xml:34
-#, no-c-format
+#: index.docbook:34
msgid "Unidirectional associations"
msgstr "Asociaciones Unidireccionales"
-#. Tag: title
-#: association_mapping.xml:37 association_mapping.xml:108
-#, no-c-format
+#: index.docbook:37, index.docbook:108
msgid "many to one"
msgstr "muchos a uno"
-#. Tag: para
-#: association_mapping.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"A <emphasis>unidirectional many-to-one association</emphasis> is the most "
"common kind of unidirectional association."
msgstr ""
-"Una <emphasis>asociación unidireccional muchos-a-uno</emphasis> es el tipo "
-"más común de asociaciones unidireccionales."
+"Una <emphasis>asociación unidireccional muchos-a-uno</emphasis> es el "
+"tipo más común de asociaciones unidireccionales."
-#. Tag: programlisting
-#: association_mapping.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -104,10 +82,22 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:45 association_mapping.xml:161
-#, no-c-format
+#: index.docbook:45, index.docbook:161
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key, addressId bigint "
@@ -115,29 +105,27 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint "
+"not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:50 association_mapping.xml:121
-#: association_mapping.xml:185 association_mapping.xml:225
-#, no-c-format
+#: index.docbook:50, index.docbook:121, index.docbook:185, index.docbook:225
msgid "one to one"
msgstr "uno a uno"
-#. Tag: para
-#: association_mapping.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"A <emphasis>unidirectional one-to-one association on a foreign key</"
"emphasis> is almost identical. The only difference is the column unique "
"constraint."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-uno en una clave primaria</"
-"emphasis> es casi idéntica. La única diferencia es la restricción de "
-"unicidad de la columna."
+"Una <emphasis>asociación unidireccional uno-a-uno en una clave "
+"primaria</emphasis> es casi idéntica. La única diferencia es "
+"la restricción de unicidad de la columna."
-#. Tag: programlisting
-#: association_mapping.xml:57
-#, no-c-format
+#: index.docbook:57
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -155,10 +143,23 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\" \n"
+" unique=\"true\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:58 association_mapping.xml:193
-#, no-c-format
+#: index.docbook:58, index.docbook:193
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key, addressId bigint "
@@ -166,22 +167,23 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key, addressId bigint "
+"not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:60
-#, no-c-format
+#: index.docbook:60
msgid ""
"A <emphasis>unidirectional one-to-one association on a primary key</"
"emphasis> usually uses a special id generator. (Notice that we've reversed "
"the direction of the association in this example.)"
msgstr ""
-"Usualmente, una <emphasis>asociación unidireccional uno-a-uno en una clave "
-"primaria</emphasis> usa un generador de id especial. (Observa que hemos "
-"invertido el sentido de la asociación en este ejemplo)."
+"Usualmente, una <emphasis>asociación unidireccional uno-a-uno en una "
+"clave primaria</emphasis> usa un generador de id especial. (Observa que "
+"hemos invertido el sentido de la asociación en este ejemplo)."
-#. Tag: programlisting
-#: association_mapping.xml:66
-#, no-c-format
+#: index.docbook:66
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -198,36 +200,47 @@
" <one-to-one name=\"person\" constrained=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"foreign\">\n"
+" <param name=\"property\">person</param>\n"
+" </generator>\n"
+" </id>\n"
+" <one-to-one name=\"person\" constrained=\"true\"/>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:67 association_mapping.xml:201
-#, no-c-format
+#: index.docbook:67, index.docbook:201
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
"create table Address ( personId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( personId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:72 association_mapping.xml:94
-#, no-c-format
+#: index.docbook:72, index.docbook:94
msgid "one to many"
msgstr "uno a muchos"
-#. Tag: para
-#: association_mapping.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"A <emphasis>unidirectional one-to-many association on a foreign key</"
"emphasis> is a very unusual case, and is not really recommended."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-muchos en una clave foránea</"
-"emphasis> es un caso muy inusual, y realmente no está recomendada."
+"Una <emphasis>asociación unidireccional uno-a-muchos en una clave "
+"foránea</emphasis> es un caso muy inusual, y realmente no está "
+"recomendada."
-#. Tag: programlisting
-#: association_mapping.xml:79
-#, no-c-format
+#: index.docbook:79
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -246,10 +259,24 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\">\n"
+" <key column=\"personId\" \n"
+" not-null=\"true\"/>\n"
+" <one-to-many class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:80
-#, no-c-format
+#: index.docbook:80
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -257,37 +284,35 @@
"bigint not null )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table Address ( addressId bigint not null primary key, personId "
+"bigint not null )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:82
-#, no-c-format
+#: index.docbook:82
msgid "We think it's better to use a join table for this kind of association."
msgstr ""
-"Creemos que es mejor usar una tabla de unión para este tipo de asociación."
+"Creemos que es mejor usar una tabla de unión para este tipo de "
+"asociación."
-#. Tag: title
-#: association_mapping.xml:91
-#, no-c-format
+#: index.docbook:91
msgid "Unidirectional associations with join tables"
-msgstr "Asociaciones unidireccionales con tablas de unión"
+msgstr "Asociaciones unidireccionales con tablas de unión"
-#. Tag: para
-#: association_mapping.xml:96
-#, no-c-format
+#: index.docbook:96
msgid ""
"A <emphasis>unidirectional one-to-many association on a join table</"
"emphasis> is much preferred. Notice that by specifying <literal>unique=\"true"
"\"</literal>, we have changed the multiplicity from many-to-many to one-to-"
"many."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-muchos en una tabla de unión</"
-"emphasis> es más preferible. Observa que especificando <literal>unique=\"true"
-"\"</literal>, hemos cambiado la multiplicidad de muchos-a-muchos a uno-a-"
-"muchos."
+"Una <emphasis>asociación unidireccional uno-a-muchos en una tabla de "
+"unión</emphasis> es más preferible. Observa que especificando "
+"<literal>unique=\"true\"</literal>, hemos cambiado la multiplicidad de "
+"muchos-a-muchos a uno-a-muchos."
-#. Tag: programlisting
-#: association_mapping.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -307,10 +332,25 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\" table=\"PersonAddress\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" unique=\"true\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:103
-#, no-c-format
+#: index.docbook:103
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -319,20 +359,23 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId not null, addressId bigint not null "
+"primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:110
-#, no-c-format
+#: index.docbook:110
msgid ""
"A <emphasis>unidirectional many-to-one association on a join table</"
"emphasis> is quite common when the association is optional."
msgstr ""
-"Una <emphasis>asociación unidireccional muchos-a-uno en una tabla de unión</"
-"emphasis> es bastante común cuando la asociación es opcional."
+"Una <emphasis>asociación unidireccional muchos-a-uno en una tabla de "
+"unión</emphasis> es bastante común cuando la asociación "
+"es opcional."
-#. Tag: programlisting
-#: association_mapping.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -353,10 +396,26 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\">\n"
+" <key column=\"personId\" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\" \n"
+" not-null=\"true\"/>\n"
+" </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:116
-#, no-c-format
+#: index.docbook:116
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -365,20 +424,22 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId "
+"bigint not null )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"A <emphasis>unidirectional one-to-one association on a join table</emphasis> "
"is extremely unusual, but possible."
msgstr ""
-"Una <emphasis>asociación unidireccional uno-a-uno en una tabla de unión</"
-"emphasis> es inusual en extremo, pero posible."
+"Una <emphasis>asociación unidireccional uno-a-uno en una tabla de "
+"unión</emphasis> es inusual en extremo, pero posible."
-#. Tag: programlisting
-#: association_mapping.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -401,10 +462,28 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\">\n"
+" <key column=\"personId\" \n"
+" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:129 association_mapping.xml:233
-#, no-c-format
+#: index.docbook:129, index.docbook:233
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -413,26 +492,26 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null primary key, addressId "
+"bigint not null unique )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:134 association_mapping.xml:238
-#, no-c-format
+#: index.docbook:134, index.docbook:238
msgid "many to many"
msgstr "muchos a muchos"
-#. Tag: para
-#: association_mapping.xml:136
-#, no-c-format
+#: index.docbook:136
msgid ""
"Finally, we have a <emphasis>unidirectional many-to-many association</"
"emphasis>."
msgstr ""
-"Finalmente, tenemos una <emphasis>asociación unidireccional muchos-a-muchos</"
-"emphasis>"
+"Finalmente, tenemos una <emphasis>asociación unidireccional muchos-a-"
+"muchos</emphasis>"
-#. Tag: programlisting
-#: association_mapping.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -451,10 +530,24 @@
" </id>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\" table=\"PersonAddress\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:141 association_mapping.xml:246
-#, no-c-format
+#: index.docbook:141, index.docbook:246
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -463,32 +556,31 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null, primary key (personId, addressId) )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: title
-#: association_mapping.xml:148
-#, no-c-format
+#: index.docbook:148
msgid "Bidirectional associations"
msgstr "Asociaciones Bidireccionales"
-#. Tag: title
-#: association_mapping.xml:151 association_mapping.xml:211
-#, no-c-format
+#: index.docbook:151, index.docbook:211
msgid "one to many / many to one"
msgstr "uno a muchos / muchos a uno"
-#. Tag: para
-#: association_mapping.xml:153
-#, no-c-format
+#: index.docbook:153
msgid ""
"A <emphasis>bidirectional many-to-one association</emphasis> is the most "
"common kind of association. (This is the standard parent/child relationship.)"
msgstr ""
-"Una <emphasis>asociación bidireccional muchos-a-uno</emphasis> es el tipo "
-"más común de asociación. (Esta es la relación estándar padre/hijo.)"
+"Una <emphasis>asociación bidireccional muchos-a-uno</emphasis> es el "
+"tipo más común de asociación. (Esta es la relació"
+"n estándar padre/hijo.)"
-#. Tag: programlisting
-#: association_mapping.xml:159
-#, no-c-format
+#: index.docbook:159
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -509,10 +601,26 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"people\" inverse=\"true\">\n"
+" <key column=\"addressId\"/>\n"
+" <one-to-many class=\"Person\"/>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: association_mapping.xml:163
-#, no-c-format
+#: index.docbook:163
msgid ""
"If you use a <literal>List</literal> (or other indexed collection) you need "
"to set the <literal>key</literal> column of the foreign key to <literal>not "
@@ -528,9 +636,7 @@
"other side virtually inverse by setting <literal>update=\"false\"</literal> "
"and <literal>insert=\"false\"</literal>):"
-#. Tag: programlisting
-#: association_mapping.xml:171
-#, no-c-format
+#: index.docbook:171
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\"/>\n"
@@ -552,10 +658,28 @@
" </list>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\"/>\n"
+" ...\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\"\n"
+" not-null=\"true\"\n"
+" insert=\"false\"\n"
+" update=\"false\"/>\n"
+" </class>\n"
+" \n"
+" <class name=\"Address\">\n"
+" <id name=\"id\"/>\n"
+" ...\n"
+" <list name=\"people\">\n"
+" <key column=\"addressId\" not-null=\"true\"/"
+">\n"
+" <list-index column=\"peopleIdx\"/>\n"
+" <one-to-many class=\"Person\"/>\n"
+" </list>\n"
+" </class>]]>"
-#. Tag: para
-#: association_mapping.xml:173
-#, no-c-format
+#: index.docbook:173
msgid ""
"It is important that you define <literal>not-null=\"true\"</literal> on the "
"<literal><key></literal> element of the collection mapping if the "
@@ -571,19 +695,15 @@
"<literal><column></literal> element, but on the <literal><key></"
"literal> element."
-#. Tag: para
-#: association_mapping.xml:187
-#, no-c-format
+#: index.docbook:187
msgid ""
"A <emphasis>bidirectional one-to-one association on a foreign key</emphasis> "
"is quite common."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-uno en una clave foránea</"
-"emphasis> es bastante común."
+"Una <emphasis>asociación bidireccional uno-a-uno en una clave "
+"foránea</emphasis> es bastante común."
-#. Tag: programlisting
-#: association_mapping.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -603,20 +723,33 @@
" property-ref=\"address\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <many-to-one name=\"address\" \n"
+" column=\"addressId\" \n"
+" unique=\"true\"\n"
+" not-null=\"true\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <one-to-one name=\"person\" \n"
+" property-ref=\"address\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: association_mapping.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"A <emphasis>bidirectional one-to-one association on a primary key</emphasis> "
"uses the special id generator."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-uno en una clave primaria</"
-"emphasis> usa el generador de id especial."
+"Una <emphasis>asociación bidireccional uno-a-uno en una clave "
+"primaria</emphasis> usa el generador de id especial."
-#. Tag: programlisting
-#: association_mapping.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -635,28 +768,39 @@
" constrained=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <one-to-one name=\"address\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"foreign\">\n"
+" <param name=\"property\">person</param>\n"
+" </generator>\n"
+" </id>\n"
+" <one-to-one name=\"person\" \n"
+" constrained=\"true\"/>\n"
+"</class>]]>"
-#. Tag: title
-#: association_mapping.xml:208
-#, no-c-format
+#: index.docbook:208
msgid "Bidirectional associations with join tables"
-msgstr "Asociaciones bidireccionales con tablas de unión"
+msgstr "Asociaciones bidireccionales con tablas de unión"
-#. Tag: para
-#: association_mapping.xml:213
-#, no-c-format
+#: index.docbook:213
msgid ""
"A <emphasis>bidirectional one-to-many association on a join table</"
"emphasis>. Note that the <literal>inverse=\"true\"</literal> can go on "
"either end of the association, on the collection, or on the join."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-muchos en una tabla de unión</"
-"emphasis>. Observa que el <literal>inverse=\"true\"</literal> puede ir a "
-"cualquier lado de la asociación, en la colección, o en la unión."
+"Una <emphasis>asociación bidireccional uno-a-muchos en una tabla de "
+"unión</emphasis>. Observa que el <literal>inverse=\"true\"</literal> "
+"puede ir a cualquier lado de la asociación, en la colección, o "
+"en la unión."
-#. Tag: programlisting
-#: association_mapping.xml:219
-#, no-c-format
+#: index.docbook:219
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -685,10 +829,34 @@
" </join>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\" \n"
+" table=\"PersonAddress\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" unique=\"true\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" inverse=\"true\" \n"
+" optional=\"true\">\n"
+" <key column=\"addressId\"/>\n"
+" <many-to-one name=\"person\"\n"
+" column=\"personId\"\n"
+" not-null=\"true\"/>\n"
+" </join>\n"
+"</class>]]>"
-#. Tag: programlisting
-#: association_mapping.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"<![CDATA[\n"
"create table Person ( personId bigint not null primary key )\n"
@@ -697,20 +865,22 @@
"create table Address ( addressId bigint not null primary key )\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+"create table Person ( personId bigint not null primary key )\n"
+"create table PersonAddress ( personId bigint not null, addressId bigint not "
+"null primary key )\n"
+"create table Address ( addressId bigint not null primary key )\n"
+" ]]>"
-#. Tag: para
-#: association_mapping.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"A <emphasis>bidirectional one-to-one association on a join table</emphasis> "
"is extremely unusual, but possible."
msgstr ""
-"Una <emphasis>asociación bidireccional uno-a-uno en una tabla de unión</"
-"emphasis> es inusual en extremo, pero posible."
+"Una <emphasis>asociación bidireccional uno-a-uno en una tabla de "
+"unión</emphasis> es inusual en extremo, pero posible."
-#. Tag: programlisting
-#: association_mapping.xml:232
-#, no-c-format
+#: index.docbook:232
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -743,20 +913,46 @@
" </join>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\">\n"
+" <key column=\"personId\" \n"
+" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"addressId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <join table=\"PersonAddress\" \n"
+" optional=\"true\"\n"
+" inverse=\"true\">\n"
+" <key column=\"addressId\" \n"
+" unique=\"true\"/>\n"
+" <many-to-one name=\"address\"\n"
+" column=\"personId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>]]>"
-#. Tag: para
-#: association_mapping.xml:240
-#, no-c-format
+#: index.docbook:240
msgid ""
"Finally, we have a <emphasis>bidirectional many-to-many association</"
"emphasis>."
msgstr ""
-"Finalmente, tenemos una <emphasis>asociación bidireccional muchos-a-muchos</"
-"emphasis>."
+"Finalmente, tenemos una <emphasis>asociación bidireccional muchos-a-"
+"muchos</emphasis>."
-#. Tag: programlisting
-#: association_mapping.xml:244
-#, no-c-format
+#: index.docbook:244
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\" column=\"personId\">\n"
@@ -780,16 +976,33 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\" column=\"personId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"addresses\">\n"
+" <key column=\"personId\"/>\n"
+" <many-to-many column=\"addressId\"\n"
+" class=\"Address\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+" <id name=\"id\" column=\"addressId\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <set name=\"people\" inverse=\"true\">\n"
+" <key column=\"addressId\"/>\n"
+" <many-to-many column=\"personId\"\n"
+" class=\"Person\"/>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: title
-#: association_mapping.xml:253
-#, no-c-format
+#: index.docbook:253
msgid "More complex association mappings"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! More complex association mappings"
-#. Tag: para
-#: association_mapping.xml:255
-#, no-c-format
+#: index.docbook:255
msgid ""
"More complex association joins are <emphasis>extremely</emphasis> rare. "
"Hibernate makes it possible to handle more complex situations using SQL "
@@ -798,10 +1011,14 @@
"literal>, <literal>effectiveEndDate</literal> and "
"<literal>effectiveStartDate</literal>columns, mapped as follows:"
msgstr ""
+"More complex association joins are <emphasis>extremely</emphasis> rare. "
+"Hibernate makes it possible to handle more complex situations using SQL "
+"fragments embedded in the mapping document. For example, if a table with "
+"historical account information data defines <literal>accountNumber</"
+"literal>, <literal>effectiveEndDate</literal> and "
+"<literal>effectiveStartDate</literal>columns, mapped as follows:"
-#. Tag: programlisting
-#: association_mapping.xml:264
-#, no-c-format
+#: index.docbook:264
msgid ""
"<![CDATA[<properties name=\"currentAccountKey\">\n"
" <property name=\"accountNumber\" type=\"string\" not-null=\"true\"/>\n"
@@ -813,18 +1030,28 @@
"<property name=\"effectiveEndDate\" type=\"date\"/>\n"
"<property name=\"effectiveStateDate\" type=\"date\" not-null=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<properties name=\"currentAccountKey\">\n"
+" <property name=\"accountNumber\" type=\"string\" "
+"not-null=\"true\"/>\n"
+" <property name=\"currentAccount\" type=\"boolean"
+"\">\n"
+" <formula>case when effectiveEndDate is "
+"null then 1 else 0 end</formula>\n"
+" </property>\n"
+" </properties>\n"
+" <property name=\"effectiveEndDate\" type=\"date\"/>\n"
+" <property name=\"effectiveStateDate\" type=\"date\" not-"
+"null=\"true\"/>]]>"
-#. Tag: para
-#: association_mapping.xml:266
-#, no-c-format
+#: index.docbook:266
msgid ""
"Then we can map an association to the <emphasis>current</emphasis> instance "
"(the one with null <literal>effectiveEndDate</literal>) using:"
msgstr ""
+"Then we can map an association to the <emphasis>current</emphasis> instance "
+"(the one with null <literal>effectiveEndDate</literal>) using:"
-#. Tag: programlisting
-#: association_mapping.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
" property-ref=\"currentAccountKey\"\n"
@@ -833,10 +1060,15 @@
" <formula>'1'</formula>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"currentAccountInfo\" \n"
+" property-ref="
+"\"currentAccountKey\"\n"
+" class=\"AccountInfo\">\n"
+" <column name=\"accountNumber\"/>\n"
+" <formula>'1'</formula>\n"
+" </many-to-one>]]>"
-#. Tag: para
-#: association_mapping.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"In a more complex example, imagine that the association between "
"<literal>Employee</literal> and <literal>Organization</literal> is "
@@ -845,10 +1077,14 @@
"recent</emphasis> employer (the one with the most recent <literal>startDate</"
"literal>) might be mapped this way:"
msgstr ""
+"In a more complex example, imagine that the association between "
+"<literal>Employee</literal> and <literal>Organization</literal> is "
+"maintained in an <literal>Employment</literal> table full of historical "
+"employment data. Then an association to the employee's <emphasis>most "
+"recent</emphasis> employer (the one with the most recent <literal>startDate</"
+"literal>) might be mapped this way:"
-#. Tag: programlisting
-#: association_mapping.xml:281
-#, no-c-format
+#: index.docbook:281
msgid ""
"<![CDATA[<join>\n"
" <key column=\"employeeId\"/>\n"
@@ -863,11 +1099,29 @@
" column=\"orgId\"/>\n"
"</join>]]>"
msgstr ""
+"<![CDATA[<join>\n"
+" <key column=\"employeeId\"/>\n"
+" <subselect>\n"
+" select employeeId, orgId \n"
+" from Employments \n"
+" group by orgId \n"
+" having startDate = max(startDate)\n"
+" </subselect>\n"
+" <many-to-one name=\"mostRecentEmployer\" \n"
+" class=\"Organization\" \n"
+" column=\"orgId\"/>\n"
+" </join>]]>"
-#. Tag: para
-#: association_mapping.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"You can get quite creative with this functionality, but it is usually more "
"practical to handle these kinds of cases using HQL or a criteria query."
msgstr ""
+"You can get quite creative with this functionality, but it is usually more "
+"practical to handle these kinds of cases using HQL or a criteria query."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/basic_mapping.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,30 +1,19 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: basic_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Basic O/R Mapping"
-msgstr "Mapeo O/R Básico"
+msgstr "Mapeo O/R Básico"
-#. Tag: title
-#: basic_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Mapping declaration"
-msgstr "Declaración de mapeo"
+msgstr "Declaración de mapeo"
-#. Tag: para
-#: basic_mapping.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"Object/relational mappings are usually defined in an XML document. The "
"mapping document is designed to be readable and hand-editable. The mapping "
@@ -32,14 +21,12 @@
"persistent class declarations, not table declarations."
msgstr ""
"Los mapeos objeto/relacional se definen usualmente en un documento XML. El "
-"documento de mapeo está diseñado para ser leíble y editable a mano. El "
-"lenguaje de mapeo es Java-céntrico, o sea que los mapeos se construyen "
-"alrededor de declaraciones de clases persistentes, no declaraciones de "
-"tablas."
+"documento de mapeo está diseñado para ser leíble y "
+"editable a mano. El lenguaje de mapeo es Java-céntrico, o sea que los "
+"mapeos se construyen alrededor de declaraciones de clases persistentes, no "
+"declaraciones de tablas."
-#. Tag: para
-#: basic_mapping.xml:17
-#, no-c-format
+#: index.docbook:17
msgid ""
"Note that, even though many Hibernate users choose to write the XML by hand, "
"a number of tools exist to generate the mapping document, including XDoclet, "
@@ -49,15 +36,11 @@
"XML a mano, existe una cantidad de herramientas para generar el documento de "
"mapeo, incluyendo XDoclet, Middlegen y AndroMDA."
-#. Tag: para
-#: basic_mapping.xml:23
-#, no-c-format
+#: index.docbook:23
msgid "Lets kick off with an example mapping:"
msgstr "Comencemos por un mapeo de ejemplo:"
-#. Tag: programlisting
-#: basic_mapping.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -124,10 +107,72 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class name=\"Cat\" \n"
+" table=\"cats\"\n"
+" discriminator-value=\"C\">\n"
+" \n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+"\n"
+" <discriminator column=\"subclass\" \n"
+" type=\"character\"/>\n"
+"\n"
+" <property name=\"weight\"/>\n"
+"\n"
+" <property name=\"birthdate\"\n"
+" type=\"date\" \n"
+" not-null=\"true\" \n"
+" update=\"false\"/>\n"
+"\n"
+" <property name=\"color\"\n"
+" type=\"eg.types.ColorUserType\"\n"
+" not-null=\"true\"\n"
+" update=\"false\"/>\n"
+"\n"
+" <property name=\"sex\"\n"
+" not-null=\"true\" \n"
+" update=\"false\"/>\n"
+"\n"
+" <property name=\"litterId\"\n"
+" column=\"litterId\"\n"
+" update=\"false\"/>\n"
+"\n"
+" <many-to-one name=\"mother\"\n"
+" column=\"mother_id\"\n"
+" update=\"false\"/>\n"
+"\n"
+" <set name=\"kittens\"\n"
+" inverse=\"true\"\n"
+" order-by=\"litter_id\">\n"
+" <key column=\"mother_id\"/>\n"
+" <one-to-many class=\"Cat\"/>\n"
+" </set>\n"
+"\n"
+" <subclass name=\"DomesticCat\"\n"
+" discriminator-value=\"D\">\n"
+"\n"
+" <property name=\"name\" \n"
+" type=\"string\"/>\n"
+"\n"
+" </subclass>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Dog\">\n"
+" <!-- mapping for Dog could go here -->\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"We will now discuss the content of the mapping document. We will only "
"describe the document elements and attributes that are used by Hibernate at "
@@ -135,22 +180,18 @@
"and elements that affect the database schemas exported by the schema export "
"tool. (For example the <literal> not-null</literal> attribute.)"
msgstr ""
-"Discutiremos ahora el contenido del documento de mapeo. Describiremos sólo "
-"los elementos y atributos que son usados por Hibernate en tiempo de "
-"ejecución. El documento de mapeo contiene además algunos atributos y "
-"elementos extra opcionales que afectan los esquemas de base de datos "
-"exportados por la herramienta de exportación de esquemas. (Por ejemplo, el "
-"atributo <literal>not-null</literal>.)"
+"Discutiremos ahora el contenido del documento de mapeo. Describiremos "
+"sólo los elementos y atributos que son usados por Hibernate en tiempo "
+"de ejecución. El documento de mapeo contiene además algunos "
+"atributos y elementos extra opcionales que afectan los esquemas de base de "
+"datos exportados por la herramienta de exportación de esquemas. (Por "
+"ejemplo, el atributo <literal>not-null</literal>.)"
-#. Tag: title
-#: basic_mapping.xml:40
-#, no-c-format
+#: index.docbook:40
msgid "Doctype"
msgstr "Doctype"
-#. Tag: para
-#: basic_mapping.xml:42
-#, no-c-format
+#: index.docbook:42
msgid ""
"All XML mappings should declare the doctype shown. The actual DTD may be "
"found at the URL above, in the directory <literal>hibernate-x.x.x/src/org/"
@@ -162,19 +203,16 @@
"Todos los mapeos XML deben declarar el doctype mostrado. El DTD actual puede "
"ser encontrado en el URL mencionado arriba, en el directorio "
"<literal>hibernate-x.x.x/src/org/hibernate</literal>, o en "
-"<literal>hibernate3.jar</literal>. Hibernate siempre buscará el DTD primero "
-"en el classpath. Si experimentas búsquedas del DTD usando una conexión de "
-"Internet, chequea tu declaración de DTD contra la contenida en el classpath."
+"<literal>hibernate3.jar</literal>. Hibernate siempre buscará el DTD "
+"primero en el classpath. Si experimentas búsquedas del DTD usando una "
+"conexión de Internet, chequea tu declaración de DTD contra la "
+"contenida en el classpath."
-#. Tag: title
-#: basic_mapping.xml:52
-#, no-c-format
+#: index.docbook:52
msgid "EntityResolver"
msgstr "UNTRANSLATED! EntityResolver"
-#. Tag: para
-#: basic_mapping.xml:53
-#, no-c-format
+#: index.docbook:53
msgid ""
"As mentioned previously, Hibernate will first attempt to resolve DTDs in its "
"classpath. The manner in which it does this is by registering a custom "
@@ -190,9 +228,7 @@
"<literal>EntityResolver</literal> recognizes two different systemId "
"namespaces."
-#. Tag: para
-#: basic_mapping.xml:61
-#, no-c-format
+#: index.docbook:61
msgid ""
"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
@@ -204,9 +240,7 @@
"net/</literal>; the resolver attempts to resolve these entities via the "
"classlaoder which loaded the Hibernate classes."
-#. Tag: para
-#: basic_mapping.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"a <literal>user namespace</literal> is recognized whenever the resolver "
"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
@@ -220,15 +254,11 @@
"thread context classloader and (2) the classloader which loaded the "
"Hibernate classes."
-#. Tag: para
-#: basic_mapping.xml:79
-#, no-c-format
+#: index.docbook:79
msgid "An example of utilizing user namespacing:"
msgstr "An example of utilizing user namespacing:"
-#. Tag: programlisting
-#: basic_mapping.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -246,10 +276,28 @@
" &types;\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+" <!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD "
+"3.0//EN\"\n"
+" \"http://hibernate.sourceforge.net/"
+"hibernate-mapping-3.0.dtd\" [\n"
+" <!ENTITY types SYSTEM \"classpath://"
+"your/domain/types.xml\">\n"
+" ]>\n"
+" \n"
+" <hibernate-mapping package=\"your."
+"domain\">\n"
+" <class name=\"MyEntity\">\n"
+" <id name=\"id\" type="
+"\"my-custom-id-type\">\n"
+" ...\n"
+" </id>\n"
+" <class>\n"
+" &types;\n"
+" </hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:83
-#, no-c-format
+#: index.docbook:83
msgid ""
"Where <literal>types.xml</literal> is a resource in the <literal>your."
"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
@@ -259,15 +307,11 @@
"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
"custom\">typedef</link>."
-#. Tag: title
-#: basic_mapping.xml:91
-#, no-c-format
+#: index.docbook:91
msgid "hibernate-mapping"
msgstr "hibernate-mapping"
-#. Tag: para
-#: basic_mapping.xml:93
-#, no-c-format
+#: index.docbook:93
msgid ""
"This element has several optional attributes. The <literal>schema</literal> "
"and <literal>catalog</literal> attributes specify that tables referred to in "
@@ -281,18 +325,17 @@
msgstr ""
"Este elemento tiene muchos atributos opcionales. Los atributos "
"<literal>schema</literal> y <literal>catalog</literal> especifican que las "
-"tablas a las que se refiere en el mapeo pertenecen al esquema y/o catálogo "
-"mencionado(s). De especificarse, los nombres de tablas serán cualificados "
-"por el nombre de esquema y catálogo dados. De omitirse, los nombres de "
-"tablas no serán cualificados. El atributo <literal>default-cascade</literal> "
-"especifica qué estilo de cascada debe asumirse para las propiedades y "
-"colecciones que no especifican un atributo <literal>cascade</literal>. El "
-"atributo <literal>auto-import</literal> nos permite usar nombres de clase "
-"sin cualificar en el lenguaje de consulta, por defecto."
+"tablas a las que se refiere en el mapeo pertenecen al esquema y/o catá"
+"logo mencionado(s). De especificarse, los nombres de tablas serán "
+"cualificados por el nombre de esquema y catálogo dados. De omitirse, "
+"los nombres de tablas no serán cualificados. El atributo "
+"<literal>default-cascade</literal> especifica qué estilo de cascada "
+"debe asumirse para las propiedades y colecciones que no especifican un "
+"atributo <literal>cascade</literal>. El atributo <literal>auto-import</"
+"literal> nos permite usar nombres de clase sin cualificar en el lenguaje de "
+"consulta, por defecto."
-#. Tag: programlisting
-#: basic_mapping.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"<![CDATA[<hibernate-mapping\n"
" schema=\"schemaName\"\n"
@@ -304,26 +347,29 @@
" package=\"package.name\"\n"
" />]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping\n"
+" schema=\"schemaName\"\n"
+" catalog=\"catalogName\"\n"
+" default-cascade=\"cascade_style\"\n"
+" default-access=\"field|property|ClassName\"\n"
+" default-lazy=\"true|false\"\n"
+" auto-import=\"true|false\"\n"
+" package=\"package.name\"\n"
+" />]]>"
-#. Tag: para
-#: basic_mapping.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "<literal>schema</literal> (optional): The name of a database schema."
msgstr ""
"<literal>schema</literal> (opcional): El nombre de un esquema de la base de "
"datos."
-#. Tag: para
-#: basic_mapping.xml:122
-#, no-c-format
+#: index.docbook:122
msgid "<literal>catalog</literal> (optional): The name of a database catalog."
msgstr ""
-"<literal>catalog</literal> (opcional): El nombre de un catálogo de la base "
-"de datos."
+"<literal>catalog</literal> (opcional): El nombre de un catálogo de la "
+"base de datos."
-#. Tag: para
-#: basic_mapping.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"<literal>default-cascade</literal> (optional - defaults to <literal>none</"
"literal>): A default cascade style."
@@ -331,9 +377,7 @@
"<literal>default-cascade</literal> (opcional - por defecto a <literal>none</"
"literal>): Un estilo de cascada por defecto."
-#. Tag: para
-#: basic_mapping.xml:133
-#, no-c-format
+#: index.docbook:133
msgid ""
"<literal>default-access</literal> (optional - defaults to <literal>property</"
"literal>): The strategy Hibernate should use for accessing all properties. "
@@ -341,12 +385,10 @@
msgstr ""
"<literal>default-access</literal> (opcional - por defecto a "
"<literal>property</literal>): La estrategia que Hibernate debe usar para "
-"acceder a todas las propiedades. Puede ser una implementación personalizada "
-"de <literal>PropertyAccessor</literal>."
+"acceder a todas las propiedades. Puede ser una implementación "
+"personalizada de <literal>PropertyAccessor</literal>."
-#. Tag: para
-#: basic_mapping.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"<literal>default-lazy</literal> (optional - defaults to <literal>true</"
"literal>): The default value for unspecifed <literal>lazy</literal> "
@@ -354,11 +396,9 @@
msgstr ""
"<literal>default-lazy</literal> (opcional - por defecto a <literal>true</"
"literal>): El valor por defecto para los atributos <literal>lazy</literal> "
-"de mapeos de clase y colleción no especificados."
+"de mapeos de clase y colleción no especificados."
-#. Tag: para
-#: basic_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"<literal>auto-import</literal> (optional - defaults to <literal>true</"
"literal>): Specifies whether we can use unqualified class names (of classes "
@@ -368,9 +408,7 @@
"literal>): Especifica si podemos usar nombres de clases no cualificados (de "
"clases en este mapeo) en el lenguaje de consulta."
-#. Tag: para
-#: basic_mapping.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"<literal>package</literal> (optional): Specifies a package prefix to assume "
"for unqualified class names in the mapping document."
@@ -378,21 +416,18 @@
"<literal>package</literal> (opcional): Especifica un prefijo de paquete a "
"asumir para los nombres no cualificados de clase en el documento de mapeo."
-#. Tag: para
-#: basic_mapping.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"If you have two persistent classes with the same (unqualified) name, you "
"should set <literal>auto-import=\"false\"</literal>. Hibernate will throw an "
"exception if you attempt to assign two classes to the same \"imported\" name."
msgstr ""
"Si tienes dos clases persistentes con el mismo nombre (sin cualificar), "
-"debes establecer <literal>auto-import=\"false\"</literal>. Hibernate lanzará "
-"una excepción si intentas asignar dos clases al mismo nombre \"importado\"."
+"debes establecer <literal>auto-import=\"false\"</literal>. Hibernate "
+"lanzará una excepción si intentas asignar dos clases al mismo "
+"nombre \"importado\"."
-#. Tag: para
-#: basic_mapping.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"Note that the <literal>hibernate-mapping</literal> element allows you to "
"nest several persistent <literal><class></literal> mappings, as shown "
@@ -404,22 +439,18 @@
msgstr ""
"Observa que el elemento <literal>hibernate-mapping</literal> te permite "
"anidar muchos mapeos <literal><class></literal> persistentes, como se "
-"muestra arriba. Sin embargo, es una buena práctica (y se espera de algunas "
-"herramientas) mapear sólo a una sola clase persistente (o a una sola "
-"jerarquía de clases) en un fichero de mapeo y nombrarlo después de la "
-"superclase persistente; por ejemplo, <literal>Cat.hbm.xml</literal>, "
-"<literal>Dog.hbm.xml</literal>, o, si se usa herencia, <literal>Animal.hbm."
-"xml</literal>."
+"muestra arriba. Sin embargo, es una buena práctica (y se espera de "
+"algunas herramientas) mapear sólo a una sola clase persistente (o a "
+"una sola jerarquía de clases) en un fichero de mapeo y nombrarlo "
+"después de la superclase persistente; por ejemplo, <literal>Cat.hbm."
+"xml</literal>, <literal>Dog.hbm.xml</literal>, o, si se usa herencia, "
+"<literal>Animal.hbm.xml</literal>."
-#. Tag: title
-#: basic_mapping.xml:181
-#, no-c-format
+#: index.docbook:181
msgid "<title>class</title>"
-msgstr ""
+msgstr "<title>class</title>"
-#. Tag: para
-#: basic_mapping.xml:183
-#, no-c-format
+#: index.docbook:183
msgid ""
"You may declare a persistent class using the <literal>class</literal> "
"element:"
@@ -427,9 +458,7 @@
"Puedes declarar una clase persistente usando el elemento <literal>class</"
"literal>:"
-#. Tag: programlisting
-#: basic_mapping.xml:211
-#, no-c-format
+#: index.docbook:211
msgid ""
"<![CDATA[<class\n"
" name=\"ClassName\"\n"
@@ -456,10 +485,32 @@
" node=\"element-name\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<class\n"
+" name=\"ClassName\"\n"
+" table=\"tableName\"\n"
+" discriminator-value=\"discriminator_value\"\n"
+" mutable=\"true|false\"\n"
+" schema=\"owner\"\n"
+" catalog=\"catalog\"\n"
+" proxy=\"ProxyInterface\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" select-before-update=\"true|false\"\n"
+" polymorphism=\"implicit|explicit\"\n"
+" where=\"arbitrary sql where condition\"\n"
+" persister=\"PersisterClass\"\n"
+" batch-size=\"N\"\n"
+" optimistic-lock=\"none|version|dirty|all\"\n"
+" lazy=\"true|false\"\n"
+" entity-name=\"EntityName\"\n"
+" check=\"arbitrary sql check condition\"\n"
+" rowid=\"rowid\"\n"
+" subselect=\"SQL expression\"\n"
+" abstract=\"true|false\"\n"
+" node=\"element-name\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:214
-#, no-c-format
+#: index.docbook:214
msgid ""
"<literal>name</literal> (optional): The fully qualified Java class name of "
"the persistent class (or interface). If this attribute is missing, it is "
@@ -469,9 +520,7 @@
"la clase Java persistente (o interface). Si este atributo es omitido, se "
"asume que el mapeo es para una entidad non-POJO."
-#. Tag: para
-#: basic_mapping.xml:221
-#, no-c-format
+#: index.docbook:221
msgid ""
"<literal>table</literal> (optional - defaults to the unqualified class "
"name): The name of its database table."
@@ -479,9 +528,7 @@
"<literal>table</literal> (opcional - por defecto al nombre no cualificado de "
"la clase): El nombre de su tabla en base de datos."
-#. Tag: para
-#: basic_mapping.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"<literal>discriminator-value</literal> (optional - defaults to the class "
"name): A value that distiguishes individual subclasses, used for polymorphic "
@@ -490,12 +537,10 @@
msgstr ""
"<literal>discriminator-value</literal> (opcional - por defecto al nombre de "
"la clase): Un valor que distingue subclases individuales, usado para el "
-"comportamiento polimórfico. Los valores aceptables incluyen <literal>null</"
-"literal> y <literal>not null</literal>."
+"comportamiento polimórfico. Los valores aceptables incluyen "
+"<literal>null</literal> y <literal>not null</literal>."
-#. Tag: para
-#: basic_mapping.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"<literal>mutable</literal> (optional, defaults to <literal>true</literal>): "
"Specifies that instances of the class are (not) mutable."
@@ -503,52 +548,34 @@
"<literal>mutable</literal> (opcional, por defecto a <literal>true</"
"literal>): Especifica que las instancias de la clase (no) son mutables."
-#. Tag: para
-#: basic_mapping.xml:240 basic_mapping.xml:2204
-#, fuzzy, no-c-format
+#: index.docbook:240, index.docbook:2204
msgid ""
"<literal>schema</literal> (optional): Override the schema name specified by "
"the root <literal><hibernate-mapping></literal> element."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>schema</literal> (opcional): Sobreescribe el nombre de esquema "
-"especificado por el elemento raíz <literal><hibernate-mapping></"
-"literal>.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>schema</literal> (opcional): Sobrescribe el nombre de esquema "
-"especificado por el elemento raíz <literal><hibernate-mapping></"
+"especificado por el elemento raíz <literal><hibernate-mapping></"
"literal>."
-#. Tag: para
-#: basic_mapping.xml:246 basic_mapping.xml:2210
-#, fuzzy, no-c-format
+#: index.docbook:246, index.docbook:2210
msgid ""
"<literal>catalog</literal> (optional): Override the catalog name specified "
"by the root <literal><hibernate-mapping></literal> element."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>catalog</literal> (opcional): Sobreescribe el nombre de catálogo "
-"especificado por el elemento raíz <literal><hibernate-mapping></"
-"literal>.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>catalog</literal> (opcional): Sobrescribe el nombre de catálogo "
-"especificado por el elemento raíz <literal><hibernate-mapping></"
-"literal>."
+"<literal>catalog</literal> (opcional): Sobreescribe el nombre de catá"
+"logo especificado por el elemento raíz <literal><hibernate-"
+"mapping></literal>."
-#. Tag: para
-#: basic_mapping.xml:252
-#, no-c-format
+#: index.docbook:252
msgid ""
"<literal>proxy</literal> (optional): Specifies an interface to use for lazy "
"initializing proxies. You may specify the name of the class itself."
msgstr ""
"<literal>proxy</literal> (opcional): Especifica una interface a usar para "
-"proxies de inicialización perezosa. Puedes especificar el nombre mismo de la "
-"clase."
+"proxies de inicialización perezosa. Puedes especificar el nombre "
+"mismo de la clase."
-#. Tag: para
-#: basic_mapping.xml:258
-#, no-c-format
+#: index.docbook:258
msgid ""
"<literal>dynamic-update</literal> (optional, defaults to <literal>false</"
"literal>): Specifies that <literal>UPDATE</literal> SQL should be generated "
@@ -556,12 +583,10 @@
msgstr ""
"<literal>dynamic-update</literal> (opcional, por defecto a <literal>false</"
"literal>): Especifica que el SQL <literal>UPDATE</literal> debe ser generado "
-"en tiempo de ejecución y contener solamente aquellas columnas cuyo valor "
-"haya cambiado."
+"en tiempo de ejecución y contener solamente aquellas columnas cuyo "
+"valor haya cambiado."
-#. Tag: para
-#: basic_mapping.xml:265
-#, no-c-format
+#: index.docbook:265
msgid ""
"<literal>dynamic-insert</literal> (optional, defaults to <literal>false</"
"literal>): Specifies that <literal>INSERT</literal> SQL should be generated "
@@ -569,12 +594,10 @@
msgstr ""
"<literal>dynamic-insert</literal> (opcional, por defecto a <literal>false</"
"literal>): Especifica que el SQL <literal>INSERT</literal> debe ser generado "
-"en tiempo de ejecución y contener solamente aquellas columnas cuyo valores "
-"no son nulos."
+"en tiempo de ejecución y contener solamente aquellas columnas cuyo "
+"valores no son nulos."
-#. Tag: para
-#: basic_mapping.xml:272
-#, no-c-format
+#: index.docbook:272
msgid ""
"<literal>select-before-update</literal> (optional, defaults to "
"<literal>false</literal>): Specifies that Hibernate should <emphasis>never</"
@@ -589,37 +612,31 @@
"<literal>false</literal>): Especifica que Hibernate <emphasis>nunca</"
"emphasis> debe realizar un SQL <literal>UPDATE</literal> a menos que se "
"tenga certeza que un objeto haya sido modificado realmente. En ciertos "
-"casos, (realmente, sólo cuando un objeto transitorio ha sido asociado con "
-"una sesión nueva usando <literal>update()</literal>), esto significa que "
-"Hibernate realizará una SQL <literal>SELECT</literal> extra para determinar "
-"si un <literal>UPDATE</literal> es realmente requerido."
+"casos, (realmente, sólo cuando un objeto transitorio ha sido asociado "
+"con una sesión nueva usando <literal>update()</literal>), esto "
+"significa que Hibernate realizará una SQL <literal>SELECT</literal> "
+"extra para determinar si un <literal>UPDATE</literal> es realmente requerido."
-#. Tag: para
-#: basic_mapping.xml:282
-#, no-c-format
+#: index.docbook:282
msgid ""
"<literal>polymorphism</literal> (optional, defaults to <literal>implicit</"
"literal>): Determines whether implicit or explicit query polymorphism is "
"used."
msgstr ""
"<literal>polymorphism</literal> (opcional, por defecto a <literal>implicit</"
-"literal>): Determina si se usa polimorfismo de consulta implícito o "
-"explícito."
+"literal>): Determina si se usa polimorfismo de consulta implícito o "
+"explícito."
-#. Tag: para
-#: basic_mapping.xml:288
-#, no-c-format
+#: index.docbook:288
msgid ""
"<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</"
"literal> condition to be used when retrieving objects of this class"
msgstr ""
-"<literal>where</literal> (opcional) especifica una condición SQL "
+"<literal>where</literal> (opcional) especifica una condición SQL "
"<literal>WHERE</literal> arbitraria paraa ser usada al recuperar objetos de "
"esta clase."
-#. Tag: para
-#: basic_mapping.xml:294
-#, no-c-format
+#: index.docbook:294
msgid ""
"<literal>persister</literal> (optional): Specifies a custom "
"<literal>ClassPersister</literal>."
@@ -627,20 +644,16 @@
"<literal>persister</literal> (opcional): Especifica un "
"<literal>ClassPersister</literal> personalizado."
-#. Tag: para
-#: basic_mapping.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) "
"specify a \"batch size\" for fetching instances of this class by identifier."
msgstr ""
"<literal>batch-size</literal> (opcional, por defecto a <literal>1</literal>) "
-"especifica un \"tamaño de lote\" para traer instancias de esta clase por "
-"identificador."
+"especifica un \"tamaño de lote\" para traer instancias de esta clase "
+"por identificador."
-#. Tag: para
-#: basic_mapping.xml:305
-#, no-c-format
+#: index.docbook:305
msgid ""
"<literal>optimistic-lock</literal> (optional, defaults to <literal>version</"
"literal>): Determines the optimistic locking strategy."
@@ -648,19 +661,16 @@
"<literal>optimistic-lock</literal> (opcional, por defecto a "
"<literal>version</literal>): Determina la estrategia optimista de bloqueo."
-#. Tag: para
-#: basic_mapping.xml:311
-#, no-c-format
+#: index.docbook:311
msgid ""
"<literal>lazy</literal> (optional): Lazy fetching may be completely disabled "
"by setting <literal>lazy=\"false\"</literal>."
msgstr ""
-"<literal>lazy</literal> (opcional): La recuperación perezosa puede ser "
-"deshabilitada por completo estableciendo <literal>lazy=\"false\"</literal>."
+"<literal>lazy</literal> (opcional): La recuperación perezosa puede "
+"ser deshabilitada por completo estableciendo <literal>lazy=\"false\"</"
+"literal>."
-#. Tag: para
-#: basic_mapping.xml:317
-#, no-c-format
+#: index.docbook:317
msgid ""
"<literal>entity-name</literal> (optional, defaults to the class name): "
"Hibernate3 allows a class to be mapped multiple times (to different tables, "
@@ -672,25 +682,21 @@
"<literal>entity-name</literal> (opcional): Hibernate3 permite que una clase "
"sea mapeada varias veces (potencialmente a tablas diferentes), y permite que "
"los mapeos de entidad sean representados por Maps o XML al nivel de Java. En "
-"estos casos, debes proveer un nombre explícito arbitrario para la entidad. "
-"Para más información, mira <xref linkend=\"persistent-classes-dynamicmodels"
-"\"/> y <xref linkend=\"xml\"/>."
+"estos casos, debes proveer un nombre explícito arbitrario para la "
+"entidad. Para más información, mira <xref linkend=\"persistent-"
+"classes-dynamicmodels\"/> y <xref linkend=\"xml\"/>."
-#. Tag: para
-#: basic_mapping.xml:327
-#, no-c-format
+#: index.docbook:327
msgid ""
"<literal>check</literal> (optional): A SQL expression used to generate a "
"multi-row <emphasis>check</emphasis> constraint for automatic schema "
"generation."
msgstr ""
-"<literal>check</literal> (opcional): Una expresión SQL usada para generar "
-"una restricción <emphasis>check</emphasis> multi-fila para la generación "
-"automática de esquema."
+"<literal>check</literal> (opcional): Una expresión SQL usada para "
+"generar una restricción <emphasis>check</emphasis> multi-fila para la "
+"generación automática de esquema."
-#. Tag: para
-#: basic_mapping.xml:333
-#, no-c-format
+#: index.docbook:333
msgid ""
"<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs on "
"databases which support. E.g. on Oracle, Hibernate can use the "
@@ -701,36 +707,30 @@
"<literal>rowid</literal> (opcional): Hibernate puede usar los llamados "
"ROWIDs en las bases de datos que los soporten. Por ejemplo, en Oracle, "
"Hibernate puede usar la columna extra <literal>rowid</literal> para "
-"actualizaciones rápidas si estableces esta opción a <literal>rowid</"
-"literal>. Un ROWID es un detalle de implementación y representa la posición "
-"física de la tupla almacenada."
+"actualizaciones rápidas si estableces esta opción a "
+"<literal>rowid</literal>. Un ROWID es un detalle de implementación y "
+"representa la posición física de la tupla almacenada."
-#. Tag: para
-#: basic_mapping.xml:341
-#, no-c-format
+#: index.docbook:341
msgid ""
"<literal>subselect</literal> (optional): Maps an immutable and read-only "
"entity to a database subselect. Useful if you want to have a view instead of "
"a base table, but don't. See below for more information."
msgstr ""
"<literal>subselect</literal> (opcional): Mapea una entidad inmutable y de "
-"sólo lectura a una subselect de base de datos. Es útil si quieres tener una "
-"vista en vez de una tabla base, pero no tienes vistas. Mira debajo para más "
-"información."
+"sólo lectura a una subselect de base de datos. Es útil si "
+"quieres tener una vista en vez de una tabla base, pero no tienes vistas. "
+"Mira debajo para más información."
-#. Tag: para
-#: basic_mapping.xml:348
-#, no-c-format
+#: index.docbook:348
msgid ""
"<literal>abstract</literal> (optional): Used to mark abstract superclasses "
"in <literal><union-subclass></literal> hierarchies."
msgstr ""
"<literal>abstract</literal> (opcional): Usado para marcar superclases "
-"abstractas en jerarquías <literal><union-subclass></literal>."
+"abstractas en jerarquías <literal><union-subclass></literal>."
-#. Tag: para
-#: basic_mapping.xml:356
-#, no-c-format
+#: index.docbook:356
msgid ""
"It is perfectly acceptable for the named persistent class to be an "
"interface. You would then declare implementing classes of that interface "
@@ -739,27 +739,23 @@
"using the standard form ie. <literal>eg.Foo$Bar</literal>."
msgstr ""
"Es perfectamente aceptable que la clase persistente mencionada sea una "
-"interface. Entonces declararías clases que implementan esa interface usando "
-"el elemento <literal><subclass></literal>. Puedes persistir cualquier "
-"clase interna <emphasis>estática</emphasis>. Debes especificar el nombre de "
-"la clase usando la forma estándar. Por ejemplo, <literal>eg.Foo$Bar</"
-"literal>."
+"interface. Entonces declararías clases que implementan esa interface "
+"usando el elemento <literal><subclass></literal>. Puedes persistir "
+"cualquier clase interna <emphasis>estática</emphasis>. Debes "
+"especificar el nombre de la clase usando la forma estándar. Por "
+"ejemplo, <literal>eg.Foo$Bar</literal>."
-#. Tag: para
-#: basic_mapping.xml:363
-#, no-c-format
+#: index.docbook:363
msgid ""
"Immutable classes, <literal>mutable=\"false\"</literal>, may not be updated "
"or deleted by the application. This allows Hibernate to make some minor "
"performance optimizations."
msgstr ""
"Las clases inmutables, <literal>mutable=\"false\"</literal>, no pueden ser "
-"actualizadas o borradas por la aplicación. Esto permite a Hibernate hacer "
-"ciertas optimizaciones menores de rendimiento."
+"actualizadas o borradas por la aplicación. Esto permite a Hibernate "
+"hacer ciertas optimizaciones menores de rendimiento."
-#. Tag: para
-#: basic_mapping.xml:368
-#, no-c-format
+#: index.docbook:368
msgid ""
"The optional <literal>proxy</literal> attribute enables lazy initialization "
"of persistent instances of the class. Hibernate will initially return CGLIB "
@@ -767,15 +763,14 @@
"will be loaded when a method of the proxy is invoked. See \"Initializing "
"collections and proxies\" below."
msgstr ""
-"El atributo opcional <literal>proxy</literal> habilita la inicialización "
-"postergada de instancias persistentes de la clase. Hibernate inicialmente "
-"retornará proxies CGLIB que implementan la interface mencionada. El objeto "
-"persistente real será cargado cuando se invoque un método del proxy. Mira "
-"\"Proxies para Inicialización Postergada\" debajo."
+"El atributo opcional <literal>proxy</literal> habilita la "
+"inicialización postergada de instancias persistentes de la clase. "
+"Hibernate inicialmente retornará proxies CGLIB que implementan la "
+"interface mencionada. El objeto persistente real será cargado cuando "
+"se invoque un método del proxy. Mira \"Proxies para "
+"Inicialización Postergada\" debajo."
-#. Tag: para
-#: basic_mapping.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"<emphasis>Implicit</emphasis> polymorphism means that instances of the class "
"will be returned by a query that names any superclass or implemented "
@@ -791,24 +786,24 @@
"table (this allows a \"lightweight\" class that contains a subset of the "
"table columns)."
msgstr ""
-"Por polimorfismo <emphasis>implícito</emphasis> se entiende que las "
-"instancias de la clase serán devueltas por una consulta que mencione "
+"Por polimorfismo <emphasis>implícito</emphasis> se entiende que las "
+"instancias de la clase serán devueltas por una consulta que mencione "
"cualquier superclase, o interface implementada, o la clase misma; y que las "
-"instancias de cualquier subclase de la clase serán devueltas por una clase "
-"que mencione a la clase en sí. Por polimorfismo <emphasis>explícito</"
-"emphasis> se entiende que instancias de la clase serán devueltas sólo por "
-"consultas que mencionen explícitamente la clase; y que las consultas que "
-"mencionen la clase devolverán sólo instancias de subclases mapeadas dentro "
-"de esta declaración <literal><class></literal> como una <literal><"
-"subclass></literal> o <literal><joined-subclass></literal>. Para la "
-"mayoría de los propósitos el defecto, <literal>polymorphism=\"implicit\"</"
-"literal>, resulta apropiado. El polimorfismo explícito es útil cuando dos "
-"clases diferentes están mapeadas a la misma tabla (esto permite tener una "
-"clase \"liviana\" que contenga un subconjunto de columnas de la tabla)."
+"instancias de cualquier subclase de la clase serán devueltas por una "
+"clase que mencione a la clase en sí. Por polimorfismo "
+"<emphasis>explícito</emphasis> se entiende que instancias de la clase "
+"serán devueltas sólo por consultas que mencionen explí"
+"citamente la clase; y que las consultas que mencionen la clase "
+"devolverán sólo instancias de subclases mapeadas dentro de "
+"esta declaración <literal><class></literal> como una "
+"<literal><subclass></literal> o <literal><joined-subclass></"
+"literal>. Para la mayoría de los propósitos el defecto, "
+"<literal>polymorphism=\"implicit\"</literal>, resulta apropiado. El "
+"polimorfismo explícito es útil cuando dos clases diferentes "
+"están mapeadas a la misma tabla (esto permite tener una clase "
+"\"liviana\" que contenga un subconjunto de columnas de la tabla)."
-#. Tag: para
-#: basic_mapping.xml:387
-#, no-c-format
+#: index.docbook:387
msgid ""
"The <literal>persister</literal> attribute lets you customize the "
"persistence strategy used for the class. You may, for example, specify your "
@@ -822,16 +817,14 @@
"El atributo <literal>persister</literal> te permite personalizar la "
"estrategia de persistencia para la clase. Puedes, por ejemplo, especificar "
"tu propia subclase de <literal>org.hibernate.persister.EntityPersister</"
-"literal> o incluso puedes proveer una implementación completamente nueva de "
-"la interface <literal>org.hibernate.persister.ClassPersister</literal> que "
-"implemente la persistencia por medio, por ejemplo, de llamadas a "
-"procedimientos almacenados, serialización a ficheros planos o LDAP. Para un "
-"ejemplo simple (de persistencia a una <literal>Hashtable</literal>) mira "
-"<literal>org.hibernate.test.CustomPersister</literal>."
+"literal> o incluso puedes proveer una implementación completamente "
+"nueva de la interface <literal>org.hibernate.persister.ClassPersister</"
+"literal> que implemente la persistencia por medio, por ejemplo, de llamadas "
+"a procedimientos almacenados, serialización a ficheros planos o LDAP. "
+"Para un ejemplo simple (de persistencia a una <literal>Hashtable</literal>) "
+"mira <literal>org.hibernate.test.CustomPersister</literal>."
-#. Tag: para
-#: basic_mapping.xml:398
-#, no-c-format
+#: index.docbook:398
msgid ""
"Note that the <literal>dynamic-update</literal> and <literal>dynamic-insert</"
"literal> settings are not inherited by subclasses and so may also be "
@@ -844,48 +837,40 @@
"<literal>dynamic-insert</literal> no son heredados por las subclases y por "
"lo tanto deben especificarse en los elementos <literal><subclass></"
"literal> o <literal><joined-subclass></literal>. Estos ajustes pueden "
-"incrementar el rendimiento en algunos casos, pero podrían mermarlo en otros. "
-"Ten juicio en su uso."
+"incrementar el rendimiento en algunos casos, pero podrían mermarlo en "
+"otros. Ten juicio en su uso."
-#. Tag: para
-#: basic_mapping.xml:406
-#, no-c-format
+#: index.docbook:406
msgid ""
"Use of <literal>select-before-update</literal> will usually decrease "
"performance. It is very useful to prevent a database update trigger being "
"called unnecessarily if you reattach a graph of detached instances to a "
"<literal>Session</literal>."
msgstr ""
-"Generalmente el uso de <literal>select-before-update</literal> disminuirá el "
-"rendimiento. Es muy útil prevenir que se llame innecesariamente a un "
-"disparador de actualización de base de datos al volver a unir un grafo de "
-"instancias separadas a una <literal>Session</literal>."
+"Generalmente el uso de <literal>select-before-update</literal> "
+"disminuirá el rendimiento. Es muy útil prevenir que se llame "
+"innecesariamente a un disparador de actualización de base de datos al "
+"volver a unir un grafo de instancias separadas a una <literal>Session</"
+"literal>."
-#. Tag: para
-#: basic_mapping.xml:412
-#, no-c-format
+#: index.docbook:412
msgid ""
"If you enable <literal>dynamic-update</literal>, you will have a choice of "
"optimistic locking strategies:"
msgstr ""
-"Si habilitas <literal>dynamic-update</literal>, tendrás opción de "
-"estrategias de bloqueo optimistas:"
+"Si habilitas <literal>dynamic-update</literal>, tendrás opción "
+"de estrategias de bloqueo optimistas:"
-#. Tag: para
-#: basic_mapping.xml:418
-#, no-c-format
+#: index.docbook:418
msgid "<literal>version</literal> check the version/timestamp columns"
-msgstr "<literal>version</literal> chequea las columnas de versión/timestamp"
+msgstr ""
+"<literal>version</literal> chequea las columnas de versión/timestamp"
-#. Tag: para
-#: basic_mapping.xml:423
-#, no-c-format
+#: index.docbook:423
msgid "<literal>all</literal> check all columns"
msgstr "<literal>all</literal> chequea todas las columnas"
-#. Tag: para
-#: basic_mapping.xml:428
-#, no-c-format
+#: index.docbook:428
msgid ""
"<literal>dirty</literal> check the changed columns, allowing some concurrent "
"updates"
@@ -893,15 +878,11 @@
"<literal>dirty</literal> chequea las columnas modificadas, permitiendo "
"algunas actualizaciones concurrentes"
-#. Tag: para
-#: basic_mapping.xml:433
-#, no-c-format
+#: index.docbook:433
msgid "<literal>none</literal> do not use optimistic locking"
msgstr "<literal>none</literal> no usa bloqueo optimista"
-#. Tag: para
-#: basic_mapping.xml:438
-#, no-c-format
+#: index.docbook:438
msgid ""
"We <emphasis>very</emphasis> strongly recommend that you use version/"
"timestamp columns for optimistic locking with Hibernate. This is the optimal "
@@ -910,14 +891,13 @@
"merge()</literal> is used)."
msgstr ""
"Recomendamos <emphasis>muy</emphasis> fuertemente que uses columnas de "
-"versión/timestamp para bloqueo optimista con Hibernate. Esta es la "
-"estrategia óptima con respecto al rendimiento y es la única estrategia que "
-"maneja correctamente las modificaciones hechas a las instancias separadas. "
-"(por ejemplo, cuando se usa <literal>Session.merge()</literal>)."
+"versión/timestamp para bloqueo optimista con Hibernate. Esta es la "
+"estrategia óptima con respecto al rendimiento y es la única "
+"estrategia que maneja correctamente las modificaciones hechas a las "
+"instancias separadas. (por ejemplo, cuando se usa <literal>Session.merge()</"
+"literal>)."
-#. Tag: para
-#: basic_mapping.xml:445
-#, no-c-format
+#: index.docbook:445
msgid ""
"There is no difference between a view and a base table for a Hibernate "
"mapping, as expected this is transparent at the database level (note that "
@@ -931,12 +911,10 @@
"que algunos DBMS no soportan correctamente las vistas, especialmente con las "
"actualizaciones). A veces quieres usar una vista, pero no puedes crear una "
"en la base de datos (por ejemplo, con un esquema heredado). En este caso, "
-"puedes mapear una entidad inmutable de sólo lectura a una expresión de "
-"subconsulta SQL dada."
+"puedes mapear una entidad inmutable de sólo lectura a una "
+"expresión de subconsulta SQL dada."
-#. Tag: programlisting
-#: basic_mapping.xml:453
-#, no-c-format
+#: index.docbook:453
msgid ""
"<![CDATA[<class name=\"Summary\">\n"
" <subselect>\n"
@@ -951,10 +929,20 @@
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Summary\">\n"
+" <subselect>\n"
+" select item.name, max(bid.amount), count(*)\n"
+" from item\n"
+" join bid on bid.item_id = item.id\n"
+" group by item.name\n"
+" </subselect>\n"
+" <synchronize table=\"item\"/>\n"
+" <synchronize table=\"bid\"/>\n"
+" <id name=\"name\"/>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:455
-#, no-c-format
+#: index.docbook:455
msgid ""
"Declare the tables to synchronize this entity with, ensuring that auto-flush "
"happens correctly, and that queries against the derived entity do not return "
@@ -964,18 +952,14 @@
"Declara las tablas con las que sincronizar esta entidad, asegurando que el "
"auto-flush ocurre correctamente, y que las consultas contra la entidad "
"derivada no devuelven datos desactualizados. El <literal><subselect></"
-"literal> está disponible tanto como un atributo o como un elemento anidado "
-"de mapeo."
+"literal> está disponible tanto como un atributo o como un elemento "
+"anidado de mapeo."
-#. Tag: title
-#: basic_mapping.xml:465
-#, no-c-format
+#: index.docbook:465
msgid "<title>id</title>"
-msgstr ""
+msgstr "<title>id</title>"
-#. Tag: para
-#: basic_mapping.xml:467
-#, no-c-format
+#: index.docbook:467
msgid ""
"Mapped classes <emphasis>must</emphasis> declare the primary key column of "
"the database table. Most classes will also have a JavaBeans-style property "
@@ -984,14 +968,12 @@
"column."
msgstr ""
"Las clases mapeadas <emphasis>deben</emphasis> declarar la columna de clave "
-"primaria de la tabla de la base de datos. En la mayoría de los casos tendrá "
-"también una propiedad estilo Javabeans que tenga el identificador único de "
-"una instancia. El elemento <literal><id></literal> define el mapeo de "
-"esa propiedad a la columna de clave primaria."
+"primaria de la tabla de la base de datos. En la mayoría de los casos "
+"tendrá también una propiedad estilo Javabeans que tenga el "
+"identificador único de una instancia. El elemento <literal><id>"
+"</literal> define el mapeo de esa propiedad a la columna de clave primaria."
-#. Tag: programlisting
-#: basic_mapping.xml:482
-#, no-c-format
+#: index.docbook:482
msgid ""
"<![CDATA[<id\n"
" name=\"propertyName\"\n"
@@ -1004,27 +986,31 @@
" <generator class=\"generatorClass\"/>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id\n"
+" name=\"propertyName\"\n"
+" type=\"typename\"\n"
+" column=\"column_name\"\n"
+" unsaved-value=\"null|any|none|undefined|id_value\"\n"
+" access=\"field|property|ClassName\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\">\n"
+"\n"
+" <generator class=\"generatorClass\"/>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:485
-#, no-c-format
+#: index.docbook:485
msgid ""
"<literal>name</literal> (optional): The name of the identifier property."
msgstr ""
"<literal>name</literal> (opcional): El nombre de la propiedad del "
"indentificador."
-#. Tag: para
-#: basic_mapping.xml:490
-#, no-c-format
+#: index.docbook:490
msgid ""
"<literal>type</literal> (optional): A name that indicates the Hibernate type."
msgstr ""
"<literal>type</literal> (opcional): Un nombre que indica el tipo Hibernate."
-#. Tag: para
-#: basic_mapping.xml:495
-#, no-c-format
+#: index.docbook:495
msgid ""
"<literal>column</literal> (optional - defaults to the property name): The "
"name of the primary key column."
@@ -1032,9 +1018,7 @@
"<literal>column</literal> (opcional - por defecto al nombre de la "
"propiedad): El nombre de la columna de clave primaria."
-#. Tag: para
-#: basic_mapping.xml:501
-#, no-c-format
+#: index.docbook:501
msgid ""
"<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" "
"value): An identifier property value that indicates that an instance is "
@@ -1043,59 +1027,23 @@
msgstr ""
"<literal>unsaved-value</literal> (opcional - por defecto al valor \"sensible"
"\"): Una valor de la propiedad identificadora que indica que una instancia "
-"está recién instanciada (sin salvar), distinguiéndola de instancias "
-"separadas que fueran salvadas o cargadas en una sesión previa."
+"está recién instanciada (sin salvar), distinguiéndola "
+"de instancias separadas que fueran salvadas o cargadas en una sesión "
+"previa."
-#. Tag: para
-#: basic_mapping.xml:509 basic_mapping.xml:1017 basic_mapping.xml:1156
-#: basic_mapping.xml:1238 basic_mapping.xml:1345 basic_mapping.xml:1534
-#: basic_mapping.xml:1708 basic_mapping.xml:1878 basic_mapping.xml:2457
-#, fuzzy, no-c-format
+#: index.docbook:509, index.docbook:1017, index.docbook:1156,
+#: index.docbook:1238, index.docbook:1345, index.docbook:1534,
+#: index.docbook:1708, index.docbook:1878, index.docbook:2457
msgid ""
"<literal>access</literal> (optional - defaults to <literal>property</"
"literal>): The strategy Hibernate should use for accessing the property "
"value."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>access</literal> (opcional - por defecto a <literal>property</"
"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (optional - defaults to <literal>property</"
-"literal>): The strategy Hibernate should use for accessing the property "
-"value.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
-"propiedad.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>access</literal> (opcional - por defecto a <literal>property</"
-"literal>): La estrategia que Hibernate debe usar para acceder al valor de la "
"propiedad."
-#. Tag: para
-#: basic_mapping.xml:517
-#, no-c-format
+#: index.docbook:517
msgid ""
"If the <literal>name</literal> attribute is missing, it is assumed that the "
"class has no identifier property."
@@ -1103,9 +1051,7 @@
"Si se omite el atributo <literal>name</literal>, se asume que la clase no "
"tiene propiedad identificadora."
-#. Tag: para
-#: basic_mapping.xml:522
-#, no-c-format
+#: index.docbook:522
msgid ""
"The <literal>unsaved-value</literal> attribute is almost never needed in "
"Hibernate3."
@@ -1114,27 +1060,21 @@
"identificadora de tu clase no tiene por defecto el valor por defecto normal "
"de Java (null o cero), entonces debes especificar el valor por defecto real."
-#. Tag: para
-#: basic_mapping.xml:526
-#, no-c-format
+#: index.docbook:526
msgid ""
"There is an alternative <literal><composite-id></literal> declaration "
"to allow access to legacy data with composite keys. We strongly discourage "
"its use for anything else."
msgstr ""
-"Hay una declaración <literal><composite-id></literal> alternativa para "
-"permitir acceso a datos heredados con claves compuestas. Desalentamos "
-"fuertemente su uso para cualquier otra cosa."
+"Hay una declaración <literal><composite-id></literal> "
+"alternativa para permitir acceso a datos heredados con claves compuestas. "
+"Desalentamos fuertemente su uso para cualquier otra cosa."
-#. Tag: title
-#: basic_mapping.xml:532
-#, no-c-format
+#: index.docbook:532
msgid "Generator"
msgstr "Generator"
-#. Tag: para
-#: basic_mapping.xml:534
-#, no-c-format
+#: index.docbook:534
msgid ""
"The optional <literal><generator></literal> child element names a Java "
"class used to generate unique identifiers for instances of the persistent "
@@ -1143,14 +1083,12 @@
"literal> element."
msgstr ""
"El elemento hijo opcional <literal><generator></literal> nombra una "
-"clase Java usada en generar identificadores únicos para instancias de la "
-"clase persistente. De requerirse algún parámetro para configurar o "
-"inicializar la instancia del generador, se pasa usando el elemento "
-"<literal><param></literal>."
+"clase Java usada en generar identificadores únicos para instancias de "
+"la clase persistente. De requerirse algún parámetro para "
+"configurar o inicializar la instancia del generador, se pasa usando el "
+"elemento <literal><param></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:541
-#, no-c-format
+#: index.docbook:541
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
" <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
@@ -1159,10 +1097,14 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+" <generator class=\"org.hibernate.id.TableHiLoGenerator\">\n"
+" <param name=\"table\">uid_table</param>\n"
+" <param name=\"column\">next_hi_value_column</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:543
-#, fuzzy, no-c-format
+#: index.docbook:543
msgid ""
"All generators implement the interface <literal>org.hibernate.id."
"IdentifierGenerator</literal>. This is a very simple interface; some "
@@ -1174,18 +1116,13 @@
"IdentifierGenerator</literal>. Esta es una interface muy simple; algunas "
"aplicaciones pueden escoger proveer sus propias implementaciones "
"especializadas. Sin embargo, Hibernate provee un rango de implementaciones "
-"prefabricadas. Hay nombres alias de atajo para los generadores "
-"prefabricados: <placeholder-1/>"
+"prefabricadas. Hay nombres alias de atajo para los generadores prefabricados:"
-#. Tag: literal
-#: basic_mapping.xml:551
-#, no-c-format
+#: index.docbook:551
msgid "increment"
msgstr "increment"
-#. Tag: para
-#: basic_mapping.xml:553
-#, no-c-format
+#: index.docbook:553
msgid ""
"generates identifiers of type <literal>long</literal>, <literal>short</"
"literal> or <literal>int</literal> that are unique only when no other "
@@ -1193,19 +1130,15 @@
"cluster.</emphasis>"
msgstr ""
"genera indentificadores de tipo <literal>long</literal>, <literal>short</"
-"literal> o <literal>int</literal> que sólo son únicos cuando ningún otro "
-"proceso está insertando datos en la misma tabla. <emphasis>No usar en un "
-"cluster.</emphasis>"
+"literal> o <literal>int</literal> que sólo son únicos cuando "
+"ningún otro proceso está insertando datos en la misma tabla. "
+"<emphasis>No usar en un cluster.</emphasis>"
-#. Tag: literal
-#: basic_mapping.xml:562
-#, no-c-format
+#: index.docbook:562
msgid "identity"
msgstr "identity"
-#. Tag: para
-#: basic_mapping.xml:564
-#, no-c-format
+#: index.docbook:564
msgid ""
"supports identity columns in DB2, MySQL, MS SQL Server, Sybase and "
"HypersonicSQL. The returned identifier is of type <literal>long</literal>, "
@@ -1215,15 +1148,11 @@
"HypersonicSQL. El identificador devuelto es de tipo <literal>long</literal>, "
"<literal>short</literal> o <literal>int</literal>."
-#. Tag: literal
-#: basic_mapping.xml:572
-#, no-c-format
+#: index.docbook:572
msgid "sequence"
msgstr "sequence"
-#. Tag: para
-#: basic_mapping.xml:574
-#, no-c-format
+#: index.docbook:574
msgid ""
"uses a sequence in DB2, PostgreSQL, Oracle, SAP DB, McKoi or a generator in "
"Interbase. The returned identifier is of type <literal>long</literal>, "
@@ -1233,15 +1162,11 @@
"en Interbase. El identificador devuelto es de tipo <literal>long</literal>, "
"<literal>short</literal> o <literal>int</literal>."
-#. Tag: literal
-#: basic_mapping.xml:582
-#, no-c-format
+#: index.docbook:582
msgid "hilo"
msgstr "hilo"
-#. Tag: para
-#: basic_mapping.xml:584
-#, no-c-format
+#: index.docbook:584
msgid ""
"uses a hi/lo algorithm to efficiently generate identifiers of type "
"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
@@ -1255,17 +1180,13 @@
"literal>, dada una tabla y columna como fuente de valores altos (por defecto "
"<literal>hibernate_unique_key</literal> y <literal>next_hi</literal> "
"respectivamente). El algoritmo alto/bajo genera identificadores que son "
-"únicos sólo para una base de datos particular."
+"únicos sólo para una base de datos particular."
-#. Tag: literal
-#: basic_mapping.xml:594
-#, no-c-format
+#: index.docbook:594
msgid "seqhilo"
msgstr "seqhilo"
-#. Tag: para
-#: basic_mapping.xml:596
-#, no-c-format
+#: index.docbook:596
msgid ""
"uses a hi/lo algorithm to efficiently generate identifiers of type "
"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
@@ -1275,46 +1196,34 @@
"tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
"literal>, dada una secuencia de base de datos."
-#. Tag: literal
-#: basic_mapping.xml:604
-#, no-c-format
+#: index.docbook:604
msgid "uuid"
msgstr "uuid"
-#. Tag: para
-#: basic_mapping.xml:606
-#, no-c-format
+#: index.docbook:606
msgid ""
"uses a 128-bit UUID algorithm to generate identifiers of type string, unique "
"within a network (the IP address is used). The UUID is encoded as a string "
"of hexadecimal digits of length 32."
msgstr ""
"usa un algoritmo UUID de 128 bits para generar identificadore de tipo "
-"cadena, únicos en una ref (se usa la direccón IP). El UUID se codifica como "
-"una cadena hexadecimal de 32 dígitos de largo."
+"cadena, únicos en una ref (se usa la direccón IP). El UUID se "
+"codifica como una cadena hexadecimal de 32 dígitos de largo."
-#. Tag: literal
-#: basic_mapping.xml:614
-#, no-c-format
+#: index.docbook:614
msgid "guid"
msgstr "guid"
-#. Tag: para
-#: basic_mapping.xml:616
-#, no-c-format
+#: index.docbook:616
msgid "uses a database-generated GUID string on MS SQL Server and MySQL."
msgstr ""
"usa una cadena GUID generada por base de datos en MS SQL Server y MySQL."
-#. Tag: literal
-#: basic_mapping.xml:622
-#, no-c-format
+#: index.docbook:622
msgid "native"
msgstr "native"
-#. Tag: para
-#: basic_mapping.xml:624
-#, no-c-format
+#: index.docbook:624
msgid ""
"picks <literal>identity</literal>, <literal>sequence</literal> or "
"<literal>hilo</literal> depending upon the capabilities of the underlying "
@@ -1324,68 +1233,52 @@
"<literal>hilo</literal> dependiendo de las capacidades de la base de datos "
"subyacente."
-#. Tag: literal
-#: basic_mapping.xml:632
-#, no-c-format
+#: index.docbook:632
msgid "assigned"
msgstr "assigned"
-#. Tag: para
-#: basic_mapping.xml:634
-#, no-c-format
+#: index.docbook:634
msgid ""
"lets the application to assign an identifier to the object before "
"<literal>save()</literal> is called. This is the default strategy if no "
"<literal><generator></literal> element is specified."
msgstr ""
-"deja a la aplicación asignar un identificador al objeto antes de que se "
-"llame a <literal>save()</literal>. Esta es la estrategia por defecto si no "
-"se especifica un elemento <literal><generator></literal>."
+"deja a la aplicación asignar un identificador al objeto antes de que "
+"se llame a <literal>save()</literal>. Esta es la estrategia por defecto si "
+"no se especifica un elemento <literal><generator></literal>."
-#. Tag: literal
-#: basic_mapping.xml:642
-#, no-c-format
+#: index.docbook:642
msgid "select"
msgstr "select"
-#. Tag: para
-#: basic_mapping.xml:644
-#, no-c-format
+#: index.docbook:644
msgid ""
"retrieves a primary key assigned by a database trigger by selecting the row "
"by some unique key and retrieving the primary key value."
msgstr ""
"recupera una clave primaria asignada por un disparador de base de datos "
-"seleccionando la fila por alguna clave única y recuperando el valor de la "
-"clave primaria."
+"seleccionando la fila por alguna clave única y recuperando el valor "
+"de la clave primaria."
-#. Tag: literal
-#: basic_mapping.xml:651
-#, no-c-format
+#: index.docbook:651
msgid "foreign"
msgstr "foreign"
-#. Tag: para
-#: basic_mapping.xml:653
-#, no-c-format
+#: index.docbook:653
msgid ""
"uses the identifier of another associated object. Usually used in "
"conjunction with a <literal><one-to-one></literal> primary key "
"association."
msgstr ""
"usa el identificador de otro objeto asociado. Generalmente usado en "
-"conjuncón a una asociacón de clave primaria <literal><uno-a-uno></"
-"literal>"
+"conjuncón a una asociacón de clave primaria <literal><uno-a-"
+"uno></literal>"
-#. Tag: literal
-#: basic_mapping.xml:660
-#, no-c-format
+#: index.docbook:660
msgid "sequence-identity"
msgstr "UNTRANSLATED! sequence-identity"
-#. Tag: para
-#: basic_mapping.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"a specialized sequence generation strategy which utilizes a database "
"sequence for the actual value generation, but combines this with JDBC3 "
@@ -1401,15 +1294,11 @@
"supported on Oracle 10g drivers targetted for JDK 1.4. Note comments on "
"these insert statements are disabled due to a bug in the Oracle drivers."
-#. Tag: title
-#: basic_mapping.xml:679
-#, no-c-format
+#: index.docbook:679
msgid "Hi/lo algorithm"
msgstr "Algoritmo alto/bajo"
-#. Tag: para
-#: basic_mapping.xml:680
-#, no-c-format
+#: index.docbook:680
msgid ""
"The <literal>hilo</literal> and <literal>seqhilo</literal> generators "
"provide two alternate implementations of the hi/lo algorithm, a favorite "
@@ -1419,14 +1308,12 @@
msgstr ""
"Los generadores <literal>hilo</literal> y <literal>seqhilo</literal> proveen "
"dos implementaciones alternativas del algoritmo alto/bajo, un enfoque "
-"favorito en generación de identificadores. La primera implementación "
-"requiere de una tabla \"especial\" de base de datos para tener el siguiente "
-"valor \"alto\" disponible. La segunda usa una secuencia del estilo de Oracle "
-"(donde se soporte)."
+"favorito en generación de identificadores. La primera "
+"implementación requiere de una tabla \"especial\" de base de datos "
+"para tener el siguiente valor \"alto\" disponible. La segunda usa una "
+"secuencia del estilo de Oracle (donde se soporte)."
-#. Tag: programlisting
-#: basic_mapping.xml:687
-#, no-c-format
+#: index.docbook:687
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
" <generator class=\"hilo\">\n"
@@ -1436,10 +1323,15 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+" <generator class=\"hilo\">\n"
+" <param name=\"table\">hi_value</param>\n"
+" <param name=\"column\">next_value</param>\n"
+" <param name=\"max_lo\">100</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:689
-#, no-c-format
+#: index.docbook:689
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
" <generator class=\"seqhilo\">\n"
@@ -1448,10 +1340,14 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"cat_id\">\n"
+" <generator class=\"seqhilo\">\n"
+" <param name=\"sequence\">hi_value</param>\n"
+" <param name=\"max_lo\">100</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:691
-#, no-c-format
+#: index.docbook:691
msgid ""
"Unfortunately, you can't use <literal>hilo</literal> when supplying your own "
"<literal>Connection</literal> to Hibernate. When Hibernate is using an "
@@ -1460,41 +1356,33 @@
"manager_lookup_class</literal>."
msgstr ""
"Desafortunadamente, no puedes usar <literal>hilo</literal> cuando le proveas "
-"tu propia <literal>Connection</literal> a Hibernate. Cuando Hibernate está "
-"usando un datasource del servidor de aplicaciones para obtener conexiones "
-"alistadas con JTA, debes configurar correctamente el <literal>hibernate."
-"transaction.manager_lookup_class</literal>."
+"tu propia <literal>Connection</literal> a Hibernate. Cuando Hibernate "
+"está usando un datasource del servidor de aplicaciones para obtener "
+"conexiones alistadas con JTA, debes configurar correctamente el "
+"<literal>hibernate.transaction.manager_lookup_class</literal>."
-#. Tag: title
-#: basic_mapping.xml:700
-#, no-c-format
+#: index.docbook:700
msgid "UUID algorithm"
msgstr "Algoritmo UUID"
-#. Tag: para
-#: basic_mapping.xml:701
-#, no-c-format
+#: index.docbook:701
msgid ""
"The UUID contains: IP address, startup time of the JVM (accurate to a "
"quarter second), system time and a counter value (unique within the JVM). "
"It's not possible to obtain a MAC address or memory address from Java code, "
"so this is the best we can do without using JNI."
msgstr ""
-"El UUID contiene: la dirección IP, el instante de arranque de la JVM (con "
-"una precisión de un cuarto de segundo), el tiempo de sistema y un valor de "
-"contador (único en la JVM). No es posible obtener una dirección MAC o una "
-"dirección de memoria desde código Java, así que esto es lo mejor que podemos "
-"hacer sin usar JNI."
+"El UUID contiene: la dirección IP, el instante de arranque de la JVM "
+"(con una precisión de un cuarto de segundo), el tiempo de sistema y "
+"un valor de contador (único en la JVM). No es posible obtener una "
+"dirección MAC o una dirección de memoria desde código "
+"Java, así que esto es lo mejor que podemos hacer sin usar JNI."
-#. Tag: title
-#: basic_mapping.xml:710
-#, no-c-format
+#: index.docbook:710
msgid "Identity columns and sequences"
msgstr "Columnas de identidad y secuencias"
-#. Tag: para
-#: basic_mapping.xml:711
-#, no-c-format
+#: index.docbook:711
msgid ""
"For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), "
"you may use <literal>identity</literal> key generation. For databases that "
@@ -1503,15 +1391,13 @@
"strategies require two SQL queries to insert a new object."
msgstr ""
"Para las bases de datos que soportan columnas de identidad (DB2, MySQL, "
-"Sybase, MS SQL), puedes usar generación de claves <literal>identity</"
+"Sybase, MS SQL), puedes usar generación de claves <literal>identity</"
"literal>. Para las bases de datos que soportan secuencias (DB2, Oracle, "
-"PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generación de claves "
-"del estilo <literal>sequence</literal>. Ambas estrategias requieren dos "
-"consultas SQL para insertar un nuevo objeto."
+"PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generación de "
+"claves del estilo <literal>sequence</literal>. Ambas estrategias requieren "
+"dos consultas SQL para insertar un nuevo objeto."
-#. Tag: programlisting
-#: basic_mapping.xml:719
-#, no-c-format
+#: index.docbook:719
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
" <generator class=\"sequence\">\n"
@@ -1519,20 +1405,25 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
+" <generator class=\"sequence\">\n"
+" <param name=\"sequence\">person_id_sequence</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:721
-#, no-c-format
+#: index.docbook:721
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0"
"\">\n"
" <generator class=\"identity\"/>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0"
+"\">\n"
+" <generator class=\"identity\"/>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:723
-#, no-c-format
+#: index.docbook:723
msgid ""
"For cross-platform development, the <literal>native</literal> strategy will "
"choose from the <literal>identity</literal>, <literal>sequence</literal> and "
@@ -1540,19 +1431,15 @@
"underlying database."
msgstr ""
"Para desarrollos multiplataforma, la estrategia <literal>native</literal> "
-"eiligirá de entre las estrategias <literal>identity</literal>, "
+"eiligirá de entre las estrategias <literal>identity</literal>, "
"<literal>sequence</literal> y <literal>hilo</literal>, dependiendo de las "
"capacidades de la base de datos subyacentes."
-#. Tag: title
-#: basic_mapping.xml:732
-#, no-c-format
+#: index.docbook:732
msgid "Assigned identifiers"
msgstr "Identificadores asignados"
-#. Tag: para
-#: basic_mapping.xml:733
-#, no-c-format
+#: index.docbook:733
msgid ""
"If you want the application to assign identifiers (as opposed to having "
"Hibernate generate them), you may use the <literal>assigned</literal> "
@@ -1562,17 +1449,15 @@
"default behavior if you do no specify a <literal><generator></literal> "
"element."
msgstr ""
-"Si quieres que la aplicación asigne los identificadores (en contraposición a "
-"que los genere Hibernate), puedes usar el generador <literal>assigned</"
-"literal>. Este generador especial usará el valor identificador ya asignado a "
-"la propiedad identificadora del objeto. Este generador se usa cuandola clave "
-"primaria es una clave natural en vez de una clave sustituta. Este es el "
-"comportamiento por defecto si no especificas un elemento <literal><"
-"generator></literal>."
+"Si quieres que la aplicación asigne los identificadores (en "
+"contraposición a que los genere Hibernate), puedes usar el generador "
+"<literal>assigned</literal>. Este generador especial usará el valor "
+"identificador ya asignado a la propiedad identificadora del objeto. Este "
+"generador se usa cuandola clave primaria es una clave natural en vez de una "
+"clave sustituta. Este es el comportamiento por defecto si no especificas un "
+"elemento <literal><generator></literal>."
-#. Tag: para
-#: basic_mapping.xml:742
-#, no-c-format
+#: index.docbook:742
msgid ""
"Choosing the <literal>assigned</literal> generator makes Hibernate use "
"<literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to "
@@ -1583,26 +1468,20 @@
"Elegir el generador <literal>assigned</literal> hace que Hibernate use "
"<literal>unsaved-value=\"undefined\"</literal>, forzando a Hibernate a ir a "
"la base de datos para determinar si una instancia es transitoria o separada, "
-"a menos que haya una propiedad de versión o timestamp, o que tu definas "
-"<literal>Interceptor.isUnsaved()</literal>."
+"a menos que haya una propiedad de versión o timestamp, o que tu "
+"definas <literal>Interceptor.isUnsaved()</literal>."
-#. Tag: title
-#: basic_mapping.xml:752
-#, no-c-format
+#: index.docbook:752
msgid "Primary keys assigned by triggers"
msgstr "Claves primarias asignadas por disparadores"
-#. Tag: para
-#: basic_mapping.xml:753
-#, no-c-format
+#: index.docbook:753
msgid ""
"For legacy schemas only (Hibernate does not generate DDL with triggers)."
msgstr ""
"Para esquemas heredados solamente (Hibernate no genera DDL con disparadores)."
-#. Tag: programlisting
-#: basic_mapping.xml:757
-#, no-c-format
+#: index.docbook:757
msgid ""
"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
" <generator class=\"select\">\n"
@@ -1610,30 +1489,29 @@
" </generator>\n"
"</id>]]>"
msgstr ""
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
+" <generator class=\"select\">\n"
+" <param name=\"key\">socialSecurityNumber</param>\n"
+" </generator>\n"
+"</id>]]>"
-#. Tag: para
-#: basic_mapping.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"In the above example, there is a unique valued property named "
"<literal>socialSecurityNumber</literal> defined by the class, as a natural "
"key, and a surrogate key named <literal>person_id</literal> whose value is "
"generated by a trigger."
msgstr ""
-"En el ejemplo de arriba, hay una propiedad ánica llamada "
+"En el ejemplo de arriba, hay una propiedad ánica llamada "
"<literal>socialSecurityNumber</literal> definida por la clase, como una "
"clave natural, y una clave sustituta llamada <literal>person_id</literal> "
"cuyo valor es generado por un disparador."
-#. Tag: title
-#: basic_mapping.xml:771
-#, no-c-format
+#: index.docbook:771
msgid "Enhanced identifier generators"
msgstr "Enhanced identifier generators"
-#. Tag: para
-#: basic_mapping.xml:773
-#, no-c-format
+#: index.docbook:773
msgid ""
"Starting with release 3.2.3, there are 2 new generators which represent a re-"
"thinking of 2 different aspects of identifier generation. The first aspect "
@@ -1651,9 +1529,7 @@
"described above (starting in 3.3.x); however, they are included in the "
"current releases and can be referenced by FQN."
-#. Tag: para
-#: basic_mapping.xml:781
-#, fuzzy, no-c-format
+#: index.docbook:781
msgid ""
"The first of these new generators is <literal>org.hibernate.id.enhanced."
"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
@@ -1685,12 +1561,9 @@
"The difference between this and <literal>native</literal> is that table-"
"based and sequence-based storage have the same exact semantic (in fact "
"sequences are exactly what Hibernate tries to emmulate with its table-based "
-"generators). This generator has a number of configuration parameters: "
-"<placeholder-1/>"
+"generators). This generator has a number of configuration parameters:"
-#. Tag: para
-#: basic_mapping.xml:795
-#, no-c-format
+#: index.docbook:795
msgid ""
"<literal>sequence_name</literal> (optional, defaults to "
"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
@@ -1700,9 +1573,7 @@
"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
"to be used."
-#. Tag: para
-#: basic_mapping.xml:801
-#, no-c-format
+#: index.docbook:801
msgid ""
"<literal>initial_value</literal> (optional, defaults to <literal>1</"
"literal>): The initial value to be retrieved from the sequence/table. In "
@@ -1714,9 +1585,7 @@
"sequence creation terms, this is analogous to the clause typical named "
"\"STARTS WITH\"."
-#. Tag: para
-#: basic_mapping.xml:808
-#, no-c-format
+#: index.docbook:808
msgid ""
"<literal>increment_size</literal> (optional, defaults to <literal>1</"
"literal>): The value by which subsequent calls to the sequence/table should "
@@ -1728,9 +1597,7 @@
"differ. In sequence creation terms, this is analogous to the clause typical "
"named \"INCREMENT BY\"."
-#. Tag: para
-#: basic_mapping.xml:815
-#, no-c-format
+#: index.docbook:815
msgid ""
"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
"literal>): Should we force the use of a table as the backing structure even "
@@ -1740,9 +1607,7 @@
"literal>): Should we force the use of a table as the backing structure even "
"though the dialect might support sequence?"
-#. Tag: para
-#: basic_mapping.xml:822
-#, no-c-format
+#: index.docbook:822
msgid ""
"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
"literal>): Only relevant for table structures! The name of the column on the "
@@ -1752,19 +1617,15 @@
"literal>): Only relevant for table structures! The name of the column on the "
"table which is used to hold the value."
-#. Tag: para
-#: basic_mapping.xml:829
-#, fuzzy, no-c-format
+#: index.docbook:829
msgid ""
"<literal>optimizer</literal> (optional, defaults to <literal>none</"
"literal>): See"
msgstr ""
-"<literal>cascade</literal> (opcional- por defecto a <literal>none</"
-"literal>): el estilo de cascada."
+"<literal>optimizer</literal> (optional, defaults to <literal>none</"
+"literal>): See"
-#. Tag: para
-#: basic_mapping.xml:836
-#, fuzzy, no-c-format
+#: index.docbook:836
msgid ""
"The second of these new generators is <literal>org.hibernate.id.enhanced."
"TableGenerator</literal> which is intended firstly as a replacement for the "
@@ -1786,11 +1647,9 @@
"optimiziers. Essentially this generator defines a table capable of holding a "
"number of different increment values simultaneously by using multiple "
"distinctly keyed rows. This generator has a number of configuration "
-"parameters: <placeholder-1/>"
+"parameters:"
-#. Tag: para
-#: basic_mapping.xml:846
-#, no-c-format
+#: index.docbook:846
msgid ""
"<literal>table_name</literal> (optional, defaults to "
"<literal>hibernate_sequences</literal>): The name of the table to be used."
@@ -1798,9 +1657,7 @@
"<literal>table_name</literal> (optional, defaults to "
"<literal>hibernate_sequences</literal>): The name of the table to be used."
-#. Tag: para
-#: basic_mapping.xml:852
-#, no-c-format
+#: index.docbook:852
msgid ""
"<literal>value_column_name</literal> (optional, defaults to "
"<literal>next_val</literal>): The name of the column on the table which is "
@@ -1810,9 +1667,7 @@
"<literal>next_val</literal>): The name of the column on the table which is "
"used to hold the value."
-#. Tag: para
-#: basic_mapping.xml:858
-#, no-c-format
+#: index.docbook:858
msgid ""
"<literal>segment_column_name</literal> (optional, defaults to "
"<literal>sequence_name</literal>): The name of the column on the table which "
@@ -1824,9 +1679,7 @@
"is used to hold the \"segement key\". This is the value which distinctly "
"identifies which increment value to use."
-#. Tag: para
-#: basic_mapping.xml:865
-#, no-c-format
+#: index.docbook:865
msgid ""
"<literal>segment_value</literal> (optional, defaults to <literal>default</"
"literal>): The \"segment key\" value for the segment from which we want to "
@@ -1836,9 +1689,7 @@
"literal>): The \"segment key\" value for the segment from which we want to "
"pull increment values for this generator."
-#. Tag: para
-#: basic_mapping.xml:872
-#, no-c-format
+#: index.docbook:872
msgid ""
"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
"literal>): Used for schema generation; the column size to create this "
@@ -1848,9 +1699,7 @@
"literal>): Used for schema generation; the column size to create this "
"segment key column."
-#. Tag: para
-#: basic_mapping.xml:878
-#, no-c-format
+#: index.docbook:878
msgid ""
"<literal>initial_value</literal> (optional, defaults to <literal>1</"
"literal>): The initial value to be retrieved from the table."
@@ -1858,9 +1707,7 @@
"<literal>initial_value</literal> (optional, defaults to <literal>1</"
"literal>): The initial value to be retrieved from the table."
-#. Tag: para
-#: basic_mapping.xml:884
-#, no-c-format
+#: index.docbook:884
msgid ""
"<literal>increment_size</literal> (optional, defaults to <literal>1</"
"literal>): The value by which subsequent calls to the table should differ."
@@ -1868,24 +1715,17 @@
"<literal>increment_size</literal> (optional, defaults to <literal>1</"
"literal>): The value by which subsequent calls to the table should differ."
-#. Tag: para
-#: basic_mapping.xml:890
-#, fuzzy, no-c-format
+#: index.docbook:890
msgid ""
"<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
msgstr ""
-"<literal>cascade</literal> (opcional- por defecto a <literal>none</"
-"literal>): el estilo de cascada."
+"<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
-#. Tag: title
-#: basic_mapping.xml:900
-#, no-c-format
+#: index.docbook:900
msgid "Identifier generator optimization"
msgstr "Identifier generator optimization"
-#. Tag: para
-#: basic_mapping.xml:901
-#, fuzzy, no-c-format
+#: index.docbook:901
msgid ""
"For identifier generators which store values in the database, it is "
"inefficient for them to hit the database on each and every call to generate "
@@ -1901,11 +1741,9 @@
"in memory and only hit the database when you have exhausted your in-memory "
"value group. This is the role of the pluggable optimizers. Currently only "
"the two enhanced generators (<xref linkend=\"mapping-declaration-id-enhanced"
-"\"/> support this notion. <placeholder-1/>"
+"\"/> support this notion."
-#. Tag: para
-#: basic_mapping.xml:909
-#, no-c-format
+#: index.docbook:909
msgid ""
"<literal>none</literal> (generally this is the default if no optimizer was "
"specified): This says to not perform any optimizations, and hit the database "
@@ -1915,9 +1753,7 @@
"specified): This says to not perform any optimizations, and hit the database "
"each and every request."
-#. Tag: para
-#: basic_mapping.xml:915
-#, no-c-format
+#: index.docbook:915
msgid ""
"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
"retrieved values. The values from the database for this optimizer are "
@@ -1933,9 +1769,7 @@
"<literal>increment_size</literal> is multiplied by that value in memory to "
"define a group \"hi value\"."
-#. Tag: para
-#: basic_mapping.xml:924
-#, no-c-format
+#: index.docbook:924
msgid ""
"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
"this optimizers attempts to minimize the number of hits to the database. "
@@ -1951,15 +1785,11 @@
"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
"refers to the values coming from the database."
-#. Tag: title
-#: basic_mapping.xml:937
-#, no-c-format
+#: index.docbook:937
msgid "composite-id"
msgstr "composite-id"
-#. Tag: programlisting
-#: basic_mapping.xml:939
-#, no-c-format
+#: index.docbook:939
msgid ""
"<![CDATA[<composite-id\n"
" name=\"propertyName\"\n"
@@ -1975,35 +1805,46 @@
" ......\n"
"</composite-id>]]>"
msgstr ""
+"<![CDATA[<composite-id\n"
+" name=\"propertyName\"\n"
+" class=\"ClassName\"\n"
+" unsaved-value=\"undefined|any|none\"\n"
+" access=\"field|property|ClassName\"\n"
+" node=\"element-name|.\">\n"
+"\n"
+" <key-property name=\"propertyName\" type=\"typename\" column="
+"\"column_name\"/>\n"
+" <key-many-to-one name=\"propertyName class=\"ClassName\" column="
+"\"column_name\"/>\n"
+" ......\n"
+"</composite-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:941
-#, no-c-format
+#: index.docbook:941
msgid ""
"For a table with a composite key, you may map multiple properties of the "
"class as identifier properties. The <literal><composite-id></literal> "
"element accepts <literal><key-property></literal> property mappings "
"and <literal><key-many-to-one></literal> mappings as child elements."
msgstr ""
-"Para una tabla con clave compuesta, puedes mapear múltiples propiedades de "
-"la clase como propiedades identificadoras. El elemento <literal><"
-"composite-id></literal> acepta los mapeos de propiedad <literal><key-"
-"property></literal> y los mapeos <literal><key-many-to-one></"
-"literal> como elementos hijo."
+"Para una tabla con clave compuesta, puedes mapear múltiples "
+"propiedades de la clase como propiedades identificadoras. El elemento "
+"<literal><composite-id></literal> acepta los mapeos de propiedad "
+"<literal><key-property></literal> y los mapeos <literal><key-many-"
+"to-one></literal> como elementos hijo."
-#. Tag: programlisting
-#: basic_mapping.xml:948
-#, no-c-format
+#: index.docbook:948
msgid ""
"<![CDATA[<composite-id>\n"
" <key-property name=\"medicareNumber\"/>\n"
" <key-property name=\"dependent\"/>\n"
"</composite-id>]]>"
msgstr ""
+"<![CDATA[<composite-id>\n"
+" <key-property name=\"medicareNumber\"/>\n"
+" <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:950
-#, no-c-format
+#: index.docbook:950
msgid ""
"Your persistent class <emphasis>must</emphasis> override <literal>equals()</"
"literal> and <literal>hashCode()</literal> to implement composite identifier "
@@ -2011,12 +1852,10 @@
msgstr ""
"Tu clase persistente <emphasis>debe</emphasis> sobreescribir <literal>equals"
"()</literal> y <literal>hashCode()</literal> para implementar igualdad de "
-"identificador compuesto. Debe también implementar <literal>Serializable</"
-"literal>."
+"identificador compuesto. Debe también implementar "
+"<literal>Serializable</literal>."
-#. Tag: para
-#: basic_mapping.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"Unfortunately, this approach to composite identifiers means that a "
"persistent object is its own identifier. There is no convenient \"handle\" "
@@ -2028,17 +1867,15 @@
msgstr ""
"Desafortunadamente, este enfoque de identificadores compuestos significa que "
"un objeto persistente es su propio identificador. No existe otra \"asa\" "
-"conveniente más que el objeto mismo. Debes instanciar una instancia de la "
-"clase misma y poblar sus propiedades identificadoras antes que puedas "
+"conveniente más que el objeto mismo. Debes instanciar una instancia "
+"de la clase misma y poblar sus propiedades identificadoras antes que puedas "
"<literal>load()</literal> el estado persistente asociado a una clave "
-"compuesta. Describiremos un enfoque mucho más conveniente donde el "
-"identificador compuesto está implementado como una clase separada en <xref "
-"linkend=\"components-compositeid\"/>. Los atributos descriptos debajo "
+"compuesta. Describiremos un enfoque mucho más conveniente donde el "
+"identificador compuesto está implementado como una clase separada en "
+"<xref linkend=\"components-compositeid\"/>. Los atributos descriptos debajo "
"solamente se aplican a este enfoque alternativo:"
-#. Tag: para
-#: basic_mapping.xml:965
-#, no-c-format
+#: index.docbook:965
msgid ""
"A second approach is what we call a <emphasis>mapped</emphasis> composite "
"identifier, where the identifier properties named inside the <literal><"
@@ -2050,19 +1887,19 @@
"composite-id></literal> element are duplicated on both the persistent "
"class and a separate identifier class."
-#. Tag: programlisting
-#: basic_mapping.xml:971
-#, no-c-format
+#: index.docbook:971
msgid ""
"<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
" <key-property name=\"medicareNumber\"/>\n"
" <key-property name=\"dependent\"/>\n"
"</composite-id>]]>"
msgstr ""
+"<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
+" <key-property name=\"medicareNumber\"/>\n"
+" <key-property name=\"dependent\"/>\n"
+" </composite-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:973
-#, no-c-format
+#: index.docbook:973
msgid ""
"In this example, both the composite identifier class, <literal>MedicareId</"
"literal>, and the entity class itself have properties named "
@@ -2080,17 +1917,13 @@
"literal>. The disadvantage of this approach is quite obvious—code "
"duplication."
-#. Tag: para
-#: basic_mapping.xml:982
-#, no-c-format
+#: index.docbook:982
msgid ""
"The following attributes are used to specify a mapped composite identifier:"
msgstr ""
"The following attributes are used to specify a mapped composite identifier:"
-#. Tag: para
-#: basic_mapping.xml:988
-#, no-c-format
+#: index.docbook:988
msgid ""
"<literal>mapped</literal> (optional, defaults to <literal>false</literal>): "
"indicates that a mapped composite identifier is used, and that the contained "
@@ -2102,9 +1935,7 @@
"property mappings refer to both the entity class and the composite "
"identifier class."
-#. Tag: para
-#: basic_mapping.xml:996
-#, no-c-format
+#: index.docbook:996
msgid ""
"<literal>class</literal> (optional, but required for a mapped composite "
"identifier): The class used as a composite identifier."
@@ -2112,9 +1943,7 @@
"<literal>class</literal> (optional, but required for a mapped composite "
"identifier): The class used as a composite identifier."
-#. Tag: para
-#: basic_mapping.xml:1003
-#, no-c-format
+#: index.docbook:1003
msgid ""
"We will describe a third, even more convenient approach where the composite "
"identifier is implemented as a component class in <xref linkend=\"components-"
@@ -2126,31 +1955,25 @@
"compositeid\"/>. The attributes described below apply only to this "
"alternative approach:"
-#. Tag: para
-#: basic_mapping.xml:1011
-#, no-c-format
+#: index.docbook:1011
msgid ""
"<literal>name</literal> (optional, required for this approach): A property "
"of component type that holds the composite identifier (see chapter 9)."
msgstr ""
"<literal>name</literal> (opcional): Una propiedad de tipo componente que "
-"tiene el identificador compuesto (ver siguiente sección)."
+"tiene el identificador compuesto (ver siguiente sección)."
-#. Tag: para
-#: basic_mapping.xml:1023
-#, no-c-format
+#: index.docbook:1023
msgid ""
"<literal>class</literal> (optional - defaults to the property type "
"determined by reflection): The component class used as a composite "
"identifier (see next section)."
msgstr ""
"<literal>class</literal> (opcional - por defecto al tipo de la propiedad "
-"determinado por reflección): La clase del componente usado como "
-"identificador compuesto (ver siguiente sección)."
+"determinado por reflección): La clase del componente usado como "
+"identificador compuesto (ver siguiente sección)."
-#. Tag: para
-#: basic_mapping.xml:1030
-#, no-c-format
+#: index.docbook:1030
msgid ""
"This third approach, an <emphasis>identifier component</emphasis> is the one "
"we recommend for almost all applications."
@@ -2158,15 +1981,11 @@
"This third approach, an <emphasis>identifier component</emphasis> is the one "
"we recommend for almost all applications."
-#. Tag: title
-#: basic_mapping.xml:1038
-#, no-c-format
+#: index.docbook:1038
msgid "discriminator"
msgstr "discriminator"
-#. Tag: para
-#: basic_mapping.xml:1040
-#, no-c-format
+#: index.docbook:1040
msgid ""
"The <literal><discriminator></literal> element is required for "
"polymorphic persistence using the table-per-class-hierarchy mapping strategy "
@@ -2179,18 +1998,16 @@
"literal>."
msgstr ""
"El elemento <literal><discriminator></literal> es requerido para la "
-"persistencia polimórfica usando la estrategia de mapeo de tabla-por-"
-"jerarquía-de-clases y declara una columna discriminadora de la tabla. La "
-"columna discriminidora contiene valores de marca que le dicen a la capa de "
-"persistencia qué subclase instanciar para una fila en particular. Un "
-"conjunto restringido de tipos puede ser usado: <literal>string</literal>, "
+"persistencia polimórfica usando la estrategia de mapeo de tabla-por-"
+"jerarquía-de-clases y declara una columna discriminadora de la tabla. "
+"La columna discriminidora contiene valores de marca que le dicen a la capa "
+"de persistencia qué subclase instanciar para una fila en particular. "
+"Un conjunto restringido de tipos puede ser usado: <literal>string</literal>, "
"<literal>character</literal>, <literal>integer</literal>, <literal>byte</"
"literal>, <literal>short</literal>, <literal>boolean</literal>, "
"<literal>yes_no</literal>, <literal>true_false</literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:1058
-#, no-c-format
+#: index.docbook:1058
msgid ""
"<![CDATA[<discriminator\n"
" column=\"discriminator_column\"\n"
@@ -2200,10 +2017,15 @@
" formula=\"arbitrary sql expression\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<discriminator\n"
+" column=\"discriminator_column\"\n"
+" type=\"discriminator_type\"\n"
+" force=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" formula=\"arbitrary sql expression\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1061
-#, no-c-format
+#: index.docbook:1061
msgid ""
"<literal>column</literal> (optional - defaults to <literal>class</literal>) "
"the name of the discriminator column."
@@ -2211,9 +2033,7 @@
"<literal>column</literal> (opcional - por defecto a <literal>class</"
"literal>) el nombre de la columna discriminadora."
-#. Tag: para
-#: basic_mapping.xml:1067
-#, no-c-format
+#: index.docbook:1067
msgid ""
"<literal>type</literal> (optional - defaults to <literal>string</literal>) a "
"name that indicates the Hibernate type"
@@ -2221,9 +2041,7 @@
"<literal>type</literal> (opcional - por defecto a <literal>string</literal>) "
"un nombre que indique el tipo Hibernate"
-#. Tag: para
-#: basic_mapping.xml:1073
-#, no-c-format
+#: index.docbook:1073
msgid ""
"<literal>force</literal> (optional - defaults to <literal>false</literal>) "
"\"force\" Hibernate to specify allowed discriminator values even when "
@@ -2231,11 +2049,9 @@
msgstr ""
"<literal>force</literal> (optconal - por defecto a <literal>false</literal>) "
"\"fuerza\" a Hibernate a especificar valores discriminadores permitidos "
-"incluso cuando se recuperan todas las instancias de la clase raíz."
+"incluso cuando se recuperan todas las instancias de la clase raíz."
-#. Tag: para
-#: basic_mapping.xml:1080
-#, no-c-format
+#: index.docbook:1080
msgid ""
"<literal>insert</literal> (optional - defaults to <literal>true</literal>) "
"set this to <literal>false</literal> if your discriminator column is also "
@@ -2244,85 +2060,73 @@
msgstr ""
"<literal>insert</literal> (opcional - por defecto a <literal>true</literal>) "
"establezca este a <literal>false</literal> si tu columna discriminadora es "
-"también parte de un identificador mapeado compuesto. (Le dice a Hibernate "
-"que no incluya la columna en los SQL <literal>INSERT</literal>s.)"
+"también parte de un identificador mapeado compuesto. (Le dice a "
+"Hibernate que no incluya la columna en los SQL <literal>INSERT</literal>s.)"
-#. Tag: para
-#: basic_mapping.xml:1088
-#, no-c-format
+#: index.docbook:1088
msgid ""
"<literal>formula</literal> (optional) an arbitrary SQL expression that is "
"executed when a type has to be evaluated. Allows content-based "
"discrimination."
msgstr ""
-"<literal>formula</literal> (opcional) una expresión SQL arbitraria que es "
-"ejecutada cuando un tipo tenga que ser evaluado. Permite dicriminación "
-"basada en el contenido."
+"<literal>formula</literal> (opcional) una expresión SQL arbitraria "
+"que es ejecutada cuando un tipo tenga que ser evaluado. Permite "
+"dicriminación basada en el contenido."
-#. Tag: para
-#: basic_mapping.xml:1096
-#, no-c-format
+#: index.docbook:1096
msgid ""
"Actual values of the discriminator column are specified by the "
"<literal>discriminator-value</literal> attribute of the <literal><"
"class></literal> and <literal><subclass></literal> elements."
msgstr ""
-"Los valores reales de la columna discriminadora están especificados por el "
-"atributo <literal>discriminator-value</literal> de los elementos "
+"Los valores reales de la columna discriminadora están especificados "
+"por el atributo <literal>discriminator-value</literal> de los elementos "
"<literal><class></literal> y <literal><subclass></literal>."
-#. Tag: para
-#: basic_mapping.xml:1102
-#, no-c-format
+#: index.docbook:1102
msgid ""
"The <literal>force</literal> attribute is (only) useful if the table "
"contains rows with \"extra\" discriminator values that are not mapped to a "
"persistent class. This will not usually be the case."
msgstr ""
-"El atributo <literal>force</literal> es (sólo) útil si la tabla contiene "
-"filas con valores discriminadores \"extra\" que no están mapeados a la clase "
-"persistente. Generalmente este no es el caso."
+"El atributo <literal>force</literal> es (sólo) útil si la "
+"tabla contiene filas con valores discriminadores \"extra\" que no está"
+"n mapeados a la clase persistente. Generalmente este no es el caso."
-#. Tag: para
-#: basic_mapping.xml:1108
-#, no-c-format
+#: index.docbook:1108
msgid ""
"Using the <literal>formula</literal> attribute you can declare an arbitrary "
"SQL expression that will be used to evaluate the type of a row:"
msgstr ""
-"Usando el atributo <literal>formula</literal> puedes declarar una expresión "
-"SQL arbitraria que será usada para evaluar el tipo de una fila:"
+"Usando el atributo <literal>formula</literal> puedes declarar una "
+"expresión SQL arbitraria que será usada para evaluar el tipo "
+"de una fila:"
-#. Tag: programlisting
-#: basic_mapping.xml:1113
-#, no-c-format
+#: index.docbook:1113
msgid ""
"<![CDATA[<discriminator\n"
" formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
" type=\"integer\"/>]]>"
msgstr ""
+"<![CDATA[<discriminator\n"
+" formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
+" type=\"integer\"/>]]>"
-#. Tag: title
-#: basic_mapping.xml:1118
-#, no-c-format
+#: index.docbook:1118
msgid "version (optional)"
msgstr "version (opcional)"
-#. Tag: para
-#: basic_mapping.xml:1120
-#, no-c-format
+#: index.docbook:1120
msgid ""
"The <literal><version></literal> element is optional and indicates "
"that the table contains versioned data. This is particularly useful if you "
"plan to use <emphasis>long transactions</emphasis> (see below)."
msgstr ""
"El elemento <literal><version></literal> es opcional e indica que la "
-"tabla contiene datos versionados. Esto es particularmente útil si planeas "
-"usar <emphasis>transacciones largas</emphasis> (ver debajo)."
+"tabla contiene datos versionados. Esto es particularmente útil si "
+"planeas usar <emphasis>transacciones largas</emphasis> (ver debajo)."
-#. Tag: programlisting
-#: basic_mapping.xml:1136
-#, no-c-format
+#: index.docbook:1136
msgid ""
"<![CDATA[<version\n"
" column=\"version_column\"\n"
@@ -2335,38 +2139,39 @@
" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<version\n"
+" column=\"version_column\"\n"
+" name=\"propertyName\"\n"
+" type=\"typename\"\n"
+" access=\"field|property|ClassName\"\n"
+" unsaved-value=\"null|negative|undefined\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1139
-#, no-c-format
+#: index.docbook:1139
msgid ""
"<literal>column</literal> (optional - defaults to the property name): The "
"name of the column holding the version number."
msgstr ""
"<literal>column</literal> (opcional - por defecto al nombre de la "
-"propiedad): El nombre de la columna que tiene el número de versión."
+"propiedad): El nombre de la columna que tiene el número de "
+"versión."
-#. Tag: para
-#: basic_mapping.xml:1145
-#, no-c-format
+#: index.docbook:1145
msgid ""
"<literal>name</literal>: The name of a property of the persistent class."
msgstr ""
"<literal>name</literal>: El nombre de una propiedad de la clase persistente."
-#. Tag: para
-#: basic_mapping.xml:1150
-#, no-c-format
+#: index.docbook:1150
msgid ""
"<literal>type</literal> (optional - defaults to <literal>integer</literal>): "
"The type of the version number."
msgstr ""
"<literal>type</literal> (opcional - por defecto a <literal>integer</"
-"literal>): El tipo del nú.mero de vesión."
+"literal>): El tipo del nú.mero de vesión."
-#. Tag: para
-#: basic_mapping.xml:1162
-#, no-c-format
+#: index.docbook:1162
msgid ""
"<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</"
"literal>): A version property value that indicates that an instance is newly "
@@ -2375,15 +2180,13 @@
"specifies that the identifier property value should be used.)"
msgstr ""
"<literal>unsaved-value</literal> (opcional - por defecto a "
-"<literal>undefined</literal>): Un valor de la propiedad de versión que "
-"indica que una instancia está recién instanciada (sin guardar), "
-"distinguiéndola de instancias separadas que fueran guardadas o cargadas en "
-"una sesión previa. (<literal>undefined</literal> especifica que debe usarse "
-"el valor de la propiedad identificadora.)"
+"<literal>undefined</literal>): Un valor de la propiedad de versión "
+"que indica que una instancia está recién instanciada (sin "
+"guardar), distinguiéndola de instancias separadas que fueran "
+"guardadas o cargadas en una sesión previa. (<literal>undefined</"
+"literal> especifica que debe usarse el valor de la propiedad identificadora.)"
-#. Tag: para
-#: basic_mapping.xml:1171
-#, no-c-format
+#: index.docbook:1171
msgid ""
"<literal>generated</literal> (optional - defaults to <literal>never</"
"literal>): Specifies that this version property value is actually generated "
@@ -2395,9 +2198,7 @@
"actually generated by the database. See the discussion of <link linkend="
"\"mapping-generated\">generated properties</link>."
-#. Tag: para
-#: basic_mapping.xml:1178
-#, no-c-format
+#: index.docbook:1178
msgid ""
"<literal>insert</literal> (optional - defaults to <literal>true</literal>): "
"Specifies whether the version column should be included in SQL insert "
@@ -2410,21 +2211,17 @@
"and only if the database column is defined with a default value of "
"<literal>0</literal>."
-#. Tag: para
-#: basic_mapping.xml:1188
-#, no-c-format
+#: index.docbook:1188
msgid ""
"Version numbers may be of Hibernate type <literal>long</literal>, "
"<literal>integer</literal>, <literal>short</literal>, <literal>timestamp</"
"literal> or <literal>calendar</literal>."
msgstr ""
-"Los números de versión deben ser de tipo <literal>long</literal>, "
-"<literal>integer</literal>, <literal>short</literal>, <literal>timestamp</"
-"literal> o <literal>calendar</literal> de Hibernate."
+"Los números de versión deben ser de tipo <literal>long</"
+"literal>, <literal>integer</literal>, <literal>short</literal>, "
+"<literal>timestamp</literal> o <literal>calendar</literal> de Hibernate."
-#. Tag: para
-#: basic_mapping.xml:1193
-#, no-c-format
+#: index.docbook:1193
msgid ""
"A version or timestamp property should never be null for a detached "
"instance, so Hibernate will detect any instance with a null version or "
@@ -2434,24 +2231,20 @@
"reattachment in Hibernate, especially useful for people using assigned "
"identifiers or composite keys!</emphasis>"
msgstr ""
-"Una propiedad de versión o timestamp nunca debe ser nula para una instancia "
-"separada, de modo que Hibernate detectará cualquier instancia con una "
-"versión o timestamp nulo como transitoria, sin importar qué otras "
-"estrategias <literal>unsaved-value</literal> se hayan especificado. "
-"<emphasis>Declarar una propiedad de versón o timestamp nulable es una forma "
-"fácil de evitar cualquier problema con la re-unión transitiva en Hibernate, "
-"especialmente útil para que usa identificadores asignados o claves "
-"compuestas!</emphasis>"
+"Una propiedad de versión o timestamp nunca debe ser nula para una "
+"instancia separada, de modo que Hibernate detectará cualquier "
+"instancia con una versión o timestamp nulo como transitoria, sin "
+"importar qué otras estrategias <literal>unsaved-value</literal> se "
+"hayan especificado. <emphasis>Declarar una propiedad de versón o "
+"timestamp nulable es una forma fácil de evitar cualquier problema con "
+"la re-unión transitiva en Hibernate, especialmente útil para "
+"que usa identificadores asignados o claves compuestas!</emphasis>"
-#. Tag: title
-#: basic_mapping.xml:1204
-#, no-c-format
+#: index.docbook:1204
msgid "timestamp (optional)"
msgstr "timestamp (opcional)"
-#. Tag: para
-#: basic_mapping.xml:1206
-#, no-c-format
+#: index.docbook:1206
msgid ""
"The optional <literal><timestamp></literal> element indicates that the "
"table contains timestamped data. This is intended as an alternative to "
@@ -2462,12 +2255,11 @@
"El elemento opcional <literal><timestamp></literal> indica que la "
"tabla contiene datos con sellos de tiempo. Esto esta concebido como una "
"alternativa al versionado. Los timestamps (sellos de tiempo) son por su "
-"naturaleza una implementación menos segura de bloqueo optimista. Sin "
-"embrago, a veces la aplicación puede usar los timestamps en otras formas."
+"naturaleza una implementación menos segura de bloqueo optimista. Sin "
+"embrago, a veces la aplicación puede usar los timestamps en otras "
+"formas."
-#. Tag: programlisting
-#: basic_mapping.xml:1222
-#, no-c-format
+#: index.docbook:1222
msgid ""
"<![CDATA[<timestamp\n"
" column=\"timestamp_column\"\n"
@@ -2479,10 +2271,15 @@
" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<timestamp\n"
+" column=\"timestamp_column\"\n"
+" name=\"propertyName\"\n"
+" access=\"field|property|ClassName\"\n"
+" unsaved-value=\"null|undefined\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1225
-#, no-c-format
+#: index.docbook:1225
msgid ""
"<literal>column</literal> (optional - defaults to the property name): The "
"name of a column holding the timestamp."
@@ -2490,9 +2287,7 @@
"<literal>column</literal> (opcional - por defecto al nombre de la "
"propiedad): El nombre de una columna que tiene el timestamp."
-#. Tag: para
-#: basic_mapping.xml:1231
-#, no-c-format
+#: index.docbook:1231
msgid ""
"<literal>name</literal>: The name of a JavaBeans style property of Java type "
"<literal>Date</literal> or <literal>Timestamp</literal> of the persistent "
@@ -2502,9 +2297,7 @@
"tipo Java <literal>Date</literal> o <literal>Timestamp</literal> de la clase "
"persistente."
-#. Tag: para
-#: basic_mapping.xml:1244
-#, no-c-format
+#: index.docbook:1244
msgid ""
"<literal>unsaved-value</literal> (optional - defaults to <literal>null</"
"literal>): A version property value that indicates that an instance is newly "
@@ -2513,15 +2306,13 @@
"specifies that the identifier property value should be used.)"
msgstr ""
"<literal>unsaved-value</literal> (opcional - por defecto a <literal>null</"
-"literal>): Un valor de propiedad de versión que indica que una instancia "
-"está recién instanciada (sin guardar), distinguiéndola de instancias "
-"separadas que hayan sido guardadas o cargadas en una sesión previa. "
-"(<literal>undefined</literal> especifica que debe usarse el valor de la "
-"propiedad identificadora.)"
+"literal>): Un valor de propiedad de versión que indica que una "
+"instancia está recién instanciada (sin guardar), "
+"distinguiéndola de instancias separadas que hayan sido guardadas o "
+"cargadas en una sesión previa. (<literal>undefined</literal> "
+"especifica que debe usarse el valor de la propiedad identificadora.)"
-#. Tag: para
-#: basic_mapping.xml:1253
-#, no-c-format
+#: index.docbook:1253
msgid ""
"<literal>source</literal> (optional - defaults to <literal>vm</literal>): "
"From where should Hibernate retrieve the timestamp value? From the database, "
@@ -2541,9 +2332,7 @@
"retrieving of the database's current timestamp, while others might be unsafe "
"for usage in locking due to lack of precision (Oracle 8 for example)."
-#. Tag: para
-#: basic_mapping.xml:1265
-#, no-c-format
+#: index.docbook:1265
msgid ""
"<literal>generated</literal> (optional - defaults to <literal>never</"
"literal>): Specifies that this timestamp property value is actually "
@@ -2555,9 +2344,7 @@
"actually generated by the database. See the discussion of <link linkend="
"\"mapping-generated\">generated properties</link>."
-#. Tag: para
-#: basic_mapping.xml:1274
-#, no-c-format
+#: index.docbook:1274
msgid ""
"Note that <literal><timestamp></literal> is equivalent to <literal><"
"version type=\"timestamp\"></literal>. And <literal><timestamp source="
@@ -2567,15 +2354,11 @@
"Note that <literal><timestamp></literal> is equivalent to <literal><"
"version type=\"timestamp\"></literal>."
-#. Tag: title
-#: basic_mapping.xml:1284
-#, no-c-format
+#: index.docbook:1284
msgid "property"
msgstr "property"
-#. Tag: para
-#: basic_mapping.xml:1286
-#, no-c-format
+#: index.docbook:1286
msgid ""
"The <literal><property></literal> element declares a persistent, "
"JavaBean style property of the class."
@@ -2583,9 +2366,7 @@
"El elemento <literal><property></literal> declara una propiedad "
"persistente estilo JavaBean de la clase."
-#. Tag: programlisting
-#: basic_mapping.xml:1308
-#, no-c-format
+#: index.docbook:1308
msgid ""
"<![CDATA[<property\n"
" name=\"propertyName\"\n"
@@ -2608,20 +2389,35 @@
" scale=\"S\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<property\n"
+" name=\"propertyName\"\n"
+" column=\"column_name\"\n"
+" type=\"typename\"\n"
+" update=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" formula=\"arbitrary SQL expression\"\n"
+" access=\"field|property|ClassName\"\n"
+" lazy=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" not-null=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" length=\"L\"\n"
+" precision=\"P\"\n"
+" scale=\"S\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1311
-#, no-c-format
+#: index.docbook:1311
msgid ""
"<literal>name</literal>: the name of the property, with an initial lowercase "
"letter."
msgstr ""
"<literal>name</literal>: el nombre de la propiedad, con la letra inicial en "
-"minúsculas."
+"minúsculas."
-#. Tag: para
-#: basic_mapping.xml:1317
-#, no-c-format
+#: index.docbook:1317
msgid ""
"<literal>column</literal> (optional - defaults to the property name): the "
"name of the mapped database table column. This may also be specified by "
@@ -2629,20 +2425,16 @@
msgstr ""
"<literal>column</literal> (opcional - por defecto al nombre de la "
"propiedad): el nombre de la columna de tabla de base de datos mapeada. Esto "
-"puede también ser especificado con elemento(s) <literal><column></"
-"literal> anidado(s)."
+"puede también ser especificado con elemento(s) <literal><column>"
+"</literal> anidado(s)."
-#. Tag: para
-#: basic_mapping.xml:1324
-#, no-c-format
+#: index.docbook:1324
msgid ""
"<literal>type</literal> (optional): a name that indicates the Hibernate type."
msgstr ""
"<literal>type</literal> (opcional): un nombre que indica el nobre Hibernate."
-#. Tag: para
-#: basic_mapping.xml:1329
-#, no-c-format
+#: index.docbook:1329
msgid ""
"<literal>update, insert</literal> (optional - defaults to <literal>true</"
"literal>) : specifies that the mapped columns should be included in SQL "
@@ -2652,62 +2444,54 @@
"colum(s) or by a trigger or other application."
msgstr ""
"<literal>update, insert</literal> (opcional - por defecto a <literal>true</"
-"literal>) : especifica que las columnas mapeadas deben ser incluídas en las "
-"sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal> . "
-"Especificando ambas a <literal>false</literal> permite una propiedad "
-"\"derivada\" cuyo valor es inicializado desde alguna otra propiedad que "
-"mapee a la misma columna (o columnas) o por un disparador u otra aplicación."
+"literal>) : especifica que las columnas mapeadas deben ser incluídas "
+"en las sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</"
+"literal> . Especificando ambas a <literal>false</literal> permite una "
+"propiedad \"derivada\" cuyo valor es inicializado desde alguna otra "
+"propiedad que mapee a la misma columna (o columnas) o por un disparador u "
+"otra aplicación."
-#. Tag: para
-#: basic_mapping.xml:1338
-#, no-c-format
+#: index.docbook:1338
msgid ""
"<literal>formula</literal> (optional): an SQL expression that defines the "
"value for a <emphasis>computed</emphasis> property. Computed properties do "
"not have a column mapping of their own."
msgstr ""
-"<literal>formula</literal> (opcional): una expresión SQL que define el valor "
-"para una propiedad <emphasis>computada</emphasis>. Las propiedades "
+"<literal>formula</literal> (opcional): una expresión SQL que define "
+"el valor para una propiedad <emphasis>computada</emphasis>. Las propiedades "
"computadas no tienen una columna mapeada propia."
-#. Tag: para
-#: basic_mapping.xml:1351
-#, no-c-format
+#: index.docbook:1351
msgid ""
"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
"Specifies that this property should be fetched lazily when the instance "
"variable is first accessed (requires build-time bytecode instrumentation)."
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a <literal>false</literal>): "
-"Especifica que esta propiedad debe ser traída perezosamente cuando la "
-"variable de instancia sea accedida por primera vez (requiere instrumentación "
-"en tiempo de compilación)."
+"Especifica que esta propiedad debe ser traída perezosamente cuando la "
+"variable de instancia sea accedida por primera vez (requiere "
+"instrumentación en tiempo de compilación)."
-#. Tag: para
-#: basic_mapping.xml:1358
-#, no-c-format
+#: index.docbook:1358
msgid ""
"<literal>unique</literal> (optional): Enable the DDL generation of a unique "
"constraint for the columns. Also, allow this to be the target of a "
"<literal>property-ref</literal>."
msgstr ""
-"<literal>unique</literal> (opcional): Habilita la generació DDL de una "
-"restricción de unicidad para las columnas. Además, permite que ésta sea un "
-"blanco objetivo de una <literal>property-ref</literal>."
+"<literal>unique</literal> (opcional): Habilita la generació DDL de "
+"una restricción de unicidad para las columnas. Además, permite "
+"que ésta sea un blanco objetivo de una <literal>property-ref</"
+"literal>."
-#. Tag: para
-#: basic_mapping.xml:1365
-#, no-c-format
+#: index.docbook:1365
msgid ""
"<literal>not-null</literal> (optional): Enable the DDL generation of a "
"nullability constraint for the columns."
msgstr ""
-"<literal>not-null</literal> (opcional): Habilita la generació DDL de una "
-"restricción de nulabilidad para las columnas."
+"<literal>not-null</literal> (opcional): Habilita la generació DDL de "
+"una restricción de nulabilidad para las columnas."
-#. Tag: para
-#: basic_mapping.xml:1371
-#, no-c-format
+#: index.docbook:1371
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
"literal>): Specifies that updates to this property do or do not require "
@@ -2716,13 +2500,11 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
"literal>): Especifica que las actualizaciones a esta propiedad requieran o "
-"no de la obtención de un bloqueo optimista. En otras palabras, determina si "
-"debe ocurrir un incremento de versión cuando la propiedad este sucia "
-"(desactualizada)."
+"no de la obtención de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando la "
+"propiedad este sucia (desactualizada)."
-#. Tag: para
-#: basic_mapping.xml:1379
-#, no-c-format
+#: index.docbook:1379
msgid ""
"<literal>generated</literal> (optional - defaults to <literal>never</"
"literal>): Specifies that this property value is actually generated by the "
@@ -2734,44 +2516,34 @@
"generated by the database. See the discussion of <link linkend=\"mapping-"
"generated\">generated properties</link>."
-#. Tag: para
-#: basic_mapping.xml:1388
-#, no-c-format
+#: index.docbook:1388
msgid "<emphasis>typename</emphasis> could be:"
msgstr "<emphasis>typename</emphasis> puede ser:"
-#. Tag: para
-#: basic_mapping.xml:1394
-#, no-c-format
+#: index.docbook:1394
msgid ""
"The name of a Hibernate basic type (eg. <literal>integer, string, character, "
"date, timestamp, float, binary, serializable, object, blob</literal>)."
msgstr ""
-"El nombre de un tipo básico Hibernate (por ejemplo, <literal>integer, "
+"El nombre de un tipo básico Hibernate (por ejemplo, <literal>integer, "
"string, character, date, timestamp, float, binary, serializable, object, "
"blob</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1400
-#, no-c-format
+#: index.docbook:1400
msgid ""
"The name of a Java class with a default basic type (eg. <literal>int, float, "
"char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob</"
"literal>)."
msgstr ""
-"El nombre de una clase Java de tipo básico (por ejemplo, <literal>int, "
-"float, char, java.lang.String, java.util.Date, java.lang.Integer, java.sql."
-"Clob</literal>)."
+"El nombre de una clase Java de tipo básico (por ejemplo, "
+"<literal>int, float, char, java.lang.String, java.util.Date, java.lang."
+"Integer, java.sql.Clob</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1406
-#, no-c-format
+#: index.docbook:1406
msgid "The name of a serializable Java class."
msgstr "El nombre de una clase Java serializable."
-#. Tag: para
-#: basic_mapping.xml:1411
-#, no-c-format
+#: index.docbook:1411
msgid ""
"The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</"
"literal>)."
@@ -2779,9 +2551,7 @@
"El nombre de un tipo personalizado (por ejemplo, <literal>com.illflow.type."
"MyCustomType</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1417
-#, no-c-format
+#: index.docbook:1417
msgid ""
"If you do not specify a type, Hibernate will use reflection upon the named "
"property to take a guess at the correct Hibernate type. Hibernate will try "
@@ -2791,18 +2561,16 @@
"distinguish between <literal>Hibernate.DATE</literal> and <literal>Hibernate."
"TIMESTAMP</literal>, or to specify a custom type.)"
msgstr ""
-"Si no especificas un tipo, Hibernate usará reflección sobre la propiedad "
-"mencionada para deducir el tipo Hibernate correcto. Hibernate intentará "
-"interpretar el nombre de la clase de retorno del getter de la propiedad "
-"usando las reglas 2, 3 y 4 en ese orden. Sin embargo, esto no siempre "
-"suficiente. En ciertos casos, necesitarás aún el atributo <literal>type</"
-"literal>. (Por ejemplo, para distinguir entre <literal>Hibernate.DATE</"
-"literal> y <literal>Hibernate.TIMESTAMP</literal>, o especificar un tipo "
-"personalizado.)"
+"Si no especificas un tipo, Hibernate usará reflección sobre la "
+"propiedad mencionada para deducir el tipo Hibernate correcto. Hibernate "
+"intentará interpretar el nombre de la clase de retorno del getter de "
+"la propiedad usando las reglas 2, 3 y 4 en ese orden. Sin embargo, esto no "
+"siempre suficiente. En ciertos casos, necesitarás aún el "
+"atributo <literal>type</literal>. (Por ejemplo, para distinguir entre "
+"<literal>Hibernate.DATE</literal> y <literal>Hibernate.TIMESTAMP</literal>, "
+"o especificar un tipo personalizado.)"
-#. Tag: para
-#: basic_mapping.xml:1427
-#, no-c-format
+#: index.docbook:1427
msgid ""
"The <literal>access</literal> attribute lets you control how Hibernate will "
"access the property at runtime. By default, Hibernate will call the property "
@@ -2812,18 +2580,16 @@
"a class that implements the interface <literal>org.hibernate.property."
"PropertyAccessor</literal>."
msgstr ""
-"El atributo <literal>access</literal> te deja controlar cómo Hibernate "
-"accederá a la propiedad en tiempo de ejecución. Por defecto, Hibernate "
-"llamará al par de getter/setter de la propiedad. Si especificas "
-"<literal>access=\"field\"</literal>, Hibernate se saltará el par get/set y "
-"accederá al campo directamente usando reflección. Puedes especificar tu "
-"propia estrategia de acceso a la propiedad mencionando una clase que "
-"implemente la interface <literal>org.hibernate.property.PropertyAccessor</"
-"literal>."
+"El atributo <literal>access</literal> te deja controlar cómo "
+"Hibernate accederá a la propiedad en tiempo de ejecución. Por "
+"defecto, Hibernate llamará al par de getter/setter de la propiedad. "
+"Si especificas <literal>access=\"field\"</literal>, Hibernate se "
+"saltará el par get/set y accederá al campo directamente usando "
+"reflección. Puedes especificar tu propia estrategia de acceso a la "
+"propiedad mencionando una clase que implemente la interface <literal>org."
+"hibernate.property.PropertyAccessor</literal>."
-#. Tag: para
-#: basic_mapping.xml:1436
-#, no-c-format
+#: index.docbook:1436
msgid ""
"An especially powerful feature are derived properties. These properties are "
"by definition read-only, the property value is computed at load time. You "
@@ -2832,14 +2598,13 @@
"instance:"
msgstr ""
"Una aspecto especialmente poderoso son las propiedades derivadas. Estas "
-"propiedades son por definición de sólo lectura, el valor de la propiedad es "
-"computado en tiempo de carga. Tu declaras la computación como una expresión "
-"SQL, y ésta se traduce a cláusula de subconsulta <literal>SELECT</literal> "
-"en la consulta SQL que cargue una instancia:"
+"propiedades son por definición de sólo lectura, el valor de la "
+"propiedad es computado en tiempo de carga. Tu declaras la computación "
+"como una expresión SQL, y ésta se traduce a cláusula de "
+"subconsulta <literal>SELECT</literal> en la consulta SQL que cargue una "
+"instancia:"
-#. Tag: programlisting
-#: basic_mapping.xml:1443
-#, no-c-format
+#: index.docbook:1443
msgid ""
"<![CDATA[\n"
"<property name=\"totalPrice\"\n"
@@ -2849,10 +2614,15 @@
" AND li.customerId = customerId\n"
" AND li.orderNumber = orderNumber )\"/>]]>"
msgstr ""
+"<![CDATA[\n"
+"<property name=\"totalPrice\"\n"
+" formula=\"( SELECT SUM (li.quantity*p.price) FROM LineItem li, Product "
+"p\n"
+" WHERE li.productId = p.productId\n"
+" AND li.customerId = customerId\n"
+" AND li.orderNumber = orderNumber )\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1445
-#, no-c-format
+#: index.docbook:1445
msgid ""
"Note that you can reference the entities own table by not declaring an alias "
"on a particular column (<literal>customerId</literal> in the given example). "
@@ -2861,32 +2631,27 @@
msgstr ""
"Observa que puedes referenciar la propia tabla de las entidades sin declarar "
"un alias o una columna particular (<literal>customerId</literal> en el "
-"ejemplo dado). Observa además que puedes usar el elemento anidado de mapeo "
-"<literal><formula></literal> si no te gusta usar el atributo."
+"ejemplo dado). Observa además que puedes usar el elemento anidado de "
+"mapeo <literal><formula></literal> si no te gusta usar el atributo."
-#. Tag: title
-#: basic_mapping.xml:1455
-#, no-c-format
+#: index.docbook:1455
msgid "many-to-one"
msgstr "many-to-one"
-#. Tag: para
-#: basic_mapping.xml:1457
-#, no-c-format
+#: index.docbook:1457
msgid ""
"An ordinary association to another persistent class is declared using a "
"<literal>many-to-one</literal> element. The relational model is a many-to-"
"one association: a foreign key in one table is referencing the primary key "
"column(s) of the target table."
msgstr ""
-"Una asociación ordinaria a otra clase persistente se declara usando el "
-"elemento <literal>many-to-one</literal>. El modelo relacional es una "
-"asociación muchos-a-uno: una clave foránea en una tabla está referenciando "
-"la columna (o columnas) de la clave primaria de la tabla objetivo."
+"Una asociación ordinaria a otra clase persistente se declara usando "
+"el elemento <literal>many-to-one</literal>. El modelo relacional es una "
+"asociación muchos-a-uno: una clave foránea en una tabla "
+"está referenciando la columna (o columnas) de la clave primaria de la "
+"tabla objetivo."
-#. Tag: programlisting
-#: basic_mapping.xml:1485
-#, no-c-format
+#: index.docbook:1485
msgid ""
"<![CDATA[<many-to-one\n"
" name=\"propertyName\"\n"
@@ -2912,67 +2677,70 @@
" foreign-key=\"foreign_key_name\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one\n"
+" name=\"propertyName\"\n"
+" column=\"column_name\"\n"
+" class=\"ClassName\"\n"
+" cascade=\"cascade_style\"\n"
+" fetch=\"join|select\"\n"
+" update=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" property-ref=\"propertyNameFromAssociatedClass\"\n"
+" access=\"field|property|ClassName\"\n"
+" unique=\"true|false\"\n"
+" not-null=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" lazy=\"true|proxy|false\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" formula=\"cualquier expresión SQL\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1488 basic_mapping.xml:1669 basic_mapping.xml:1855
-#, no-c-format
+#: index.docbook:1488, index.docbook:1669, index.docbook:1855
msgid "<literal>name</literal>: The name of the property."
msgstr "<literal>name</literal>: El nombre de la propiedad."
-#. Tag: para
-#: basic_mapping.xml:1493 basic_mapping.xml:2284
-#, fuzzy, no-c-format
+#: index.docbook:1493, index.docbook:2284
msgid ""
"<literal>column</literal> (optional): The name of the foreign key column. "
"This may also be specified by nested <literal><column></literal> "
"element(s)."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>column</literal> (opcional): El nombre de la columna clave foránea. "
-"También puede ser especificado por uno o varios elementos anidados "
-"<literal><column></literal>.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>column</literal> (opcional): El nombre de columna de la clave "
-"foránea. Puede ser también especificado por elemento(s) anidado(s) "
-"<literal><column></literal>."
+"<literal>column</literal> (opcional): El nombre de la columna clave "
+"foránea. También puede ser especificado por uno o varios "
+"elementos anidados <literal><column></literal>."
-#. Tag: para
-#: basic_mapping.xml:1500 basic_mapping.xml:1674
-#, no-c-format
+#: index.docbook:1500, index.docbook:1674
msgid ""
"<literal>class</literal> (optional - defaults to the property type "
"determined by reflection): The name of the associated class."
msgstr ""
"<literal>class</literal> (opcional - por defecto al tipo de la propiedad "
-"determinado por reflección): El nombre de la clase asociada."
+"determinado por reflección): El nombre de la clase asociada."
-#. Tag: para
-#: basic_mapping.xml:1506
-#, no-c-format
+#: index.docbook:1506
msgid ""
"<literal>cascade</literal> (optional): Specifies which operations should be "
"cascaded from the parent object to the associated object."
msgstr ""
-"<literal>cascade</literal> (opcional): Especifica qué operaciones deben ir "
-"en cascada desde el objeto padre al objeto asociado"
+"<literal>cascade</literal> (opcional): Especifica qué operaciones "
+"deben ir en cascada desde el objeto padre al objeto asociado"
-#. Tag: para
-#: basic_mapping.xml:1512 basic_mapping.xml:1695
-#, fuzzy, no-c-format
+#: index.docbook:1512, index.docbook:1695
msgid ""
"<literal>fetch</literal> (optional - defaults to <literal>select</literal>): "
"Chooses between outer-join fetching or sequential select fetching."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>fetch</literal> (opcional - por defecto a 1<literal>select</"
-"literal>): Escoge entre recuperación outer-join o por selección secuencial.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>fetch</literal> (opcional - por defecto <literal>select</literal>): "
-"Elige entre recuperación outer-join o recuperación por consulta secuencial."
+"literal>): Escoge entre recuperación outer-join o por selecció"
+"n secuencial."
-#. Tag: para
-#: basic_mapping.xml:1518
-#, no-c-format
+#: index.docbook:1518
msgid ""
"<literal>update, insert</literal> (optional - defaults to <literal>true</"
"literal>) specifies that the mapped columns should be included in SQL "
@@ -2982,52 +2750,46 @@
"the same colum(s) or by a trigger or other application."
msgstr ""
"<literal>update, insert</literal> (opcional - por defecto a <literal>true</"
-"literal>) especifica que las columnas mapeadas deben ser incluídas en las "
-"sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal>. "
-"Establecer ambas a <literal>false</literal> permite una asociación puramente "
-"\"derivada\" cuyo valor es inicializado desde alguna otra propiedad que "
-"mapea a las misma columna (o columnas), o por un disparador, o por otra "
-"aplicación."
+"literal>) especifica que las columnas mapeadas deben ser incluídas en "
+"las sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal>. "
+"Establecer ambas a <literal>false</literal> permite una asociación "
+"puramente \"derivada\" cuyo valor es inicializado desde alguna otra "
+"propiedad que mapea a las misma columna (o columnas), o por un disparador, o "
+"por otra aplicación."
-#. Tag: para
-#: basic_mapping.xml:1527
-#, no-c-format
+#: index.docbook:1527
msgid ""
"<literal>property-ref</literal>: (optional) The name of a property of the "
"associated class that is joined to this foreign key. If not specified, the "
"primary key of the associated class is used."
msgstr ""
"<literal>property-ref</literal>: (opcional) El nombre de la propiedad de la "
-"clase asociada que está unida a la clave foránea. Si no se especifica, se "
-"usa la clave primaria de la clase asociada."
+"clase asociada que está unida a la clave foránea. Si no se "
+"especifica, se usa la clave primaria de la clase asociada."
-#. Tag: para
-#: basic_mapping.xml:1540
-#, no-c-format
+#: index.docbook:1540
msgid ""
"<literal>unique</literal> (optional): Enable the DDL generation of a unique "
"constraint for the foreign-key column. Also, allow this to be the target of "
"a <literal>property-ref</literal>. This makes the association multiplicity "
"effectively one to one."
msgstr ""
-"<literal>unique</literal> (opcional): Habilita la generación DDL de una "
-"restricción de unicidad para la columna de clave foránea. Además, permite "
-"que ésta sea el objetivo de una <literal>property-ref</literal>. Esto hace "
-"efectivamente la multiplicidad de la asociación uno a uno."
+"<literal>unique</literal> (opcional): Habilita la generación DDL de "
+"una restricción de unicidad para la columna de clave foránea. "
+"Además, permite que ésta sea el objetivo de una "
+"<literal>property-ref</literal>. Esto hace efectivamente la multiplicidad de "
+"la asociación uno a uno."
-#. Tag: para
-#: basic_mapping.xml:1548
-#, no-c-format
+#: index.docbook:1548
msgid ""
"<literal>not-null</literal> (optional): Enable the DDL generation of a "
"nullability constraint for the foreign key columns."
msgstr ""
-"<literal>not-null</literal> (opcional): Habilita la generación DDL de una "
-"restricción de nulabilidad para las columnas de clave foránea."
+"<literal>not-null</literal> (opcional): Habilita la generación DDL de "
+"una restricción de nulabilidad para las columnas de clave forá"
+"nea."
-#. Tag: para
-#: basic_mapping.xml:1554
-#, no-c-format
+#: index.docbook:1554
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
"literal>): Specifies that updates to this property do or do not require "
@@ -3036,12 +2798,11 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
"literal>): Especifica que las actualizaciones a esta propiedad requieran o "
-"no la obtención del bloqueo optimista. En otras palabras, determina si debe "
-"darse un incremento de versión cuando esta propiedad esté desactualizada."
+"no la obtención del bloqueo optimista. En otras palabras, determina "
+"si debe darse un incremento de versión cuando esta propiedad "
+"esté desactualizada."
-#. Tag: para
-#: basic_mapping.xml:1562
-#, no-c-format
+#: index.docbook:1562
msgid ""
"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
@@ -3051,16 +2812,14 @@
"association will always be eagerly fetched."
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a <literal>proxy</literal>): "
-"Por defecto, las asociaciones de punto único van con proxies. <literal>lazy="
-"\"true\"</literal> especifica que esta propiedad debe ser traída "
-"perezosamente cuando la variable de instancia sea accedida por primera vez "
-"(requiere instrumentación del bytecode en tiempo de compilación). "
-"<literal>lazy=\"false\"</literal> especifica que la asociación siempre será "
-"recuperada tempranamente."
+"Por defecto, las asociaciones de punto único van con proxies. "
+"<literal>lazy=\"true\"</literal> especifica que esta propiedad debe ser "
+"traída perezosamente cuando la variable de instancia sea accedida por "
+"primera vez (requiere instrumentación del bytecode en tiempo de "
+"compilación). <literal>lazy=\"false\"</literal> especifica que la "
+"asociación siempre será recuperada tempranamente."
-#. Tag: para
-#: basic_mapping.xml:1572
-#, no-c-format
+#: index.docbook:1572
msgid ""
"<literal>not-found</literal> (optional - defaults to <literal>exception</"
"literal>): Specifies how foreign keys that reference missing rows will be "
@@ -3068,37 +2827,27 @@
"association."
msgstr ""
"<literal>not-found</literal> (opcional - por defecto a <literal>exception</"
-"literal>): Especifica cómo deben manejarse las claves foráneas que "
-"referencien filas inexistentes: <literal>ignore</literal> tratará una fila "
-"perdida como una asociación nula."
+"literal>): Especifica cómo deben manejarse las claves foráneas "
+"que referencien filas inexistentes: <literal>ignore</literal> tratará "
+"una fila perdida como una asociación nula."
-#. Tag: para
-#: basic_mapping.xml:1579 basic_mapping.xml:1733
-#, fuzzy, no-c-format
+#: index.docbook:1579, index.docbook:1733
msgid ""
"<literal>entity-name</literal> (optional): The entity name of the associated "
"class."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>entity-name</literal> (opcional): El nombre de entidad de la clase "
-"asociada.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>entity-name</literal> (optional): The entity name of the associated "
-"class."
+"asociada."
-#. Tag: para
-#: basic_mapping.xml:1585
-#, no-c-format
+#: index.docbook:1585
msgid ""
"<literal>formula</literal> (optional): an SQL expression that defines the "
"value for a <emphasis>computed</emphasis> foreign key."
msgstr ""
-"<literal>formula</literal> (opcional): una expresión SQL que define el valor "
-"para una clave foránea <emphasis>computada</emphasis>."
+"<literal>formula</literal> (opcional): una expresión SQL que define "
+"el valor para una clave foránea <emphasis>computada</emphasis>."
-#. Tag: para
-#: basic_mapping.xml:1592
-#, no-c-format
+#: index.docbook:1592
msgid ""
"Setting a value of the <literal>cascade</literal> attribute to any "
"meaningful value other than <literal>none</literal> will propagate certain "
@@ -3113,35 +2862,32 @@
"one associations) do not support orphan delete."
msgstr ""
"Establecer el valor del atributo <literal>cascade</literal> a cualquier "
-"valor significativo distinto de <literal>none</literal> propagará ciertas "
-"operaciones al objeto asociado. Los valores significativos son los nombres "
-"de las operaciones básicas de Hibernate, <literal>persist, merge, delete, "
-"save-update, evict, replicate, lock, refresh</literal>, así como los valores "
-"especiales <literal>delete-orphan</literal> y <literal>all</literal> y "
-"combinaciones de operaciones separadas por coma, por ejemplo, "
-"<literal>cascade=\"persist,merge,evict\"</literal> o <literal>cascade=\"all,"
-"delete-orphan\"</literal>. Para una explicación completa, ver <xref linkend="
-"\"objectstate-transitive\"/>."
+"valor significativo distinto de <literal>none</literal> propagará "
+"ciertas operaciones al objeto asociado. Los valores significativos son los "
+"nombres de las operaciones básicas de Hibernate, <literal>persist, "
+"merge, delete, save-update, evict, replicate, lock, refresh</literal>, "
+"así como los valores especiales <literal>delete-orphan</literal> y "
+"<literal>all</literal> y combinaciones de operaciones separadas por coma, "
+"por ejemplo, <literal>cascade=\"persist,merge,evict\"</literal> o "
+"<literal>cascade=\"all,delete-orphan\"</literal>. Para una explicació"
+"n completa, ver <xref linkend=\"objectstate-transitive\"/>."
-#. Tag: para
-#: basic_mapping.xml:1605
-#, no-c-format
+#: index.docbook:1605
msgid ""
"A typical <literal>many-to-one</literal> declaration looks as simple as this:"
msgstr ""
-"Una declaración típica <literal>muchos-a-uno</literal> se parece a esto:"
+"Una declaración típica <literal>muchos-a-uno</literal> se "
+"parece a esto:"
-#. Tag: programlisting
-#: basic_mapping.xml:1609
-#, no-c-format
+#: index.docbook:1609
msgid ""
"<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID"
"\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID"
+"\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1611
-#, no-c-format
+#: index.docbook:1611
msgid ""
"The <literal>property-ref</literal> attribute should only be used for "
"mapping legacy data where a foreign key refers to a unique key of the "
@@ -3152,90 +2898,75 @@
"tool.)"
msgstr ""
"El atributo <literal>property-ref</literal> debe ser usado solamente para el "
-"mapeo de datos heredados donde una clave foránea referencia una clave única "
-"de la tabla asociada, distinta de la clave primaria. Este es un modelo "
-"relacional feo. Por ejemplo, supón que la clase <literal>Product</literal> "
-"tuviera un número único serial que no es la clave primaria. (El atributo "
-"<literal>unique</literal> controla la generación de DDL con la herramienta "
-"SchemaExport.)"
+"mapeo de datos heredados donde una clave foránea referencia una clave "
+"única de la tabla asociada, distinta de la clave primaria. Este es un "
+"modelo relacional feo. Por ejemplo, supón que la clase "
+"<literal>Product</literal> tuviera un número único serial que "
+"no es la clave primaria. (El atributo <literal>unique</literal> controla la "
+"generación de DDL con la herramienta SchemaExport.)"
-#. Tag: programlisting
-#: basic_mapping.xml:1620
-#, no-c-format
+#: index.docbook:1620
msgid ""
"<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" "
"column=\"SERIAL_NUMBER\"/>]]>"
msgstr ""
+"<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" "
+"column=\"SERIAL_NUMBER\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1622
-#, no-c-format
+#: index.docbook:1622
msgid "Then the mapping for <literal>OrderItem</literal> might use:"
-msgstr "Entonces el mapeo para <literal>OrderItem</literal> debería usar:"
+msgstr ""
+"Entonces el mapeo para <literal>OrderItem</literal> debería usar:"
-#. Tag: programlisting
-#: basic_mapping.xml:1626
-#, no-c-format
+#: index.docbook:1626
msgid ""
"<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column="
"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column="
+"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1628
-#, no-c-format
+#: index.docbook:1628
msgid "This is certainly not encouraged, however."
msgstr "Sin embargo, esto no esta ciertamente alentado."
-#. Tag: para
-#: basic_mapping.xml:1632
-#, no-c-format
+#: index.docbook:1632
msgid ""
"If the referenced unique key comprises multiple properties of the associated "
"entity, you should map the referenced properties inside a named <literal><"
"properties></literal> element."
msgstr ""
-"Si la clave única referenciada abarca múltiples propiedades de la entidad "
-"asociada, debes mapear las propiedades dentro de un elemento <literal><"
-"properties></literal>."
+"Si la clave única referenciada abarca múltiples propiedades de "
+"la entidad asociada, debes mapear las propiedades dentro de un elemento "
+"<literal><properties></literal>."
-#. Tag: para
-#: basic_mapping.xml:1637
-#, no-c-format
+#: index.docbook:1637
msgid ""
"If the referenced unique key is the property of a component, you may specify "
"a property path:"
-msgstr ""
-"UNTRANSLATED! If the referenced unique key is the property of a component, "
-"you may specify a property path:"
+msgstr "UNTRANSLATED!"
-#. Tag: programlisting
-#: basic_mapping.xml:1641
-#, no-c-format
+#: index.docbook:1641
msgid ""
"<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column="
"\"OWNER_SSN\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column="
+"\"OWNER_SSN\"/>]]>"
-#. Tag: title
-#: basic_mapping.xml:1646
-#, no-c-format
+#: index.docbook:1646
msgid "one-to-one"
msgstr "one-to-one"
-#. Tag: para
-#: basic_mapping.xml:1648
-#, no-c-format
+#: index.docbook:1648
msgid ""
"A one-to-one association to another persistent class is declared using a "
"<literal>one-to-one</literal> element."
msgstr ""
-"Una asociación uno-a-uno a otra clase persistente se declara usando un "
-"elemento <literal>one-to-one</literal>."
+"Una asociación uno-a-uno a otra clase persistente se declara usando "
+"un elemento <literal>one-to-one</literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:1666
-#, no-c-format
+#: index.docbook:1666
msgid ""
"<![CDATA[<one-to-one\n"
" name=\"propertyName\"\n"
@@ -3253,20 +2984,31 @@
" foreign-key=\"foreign_key_name\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one\n"
+" name=\"propertyName\"\n"
+" class=\"ClassName\"\n"
+" cascade=\"cascade_style\"\n"
+" constrained=\"true|false\"\n"
+" fetch=\"join|select\"\n"
+" property-ref=\"propertyNameFromAssociatedClass\"\n"
+" access=\"field|property|ClassName\"\n"
+" formula=\"cualquier expresión SQL\"\n"
+" lazy=\"true|proxy|false\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1680
-#, no-c-format
+#: index.docbook:1680
msgid ""
"<literal>cascade</literal> (optional) specifies which operations should be "
"cascaded from the parent object to the associated object."
msgstr ""
-"<literal>cascade</literal> (opcional) especifica qué operaciones deben ir en "
-"cascada desde el objeto padre al objeto asociado."
+"<literal>cascade</literal> (opcional) especifica qué operaciones "
+"deben ir en cascada desde el objeto padre al objeto asociado."
-#. Tag: para
-#: basic_mapping.xml:1686
-#, no-c-format
+#: index.docbook:1686
msgid ""
"<literal>constrained</literal> (optional) specifies that a foreign key "
"constraint on the primary key of the mapped table references the table of "
@@ -3275,28 +3017,25 @@
"whether the association may be proxied (it is also used by the schema export "
"tool)."
msgstr ""
-"<literal>constrained</literal> (opcional) especifica que una restricción de "
-"clave foránea de la tabla mapeada referencia a la tabla de la clase "
-"asociada. Esta opción afecta el orden en que van en cascada <literal>save()</"
-"literal> y <literal>delete()</literal>, y determina cuándo la asociación "
-"pueden ser virtualizados por proxies (es también usado por la herramienta de "
-"exportación de esquemas)."
+"<literal>constrained</literal> (opcional) especifica que una "
+"restricción de clave foránea de la tabla mapeada referencia a "
+"la tabla de la clase asociada. Esta opción afecta el orden en que van "
+"en cascada <literal>save()</literal> y <literal>delete()</literal>, y "
+"determina cuándo la asociación pueden ser virtualizados por "
+"proxies (es también usado por la herramienta de exportación de "
+"esquemas)."
-#. Tag: para
-#: basic_mapping.xml:1701
-#, no-c-format
+#: index.docbook:1701
msgid ""
"<literal>property-ref</literal>: (optional) The name of a property of the "
"associated class that is joined to the primary key of this class. If not "
"specified, the primary key of the associated class is used."
msgstr ""
"<literal>property-ref</literal>: (opcional) El nombre de una propiedad de la "
-"clase asociada que esté unida a la clave primaria de esta clase. Si no se "
-"especifica, se usa la clave primaria de la clase asociada."
+"clase asociada que esté unida a la clave primaria de esta clase. Si "
+"no se especifica, se usa la clave primaria de la clase asociada."
-#. Tag: para
-#: basic_mapping.xml:1714
-#, no-c-format
+#: index.docbook:1714
msgid ""
"<literal>formula</literal> (optional): Almost all one to one associations "
"map to the primary key of the owning entity. In the rare case that this is "
@@ -3307,12 +3046,10 @@
"<literal>formula</literal> (opcional): Casi todas las asociaciones uno-a-uno "
"mapean a la clave primaria de la entidad propietaria. En el raro caso en que "
"este no sea el caso, puedes especificar alguna otra columna, o columnas, o "
-"expresión para unir usando una fórmula SQL. (Para un ejemplo ver "
-"<literal>org.hibernate.test.onetooneformula</literal>)."
+"expresión para unir usando una fórmula SQL. (Para un ejemplo "
+"ver <literal>org.hibernate.test.onetooneformula</literal>)."
-#. Tag: para
-#: basic_mapping.xml:1722
-#, no-c-format
+#: index.docbook:1722
msgid ""
"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
@@ -3324,36 +3061,29 @@
"Hibernate will eager fetch the association!</emphasis>"
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a <literal>proxy</literal>): "
-"Por defecto, las asociaciones de punto único van con proxies. <literal>lazy="
-"\"true\"</literal> especifica que esta propiedad debe ser traída "
-"perezosamente cuando la variable de instancia sea accedida por primera vez "
-"(requiere instrumentación del bytecode en tiempo de compilación). "
-"<literal>lazy=\"false\"</literal> especifica que la asociación siempre será "
-"recuperada tempranamente. <emphasis>Observa que si <literal>constrained="
-"\"false\"</literal>, la aplicación de proxies es imposible e Hibernate "
-"traerá temprano la asociación!</emphasis>"
+"Por defecto, las asociaciones de punto único van con proxies. "
+"<literal>lazy=\"true\"</literal> especifica que esta propiedad debe ser "
+"traída perezosamente cuando la variable de instancia sea accedida por "
+"primera vez (requiere instrumentación del bytecode en tiempo de "
+"compilación). <literal>lazy=\"false\"</literal> especifica que la "
+"asociación siempre será recuperada tempranamente. "
+"<emphasis>Observa que si <literal>constrained=\"false\"</literal>, la "
+"aplicación de proxies es imposible e Hibernate traerá temprano "
+"la asociación!</emphasis>"
-#. Tag: para
-#: basic_mapping.xml:1740
-#, no-c-format
+#: index.docbook:1740
msgid "There are two varieties of one-to-one association:"
msgstr "Hay dos variedades de asociaciones uno-a-uno:"
-#. Tag: para
-#: basic_mapping.xml:1744
-#, no-c-format
+#: index.docbook:1744
msgid "primary key associations"
msgstr "asociaciones de clave primaria"
-#. Tag: para
-#: basic_mapping.xml:1747
-#, no-c-format
+#: index.docbook:1747
msgid "unique foreign key associations"
-msgstr "asociaciones de clave foráneas única"
+msgstr "asociaciones de clave foráneas única"
-#. Tag: para
-#: basic_mapping.xml:1752
-#, no-c-format
+#: index.docbook:1752
msgid ""
"Primary key associations don't need an extra table column; if two rows are "
"related by the association then the two table rows share the same primary "
@@ -3362,38 +3092,34 @@
"value!"
msgstr ""
"Las asociaciones de clave primaria no necesitan una columna de tabla extra; "
-"si dos filas están relacionadas por la asociación entonces las dos filas de "
-"tablas comparten el mismo valor de clave primaria. Por lo tanto, si quieres "
-"que dos objetos estén relacionados por una asociación de clave primaria, "
-"debes asegurarte que se les asigne el mismo valor de identificador!"
+"si dos filas están relacionadas por la asociación entonces las "
+"dos filas de tablas comparten el mismo valor de clave primaria. Por lo "
+"tanto, si quieres que dos objetos estén relacionados por una "
+"asociación de clave primaria, debes asegurarte que se les asigne el "
+"mismo valor de identificador!"
-#. Tag: para
-#: basic_mapping.xml:1759
-#, no-c-format
+#: index.docbook:1759
msgid ""
"For a primary key association, add the following mappings to "
"<literal>Employee</literal> and <literal>Person</literal>, respectively."
msgstr ""
-"Para una asociación de clave primaria, añade los siguientes mapeos a "
-"<literal>Employee</literal> y <literal>Person</literal>, respectivamente."
+"Para una asociación de clave primaria, añade los siguientes "
+"mapeos a <literal>Employee</literal> y <literal>Person</literal>, "
+"respectivamente."
-#. Tag: programlisting
-#: basic_mapping.xml:1764
-#, no-c-format
+#: index.docbook:1764
msgid "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:1765
-#, no-c-format
+#: index.docbook:1765
msgid ""
"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true"
"\"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true"
+"\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1767
-#, no-c-format
+#: index.docbook:1767
msgid ""
"Now we must ensure that the primary keys of related rows in the PERSON and "
"EMPLOYEE tables are equal. We use a special Hibernate identifier generation "
@@ -3401,12 +3127,10 @@
msgstr ""
"Ahora debemos asegurarnos que las claves primarias de las filas relacionadas "
"en las tablas PERSON y EMPLOYEE sean iguales. Usamos una estrategia especial "
-"de generación de identificador de Hibernate llamada <literal>foreign</"
+"de generación de identificador de Hibernate llamada <literal>foreign</"
"literal>:"
-#. Tag: programlisting
-#: basic_mapping.xml:1773
-#, no-c-format
+#: index.docbook:1773
msgid ""
"<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
" <id name=\"id\" column=\"PERSON_ID\">\n"
@@ -3420,68 +3144,69 @@
" constrained=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"person\" table=\"PERSON\">\n"
+" <id name=\"id\" column=\"PERSON_ID\">\n"
+" <generator class=\"foreign\">\n"
+" <param name=\"property\">employee</param>\n"
+" </generator>\n"
+" </id>\n"
+" ...\n"
+" <one-to-one name=\"employee\"\n"
+" class=\"Employee\"\n"
+" constrained=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:1775
-#, no-c-format
+#: index.docbook:1775
msgid ""
"A newly saved instance of <literal>Person</literal> is then assigned the "
"same primary key value as the <literal>Employee</literal> instance refered "
"with the <literal>employee</literal> property of that <literal>Person</"
"literal>."
msgstr ""
-"A una instancia recién salvada de <literal>Person</literal> se le asigna "
-"entonces el mismo valor de clave primaria con que la instancia "
+"A una instancia recién salvada de <literal>Person</literal> se le "
+"asigna entonces el mismo valor de clave primaria con que la instancia "
"<literal>Employee</literal> referida por la propiedad <literal>employee</"
"literal> de esta <literal>Person</literal>."
-#. Tag: para
-#: basic_mapping.xml:1781
-#, no-c-format
+#: index.docbook:1781
msgid ""
"Alternatively, a foreign key with a unique constraint, from "
"<literal>Employee</literal> to <literal>Person</literal>, may be expressed "
"as:"
msgstr ""
-"Alternativamente, una clave foránea con una restricción de unicidad, desde "
-"<literal>Employee</literal> a <literal>Person</literal>, puede ser expresada "
-"como:"
+"Alternativamente, una clave foránea con una restricción de "
+"unicidad, desde <literal>Employee</literal> a <literal>Person</literal>, "
+"puede ser expresada como:"
-#. Tag: programlisting
-#: basic_mapping.xml:1786
-#, no-c-format
+#: index.docbook:1786
msgid ""
"<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" "
"unique=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" "
+"unique=\"true\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:1788
-#, no-c-format
+#: index.docbook:1788
msgid ""
"And this association may be made bidirectional by adding the following to "
"the <literal>Person</literal> mapping:"
msgstr ""
-"Y esta asociación puede hacerse bidireccional agregando lo siguiente al "
-"mapeo de <literal>Person</literal> :"
+"Y esta asociación puede hacerse bidireccional agregando lo siguiente "
+"al mapeo de <literal>Person</literal> :"
-#. Tag: programlisting
-#: basic_mapping.xml:1793
-#, no-c-format
+#: index.docbook:1793
msgid ""
"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref="
"\"person\"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref="
+"\"person\"/>]]>"
-#. Tag: title
-#: basic_mapping.xml:1798
-#, no-c-format
+#: index.docbook:1798
msgid "natural-id"
msgstr "natural-id"
-#. Tag: programlisting
-#: basic_mapping.xml:1800
-#, no-c-format
+#: index.docbook:1800
msgid ""
"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
" <property ... />\n"
@@ -3489,10 +3214,13 @@
" ......\n"
"</natural-id>]]>"
msgstr ""
+"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
+" <property ... />\n"
+" <many-to-one ... />\n"
+" ......\n"
+"</natural-id>]]>"
-#. Tag: para
-#: basic_mapping.xml:1802
-#, no-c-format
+#: index.docbook:1802
msgid ""
"Even though we recommend the use of surrogate keys as primary keys, you "
"should still try to identify natural keys for all entities. A natural key is "
@@ -3503,16 +3231,15 @@
"be more self-documenting."
msgstr ""
"Aunque recomendamos el uso de claves delegadas como claves primarias, "
-"todavía debes intentar identificar claves naturales para todas las "
-"entidades. Una clave natural es una propiedad o combinación de propiedades "
-"que es única y no nula. Si además es inmutable, mejor aún. Mapea las "
-"propiedades de la clave natural dentro del elemento <literal><natural-"
-"id></literal>. Hibernate generará las restricciones de clave única y "
-"nulabilidad necesarias, y tu mapeo será más auto-documentado."
+"todavía debes intentar identificar claves naturales para todas las "
+"entidades. Una clave natural es una propiedad o combinación de "
+"propiedades que es única y no nula. Si además es inmutable, "
+"mejor aún. Mapea las propiedades de la clave natural dentro del "
+"elemento <literal><natural-id></literal>. Hibernate generará "
+"las restricciones de clave única y nulabilidad necesarias, y tu mapeo "
+"será más auto-documentado."
-#. Tag: para
-#: basic_mapping.xml:1811
-#, no-c-format
+#: index.docbook:1811
msgid ""
"We strongly recommend that you implement <literal>equals()</literal> and "
"<literal>hashCode()</literal> to compare the natural key properties of the "
@@ -3522,18 +3249,14 @@
"<literal>hashCode()</literal> para comparar las propiedades de clave natural "
"de la entidad."
-#. Tag: para
-#: basic_mapping.xml:1816
-#, no-c-format
+#: index.docbook:1816
msgid ""
"This mapping is not intended for use with entities with natural primary keys."
msgstr ""
-"Este mapeo no está concebido para usar con entidades con claves primarias "
-"naturales."
+"Este mapeo no está concebido para usar con entidades con claves "
+"primarias naturales."
-#. Tag: para
-#: basic_mapping.xml:1822
-#, no-c-format
+#: index.docbook:1822
msgid ""
"<literal>mutable</literal> (optional, defaults to <literal>false</literal>): "
"By default, natural identifier properties as assumed to be immutable "
@@ -3543,15 +3266,11 @@
"literal>): Por defecto, se asume que las propiedades de identificadores "
"naturales son inmutables (constantes)."
-#. Tag: title
-#: basic_mapping.xml:1832
-#, no-c-format
+#: index.docbook:1832
msgid "component, dynamic-component"
msgstr "component, dynamic-component"
-#. Tag: para
-#: basic_mapping.xml:1834
-#, no-c-format
+#: index.docbook:1834
msgid ""
"The <literal><component></literal> element maps properties of a child "
"object to columns of the table of a parent class. Components may, in turn, "
@@ -3563,9 +3282,7 @@
"a su vez declarar sus propias propiedades, componentes o colecciones. Ver "
"debajo \"Componentes\"."
-#. Tag: programlisting
-#: basic_mapping.xml:1852
-#, no-c-format
+#: index.docbook:1852
msgid ""
"<![CDATA[<component\n"
" name=\"propertyName\"\n"
@@ -3584,20 +3301,33 @@
" ........\n"
"</component>]]>"
msgstr ""
+"<![CDATA[<component \n"
+" name=\"propertyName\" \n"
+" class=\"className\"\n"
+" insert=\"true|false\"\n"
+" update=\"true|false\"\n"
+" access=\"field|property|ClassName\"\n"
+" lazy=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" node=\"element-name|.\"\n"
+">\n"
+" \n"
+" <property ...../>\n"
+" <many-to-one .... />\n"
+" ........\n"
+"</component>]]>"
-#. Tag: para
-#: basic_mapping.xml:1860
-#, no-c-format
+#: index.docbook:1860
msgid ""
"<literal>class</literal> (optional - defaults to the property type "
"determined by reflection): The name of the component (child) class."
msgstr ""
"<literal>class</literal> (opcional - por defecto al tipo de la propiedad "
-"determinado por reflección): El nombre de la clase del componente (hijo)."
+"determinado por reflección): El nombre de la clase del componente "
+"(hijo)."
-#. Tag: para
-#: basic_mapping.xml:1866 basic_mapping.xml:1955
-#, no-c-format
+#: index.docbook:1866, index.docbook:1955
msgid ""
"<literal>insert</literal>: Do the mapped columns appear in SQL "
"<literal>INSERT</literal>s?"
@@ -3605,9 +3335,7 @@
"<literal>insert</literal>: Aparecen las columnas mapeadas en "
"<literal>INSERT</literal>s SQL?"
-#. Tag: para
-#: basic_mapping.xml:1872 basic_mapping.xml:1961
-#, no-c-format
+#: index.docbook:1872, index.docbook:1961
msgid ""
"<literal>update</literal>: Do the mapped columns appear in SQL "
"<literal>UPDATE</literal>s?"
@@ -3615,9 +3343,7 @@
"<literal>update</literal>: Aparecen las columnas mapeadas en "
"<literal>UPDATE</literal>s SQL?"
-#. Tag: para
-#: basic_mapping.xml:1884
-#, no-c-format
+#: index.docbook:1884
msgid ""
"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
"Specifies that this component should be fetched lazily when the instance "
@@ -3625,12 +3351,10 @@
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a <literal>false</literal>): "
"Especifica que este componente debe ser recuperado perezosamente cuando la "
-"variable de instancia sea accedida por primera vez (requiere instrumentación "
-"de bytecode en tiempo de compilación)."
+"variable de instancia sea accedida por primera vez (requiere "
+"instrumentación de bytecode en tiempo de compilación)."
-#. Tag: para
-#: basic_mapping.xml:1891
-#, no-c-format
+#: index.docbook:1891
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
"literal>): Specifies that updates to this component do or do not require "
@@ -3639,25 +3363,21 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
"literal>): Especifica si las actualizaciones de este componente requieren o "
-"no la adquisición de un bloqueo optimista. En otras palabras, determina si "
-"debe ocurrir un incremento de versión cuando esta propiedad está "
-"desactualizada."
+"no la adquisición de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando esta "
+"propiedad está desactualizada."
-#. Tag: para
-#: basic_mapping.xml:1899 basic_mapping.xml:1975
-#, no-c-format
+#: index.docbook:1899, index.docbook:1975
msgid ""
"<literal>unique</literal> (optional - defaults to <literal>false</literal>): "
"Specifies that a unique constraint exists upon all mapped columns of the "
"component."
msgstr ""
"<literal>unique</literal> (opcional - por defecto a <literal>false</"
-"literal>): Especifica que existe una restricción de unicidad sobre todas las "
-"columnas mapeadas del componente."
+"literal>): Especifica que existe una restricción de unicidad sobre "
+"todas las columnas mapeadas del componente."
-#. Tag: para
-#: basic_mapping.xml:1908
-#, no-c-format
+#: index.docbook:1908
msgid ""
"The child <literal><property></literal> tags map properties of the "
"child class to table columns."
@@ -3665,9 +3385,7 @@
"Las etiquetas hijas <literal><property></literal> mapean propiedades "
"de la clase hija columnas de la tabla."
-#. Tag: para
-#: basic_mapping.xml:1913
-#, no-c-format
+#: index.docbook:1913
msgid ""
"The <literal><component></literal> element allows a <literal><"
"parent></literal> subelement that maps a property of the component class "
@@ -3677,9 +3395,7 @@
"<literal><parent></literal> que mapea una propiedad de la clase del "
"componente como una referencia de regreso a la entidad contenedora."
-#. Tag: para
-#: basic_mapping.xml:1919
-#, no-c-format
+#: index.docbook:1919
msgid ""
"The <literal><dynamic-component></literal> element allows a "
"<literal>Map</literal> to be mapped as a component, where the property names "
@@ -3690,15 +3406,11 @@
"las propiedades se corresponden a las claves del mapa, ver <xref linkend="
"\"components-dynamic\"/>."
-#. Tag: title
-#: basic_mapping.xml:1928
-#, no-c-format
+#: index.docbook:1928
msgid "properties"
msgstr "properties"
-#. Tag: para
-#: basic_mapping.xml:1930
-#, no-c-format
+#: index.docbook:1930
msgid ""
"The <literal><properties></literal> element allows the definition of a "
"named, logical grouping of properties of a class. The most important use of "
@@ -3706,15 +3418,14 @@
"of a <literal>property-ref</literal>. It is also a convenient way to define "
"a multi-column unique constraint."
msgstr ""
-"El elemento <literal><properties></literal> permite la definición de "
-"un grupo de propiedades lógico con nombre de una clase. El uso más "
-"importante de la contrucción es que permite que una combinación de "
-"propiedades sea objetivo de una <literal>property-ref</literal>. Es también "
-"una forma conveniente de definir una restricción de unicidad multicolumna."
+"El elemento <literal><properties></literal> permite la definició"
+"n de un grupo de propiedades lógico con nombre de una clase. El uso "
+"más importante de la contrucción es que permite que una "
+"combinación de propiedades sea objetivo de una <literal>property-ref</"
+"literal>. Es también una forma conveniente de definir una "
+"restricción de unicidad multicolumna."
-#. Tag: programlisting
-#: basic_mapping.xml:1946
-#, no-c-format
+#: index.docbook:1946
msgid ""
"<![CDATA[<properties\n"
" name=\"logicalName\"\n"
@@ -3729,20 +3440,28 @@
" ........\n"
"</properties>]]>"
msgstr ""
+"<![CDATA[<properties \n"
+" name=\"logicalName\" \n"
+" insert=\"true|false\"\n"
+" update=\"true|false\"\n"
+" optimistic-lock=\"true|false\"\n"
+" unique=\"true|false\"\n"
+">\n"
+" \n"
+" <property ...../>\n"
+" <many-to-one .... />\n"
+" ........\n"
+"</properties>]]>"
-#. Tag: para
-#: basic_mapping.xml:1949
-#, no-c-format
+#: index.docbook:1949
msgid ""
"<literal>name</literal>: The logical name of the grouping - <emphasis>not</"
"emphasis> an actual property name."
msgstr ""
-"<literal>name</literal>: El nombre lógico del agrupamiento - <emphasis>no</"
-"emphasis> un nombre de propiedad real."
+"<literal>name</literal>: El nombre lógico del agrupamiento - "
+"<emphasis>no</emphasis> un nombre de propiedad real."
-#. Tag: para
-#: basic_mapping.xml:1967
-#, no-c-format
+#: index.docbook:1967
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
"literal>): Specifies that updates to these properties do or do not require "
@@ -3751,13 +3470,11 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
"literal>): Especifica si las actualizaciones de estas propiedades requieren "
-"o no de la adquisición de un bloqueo optimista. En otras palabras, determina "
-"si debe ocurrir un incremento de versión cuando estas propiedades están "
-"desactualizadas."
+"o no de la adquisición de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando estas "
+"propiedades están desactualizadas."
-#. Tag: para
-#: basic_mapping.xml:1984
-#, no-c-format
+#: index.docbook:1984
msgid ""
"For example, if we have the following <literal><properties></literal> "
"mapping:"
@@ -3765,9 +3482,7 @@
"Por ejemplo, si tenemos el siguiente mapeo de <literal><properties></"
"literal>:"
-#. Tag: programlisting
-#: basic_mapping.xml:1988
-#, no-c-format
+#: index.docbook:1988
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"personNumber\"/>\n"
@@ -3780,21 +3495,27 @@
" </properties>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"personNumber\"/>\n"
+" ...\n"
+" <properties name=\"name\" \n"
+" unique=\"true\" update=\"false\">\n"
+" <property name=\"firstName\"/>\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"lastName\"/>\n"
+" </properties>\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:1990
-#, no-c-format
+#: index.docbook:1990
msgid ""
"Then we might have some legacy data association which refers to this unique "
"key of the <literal>Person</literal> table, instead of to the primary key:"
msgstr ""
-"Entonces puede que tengamos alguna asociación de datos heredados que se "
-"refiera a esta clave única de la tabla de <literal>Person</literal>, en vez "
-"de la clave primaria:"
+"Entonces puede que tengamos alguna asociación de datos heredados que "
+"se refiera a esta clave única de la tabla de <literal>Person</"
+"literal>, en vez de la clave primaria:"
-#. Tag: programlisting
-#: basic_mapping.xml:1995
-#, no-c-format
+#: index.docbook:1995
msgid ""
"<![CDATA[<many-to-one name=\"person\"\n"
" class=\"Person\" property-ref=\"name\">\n"
@@ -3803,10 +3524,14 @@
" <column name=\"lastName\"/>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"person\" \n"
+" class=\"Person\" property-ref=\"name\">\n"
+" <column name=\"firstName\"/>\n"
+" <column name=\"initial\"/>\n"
+" <column name=\"lastName\"/>\n"
+"</many-to-one>]]>"
-#. Tag: para
-#: basic_mapping.xml:1997
-#, no-c-format
+#: index.docbook:1997
msgid ""
"We don't recommend the use of this kind of thing outside the context of "
"mapping legacy data."
@@ -3814,27 +3539,22 @@
"No recomendamos el uso de este tipo de cosas fuera del contexto del mapeo de "
"datos heredados."
-#. Tag: title
-#: basic_mapping.xml:2005
-#, no-c-format
+#: index.docbook:2005
msgid "subclass"
msgstr "subclass"
-#. Tag: para
-#: basic_mapping.xml:2007
-#, no-c-format
+#: index.docbook:2007
msgid ""
"Finally, polymorphic persistence requires the declaration of each subclass "
"of the root persistent class. For the table-per-class-hierarchy mapping "
"strategy, the <literal><subclass></literal> declaration is used."
msgstr ""
-"Finalmente, la persistencia polimórfica requiere la declaración de la clase "
-"persistente raíz. Para la estrategia de mapeo tabla-por-jerarquía-de-clases, "
-"se usa la declaración de <literal><subclass></literal>."
+"Finalmente, la persistencia polimórfica requiere la declaració"
+"n de la clase persistente raíz. Para la estrategia de mapeo tabla-por-"
+"jerarquía-de-clases, se usa la declaración de <literal><"
+"subclass></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2020
-#, no-c-format
+#: index.docbook:2020
msgid ""
"<![CDATA[<subclass\n"
" name=\"ClassName\"\n"
@@ -3851,26 +3571,28 @@
" .....\n"
"</subclass>]]>"
msgstr ""
+"<![CDATA[<subclass\n"
+" name=\"ClassName\"\n"
+" discriminator-value=\"discriminator_value\"\n"
+" proxy=\"ProxyInterface\"\n"
+" lazy=\"true|false\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\">\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</subclass>]]>"
-#. Tag: para
-#: basic_mapping.xml:2023 basic_mapping.xml:2081 basic_mapping.xml:2144
-#, fuzzy, no-c-format
+#: index.docbook:2023, index.docbook:2081, index.docbook:2144
msgid ""
"<literal>name</literal>: The fully qualified class name of the subclass."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>name</literal>: El nombre de clase cualificado completamente de la "
-"subclase.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>name</literal>: El nombre de clase completamente cualificado de la "
-"subclase.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>name</literal>: El nombre de clase completamente cualificado de la "
"subclase."
-#. Tag: para
-#: basic_mapping.xml:2028
-#, no-c-format
+#: index.docbook:2028
msgid ""
"<literal>discriminator-value</literal> (optional - defaults to the class "
"name): A value that distiguishes individual subclasses."
@@ -3878,37 +3600,24 @@
"<literal>discriminator-value</literal> (opcional - por defecto al nombre de "
"la clase): Un valor que distingue a subclases individuales."
-#. Tag: para
-#: basic_mapping.xml:2034 basic_mapping.xml:2091 basic_mapping.xml:2154
-#, fuzzy, no-c-format
+#: index.docbook:2034, index.docbook:2091, index.docbook:2154
msgid ""
"<literal>proxy</literal> (optional): Specifies a class or interface to use "
"for lazy initializing proxies."
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
"<literal>proxy</literal> (opcional): Especifica una clase o interface a usar "
-"para proxies de inicialización perezosa.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>proxy</literal> (opcional): Especifica una clase o interface a usar "
-"para proxies de inicializacón perezosa.\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<literal>proxy</literal> (optional): Especifica una clase o interface a usar "
-"para proxies de inicializacón perezosa."
+"para proxies de inicialización perezosa."
-#. Tag: para
-#: basic_mapping.xml:2040 basic_mapping.xml:2097 basic_mapping.xml:2160
-#, no-c-format
+#: index.docbook:2040, index.docbook:2097, index.docbook:2160
msgid ""
"<literal>lazy</literal> (optional, defaults to <literal>true</literal>): "
"Setting <literal>lazy=\"false\"</literal> disables the use of lazy fetching."
msgstr ""
"<literal>lazy</literal> (opcional, por defecto a <literal>true</literal>): "
"Establecer <literal>lazy=\"false\"</literal> deshabilita el uso de "
-"recuperación perezosa."
+"recuperación perezosa."
-#. Tag: para
-#: basic_mapping.xml:2048
-#, no-c-format
+#: index.docbook:2048
msgid ""
"Each subclass should declare its own persistent properties and subclasses. "
"<literal><version></literal> and <literal><id></literal> "
@@ -3922,25 +3631,19 @@
"subclass in a heirarchy must define a unique <literal>discriminator-value</"
"literal>. If none is specified, the fully qualified Java class name is used."
-#. Tag: para
-#: basic_mapping.xml:2056 basic_mapping.xml:2114 basic_mapping.xml:2172
-#, no-c-format
+#: index.docbook:2056, index.docbook:2114, index.docbook:2172
msgid ""
"For information about inheritance mappings, see <xref linkend=\"inheritance"
"\"/>."
msgstr ""
-"Para información acerca de mapeos de herencia, ver <xref linkend="
+"Para información acerca de mapeos de herencia, ver <xref linkend="
"\"inheritance\"/>."
-#. Tag: title
-#: basic_mapping.xml:2063
-#, no-c-format
+#: index.docbook:2063
msgid "joined-subclass"
msgstr "joined-subclass"
-#. Tag: para
-#: basic_mapping.xml:2065
-#, no-c-format
+#: index.docbook:2065
msgid ""
"Alternatively, each subclass may be mapped to its own table (table-per-"
"subclass mapping strategy). Inherited state is retrieved by joining with the "
@@ -3952,9 +3655,7 @@
"uniendo con la tabla de la superclase. Usamos el elemento <literal><"
"joined-subclass></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2078
-#, no-c-format
+#: index.docbook:2078
msgid ""
"<![CDATA[<joined-subclass\n"
" name=\"ClassName\"\n"
@@ -3977,16 +3678,32 @@
" .....\n"
"</joined-subclass>]]>"
msgstr ""
+"<![CDATA[<joined-subclass\n"
+" name=\"ClassName\"\n"
+" table=\"tablename\"\n"
+" proxy=\"ProxyInterface\"\n"
+" lazy=\"true|false\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" schema=\"schema\"\n"
+" catalog=\"catalog\"\n"
+" extends=\"SuperclassName\"\n"
+" persister=\"ClassName\"\n"
+" subselect=\"SQL expression\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\">\n"
+"\n"
+" <key .... >\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</joined-subclass>]]>"
-#. Tag: para
-#: basic_mapping.xml:2086 basic_mapping.xml:2149
-#, no-c-format
+#: index.docbook:2086, index.docbook:2149
msgid "<literal>table</literal>: The name of the subclass table."
msgstr "<literal>table</literal>: El nombre de tabla de la subclase."
-#. Tag: para
-#: basic_mapping.xml:2105
-#, no-c-format
+#: index.docbook:2105
msgid ""
"No discriminator column is required for this mapping strategy. Each subclass "
"must, however, declare a table column holding the object identifier using "
@@ -3996,11 +3713,9 @@
"No se requiere de una columna discriminadora para esta estrategia de mapeo. "
"Cada subclase debe, sin embargo, declarar una columna de tabla que tenga el "
"identificador del objeto usando el elemento <literal><key></literal>. "
-"El mapeo del comienzo del capítulo debería ser reescrito como:"
+"El mapeo del comienzo del capítulo debería ser reescrito como:"
-#. Tag: programlisting
-#: basic_mapping.xml:2112
-#, no-c-format
+#: index.docbook:2112
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -4035,16 +3750,44 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class name=\"Cat\" table=\"CATS\">\n"
+" <id name=\"id\" column=\"uid\" type=\"long\">\n"
+" <generator class=\"hilo\"/>\n"
+" </id>\n"
+" <property name=\"birthdate\" type=\"date\"/>\n"
+" <property name=\"color\" not-null=\"true\"/>\n"
+" <property name=\"sex\" not-null=\"true\"/>\n"
+" <property name=\"weight\"/>\n"
+" <many-to-one name=\"mate\"/>\n"
+" <set name=\"kittens\">\n"
+" <key column=\"MOTHER\"/>\n"
+" <one-to-many class=\"Cat\"/>\n"
+" </set>\n"
+" <joined-subclass name=\"DomesticCat\" table=\"DOMESTIC_CATS"
+"\">\n"
+" <key column=\"CAT\"/>\n"
+" <property name=\"name\" type=\"string\"/>\n"
+" </joined-subclass>\n"
+" </class>\n"
+"\n"
+" <class name=\"eg.Dog\">\n"
+" <!-- mapping for Dog could go here -->\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: title
-#: basic_mapping.xml:2121
-#, no-c-format
+#: index.docbook:2121
msgid "union-subclass"
msgstr "union-subclass"
-#. Tag: para
-#: basic_mapping.xml:2123
-#, no-c-format
+#: index.docbook:2123
msgid ""
"A third option is to map only the concrete classes of an inheritance "
"hierarchy to tables, (the table-per-concrete-class strategy) where each "
@@ -4056,19 +3799,17 @@
"hierarchy), you need to use the <literal><union-subclass></literal> "
"mapping."
msgstr ""
-"Una tercera opción es mapear sólo las clases concretas de una jerarquía de "
-"clases a tablas, (la estrategia tabla-por-clase-concreta) donde cada tabla "
-"define todo el estado persistente de la clase, incluyendo el estado "
-"heredado. En Hibernate, no es absolutamente necesario mapear dichas "
-"jerarquías de herencia. Puedes simplemente mapear cada clase con una "
-"declaración <literal><class></literal> separada. Sin embargo, si "
-"deseas usar asociaciones polimórficas (por ejemplo, una asociación a la "
-"superclase de tu jerarquía), debes usar el mapeo <literal><union-"
-"subclass></literal>."
+"Una tercera opción es mapear sólo las clases concretas de una "
+"jerarquía de clases a tablas, (la estrategia tabla-por-clase-"
+"concreta) donde cada tabla define todo el estado persistente de la clase, "
+"incluyendo el estado heredado. En Hibernate, no es absolutamente necesario "
+"mapear dichas jerarquías de herencia. Puedes simplemente mapear cada "
+"clase con una declaración <literal><class></literal> separada. "
+"Sin embargo, si deseas usar asociaciones polimórficas (por ejemplo, "
+"una asociación a la superclase de tu jerarquía), debes usar el "
+"mapeo <literal><union-subclass></literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2141
-#, no-c-format
+#: index.docbook:2141
msgid ""
"<![CDATA[<union-subclass\n"
" name=\"ClassName\"\n"
@@ -4090,25 +3831,38 @@
" .....\n"
"</union-subclass>]]>"
msgstr ""
+"<![CDATA[<union-subclass\n"
+" name=\"ClassName\"\n"
+" table=\"tablename\"\n"
+" proxy=\"ProxyInterface\"\n"
+" lazy=\"true|false\"\n"
+" dynamic-update=\"true|false\"\n"
+" dynamic-insert=\"true|false\"\n"
+" schema=\"schema\"\n"
+" catalog=\"catalog\"\n"
+" extends=\"SuperclassName\"\n"
+" abstract=\"true|false\"\n"
+" persister=\"ClassName\"\n"
+" subselect=\"SQL expression\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\">\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</union-subclass>]]>"
-#. Tag: para
-#: basic_mapping.xml:2168
-#, no-c-format
+#: index.docbook:2168
msgid ""
"No discriminator column or key column is required for this mapping strategy."
msgstr ""
"No se requiere columna o columna clave discriminadora para esta estrategia "
"de mapeo."
-#. Tag: title
-#: basic_mapping.xml:2179
-#, no-c-format
+#: index.docbook:2179
msgid "join"
msgstr "join"
-#. Tag: para
-#: basic_mapping.xml:2181
-#, no-c-format
+#: index.docbook:2181
msgid ""
"Using the <literal><join></literal> element, it is possible to map "
"properties of one class to several tables, when there's a 1-to-1 "
@@ -4117,9 +3871,7 @@
"Usando el elemento <literal><join></literal>, es posible mapear "
"propiedades de una clase a varias tablas."
-#. Tag: programlisting
-#: basic_mapping.xml:2195
-#, no-c-format
+#: index.docbook:2195
msgid ""
"<![CDATA[<join\n"
" table=\"tablename\"\n"
@@ -4135,16 +3887,25 @@
" ...\n"
"</join>]]>"
msgstr ""
+"<![CDATA[<join\n"
+" table=\"tablename\"\n"
+" schema=\"owner\"\n"
+" catalog=\"catalog\"\n"
+" fetch=\"join|select\"\n"
+" inverse=\"true|false\"\n"
+" optional=\"true|false\">\n"
+" \n"
+" <key ... />\n"
+" \n"
+" <property ... />\n"
+" ...\n"
+"</join>]]>"
-#. Tag: para
-#: basic_mapping.xml:2199
-#, no-c-format
+#: index.docbook:2199
msgid "<literal>table</literal>: The name of the joined table."
msgstr "<literal>table</literal>: El nombre de la clase unida."
-#. Tag: para
-#: basic_mapping.xml:2216
-#, no-c-format
+#: index.docbook:2216
msgid ""
"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
"If set to <literal>join</literal>, the default, Hibernate will use an inner "
@@ -4157,32 +3918,29 @@
"<literal><join></literal> defined by the class and its superclasses."
msgstr ""
"<literal>fetch</literal> (opcional - por defecto a <literal>join</literal>): "
-"Si se establece a <literal>join</literal>, por defecto, Hibernate usará una "
-"unión interior (inner join) para recuperar un <literal><join></"
-"literal> definido por una clase o sus superclases y una unión externa (outer "
-"join) para un <literal><join></literal> definido por una subclase. Si "
-"se establece a <literal>select</literal>, entonces Hibernate usará una "
-"select secuencial para un <literal><join></literal> definido en una "
-"subclase, que será publicada sólo si una fila resulta representar una "
-"instancia de la subclase. Las uniones interiores todavía serán usados para "
+"Si se establece a <literal>join</literal>, por defecto, Hibernate "
+"usará una unión interior (inner join) para recuperar un "
+"<literal><join></literal> definido por una clase o sus superclases y "
+"una unión externa (outer join) para un <literal><join></"
+"literal> definido por una subclase. Si se establece a <literal>select</"
+"literal>, entonces Hibernate usará una select secuencial para un "
+"<literal><join></literal> definido en una subclase, que será "
+"publicada sólo si una fila resulta representar una instancia de la "
+"subclase. Las uniones interiores todavía serán usados para "
"recuperar un <literal><join></literal> definido por la clase y sus "
"superclases."
-#. Tag: para
-#: basic_mapping.xml:2229
-#, no-c-format
+#: index.docbook:2229
msgid ""
"<literal>inverse</literal> (optional - defaults to <literal>false</"
"literal>): If enabled, Hibernate will not try to insert or update the "
"properties defined by this join."
msgstr ""
"<literal>inverse</literal> (opcional - por defecto a <literal>false</"
-"literal>): De habilitarse, Hibernate no intentará insertar o actualizar las "
-"propiedades definidas por esta unión."
+"literal>): De habilitarse, Hibernate no intentará insertar o "
+"actualizar las propiedades definidas por esta unión."
-#. Tag: para
-#: basic_mapping.xml:2236
-#, no-c-format
+#: index.docbook:2236
msgid ""
"<literal>optional</literal> (optional - defaults to <literal>false</"
"literal>): If enabled, Hibernate will insert a row only if the properties "
@@ -4190,24 +3948,20 @@
"retrieve the properties."
msgstr ""
"<literal>optional</literal> (opcional - por defecto a <literal>false</"
-"literal>): De habilitarse, Hibernate insertará una fila sólo si las "
-"propiedades definidas por esta unión son no nulas y siempre usará una unión "
-"externa para recuperar las propiedades."
+"literal>): De habilitarse, Hibernate insertará una fila sólo "
+"si las propiedades definidas por esta unión son no nulas y siempre "
+"usará una unión externa para recuperar las propiedades."
-#. Tag: para
-#: basic_mapping.xml:2245
-#, no-c-format
+#: index.docbook:2245
msgid ""
"For example, the address information for a person can be mapped to a "
"separate table (while preserving value type semantics for all properties):"
msgstr ""
-"Por ejemplo, la información domiciliaria de una persona puede ser mapeada a "
-"una tabla separada (preservando a la vez la semántica de tipo de valor para "
-"todas las propiedades):"
+"Por ejemplo, la información domiciliaria de una persona puede ser "
+"mapeada a una tabla separada (preservando a la vez la semántica de "
+"tipo de valor para todas las propiedades):"
-#. Tag: programlisting
-#: basic_mapping.xml:2250
-#, no-c-format
+#: index.docbook:2250
msgid ""
"<![CDATA[<class name=\"Person\"\n"
" table=\"PERSON\">\n"
@@ -4222,30 +3976,37 @@
" </join>\n"
" ...]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\"\n"
+" table=\"PERSON\">\n"
+"\n"
+" <id name=\"id\" column=\"PERSON_ID\">...</id>\n"
+"\n"
+" <join table=\"ADDRESS\">\n"
+" <key column=\"ADDRESS_ID\"/>\n"
+" <property name=\"address\"/>\n"
+" <property name=\"zip\"/>\n"
+" <property name=\"country\"/>\n"
+" </join>\n"
+" ...]]>"
-#. Tag: para
-#: basic_mapping.xml:2252
-#, no-c-format
+#: index.docbook:2252
msgid ""
"This feature is often only useful for legacy data models, we recommend fewer "
"tables than classes and a fine-grained domain model. However, it is useful "
"for switching between inheritance mapping strategies in a single hierarchy, "
"as explained later."
msgstr ""
-"Esta funcionalidad es a menudo solamente útil para modelos de datos "
-"heredados; recomendamos menos tablas que clases un modelo de dominio más "
-"granularizado. Sin embargo, es útil para cambiar entre estrategias de mapeo "
-"de herencias en una misma jerarquía, como se explica luego."
+"Esta funcionalidad es a menudo solamente útil para modelos de datos "
+"heredados; recomendamos menos tablas que clases un modelo de dominio "
+"más granularizado. Sin embargo, es útil para cambiar entre "
+"estrategias de mapeo de herencias en una misma jerarquía, como se "
+"explica luego."
-#. Tag: title
-#: basic_mapping.xml:2262
-#, no-c-format
+#: index.docbook:2262
msgid "<title>key</title>"
-msgstr ""
+msgstr "<title>key</title>"
-#. Tag: para
-#: basic_mapping.xml:2264
-#, no-c-format
+#: index.docbook:2264
msgid ""
"We've seen the <literal><key></literal> element crop up a few times "
"now. It appears anywhere the parent mapping element defines a join to a new "
@@ -4254,12 +4015,10 @@
msgstr ""
"Hasta ahora hemos visto el elemento <literal><key></literal> pocas "
"veces. Aparece en cualquier sitio en que el elemento padre de mapeo defina "
-"una unión a una nueva tabla, y define la clave foránea en la tabla unida, "
-"que referencia la clave primaria de la tabla original."
+"una unión a una nueva tabla, y define la clave foránea en la "
+"tabla unida, que referencia la clave primaria de la tabla original."
-#. Tag: programlisting
-#: basic_mapping.xml:2280
-#, no-c-format
+#: index.docbook:2280
msgid ""
"<![CDATA[<key\n"
" column=\"columnname\"\n"
@@ -4270,70 +4029,66 @@
" unique=\"true|false\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<key\n"
+" column=\"columnname\"\n"
+" on-delete=\"noaction|cascade\"\n"
+" property-ref=\"propertyName\"\n"
+" not-null=\"true|false\"\n"
+" update=\"true|false\"\n"
+" unique=\"true|false\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:2291
-#, no-c-format
+#: index.docbook:2291
msgid ""
"<literal>on-delete</literal> (optional, defaults to <literal>noaction</"
"literal>): Specifies whether the foreign key constraint has database-level "
"cascade delete enabled."
msgstr ""
"<literal>on-delete</literal> (opcional, por defecto a <literal>noaction</"
-"literal>): Especifica si la restricción de clave foránea tiene el borrado en "
-"cascada habilitado a nivel de base de datos."
+"literal>): Especifica si la restricción de clave foránea tiene "
+"el borrado en cascada habilitado a nivel de base de datos."
-#. Tag: para
-#: basic_mapping.xml:2298
-#, no-c-format
+#: index.docbook:2298
msgid ""
"<literal>property-ref</literal> (optional): Specifies that the foreign key "
"refers to columns that are not the primary key of the orginal table. "
"(Provided for legacy data.)"
msgstr ""
-"<literal>property-ref</literal> (opcional): Especifica que la clave foránea "
-"referencia columnas que no son del la clave primaria de la tabla original. "
-"(Provisto para datos heredados.)"
+"<literal>property-ref</literal> (opcional): Especifica que la clave "
+"foránea referencia columnas que no son del la clave primaria de la "
+"tabla original. (Provisto para datos heredados.)"
-#. Tag: para
-#: basic_mapping.xml:2305
-#, no-c-format
+#: index.docbook:2305
msgid ""
"<literal>not-null</literal> (optional): Specifies that the foreign key "
"columns are not nullable (this is implied whenever the foreign key is also "
"part of the primary key)."
msgstr ""
"<literal>not-null</literal> (opcional): Especifica que las columnas de la "
-"clave foránea son no nulables (esto está implicado si la clave foránea es "
-"también parte de la clave primaria)."
+"clave foránea son no nulables (esto está implicado si la clave "
+"foránea es también parte de la clave primaria)."
-#. Tag: para
-#: basic_mapping.xml:2312
-#, no-c-format
+#: index.docbook:2312
msgid ""
"<literal>update</literal> (optional): Specifies that the foreign key should "
"never be updated (this is implied whenever the foreign key is also part of "
"the primary key)."
msgstr ""
-"<literal>update</literal> (opcional): Especifica que la clave foránea nunca "
-"debe ser actualizada (esto está implicado si la clave foránea es también "
-"parte de la clave primaria)."
+"<literal>update</literal> (opcional): Especifica que la clave foránea "
+"nunca debe ser actualizada (esto está implicado si la clave "
+"foránea es también parte de la clave primaria)."
-#. Tag: para
-#: basic_mapping.xml:2319
-#, no-c-format
+#: index.docbook:2319
msgid ""
"<literal>unique</literal> (optional): Specifies that the foreign key should "
"have a unique constraint (this is implied whenever the foreign key is also "
"the primary key)."
msgstr ""
-"<literal>unique</literal> (opcional): Especifica que la clave foránea debe "
-"tener una restricción de unicidad (esto está implicado si la clave foránea "
-"es también la clave primaria)."
+"<literal>unique</literal> (opcional): Especifica que la clave foránea "
+"debe tener una restricción de unicidad (esto está implicado si "
+"la clave foránea es también la clave primaria)."
-#. Tag: para
-#: basic_mapping.xml:2327
-#, no-c-format
+#: index.docbook:2327
msgid ""
"We recommend that for systems where delete performance is important, all "
"keys should be defined <literal>on-delete=\"cascade\"</literal>, and "
@@ -4344,15 +4099,13 @@
msgstr ""
"Recomendamos que, para los sistemas en donde el rendimiento sea importante, "
"todas las claves deben ser definidas <literal>on-delete=\"cascade\"</"
-"literal>, e Hibernate usará una restricción <literal>ON CASCADE DELETE</"
-"literal> a nivel de base de datos, en vez de muchas sentencias "
-"<literal>DELETE</literal> individuales. Ten en cuenta que esta funcionalidad "
-"se salta la habitual estrategia de bloqueo optimista de Hibernate para datos "
-"versionados."
+"literal>, e Hibernate usará una restricción <literal>ON "
+"CASCADE DELETE</literal> a nivel de base de datos, en vez de muchas "
+"sentencias <literal>DELETE</literal> individuales. Ten en cuenta que esta "
+"funcionalidad se salta la habitual estrategia de bloqueo optimista de "
+"Hibernate para datos versionados."
-#. Tag: para
-#: basic_mapping.xml:2335
-#, no-c-format
+#: index.docbook:2335
msgid ""
"The <literal>not-null</literal> and <literal>update</literal> attributes are "
"useful when mapping a unidirectional one to many association. If you map a "
@@ -4361,20 +4114,16 @@
"null=\"true\"></literal>."
msgstr ""
"Los atributos <literal>not-null</literal> y <literal>update</literal> son "
-"útiles al mapear una asociación uno a muchos unidireccional. Si mapeas una "
-"uno a muchos unidireccional a una clave foránea no nulable, <emphasis>debes</"
-"emphasis> declarar la columna clave usando <literal><key not-null=\"true"
-"\"></literal>."
+"útiles al mapear una asociación uno a muchos unidireccional. "
+"Si mapeas una uno a muchos unidireccional a una clave foránea no "
+"nulable, <emphasis>debes</emphasis> declarar la columna clave usando "
+"<literal><key not-null=\"true\"></literal>."
-#. Tag: title
-#: basic_mapping.xml:2345
-#, no-c-format
+#: index.docbook:2345
msgid "column and formula elements"
msgstr "los elementos column y formula"
-#. Tag: para
-#: basic_mapping.xml:2346
-#, no-c-format
+#: index.docbook:2346
msgid ""
"Any mapping element which accepts a <literal>column</literal> attribute will "
"alternatively accept a <literal><column></literal> subelement. "
@@ -4382,13 +4131,11 @@
"<literal>formula</literal> attribute."
msgstr ""
"Cualquier elemento de mapeo que acepte un atributo <literal>column</literal> "
-"aceptará alternativamente un subelemento <literal><column></literal>. "
-"De forma similar, <literal><formula></literal> es una alternativa al "
-"atributo <literal>formula</literal>."
+"aceptará alternativamente un subelemento <literal><column></"
+"literal>. De forma similar, <literal><formula></literal> es una "
+"alternativa al atributo <literal>formula</literal>."
-#. Tag: programlisting
-#: basic_mapping.xml:2352
-#, no-c-format
+#: index.docbook:2352
msgid ""
"<![CDATA[<column\n"
" name=\"column_name\"\n"
@@ -4403,28 +4150,33 @@
" check=\"SQL expression\"\n"
" default=\"SQL expression\"/>]]>"
msgstr ""
+"<![CDATA[<column\n"
+" name=\"column_name\"\n"
+" length=\"N\"\n"
+" precision=\"N\"\n"
+" scale=\"N\"\n"
+" not-null=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" unique-key=\"multicolumn_unique_key_name\"\n"
+" index=\"index_name\"\n"
+" sql-type=\"sql_type_name\"\n"
+" check=\"SQL expression\"/>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2354
-#, no-c-format
+#: index.docbook:2354
msgid "<![CDATA[<formula>SQL expression</formula>]]>"
-msgstr ""
+msgstr "<![CDATA[<formula>expresión SQL</formula>]]>"
-#. Tag: para
-#: basic_mapping.xml:2356
-#, no-c-format
+#: index.docbook:2356
msgid ""
"<literal>column</literal> and <literal>formula</literal> attributes may even "
"be combined within the same property or association mapping to express, for "
"example, exotic join conditions."
msgstr ""
"Los atributos <literal>column</literal> y <literal>formula</literal> pueden "
-"incluso ser combinados dentro del mismo mapeo de propiedad o asociación para "
-"expresar, por ejemplo, condiciones de unión exóticas."
+"incluso ser combinados dentro del mismo mapeo de propiedad o asociació"
+"n para expresar, por ejemplo, condiciones de unión exóticas."
-#. Tag: programlisting
-#: basic_mapping.xml:2362
-#, no-c-format
+#: index.docbook:2362
msgid ""
"<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
" insert=\"false\" update=\"false\">\n"
@@ -4432,16 +4184,17 @@
" <formula>'MAILING'</formula>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"homeAddress\" class=\"Address\"\n"
+" insert=\"false\" update=\"false\">\n"
+" <column name=\"person_id\" not-null=\"true\" length=\"10\"/>\n"
+" <formula>'MAILING'</formula>\n"
+"</many-to-one>]]>"
-#. Tag: title
-#: basic_mapping.xml:2367
-#, no-c-format
+#: index.docbook:2367
msgid "import"
msgstr "import"
-#. Tag: para
-#: basic_mapping.xml:2369
-#, no-c-format
+#: index.docbook:2369
msgid ""
"Suppose your application has two persistent classes with the same name, and "
"you don't want to specify the fully qualified (package) name in Hibernate "
@@ -4449,31 +4202,30 @@
"<literal>auto-import=\"true\"</literal>. You may even import classes and "
"interfaces that are not explicitly mapped."
msgstr ""
-"Supón que tu aplicación tiene dos clases persistentes con el mismo nombre, y "
-"no quieres especificar el nombre completamenta cualificado (paquete) en las "
-"consultas Hibernate. Las clases pueden ser \"importadas\" explícitamente, en "
-"vez de confiar en <literal>auto-import=\"true\"</literal>. Puedes incluso "
-"importar clases e interfaces que no estén mapeadas explícitamente."
+"Supón que tu aplicación tiene dos clases persistentes con el "
+"mismo nombre, y no quieres especificar el nombre completamenta cualificado "
+"(paquete) en las consultas Hibernate. Las clases pueden ser \"importadas\" "
+"explícitamente, en vez de confiar en <literal>auto-import=\"true\"</"
+"literal>. Puedes incluso importar clases e interfaces que no estén "
+"mapeadas explícitamente."
-#. Tag: programlisting
-#: basic_mapping.xml:2376
-#, no-c-format
+#: index.docbook:2376
msgid "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2383
-#, no-c-format
+#: index.docbook:2383
msgid ""
"<![CDATA[<import\n"
" class=\"ClassName\"\n"
" rename=\"ShortName\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<import\n"
+" class=\"ClassName\"\n"
+" rename=\"ShortName\"\n"
+"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:2386
-#, no-c-format
+#: index.docbook:2386
msgid ""
"<literal>class</literal>: The fully qualified class name of of any Java "
"class."
@@ -4481,25 +4233,19 @@
"<literal>class</literal>: El nombre de clase completamente cualificado de "
"cualquier clase Java."
-#. Tag: para
-#: basic_mapping.xml:2391
-#, no-c-format
+#: index.docbook:2391
msgid ""
"<literal>rename</literal> (optional - defaults to the unqualified class "
"name): A name that may be used in the query language."
msgstr ""
"<literal>rename</literal> (opcional - por defecto al nombre de clase sin "
-"cualificar): Un nombre que será usado en el leguaje de consulta."
+"cualificar): Un nombre que será usado en el leguaje de consulta."
-#. Tag: title
-#: basic_mapping.xml:2402
-#, no-c-format
+#: index.docbook:2402
msgid "<title>any</title>"
-msgstr ""
+msgstr "<title>any</title>"
-#. Tag: para
-#: basic_mapping.xml:2404
-#, no-c-format
+#: index.docbook:2404
msgid ""
"There is one further type of property mapping. The <literal><any></"
"literal> mapping element defines a polymorphic association to classes from "
@@ -4510,19 +4256,18 @@
"as the usual way of mapping (polymorphic) associations. You should use this "
"only in very special cases (eg. audit logs, user session data, etc)."
msgstr ""
-"Hay un tipo más de mapeo de propiedad. El elemento de mapeo <literal><"
-"any></literal> define una asociacián polimórfica a clases desde múltiples "
-"tablas. Este tipo de mapeo siempre requiere más de una columna. La primera "
-"columna contiene el tipo de la entidad asociada. Las columnas restantes "
-"contienen el identificador. Es imposible especificar una restricción de "
-"clave foránea para este tipo de asociación, por lo que esto ciertamente no "
-"está concebido como la forma habitual de mapear asociaciones (polimórficas). "
-"Sólo debes usar esto en casos muy especiales (por ejemplo, trazas de "
-"auditoréa, datos de sesión de usuario, etc)."
+"Hay un tipo más de mapeo de propiedad. El elemento de mapeo "
+"<literal><any></literal> define una asociacián polimó"
+"rfica a clases desde múltiples tablas. Este tipo de mapeo siempre "
+"requiere más de una columna. La primera columna contiene el tipo de "
+"la entidad asociada. Las columnas restantes contienen el identificador. Es "
+"imposible especificar una restricción de clave foránea para "
+"este tipo de asociación, por lo que esto ciertamente no está "
+"concebido como la forma habitual de mapear asociaciones (polimó"
+"rficas). Sólo debes usar esto en casos muy especiales (por ejemplo, "
+"trazas de auditoréa, datos de sesión de usuario, etc)."
-#. Tag: para
-#: basic_mapping.xml:2414
-#, no-c-format
+#: index.docbook:2414
msgid ""
"The <literal>meta-type</literal> attribute lets the application specify a "
"custom type that maps database column values to persistent classes which "
@@ -4530,15 +4275,13 @@
"literal>. You must specify the mapping from values of the meta-type to class "
"names."
msgstr ""
-"El atributo <literal>meta-type</literal> permite a la aplicación especificar "
-"un tipo personalizado que mapee columnas de base de datos a clases "
-"persistentes que tengan propiedades identificadoras del tipo especificado "
-"por <literal>id-type</literal>. Debes especificar el mapeo de valores del "
-"meta-type a nombres de clase."
+"El atributo <literal>meta-type</literal> permite a la aplicación "
+"especificar un tipo personalizado que mapee columnas de base de datos a "
+"clases persistentes que tengan propiedades identificadoras del tipo "
+"especificado por <literal>id-type</literal>. Debes especificar el mapeo de "
+"valores del meta-type a nombres de clase."
-#. Tag: programlisting
-#: basic_mapping.xml:2421
-#, no-c-format
+#: index.docbook:2421
msgid ""
"<![CDATA[<any name=\"being\" id-type=\"long\" meta-type=\"string\">\n"
" <meta-value value=\"TBL_ANIMAL\" class=\"Animal\"/>\n"
@@ -4548,10 +4291,15 @@
" <column name=\"id\"/>\n"
"</any>]]>"
msgstr ""
+"<![CDATA[<any name=\"being\" id-type=\"long\" meta-type=\"string\">\n"
+" <meta-value value=\"TBL_ANIMAL\" class=\"Animal\"/>\n"
+" <meta-value value=\"TBL_HUMAN\" class=\"Human\"/>\n"
+" <meta-value value=\"TBL_ALIEN\" class=\"Alien\"/>\n"
+" <column name=\"table_name\"/>\n"
+" <column name=\"id\"/>\n"
+"</any>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2432
-#, no-c-format
+#: index.docbook:2432
msgid ""
"<![CDATA[<any\n"
" name=\"propertyName\"\n"
@@ -4569,22 +4317,31 @@
" .....\n"
"</any>]]>"
msgstr ""
+"<![CDATA[<any\n"
+" name=\"propertyName\"\n"
+" id-type=\"idtypename\"\n"
+" meta-type=\"metatypename\"\n"
+" cascade=\"cascade_style\"\n"
+" access=\"field|property|ClassName\"\n"
+" optimistic-lock=\"true|false\"\n"
+">\n"
+" <meta-value ... />\n"
+" <meta-value ... />\n"
+" .....\n"
+" <column .... />\n"
+" <column .... />\n"
+" .....\n"
+"</any>]]>"
-#. Tag: para
-#: basic_mapping.xml:2435
-#, no-c-format
+#: index.docbook:2435
msgid "<literal>name</literal>: the property name."
msgstr "<literal>name</literal>: el nombre de la propiedad."
-#. Tag: para
-#: basic_mapping.xml:2440
-#, no-c-format
+#: index.docbook:2440
msgid "<literal>id-type</literal>: the identifier type."
msgstr "<literal>id-type</literal>: el tipo del identificador."
-#. Tag: para
-#: basic_mapping.xml:2445
-#, no-c-format
+#: index.docbook:2445
msgid ""
"<literal>meta-type</literal> (optional - defaults to <literal>string</"
"literal>): Any type that is allowed for a discriminator mapping."
@@ -4592,9 +4349,7 @@
"<literal>meta-type</literal> (opcional - por defecto a <literal>string</"
"literal>): Cualquier tipo que sea permitido para un mapeo de discriminador."
-#. Tag: para
-#: basic_mapping.xml:2451
-#, no-c-format
+#: index.docbook:2451
msgid ""
"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
"the cascade style."
@@ -4602,9 +4357,7 @@
"<literal>cascade</literal> (opcional- por defecto a <literal>none</"
"literal>): el estilo de cascada."
-#. Tag: para
-#: basic_mapping.xml:2463
-#, no-c-format
+#: index.docbook:2463
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
"literal>): Specifies that updates to this property do or do not require "
@@ -4613,25 +4366,19 @@
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
"literal>): Especifica si las actualizaciones de esta propiedad requieren o "
-"no de la adquisición del bloqueo optimista. En otras palabras, determina si "
-"debe ocurrir un incremento de versión cuando esta propiedad está "
-"desactualizada."
+"no de la adquisición del bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versión cuando esta "
+"propiedad está desactualizada."
-#. Tag: title
-#: basic_mapping.xml:2478
-#, no-c-format
+#: index.docbook:2478
msgid "Hibernate Types"
msgstr "Tipos de Hibernate"
-#. Tag: title
-#: basic_mapping.xml:2481
-#, no-c-format
+#: index.docbook:2481
msgid "Entities and values"
msgstr "Entidades y Valores"
-#. Tag: para
-#: basic_mapping.xml:2483
-#, no-c-format
+#: index.docbook:2483
msgid ""
"To understand the behaviour of various Java language-level objects with "
"respect to the persistence service, we need to classify them into two groups:"
@@ -4640,9 +4387,7 @@
"con respecto al servicio de persistencia, necesitamos clasificarlos en dos "
"grupos:"
-#. Tag: para
-#: basic_mapping.xml:2488
-#, no-c-format
+#: index.docbook:2488
msgid ""
"An <emphasis>entity</emphasis> exists independently of any other objects "
"holding references to the entity. Contrast this with the usual Java model "
@@ -4657,17 +4402,15 @@
"Una <emphasis>entidad</emphasis> existe independientemente de cualquier "
"otros objetos que referencien a la entidad. Contrasta esto con el model "
"habitual de Java donde un objeto desreferenciado es recolectado como basura. "
-"Las entidades deben ser salvadas y borradas explícitamente (excepto que las "
-"grabaciones y borrados puedan ser <emphasis>tratados en cascada</emphasis> "
-"desde una entidad padre a sus hijos). Esto es diferente al modelo de "
-"persistencia de objetos por alcance - y se corresponde más de cerca a cómo "
-"los objetos de aplicación son usados habitualmente en grandes sistemas. Las "
-"entidades soportan referencias circulares y compartidas, que tambié pueden "
-"ser versionadas."
+"Las entidades deben ser salvadas y borradas explícitamente (excepto "
+"que las grabaciones y borrados puedan ser <emphasis>tratados en cascada</"
+"emphasis> desde una entidad padre a sus hijos). Esto es diferente al modelo "
+"de persistencia de objetos por alcance - y se corresponde más de "
+"cerca a cómo los objetos de aplicación son usados "
+"habitualmente en grandes sistemas. Las entidades soportan referencias "
+"circulares y compartidas, que tambié pueden ser versionadas."
-#. Tag: para
-#: basic_mapping.xml:2499
-#, no-c-format
+#: index.docbook:2499
msgid ""
"An entity's persistent state consists of references to other entities and "
"instances of <emphasis>value</emphasis> types. Values are primitives, "
@@ -4681,18 +4424,16 @@
msgstr ""
"El estado persistente de una entidad consiste en referencias a otras "
"entidades e instancias de tipo <emphasis>valor</emphasis>. Los valores son "
-"primitivos, colecciones (no lo que está dentro de la colección), componentes "
-"y ciertos objetos inmutables. A diferencia de las entidades, los valores (en "
-"particular las colecciones y los componentes) <emphasis>son</emphasis> "
-"hechos persitentes y borrados por alcance. Como los objetos valor (y "
-"primitivos) son persistidos y borrados junto a sus entidades contenedoras, "
-"no pueden ser versionados independientemente. Los valores no tienen "
-"identidad independiente, por los que no pueden ser compartidos por dos "
-"entidades o colleciones."
+"primitivos, colecciones (no lo que está dentro de la colecció"
+"n), componentes y ciertos objetos inmutables. A diferencia de las entidades, "
+"los valores (en particular las colecciones y los componentes) <emphasis>son</"
+"emphasis> hechos persitentes y borrados por alcance. Como los objetos valor "
+"(y primitivos) son persistidos y borrados junto a sus entidades "
+"contenedoras, no pueden ser versionados independientemente. Los valores no "
+"tienen identidad independiente, por los que no pueden ser compartidos por "
+"dos entidades o colleciones."
-#. Tag: para
-#: basic_mapping.xml:2510
-#, no-c-format
+#: index.docbook:2510
msgid ""
"Up until now, we've been using the term \"persistent class\" to refer to "
"entities. We will continue to do that. Strictly speaking, however, not all "
@@ -4706,29 +4447,28 @@
"model are shared references to a single instance of that class, while "
"composition or aggregation usually translates to a value type."
msgstr ""
-"Hasta ahora, hemos estado usando el término \"clase persistente\" para "
-"referirnos a entidades. Continuaremos haciéndolo. Hablando estrictamente, "
-"sin embargo, no todas la clases con estado persistente definidas por el "
-"usuario son entidades. Un <emphasis>componente</emphasis> es una clase "
-"definida por el usuario con semántica de valor. Una propiedad Java de tipo "
-"<literal>java.lang.String</literal> también tiene semántica de valor. Dada "
-"esta definición, podemos decir que todos los tipo (clases) provistos por el "
-"JDK tienen una semántica de tipo valor en Java, mientras que los tipos "
-"definidos por el usuario pueden ser mapeados con semántica de tipo valor o "
-"de entidad. La desición corre por cuenta del desarrollador de la aplicación. "
+"Hasta ahora, hemos estado usando el término \"clase persistente\" "
+"para referirnos a entidades. Continuaremos haciéndolo. Hablando "
+"estrictamente, sin embargo, no todas la clases con estado persistente "
+"definidas por el usuario son entidades. Un <emphasis>componente</emphasis> "
+"es una clase definida por el usuario con semántica de valor. Una "
+"propiedad Java de tipo <literal>java.lang.String</literal> también "
+"tiene semántica de valor. Dada esta definición, podemos decir "
+"que todos los tipo (clases) provistos por el JDK tienen una semántica "
+"de tipo valor en Java, mientras que los tipos definidos por el usuario "
+"pueden ser mapeados con semántica de tipo valor o de entidad. La "
+"desición corre por cuenta del desarrollador de la aplicación. "
"Un buen consejo para una clase entidad en un modelo de dominio son las "
"referencias compartidas a una sola instancia de esa clase, mientras que la "
-"composición o agregación usualmente se traducen a un tipo de valor."
+"composición o agregación usualmente se traducen a un tipo de "
+"valor."
-#. Tag: para
-#: basic_mapping.xml:2524
-#, no-c-format
+#: index.docbook:2524
msgid "We'll revisit both concepts throughout the documentation."
-msgstr "Volveremos a visitar ambos conceptos a lo largo de la documentación."
+msgstr ""
+"Volveremos a visitar ambos conceptos a lo largo de la documentación."
-#. Tag: para
-#: basic_mapping.xml:2528
-#, no-c-format
+#: index.docbook:2528
msgid ""
"The challenge is to map the Java type system (and the developers' definition "
"of entities and value types) to the SQL/database type system. The bridge "
@@ -4742,45 +4482,38 @@
"types and implement your custom conversion strategies as well, as you'll see "
"later."
msgstr ""
-"EL desafío es mapear el sistema de tipos de Java (y la definición de "
-"entidades y tipos de valor de los desarrolladores) al sistema de tipos de "
-"SQL/base de datos. EL puente entre ambos sistemas es provisto por Hibernate: "
-"para las entidades usamos <literal><class></literal>, <literal><"
-"subclass></literal>, etc. Para los tipos de valor usamos <literal><"
-"property></literal>, <literal><component></literal>, etc, "
-"usualmente con un atributo <literal>type</literal>. El valor de este "
-"atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de Hibernate. "
-"Hibernate provee de fábrica muchos mapeos (para tipos de valores del JDK "
-"estándar). Puedes escribir tus propios mapeos de tipo, así como implementar "
-"tus estrategias de conversión personalizadas, como veremos luego."
+"EL desafío es mapear el sistema de tipos de Java (y la "
+"definición de entidades y tipos de valor de los desarrolladores) al "
+"sistema de tipos de SQL/base de datos. EL puente entre ambos sistemas es "
+"provisto por Hibernate: para las entidades usamos <literal><class></"
+"literal>, <literal><subclass></literal>, etc. Para los tipos de valor "
+"usamos <literal><property></literal>, <literal><component></"
+"literal>, etc, usualmente con un atributo <literal>type</literal>. El valor "
+"de este atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de "
+"Hibernate. Hibernate provee de fábrica muchos mapeos (para tipos de "
+"valores del JDK estándar). Puedes escribir tus propios mapeos de "
+"tipo, así como implementar tus estrategias de conversión "
+"personalizadas, como veremos luego."
-#. Tag: para
-#: basic_mapping.xml:2541
-#, no-c-format
+#: index.docbook:2541
msgid "All built-in Hibernate types except collections support null semantics."
msgstr ""
-"Todos los tipos prefabricados de Hibernate soportan semántica de nulos "
-"excepto las colecciones."
+"Todos los tipos prefabricados de Hibernate soportan semántica de "
+"nulos excepto las colecciones."
-#. Tag: title
-#: basic_mapping.xml:2548
-#, no-c-format
+#: index.docbook:2548
msgid "Basic value types"
-msgstr "Tipos de valores básicos"
+msgstr "Tipos de valores básicos"
-#. Tag: para
-#: basic_mapping.xml:2550
-#, fuzzy, no-c-format
+#: index.docbook:2550
msgid ""
"The built-in <emphasis>basic mapping types</emphasis> may be roughly "
"categorized into"
msgstr ""
-"Los <emphasis>tipos de mapeo básicos</emphasis> prefabricados pueden ser "
-"categorizado a grandes rasgos en: <placeholder-1/>"
+"Los <emphasis>tipos de mapeo básicos</emphasis> prefabricados pueden "
+"ser categorizado a grandes rasgos en:"
-#. Tag: literal
-#: basic_mapping.xml:2555
-#, no-c-format
+#: index.docbook:2555
msgid ""
"integer, long, short, float, double, character, byte, boolean, yes_no, "
"true_false"
@@ -4788,9 +4521,7 @@
"integer, long, short, float, double, character, byte, boolean, yes_no, "
"true_false"
-#. Tag: para
-#: basic_mapping.xml:2558
-#, no-c-format
+#: index.docbook:2558
msgid ""
"Type mappings from Java primitives or wrapper classes to appropriate (vendor-"
"specific) SQL column types. <literal>boolean, yes_no</literal> and "
@@ -4798,19 +4529,15 @@
"<literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
msgstr ""
"Mapeos de tipos primitivos de Java o clases de envoltura a la tipos de "
-"columna SQL (especícifica del vendedor). <literal>boolean, yes_no</literal> "
-"y <literal>true_false</literal> son codificaciones alternativas a "
+"columna SQL (especícifica del vendedor). <literal>boolean, yes_no</"
+"literal> y <literal>true_false</literal> son codificaciones alternativas a "
"<literal>boolean</literal> de Java o <literal>java.lang.Boolean</literal>."
-#. Tag: literal
-#: basic_mapping.xml:2567
-#, no-c-format
+#: index.docbook:2567
msgid "string"
msgstr "string"
-#. Tag: para
-#: basic_mapping.xml:2569
-#, no-c-format
+#: index.docbook:2569
msgid ""
"A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</"
"literal> (or Oracle <literal>VARCHAR2</literal>)."
@@ -4818,15 +4545,11 @@
"Un mapeo del tipo <literal>java.lang.String</literal> a <literal>VARCHAR</"
"literal> (u Oracle <literal>VAARCHAR2</literal>)."
-#. Tag: literal
-#: basic_mapping.xml:2576
-#, no-c-format
+#: index.docbook:2576
msgid "date, time, timestamp"
msgstr "date, time, timestamp"
-#. Tag: para
-#: basic_mapping.xml:2578
-#, no-c-format
+#: index.docbook:2578
msgid ""
"Type mappings from <literal>java.util.Date</literal> and its subclasses to "
"SQL types <literal>DATE</literal>, <literal>TIME</literal> and "
@@ -4836,15 +4559,11 @@
"tipos SQL <literal>DATE</literal>, <literal>TIME</literal> y "
"<literal>TIMESTAMP</literal> (o equivalente)."
-#. Tag: literal
-#: basic_mapping.xml:2586
-#, no-c-format
+#: index.docbook:2586
msgid "calendar, calendar_date"
msgstr "calendar, calendar_date"
-#. Tag: para
-#: basic_mapping.xml:2588
-#, no-c-format
+#: index.docbook:2588
msgid ""
"Type mappings from <literal>java.util.Calendar</literal> to SQL types "
"<literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
@@ -4853,15 +4572,11 @@
"tipos SQL <literal>TIMESTAMP</literal> y <literal>DATE</literal> (o "
"equivalente)."
-#. Tag: literal
-#: basic_mapping.xml:2596
-#, no-c-format
+#: index.docbook:2596
msgid "big_decimal, big_integer"
msgstr "big_decimal, big_integer"
-#. Tag: para
-#: basic_mapping.xml:2598
-#, no-c-format
+#: index.docbook:2598
msgid ""
"Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java."
"math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle "
@@ -4871,15 +4586,11 @@
"math.BigInteger</literal> a <literal>NUMERIC</literal> (o <literal>NUMBER</"
"literal> de Oracle)."
-#. Tag: literal
-#: basic_mapping.xml:2606
-#, no-c-format
+#: index.docbook:2606
msgid "locale, timezone, currency"
msgstr "locale, timezone, currency"
-#. Tag: para
-#: basic_mapping.xml:2608
-#, no-c-format
+#: index.docbook:2608
msgid ""
"Type mappings from <literal>java.util.Locale</literal>, <literal>java.util."
"TimeZone</literal> and <literal>java.util.Currency</literal> to "
@@ -4892,18 +4603,14 @@
"TimeZone</literal> y <literal>java.util.Currency</literal> a "
"<literal>VARCHAR</literal> (o <literal>VARCHAR2</literal> de Oracle). Las "
"instancias de <literal>Locale</literal> y <literal>Currency</literal> son "
-"mapeadas a sus códigos ISO. Las instancias de <literal>TimeZone</literal> "
-"son mapeadas a sus <literal>ID</literal>."
+"mapeadas a sus códigos ISO. Las instancias de <literal>TimeZone</"
+"literal> son mapeadas a sus <literal>ID</literal>."
-#. Tag: literal
-#: basic_mapping.xml:2620
-#, fuzzy, no-c-format
+#: index.docbook:2620
msgid "<literal>class</literal>"
-msgstr "<literal>all</literal> chequea todas las columnas"
+msgstr "<literal>class</literal>"
-#. Tag: para
-#: basic_mapping.xml:2622
-#, no-c-format
+#: index.docbook:2622
msgid ""
"A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</"
"literal> (or Oracle <literal>VARCHAR2</literal>). A <literal>Class</literal> "
@@ -4913,27 +4620,19 @@
"literal> (o <literal>VARCHAR2</literal> de Oracle). Una <literal>Class</"
"literal> es mapeara a su nombre completamente cualificado."
-#. Tag: literal
-#: basic_mapping.xml:2630
-#, no-c-format
+#: index.docbook:2630
msgid "binary"
msgstr "binary"
-#. Tag: para
-#: basic_mapping.xml:2632
-#, no-c-format
+#: index.docbook:2632
msgid "Maps byte arrays to an appropriate SQL binary type."
msgstr "Mapea arreglos de bytes a un tipo binario SQL apropiado."
-#. Tag: literal
-#: basic_mapping.xml:2638
-#, no-c-format
+#: index.docbook:2638
msgid "text"
msgstr "text"
-#. Tag: para
-#: basic_mapping.xml:2640
-#, no-c-format
+#: index.docbook:2640
msgid ""
"Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</"
"literal> type."
@@ -4941,34 +4640,26 @@
"Mapea cadenas largas Java al tipo SQL <literal>CLOB</literal> o "
"<literal>TEXT</literal>."
-#. Tag: literal
-#: basic_mapping.xml:2647
-#, no-c-format
+#: index.docbook:2647
msgid "serializable"
msgstr "serializable"
-#. Tag: para
-#: basic_mapping.xml:2649
-#, no-c-format
+#: index.docbook:2649
msgid ""
"Maps serializable Java types to an appropriate SQL binary type. You may also "
"indicate the Hibernate type <literal>serializable</literal> with the name of "
"a serializable Java class or interface that does not default to a basic type."
msgstr ""
"Mapea tipos serializables Java a un tipo binario SQL apropiado. Puedes "
-"además indicar el tipo <literal>serializable</literal> de Hibernate con el "
-"nombre de una clase o interface serializable Java que no sea por defecto un "
-"tipo básico."
+"además indicar el tipo <literal>serializable</literal> de Hibernate "
+"con el nombre de una clase o interface serializable Java que no sea por "
+"defecto un tipo básico."
-#. Tag: literal
-#: basic_mapping.xml:2658
-#, no-c-format
+#: index.docbook:2658
msgid "clob, blob"
msgstr "clob, blob"
-#. Tag: para
-#: basic_mapping.xml:2660
-#, no-c-format
+#: index.docbook:2660
msgid ""
"Type mappings for the JDBC classes <literal>java.sql.Clob</literal> and "
"<literal>java.sql.Blob</literal>. These types may be inconvenient for some "
@@ -4978,12 +4669,10 @@
"Mapeos de tipo para las clases JDBC <literal>java.sql.Clob</literal> y "
"<literal>java.sql.Blob</literal>. Estos tipos pueden ser inconvenientes para "
"algunas aplicaciones, pues el objeto blob o clob no puede ser reusado fuera "
-"de una transacción (Además, el soporte del driver suele ser malo e "
-"inconsistente)."
+"de una transacción (Además, el soporte del driver suele ser "
+"malo e inconsistente)."
-#. Tag: literal
-#: basic_mapping.xml:2670
-#, no-c-format
+#: index.docbook:2670
msgid ""
"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
"imm_serializable, imm_binary"
@@ -4991,9 +4680,7 @@
"UNTRANSLATED! imm_date, imm_time, imm_timestamp, imm_calendar, "
"imm_calendar_date, imm_serializable, imm_binary"
-#. Tag: para
-#: basic_mapping.xml:2674
-#, no-c-format
+#: index.docbook:2674
msgid ""
"Type mappings for what are usually considered mutable Java types, where "
"Hibernate makes certain optimizations appropriate only for immutable Java "
@@ -5011,42 +4698,34 @@
"have that change made persistent, the application must assign a new "
"(nonidentical) object to the property."
-#. Tag: para
-#: basic_mapping.xml:2689
-#, no-c-format
+#: index.docbook:2689
msgid ""
"Unique identifiers of entities and collections may be of any basic type "
"except <literal>binary</literal>, <literal>blob</literal> and <literal>clob</"
"literal>. (Composite identifiers are also allowed, see below.)"
msgstr ""
-"Los identificadores únicos de entidades y collecciones pueden ser de "
-"cualquier tipo básico excepto <literal>binary</literal>, <literal>blob</"
-"literal> y <literal>clob</literal>. (Los identificadores compuestos están "
-"también permitidos, ver debajo.)"
+"Los identificadores únicos de entidades y collecciones pueden ser de "
+"cualquier tipo básico excepto <literal>binary</literal>, "
+"<literal>blob</literal> y <literal>clob</literal>. (Los identificadores "
+"compuestos están también permitidos, ver debajo.)"
-#. Tag: para
-#: basic_mapping.xml:2695
-#, no-c-format
+#: index.docbook:2695
msgid ""
"The basic value types have corresponding <literal>Type</literal> constants "
"defined on <literal>org.hibernate.Hibernate</literal>. For example, "
"<literal>Hibernate.STRING</literal> represents the <literal>string</literal> "
"type."
msgstr ""
-"Los tipos de valor básicos tienen sus constantes <literal>Type</literal> "
-"correspondientes definidas en <literal>org.hibernate.Hibernate</literal>. "
-"Por ejemplo, <literal>Hibernate.STRING</literal> representa el tipo "
-"<literal>string</literal>."
+"Los tipos de valor básicos tienen sus constantes <literal>Type</"
+"literal> correspondientes definidas en <literal>org.hibernate.Hibernate</"
+"literal>. Por ejemplo, <literal>Hibernate.STRING</literal> representa el "
+"tipo <literal>string</literal>."
-#. Tag: title
-#: basic_mapping.xml:2704
-#, no-c-format
+#: index.docbook:2704
msgid "Custom value types"
msgstr "Tipos de valor personalizados"
-#. Tag: para
-#: basic_mapping.xml:2706
-#, no-c-format
+#: index.docbook:2706
msgid ""
"It is relatively easy for developers to create their own value types. For "
"example, you might want to persist properties of type <literal>java.lang."
@@ -5058,20 +4737,18 @@
"that is persisted to the columns <literal>FIRST_NAME</literal>, "
"<literal>INITIAL</literal>, <literal>SURNAME</literal>."
msgstr ""
-"Es relativamente fácil para los desarrolladores crear sus propios tipos de "
-"valor. Por ejemplo, podrías querer persistir propiedades del tipo "
-"<literal>java.lang.BigInteger</literal> a columnas <literal>VARCHAR</"
-"literal>. Hibernate no provee un tipo de fábrica para esto. Pero los tipos "
-"personalizados no están limitados a mapear una propiedad (o elemento de "
-"colección) a una sola columna de tabla. Así, por ejemplo, podrías tener una "
-"propiedad Java <literal>getName()</literal>/<literal>setName()</literal> de "
-"tipo <literal>java.lang.String</literal> que fuera persistida a las columnas "
-"<literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</"
-"literal>."
+"Es relativamente fácil para los desarrolladores crear sus propios "
+"tipos de valor. Por ejemplo, podrías querer persistir propiedades del "
+"tipo <literal>java.lang.BigInteger</literal> a columnas <literal>VARCHAR</"
+"literal>. Hibernate no provee un tipo de fábrica para esto. Pero los "
+"tipos personalizados no están limitados a mapear una propiedad (o "
+"elemento de colección) a una sola columna de tabla. Así, por "
+"ejemplo, podrías tener una propiedad Java <literal>getName()</"
+"literal>/<literal>setName()</literal> de tipo <literal>java.lang.String</"
+"literal> que fuera persistida a las columnas <literal>FIRST_NAME</literal>, "
+"<literal>INITIAL</literal>, <literal>SURNAME</literal>."
-#. Tag: para
-#: basic_mapping.xml:2717
-#, no-c-format
+#: index.docbook:2717
msgid ""
"To implement a custom type, implement either <literal>org.hibernate."
"UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and "
@@ -5083,11 +4760,9 @@
"hibernate.UserType</literal> o <literal>org.hibernate.CompositeUserType</"
"literal> y declara las propiedades usando el nombre de clase completamente "
"cualificado del tipo. Revisa <literal>org.hibernate.test.DoubleStringType</"
-"literal> para ver qué tipo de cosas son posibles."
+"literal> para ver qué tipo de cosas son posibles."
-#. Tag: programlisting
-#: basic_mapping.xml:2725
-#, no-c-format
+#: index.docbook:2725
msgid ""
"<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test."
"DoubleStringType\">\n"
@@ -5095,20 +4770,21 @@
" <column name=\"second_string\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test."
+"DoubleStringType\">\n"
+" <column name=\"first_string\"/>\n"
+" <column name=\"second_string\"/>\n"
+"</property>]]>"
-#. Tag: para
-#: basic_mapping.xml:2727
-#, no-c-format
+#: index.docbook:2727
msgid ""
"Notice the use of <literal><column></literal> tags to map a property "
"to multiple columns."
msgstr ""
"Observa el uso de etiquetas <literal><column></literal> para mapear "
-"una propiedad a múltiples columnas."
+"una propiedad a múltiples columnas."
-#. Tag: para
-#: basic_mapping.xml:2732
-#, no-c-format
+#: index.docbook:2732
msgid ""
"The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</"
"literal>, <literal>UserCollectionType</literal>, and "
@@ -5117,12 +4793,10 @@
msgstr ""
"Las interfaces <literal>CompositeUserType</literal>, "
"<literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, "
-"y <literal>UserVersionType</literal> proveen soporte a usos más "
+"y <literal>UserVersionType</literal> proveen soporte a usos más "
"especializados."
-#. Tag: para
-#: basic_mapping.xml:2738
-#, no-c-format
+#: index.docbook:2738
msgid ""
"You may even supply parameters to a <literal>UserType</literal> in the "
"mapping file. To do this, your <literal>UserType</literal> must implement "
@@ -5130,15 +4804,13 @@
"To supply parameters to your custom type, you can use the <literal><"
"type></literal> element in your mapping files."
msgstr ""
-"Puedes incluso proveer de parámetros a un <literal>UserType</literal> en el "
-"fichero de mapeo. Para hacer esto, tu <literal>UserType</literal> debe "
+"Puedes incluso proveer de parámetros a un <literal>UserType</literal> "
+"en el fichero de mapeo. Para hacer esto, tu <literal>UserType</literal> debe "
"implementar la interface <literal>org.hibernate.usertype.ParameterizedType</"
-"literal>. Para proveer de parámetros a tu tipo personalizado, puedes usar el "
-"elemento <literal><type></literal> en tus ficheros de mapeo."
+"literal>. Para proveer de parámetros a tu tipo personalizado, puedes "
+"usar el elemento <literal><type></literal> en tus ficheros de mapeo."
-#. Tag: programlisting
-#: basic_mapping.xml:2746
-#, no-c-format
+#: index.docbook:2746
msgid ""
"<![CDATA[<property name=\"priority\">\n"
" <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
@@ -5146,22 +4818,23 @@
" </type>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"priority\">\n"
+" <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
+" <param name=\"default\">0</param>\n"
+" </type>\n"
+"</property>]]>"
-#. Tag: para
-#: basic_mapping.xml:2748
-#, no-c-format
+#: index.docbook:2748
msgid ""
"The <literal>UserType</literal> can now retrieve the value for the parameter "
"named <literal>default</literal> from the <literal>Properties</literal> "
"object passed to it."
msgstr ""
-"Ahora el <literal>UserType</literal> puede recuperar el valor del parámetro "
-"llamado <literal>default</literal> del objeto <literal>Properties</literal> "
-"que se le pasa."
+"Ahora el <literal>UserType</literal> puede recuperar el valor del pará"
+"metro llamado <literal>default</literal> del objeto <literal>Properties</"
+"literal> que se le pasa."
-#. Tag: para
-#: basic_mapping.xml:2753
-#, no-c-format
+#: index.docbook:2753
msgid ""
"If you use a certain <literal>UserType</literal> very often, it may be "
"useful to define a shorter name for it. You can do this using the "
@@ -5170,40 +4843,37 @@
"type is parameterized."
msgstr ""
"Si usas cierto <literal>UserType</literal> muy frecuentemente, puede ser "
-"útil definir un nombre corto para é. Puedes hacer esto usando el elemento "
-"<literal><typedef></literal>. Los typedefs asignan un nombre a un tipo "
-"personalizado, y pueden también contener una lista de valores por defecto de "
-"parámetros si el tipo fuese parametrizado."
+"útil definir un nombre corto para é. Puedes hacer esto usando "
+"el elemento <literal><typedef></literal>. Los typedefs asignan un "
+"nombre a un tipo personalizado, y pueden también contener una lista "
+"de valores por defecto de parámetros si el tipo fuese parametrizado."
-#. Tag: programlisting
-#: basic_mapping.xml:2760
-#, no-c-format
+#: index.docbook:2760
msgid ""
"<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
"name=\"default_zero\">\n"
" <param name=\"default\">0</param>\n"
"</typedef>]]>"
msgstr ""
+"<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
+"name=\"default_zero\">\n"
+" <param name=\"default\">0</param>\n"
+"</typedef>]]>"
-#. Tag: programlisting
-#: basic_mapping.xml:2762
-#, no-c-format
+#: index.docbook:2762
msgid "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
-#. Tag: para
-#: basic_mapping.xml:2764
-#, no-c-format
+#: index.docbook:2764
msgid ""
"It is also possible to override the parameters supplied in a typedef on a "
"case-by-case basis by using type parameters on the property mapping."
msgstr ""
-"también es posible sobrescribir los parámetros provistos en un typedef sobre "
-"una base caso por caso usando parámetros de tipo en el mapeo de la propiedad."
+"también es posible sobrescribir los parámetros provistos en un "
+"typedef sobre una base caso por caso usando parámetros de tipo en el "
+"mapeo de la propiedad."
-#. Tag: para
-#: basic_mapping.xml:2769
-#, no-c-format
+#: index.docbook:2769
msgid ""
"Even though Hibernate's rich range of built-in types and support for "
"components means you will very rarely <emphasis>need</emphasis> to use a "
@@ -5219,22 +4889,18 @@
"Hibernate significa que raramente <emphasis>necesites</emphasis> usar un "
"tipo personalizado; sin embargo se considera una buena forma usar tipos "
"personalizados para clases (no-entidades) que aparezcan frecuentemente en tu "
-"aplicación. Por ejemplo, una clase <literal>MonetaryAmount</literal> es una "
-"buena candidata para un <literal>CompositeUserType</literal>, incluso cuando "
-"puede ser facilmente mapeada como un componente. Un motivo para esto es la "
-"abstracción. Con un tipo personalizado, tus documentos de mapeo estará "
-"impermeabilizados contra posibles cambios futuros en la forma de representar "
-"valores monetarios."
+"aplicación. Por ejemplo, una clase <literal>MonetaryAmount</literal> "
+"es una buena candidata para un <literal>CompositeUserType</literal>, incluso "
+"cuando puede ser facilmente mapeada como un componente. Un motivo para esto "
+"es la abstracción. Con un tipo personalizado, tus documentos de mapeo "
+"estará impermeabilizados contra posibles cambios futuros en la forma "
+"de representar valores monetarios."
-#. Tag: title
-#: basic_mapping.xml:2785
-#, no-c-format
+#: index.docbook:2785
msgid "Mapping a class more than once"
-msgstr "Mapeando una clase más de una vez"
+msgstr "Mapeando una clase más de una vez"
-#. Tag: para
-#: basic_mapping.xml:2786
-#, no-c-format
+#: index.docbook:2786
msgid ""
"It is possible to provide more than one mapping for a particular persistent "
"class. In this case you must specify an <emphasis>entity name</emphasis> do "
@@ -5243,17 +4909,15 @@
"entity name when working with persistent objects, when writing queries, or "
"when mapping associations to the named entity."
msgstr ""
-"Es posible proveer más de un mapeo para una clase persistente en particular. "
-"En este caso debes especificar un <emphasis>nombre de entidad</emphasis> "
-"para desambiguar entr las instancias de las dos entidades mapeadas. (Por "
-"defectom, el nombre de la entidad es el mismo que el nombre de la clase.) "
-"Hibernate te deja especificar el nombre de entidad al trabajar con objetos "
-"persistentes, al escribir consultas, o al mapear asociaciones a la entidad "
-"mencionada."
+"Es posible proveer más de un mapeo para una clase persistente en "
+"particular. En este caso debes especificar un <emphasis>nombre de entidad</"
+"emphasis> para desambiguar entr las instancias de las dos entidades "
+"mapeadas. (Por defectom, el nombre de la entidad es el mismo que el nombre "
+"de la clase.) Hibernate te deja especificar el nombre de entidad al trabajar "
+"con objetos persistentes, al escribir consultas, o al mapear asociaciones a "
+"la entidad mencionada."
-#. Tag: programlisting
-#: basic_mapping.xml:2794
-#, no-c-format
+#: index.docbook:2794
msgid ""
"<![CDATA[<class name=\"Contract\" table=\"Contracts\"\n"
" entity-name=\"CurrentContract\">\n"
@@ -5273,26 +4937,37 @@
" entity-name=\"CurrentContract\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Contract\" table=\"Contracts\" \n"
+" entity-name=\"CurrentContract\">\n"
+" ...\n"
+" <set name=\"history\" inverse=\"true\" \n"
+" order-by=\"effectiveEndDate desc\">\n"
+" <key column=\"currentContractId\"/>\n"
+" <one-to-many entity-name=\"HistoricalContract\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"Contract\" table=\"ContractHistory\" \n"
+" entity-name=\"HistoricalContract\">\n"
+" ...\n"
+" <many-to-one name=\"currentContract\" \n"
+" column=\"currentContractId\" \n"
+" entity-name=\"CurrentContract\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: basic_mapping.xml:2796
-#, no-c-format
+#: index.docbook:2796
msgid ""
"Notice how associations are now specified using <literal>entity-name</"
"literal> instead of <literal>class</literal>."
msgstr ""
-"Observa cómo las asociaciones ahora se especifican usando <literal>entity-"
-"name</literal> en vez de <literal>class</literal>."
+"Observa cómo las asociaciones ahora se especifican usando "
+"<literal>entity-name</literal> en vez de <literal>class</literal>."
-#. Tag: title
-#: basic_mapping.xml:2804
-#, no-c-format
+#: index.docbook:2804
msgid "SQL quoted identifiers"
msgstr "identificadores SQL encomillados"
-#. Tag: para
-#: basic_mapping.xml:2805
-#, no-c-format
+#: index.docbook:2805
msgid ""
"You may force Hibernate to quote an identifier in the generated SQL by "
"enclosing the table or column name in backticks in the mapping document. "
@@ -5302,13 +4977,11 @@
msgstr ""
"Puedes forzar a Hibernate a encomillar un identificador en el SQL generado "
"encerrando el nombre de tabla o columna entre backticks en el documento de "
-"mapeo. Hibernate usará el estilo de encomillado para el <literal>Dialect</"
-"literal> SQL (usualmente comillas dobles, excepto corchetes para SQL Server "
-"y backsticks para MySQL)."
+"mapeo. Hibernate usará el estilo de encomillado para el "
+"<literal>Dialect</literal> SQL (usualmente comillas dobles, excepto "
+"corchetes para SQL Server y backsticks para MySQL)."
-#. Tag: programlisting
-#: basic_mapping.xml:2812
-#, no-c-format
+#: index.docbook:2812
msgid ""
"<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
" <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></"
@@ -5317,32 +4990,30 @@
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"LineItem\" table=\"`Line Item`\">\n"
+" <id name=\"id\" column=\"`Item Id`\"/><generator class=\"assigned\"/></"
+"id>\n"
+" <property name=\"itemNumber\" column=\"`Item #`\"/>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: title
-#: basic_mapping.xml:2818
-#, no-c-format
+#: index.docbook:2818
msgid "Metadata alternatives"
msgstr "Alternativas de metadatos"
-#. Tag: para
-#: basic_mapping.xml:2820
-#, no-c-format
+#: index.docbook:2820
msgid ""
"XML isn't for everyone, and so there are some alternative ways to define O/R "
"mapping metadata in Hibernate."
msgstr ""
-"XML no es para todos, asá que hay algunas formas alternativas de definir "
-"metadatos de mapeo O/R en Hibernate."
+"XML no es para todos, asá que hay algunas formas alternativas de "
+"definir metadatos de mapeo O/R en Hibernate."
-#. Tag: title
-#: basic_mapping.xml:2825
-#, no-c-format
+#: index.docbook:2825
msgid "Using XDoclet markup"
msgstr "Usando marcado de XDoclet"
-#. Tag: para
-#: basic_mapping.xml:2827
-#, no-c-format
+#: index.docbook:2827
msgid ""
"Many Hibernate users prefer to embed mapping information directly in "
"sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not "
@@ -5350,15 +5021,14 @@
"of XDoclet. However, we include the following example of the <literal>Cat</"
"literal> class with XDoclet mappings."
msgstr ""
-"Muchos usuarios de Hibernate prefieren embeber la información de mapeo "
-"directamente en el código fuente usando las <literal>@hibernate.etiquetas</"
-"literal> XDoclet. No cubriremos este enfoque en este documento, pues "
-"estrictamente es considerado parte de XDoclet. Sin embargo, incluímos el "
-"siguiente ejemplo de la clase <literal>Cat</literal> con mapeos XDoclet."
+"Muchos usuarios de Hibernate prefieren embeber la información de "
+"mapeo directamente en el código fuente usando las <literal>@hibernate."
+"etiquetas</literal> XDoclet. No cubriremos este enfoque en este documento, "
+"pues estrictamente es considerado parte de XDoclet. Sin embargo, "
+"incluímos el siguiente ejemplo de la clase <literal>Cat</literal> con "
+"mapeos XDoclet."
-#. Tag: programlisting
-#: basic_mapping.xml:2834
-#, no-c-format
+#: index.docbook:2834
msgid ""
"<![CDATA[package eg;\n"
"import java.util.Set;\n"
@@ -5465,23 +5135,122 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"/**\n"
+" * @hibernate.class\n"
+" * table=\"CATS\"\n"
+" */\n"
+"public class Cat {\n"
+" private Long id; // identifier\n"
+" private Date birthdate;\n"
+" private Cat mother;\n"
+" private Set kittens\n"
+" private Color color;\n"
+" private char sex;\n"
+" private float weight;\n"
+"\n"
+" /*\n"
+" * @hibernate.id\n"
+" * generator-class=\"native\"\n"
+" * column=\"CAT_ID\"\n"
+" */\n"
+" public Long getId() {\n"
+" return id;\n"
+" }\n"
+" private void setId(Long id) {\n"
+" this.id=id;\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.many-to-one\n"
+" * column=\"PARENT_ID\"\n"
+" */\n"
+" public Cat getMother() {\n"
+" return mother;\n"
+" }\n"
+" void setMother(Cat mother) {\n"
+" this.mother = mother;\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"BIRTH_DATE\"\n"
+" */\n"
+" public Date getBirthdate() {\n"
+" return birthdate;\n"
+" }\n"
+" void setBirthdate(Date date) {\n"
+" birthdate = date;\n"
+" }\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"WEIGHT\"\n"
+" */\n"
+" public float getWeight() {\n"
+" return weight;\n"
+" }\n"
+" void setWeight(float weight) {\n"
+" this.weight = weight;\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"COLOR\"\n"
+" * not-null=\"true\"\n"
+" */\n"
+" public Color getColor() {\n"
+" return color;\n"
+" }\n"
+" void setColor(Color color) {\n"
+" this.color = color;\n"
+" }\n"
+" /**\n"
+" * @hibernate.set\n"
+" * inverse=\"true\"\n"
+" * order-by=\"BIRTH_DATE\"\n"
+" * @hibernate.collection-key\n"
+" * column=\"PARENT_ID\"\n"
+" * @hibernate.collection-one-to-many\n"
+" */\n"
+" public Set getKittens() {\n"
+" return kittens;\n"
+" }\n"
+" void setKittens(Set kittens) {\n"
+" this.kittens = kittens;\n"
+" }\n"
+" // addKitten not needed by Hibernate\n"
+" public void addKitten(Cat kitten) {\n"
+" kittens.add(kitten);\n"
+" }\n"
+"\n"
+" /**\n"
+" * @hibernate.property\n"
+" * column=\"SEX\"\n"
+" * not-null=\"true\"\n"
+" * update=\"false\"\n"
+" */\n"
+" public char getSex() {\n"
+" return sex;\n"
+" }\n"
+" void setSex(char sex) {\n"
+" this.sex=sex;\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: basic_mapping.xml:2836
-#, no-c-format
+#: index.docbook:2836
msgid "See the Hibernate web site for more examples of XDoclet and Hibernate."
msgstr ""
-"Para más ejemplos de XDoclet e Hibernate ver en el sitio web de Hibernate."
+"Para más ejemplos de XDoclet e Hibernate ver en el sitio web de "
+"Hibernate."
-#. Tag: title
-#: basic_mapping.xml:2843
-#, no-c-format
+#: index.docbook:2843
msgid "Using JDK 5.0 Annotations"
msgstr "Usando anotaciones JDK 5.0"
-#. Tag: para
-#: basic_mapping.xml:2845
-#, no-c-format
+#: index.docbook:2845
msgid ""
"JDK 5.0 introduced XDoclet-style annotations at the language level, type-"
"safe and checked at compile time. This mechnism is more powerful than "
@@ -5495,27 +5264,24 @@
"Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
msgstr ""
"El JDK 5.0 introdujo anotaciones del estilo XDoclet a nivel del lenguaje, "
-"con chequeo seguro de tipos en tiempo de compilación. Este mecanismo es más "
-"potente y que las anotaciones XDoclet, y mejor soportado por herramientas e "
-"IDEs. IntelliJ IDEA, por ejemplo, soporta auto-compleción y resaltado de "
-"sintaxis de anotaciones JDK 5.0. La nueva revisión de la especificación de "
-"EJB (JSR-220) usa anotaciones JDK 5.0 como el mecanismo primario de "
-"metadatos para beans de entidad. Hibernate3 implementa el "
-"<literal>EntityManager</literal> del JSR-220 (la API de persistencia), y el "
-"soporte para metadatos de mapeo está disponible vía el paquete "
-"<emphasis>Hibernate Annotations</emphasis>, como una descarga por separado. "
-"Tanto metadatos de EJB3 (JSR-220) como de Hibernate3 están soportados."
+"con chequeo seguro de tipos en tiempo de compilación. Este mecanismo "
+"es más potente y que las anotaciones XDoclet, y mejor soportado por "
+"herramientas e IDEs. IntelliJ IDEA, por ejemplo, soporta auto-"
+"compleción y resaltado de sintaxis de anotaciones JDK 5.0. La nueva "
+"revisión de la especificación de EJB (JSR-220) usa anotaciones "
+"JDK 5.0 como el mecanismo primario de metadatos para beans de entidad. "
+"Hibernate3 implementa el <literal>EntityManager</literal> del JSR-220 (la "
+"API de persistencia), y el soporte para metadatos de mapeo está "
+"disponible vía el paquete <emphasis>Hibernate Annotations</emphasis>, "
+"como una descarga por separado. Tanto metadatos de EJB3 (JSR-220) como de "
+"Hibernate3 están soportados."
-#. Tag: para
-#: basic_mapping.xml:2856
-#, no-c-format
+#: index.docbook:2856
msgid "This is an example of a POJO class annotated as an EJB entity bean:"
msgstr ""
"Este es un ejemplo de una clase POJO anotada como un bean de entidad EJB:"
-#. Tag: programlisting
-#: basic_mapping.xml:2860
-#, no-c-format
+#: index.docbook:2860
msgid ""
"<![CDATA[@Entity(access = AccessType.FIELD)\n"
"public class Customer implements Serializable {\n"
@@ -5540,28 +5306,45 @@
" // Getter/setter and business methods\n"
"}]]>"
msgstr ""
+"<![CDATA[@Entity(access = AccessType.FIELD)\n"
+"public class Customer implements Serializable {\n"
+"\n"
+" @Id;\n"
+" Long id;\n"
+"\n"
+" String firstName;\n"
+" String lastName;\n"
+" Date birthday;\n"
+"\n"
+" @Transient\n"
+" Integer age;\n"
+"\n"
+" @Embedded\n"
+" private Address homeAddress;\n"
+"\n"
+" @OneToMany(cascade=CascadeType.ALL)\n"
+"\n"
+" @JoinColumn(name=\"CUSTOMER_ID\")\n"
+" Set<Order> orders;\n"
+"\n"
+" // Getter/setter and business methods\n"
+"}]]>"
-#. Tag: para
-#: basic_mapping.xml:2862
-#, no-c-format
+#: index.docbook:2862
msgid ""
"Note that support for JDK 5.0 Annotations (and JSR-220) is still work in "
"progress and not completed. Please refer to the Hibernate Annotations module "
"for more details."
msgstr ""
-"Ten en cuenta que el soporte a anotaciones JDK 5.0 (y JSR-220) es todavía un "
-"trabajo en progreso y no completado. Por favor, para más detalles refiérete "
-"al modulo de Anotaciones de Hibernate."
+"Ten en cuenta que el soporte a anotaciones JDK 5.0 (y JSR-220) es "
+"todavía un trabajo en progreso y no completado. Por favor, para "
+"más detalles refiérete al modulo de Anotaciones de Hibernate."
-#. Tag: title
-#: basic_mapping.xml:2871
-#, no-c-format
+#: index.docbook:2871
msgid "Generated Properties"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! Generated Properties"
-#. Tag: para
-#: basic_mapping.xml:2872
-#, no-c-format
+#: index.docbook:2872
msgid ""
"Generated properties are properties which have their values generated by the "
"database. Typically, Hibernate applications needed to <literal>refresh</"
@@ -5572,10 +5355,16 @@
"generated properties, it immediately issues a select afterwards to retrieve "
"the generated values."
msgstr ""
+"Generated properties are properties which have their values generated by the "
+"database. Typically, Hibernate applications needed to <literal>refresh</"
+"literal> objects which contain any properties for which the database was "
+"generating values. Marking properties as generated, however, lets the "
+"application delegate this responsibility to Hibernate. Essentially, whenever "
+"Hibernate issues an SQL INSERT or UPDATE for an entity which has defined "
+"generated properties, it immediately issues a select afterwards to retrieve "
+"the generated values."
-#. Tag: para
-#: basic_mapping.xml:2881
-#, no-c-format
+#: index.docbook:2881
msgid ""
"Properties marked as generated must additionally be non-insertable and non-"
"updateable. Only <link linkend=\"mapping-declaration-version\">versions</"
@@ -5583,18 +5372,21 @@
"and <link linkend=\"mapping-declaration-property\">simple properties</link> "
"can be marked as generated."
msgstr ""
+"Properties marked as generated must additionally be non-insertable and non-"
+"updateable. Only <link linkend=\"mapping-declaration-version\">versions</"
+"link>, <link linkend=\"mapping-declaration-timestamp\">timestamps</link>, "
+"and <link linkend=\"mapping-declaration-property\">simple properties</link> "
+"can be marked as generated."
-#. Tag: para
-#: basic_mapping.xml:2888
-#, no-c-format
+#: index.docbook:2888
msgid ""
"<literal>never</literal> (the default) - means that the given property value "
"is not generated within the database."
msgstr ""
+"<literal>never</literal> (the default) - means that the given property value "
+"is not generated within the database."
-#. Tag: para
-#: basic_mapping.xml:2892
-#, no-c-format
+#: index.docbook:2892
msgid ""
"<literal>insert</literal> - states that the given property value is "
"generated on insert, but is not regenerated on subsequent updates. Things "
@@ -5603,24 +5395,26 @@
"linkend=\"mapping-declaration-timestamp\">timestamp</link> properties can be "
"marked as generated, this option is not available there..."
msgstr ""
+"<literal>insert</literal> - states that the given property value is "
+"generated on insert, but is not regenerated on subsequent updates. Things "
+"like created-date would fall into this category. Note that even thought "
+"<link linkend=\"mapping-declaration-version\">version</link> and <link "
+"linkend=\"mapping-declaration-timestamp\">timestamp</link> properties can be "
+"marked as generated, this option is not available there..."
-#. Tag: para
-#: basic_mapping.xml:2900
-#, no-c-format
+#: index.docbook:2900
msgid ""
"<literal>always</literal> - states that the property value is generated both "
"on insert and on update."
msgstr ""
+"<literal>always</literal> - states that the property value is generated both "
+"on insert and on update."
-#. Tag: title
-#: basic_mapping.xml:2907
-#, no-c-format
+#: index.docbook:2907
msgid "Auxiliary Database Objects"
-msgstr ""
+msgstr "UNTRANSLATED! Auxiliary Database Objects"
-#. Tag: para
-#: basic_mapping.xml:2908
-#, no-c-format
+#: index.docbook:2908
msgid ""
"Allows CREATE and DROP of arbitrary database objects, in conjunction with "
"Hibernate's schema evolution tools, to provide the ability to fully define a "
@@ -5630,18 +5424,23 @@
"Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc). "
"There are essentially two modes for defining auxiliary database objects..."
msgstr ""
+"Allows CREATE and DROP of arbitrary database objects, in conjunction with "
+"Hibernate's schema evolution tools, to provide the ability to fully define a "
+"user schema within the Hibernate mapping files. Although designed "
+"specifically for creating and dropping things like triggers or stored "
+"procedures, really any SQL command that can be run via a <literal>java.sql."
+"Statement.execute()</literal> method is valid here (ALTERs, INSERTS, etc). "
+"There are essentially two modes for defining auxiliary database objects..."
-#. Tag: para
-#: basic_mapping.xml:2917
-#, no-c-format
+#: index.docbook:2917
msgid ""
"The first mode is to explicitly list the CREATE and DROP commands out in the "
"mapping file:"
msgstr ""
+"The first mode is to explicitly list the CREATE and DROP commands out in the "
+"mapping file:"
-#. Tag: programlisting
-#: basic_mapping.xml:2921
-#, no-c-format
+#: index.docbook:2921
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" ...\n"
@@ -5651,19 +5450,26 @@
" </database-object>\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <create>CREATE TRIGGER my_trigger ...</"
+"create>\n"
+" <drop>DROP TRIGGER my_trigger</drop>\n"
+" </database-object>\n"
+" </hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:2922
-#, no-c-format
+#: index.docbook:2922
msgid ""
"The second mode is to supply a custom class which knows how to construct the "
"CREATE and DROP commands. This custom class must implement the <literal>org."
"hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
msgstr ""
+"The second mode is to supply a custom class which knows how to construct the "
+"CREATE and DROP commands. This custom class must implement the <literal>org."
+"hibernate.mapping.AuxiliaryDatabaseObject</literal> interface."
-#. Tag: programlisting
-#: basic_mapping.xml:2927
-#, no-c-format
+#: index.docbook:2927
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" ...\n"
@@ -5672,18 +5478,23 @@
" </database-object>\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <definition class=\"MyTriggerDefinition"
+"\"/>\n"
+" </database-object>\n"
+" </hibernate-mapping>]]>"
-#. Tag: para
-#: basic_mapping.xml:2928
-#, no-c-format
+#: index.docbook:2928
msgid ""
"Additionally, these database objects can be optionally scoped such that they "
"only apply when certain dialects are used."
msgstr ""
+"Additionally, these database objects can be optionally scoped such that they "
+"only apply when certain dialects are used."
-#. Tag: programlisting
-#: basic_mapping.xml:2932
-#, no-c-format
+#: index.docbook:2932
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" ...\n"
@@ -5694,31 +5505,20 @@
" </database-object>\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <definition class=\"MyTriggerDefinition"
+"\"/>\n"
+" <dialect-scope name=\"org.hibernate."
+"dialect.Oracle9Dialect\"/>\n"
+" <dialect-scope name=\"org.hibernate."
+"dialect.OracleDialect\"/>\n"
+" </database-object>\n"
+" </hibernate-mapping>]]>"
-#~ msgid "class"
-#~ msgstr "class"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "id"
-#~ msgstr "id"
-
-#~ msgid ""
-#~ "<literal>optimizer</literal> (optional, defaults to <literal>none</"
-#~ "literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers"
-#~ "\"/>"
-#~ msgstr ""
-#~ "<literal>optimizer</literal> (optional, defaults to <literal>none</"
-#~ "literal>): See <xref linkend=\"mapping-declaration-id-enhanced-optimizers"
-#~ "\"/>"
-
-#~ msgid ""
-#~ "<literal>optimizer</literal> (optional, defaults to <literal/>): See "
-#~ "<xref linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
-#~ msgstr ""
-#~ "<literal>optimizer</literal> (optional, defaults to <literal/>): See "
-#~ "<xref linkend=\"mapping-declaration-id-enhanced-optimizers\"/>"
-
-#~ msgid "key"
-#~ msgstr "key"
-
-#~ msgid "any"
-#~ msgstr "any"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/batch.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: batch.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Batch processing"
msgstr "Procesamiento por lotes"
-#. Tag: para
-#: batch.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"A naive approach to inserting 100 000 rows in the database using Hibernate "
"might look like this:"
@@ -26,9 +17,7 @@
"Un enfoque ingenuo para insertar 100.000 filas en la base de datos usando "
"Hibernate podría verse así:"
-#. Tag: programlisting
-#: batch.xml:12
-#, no-c-format
+#: index.docbook:12
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -39,10 +28,16 @@
"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
-#: batch.xml:14
-#, no-c-format
+#: index.docbook:14
msgid ""
"This would fall over with an <literal>OutOfMemoryException</literal> "
"somewhere around the 50 000th row. That's because Hibernate caches all the "
@@ -54,9 +49,7 @@
"las instancias de <literal>Customer</literal> recién instanciadas en el "
"caché de nivel de sesión."
-#. Tag: para
-#: batch.xml:20
-#, no-c-format
+#: index.docbook:20
msgid ""
"In this chapter we'll show you how to avoid this problem. First, however, if "
"you are doing batch processing, it is absolutely critical that you enable "
@@ -69,15 +62,11 @@
"lograr un rendimiento razonable. Establece el tamaño de lote JDBC a un "
"número razonable (digamos 10-50):"
-#. Tag: programlisting
-#: batch.xml:27
-#, no-c-format
+#: index.docbook:27
msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-msgstr ""
+msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-#. Tag: para
-#: batch.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"Note that Hibernate disables insert batching at the JDBC level transparently "
"if you use an <literal>identiy</literal> identifier generator."
@@ -85,9 +74,7 @@
"UNTRANSLATED! Note that Hibernate disables insert batching at the JDBC level "
"transparently if you use an <literal>identiy</literal> identifier generator."
-#. Tag: para
-#: batch.xml:34
-#, no-c-format
+#: index.docbook:34
msgid ""
"You also might like to do this kind of work in a process where interaction "
"with the second-level cache is completely disabled:"
@@ -95,15 +82,11 @@
"Podrías además querer hacer este tipo de trabajo en un proceso donde la "
"interacción con el caché de segundo nivel esté completamente deshabilitado:"
-#. Tag: programlisting
-#: batch.xml:39
-#, no-c-format
+#: index.docbook:39
msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-msgstr ""
+msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-#. Tag: para
-#: batch.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"However, this is not absolutely necessary, since we can explicitly set the "
"<literal>CacheMode</literal> to disable interaction with the second-level "
@@ -113,15 +96,11 @@
"explicitly set the <literal>CacheMode</literal> to disable interaction with "
"the second-level cache."
-#. Tag: title
-#: batch.xml:47
-#, no-c-format
+#: index.docbook:47
msgid "Batch inserts"
msgstr "Inserciones en lote"
-#. Tag: para
-#: batch.xml:49
-#, no-c-format
+#: index.docbook:49
msgid ""
"When making new objects persistent, you must <literal>flush()</literal> and "
"then <literal>clear()</literal> the session regularly, to control the size "
@@ -131,9 +110,7 @@
"literal> y llamar a <literal>clear()</literal> en la sesión regularmente, "
"para controlar el tamaño del caché de primer nivel."
-#. Tag: programlisting
-#: batch.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -151,16 +128,27 @@
"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
-#: batch.xml:60
-#, no-c-format
+#: index.docbook:60
msgid "Batch updates"
msgstr "Actualizaciones en lote"
-#. Tag: para
-#: batch.xml:62
-#, no-c-format
+#: index.docbook:62
msgid ""
"For retrieving and updating data the same ideas apply. In addition, you need "
"to use <literal>scroll()</literal> to take advantage of server-side cursors "
@@ -171,9 +159,7 @@
"ventaja de los cursores del lado del servidor en consultas que devuelvan "
"muchas filas de datos."
-#. Tag: programlisting
-#: batch.xml:68
-#, no-c-format
+#: index.docbook:68
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -195,16 +181,31 @@
"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
-#: batch.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "The StatelessSession interface"
msgstr "UNTRANSLATED! The StatelessSession interface"
-#. Tag: para
-#: batch.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"Alternatively, Hibernate provides a command-oriented API that may be used "
"for streaming data to and from the database in the form of detached objects. "
@@ -234,9 +235,7 @@
"level cache. A stateless session is a lower-level abstraction, much closer "
"to the underlying JDBC."
-#. Tag: programlisting
-#: batch.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -252,10 +251,28 @@
"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
-#: batch.xml:91
-#, no-c-format
+#: index.docbook:91
msgid ""
"Note that in this code example, the <literal>Customer</literal> instances "
"returned by the query are immediately detached. They are never associated "
@@ -265,9 +282,7 @@
"returned by the query are immediately detached. They are never associated "
"with any persistence context."
-#. Tag: para
-#: batch.xml:97
-#, no-c-format
+#: index.docbook:97
msgid ""
"The <literal>insert(), update()</literal> and <literal>delete()</literal> "
"operations defined by the <literal>StatelessSession</literal> interface are "
@@ -287,15 +302,11 @@
"<literal>delete()</literal> operations defined by the <literal>Session</"
"literal> interface."
-#. Tag: title
-#: batch.xml:110
-#, no-c-format
+#: index.docbook:110
msgid "DML-style operations"
msgstr "update/delete en masa"
-#. Tag: para
-#: batch.xml:112
-#, no-c-format
+#: index.docbook:112
msgid ""
"As already discussed, automatic and transparent object/relational mapping is "
"concerned with the management of object state. This implies that the object "
@@ -315,11 +326,9 @@
"embargo, Hibernate provee métodos para la ejecución de sentencias del estilo "
"de <literal>UPDATE</literal> y <literal>DELETE</literal> de SQL que se "
"realizan a través del Lenguaje de Consulta de Hibernate (Hibernate Query "
-"Language o <xref linkend=\"queryhql\">HQL</xref>)."
+"Language o <xref linkend=\"queryhql\"/>HQL)."
-#. Tag: para
-#: batch.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
@@ -329,15 +338,11 @@
"<literal>DELETE</literal> es: <literal>( UPDATE | DELETE ) FROM? ClassName "
"(WHERE WHERE_CONDITIONS)?</literal>. Algunos puntos a tener en cuenta:"
-#. Tag: para
-#: batch.xml:130
-#, no-c-format
+#: index.docbook:130
msgid "In the from-clause, the FROM keyword is optional"
msgstr "En la cláusula-from, la palabra clave FROM es opcional"
-#. Tag: para
-#: batch.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"There can only be a single entity named in the from-clause; it can "
"optionally be aliased. If the entity name is aliased, then any property "
@@ -349,9 +354,7 @@
"references must be qualified using that alias; if the entity name is not "
"aliased, then it is illegal for any property references to be qualified."
-#. Tag: para
-#: batch.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"No <link linkend=\"queryhql-joins-forms\">joins</link> (either implicit or "
"explicit) can be specified in a bulk HQL query. Sub-queries may be used in "
@@ -361,15 +364,11 @@
"explicit) can be specified in a bulk HQL query. Sub-queries may be used in "
"the where-clause; the subqueries, themselves, may contain joins."
-#. Tag: para
-#: batch.xml:150
-#, no-c-format
+#: index.docbook:150
msgid "The where-clause is also optional."
msgstr "La cláusula-where es también opcional."
-#. Tag: para
-#: batch.xml:156
-#, no-c-format
+#: index.docbook:156
msgid ""
"As an example, to execute an HQL <literal>UPDATE</literal>, use the "
"<literal>Query.executeUpdate()</literal> method (the method is named for "
@@ -381,9 +380,7 @@
"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
"literal>):"
-#. Tag: programlisting
-#: batch.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -399,10 +396,23 @@
"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
-#: batch.xml:164
-#, no-c-format
+#: index.docbook:164
msgid ""
"HQL <literal>UPDATE</literal> statements, by default do not effect the <link "
"linkend=\"mapping-declaration-version\">version</link> or the <link linkend="
@@ -424,9 +434,7 @@
"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
"keyword."
-#. Tag: programlisting
-#: batch.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -439,10 +447,20 @@
"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
-#: batch.xml:176
-#, no-c-format
+#: index.docbook:176
msgid ""
"Note that custom version types (<literal>org.hibernate.usertype."
"UserVersionType</literal>) are not allowed in conjunction with a "
@@ -452,9 +470,7 @@
"UserVersionType</literal>) are not allowed in conjunction with a "
"<literal>update versioned</literal> statement."
-#. Tag: para
-#: batch.xml:181
-#, no-c-format
+#: index.docbook:181
msgid ""
"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
"executeUpdate()</literal> method:"
@@ -462,9 +478,7 @@
"Para ejecutar un <literal>DELETE</literal> HQL, usa el mismo método "
"<literal>Query.executeUpdate()</literal>:"
-#. Tag: programlisting
-#: batch.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -477,10 +491,17 @@
"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
-#: batch.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
"()</literal> method indicate the number of entities effected by the "
@@ -505,9 +526,7 @@
"tabla \"raíz\" y potencialmente tablas de joined-subclass más debajo en la "
"jerarquía de herencia."
-#. Tag: para
-#: batch.xml:199
-#, no-c-format
+#: index.docbook:199
msgid ""
"The pseudo-syntax for <literal>INSERT</literal> statements is: "
"<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
@@ -517,17 +536,13 @@
"operaciones HQL masivas, que serán atendidas en lanzamientos futuros; "
"consulta la hoja de ruta de JIRA para más detalles."
-#. Tag: para
-#: batch.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
"INTO ... VALUES ... form."
-msgstr "translator-credits"
+msgstr ""
-#. Tag: para
-#: batch.xml:210
-#, no-c-format
+#: index.docbook:210
msgid ""
"The properties_list is analogous to the <literal>column speficiation</"
"literal> in the SQL <literal>INSERT</literal> statement. For entities "
@@ -537,9 +552,7 @@
"<literal>INSERT</literal> statements are inherently non-polymorphic."
msgstr ""
-#. Tag: para
-#: batch.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"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 "
@@ -553,9 +566,7 @@
"distinction or might be able to handle the conversion."
msgstr ""
-#. Tag: para
-#: batch.xml:232
-#, no-c-format
+#: index.docbook:232
msgid ""
"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 "
@@ -572,9 +583,7 @@
"because it does not expose a selectable way to get its values."
msgstr ""
-#. Tag: para
-#: batch.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"For properties mapped as either <literal>version</literal> or "
"<literal>timestamp</literal>, the insert statement gives you two options. "
@@ -584,15 +593,11 @@
"defined by the <literal>org.hibernate.type.VersionType</literal> is used)."
msgstr ""
-#. Tag: para
-#: batch.xml:257
-#, no-c-format
+#: index.docbook:257
msgid "An example HQL <literal>INSERT</literal> statement execution:"
msgstr ""
-#. Tag: programlisting
-#: batch.xml:261
-#, no-c-format
+#: index.docbook:261
msgid ""
"<![CDATA[Session session = sessionFactory.openSession();\n"
"Transaction tx = session.beginTransaction();\n"
@@ -604,3 +609,9 @@
"tx.commit();\n"
"session.close();]]>"
msgstr ""
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/best_practices.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: best_practices.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Best Practices"
-msgstr "Mejores Prácticas"
+msgstr "Mejores Prácticas"
-#. Tag: term
-#: best_practices.xml:9
-#, no-c-format
+#: index.docbook:9
msgid ""
"Write fine-grained classes and map them using <literal><component></"
"literal>."
@@ -26,29 +17,23 @@
"Escribe clase finamente granularizadas y mapealas usando <literal><"
"component></literal>."
-#. Tag: para
-#: best_practices.xml:11
-#, no-c-format
+#: index.docbook:11
msgid ""
"Use an <literal>Address</literal> class to encapsulate <literal>street</"
"literal>, <literal>suburb</literal>, <literal>state</literal>, "
"<literal>postcode</literal>. This encourages code reuse and simplifies "
"refactoring."
msgstr ""
-"Usa una clase <literal>Dirección</literal> para encapsular <literal>calle</"
-"literal>, <literal>distrito</literal>, <literal>estado</literal>, "
-"<literal>código postal</literal>. Esto alienta la reutilización de código y "
-"simplifica el refactoring."
+"Usa una clase <literal>Dirección</literal> para encapsular "
+"<literal>calle</literal>, <literal>distrito</literal>, <literal>estado</"
+"literal>, <literal>código postal</literal>. Esto alienta la "
+"reutilización de código y simplifica el refactoring."
-#. Tag: term
-#: best_practices.xml:19
-#, no-c-format
+#: index.docbook:19
msgid "Declare identifier properties on persistent classes."
msgstr "Declara las propiedades identificadoras en clases persistentes."
-#. Tag: para
-#: best_practices.xml:21
-#, no-c-format
+#: index.docbook:21
msgid ""
"Hibernate makes identifier properties optional. There are all sorts of "
"reasons why you should use them. We recommend that identifiers be "
@@ -56,17 +41,14 @@
msgstr ""
"Hibernate hace opcionales las propiedades identificadoras. Existen todo tipo "
"de razones por las que debes usarlas. Recomendamos que los identificadores "
-"sean 'sintéticos' (generados, sin ningún significado de negocio)."
+"sean 'sintéticos' (generados, sin ningún significado de "
+"negocio)."
-#. Tag: term
-#: best_practices.xml:29
-#, no-c-format
+#: index.docbook:29
msgid "Identify natural keys."
msgstr "Identifica las claves naturales."
-#. Tag: para
-#: best_practices.xml:31
-#, no-c-format
+#: index.docbook:31
msgid ""
"Identify natural keys for all entities, and map them using <literal><"
"natural-id></literal>. Implement <literal>equals()</literal> and "
@@ -78,102 +60,79 @@
"literal> y <literal>hashCode()</literal> para comparar las propiedades que "
"componen la clave natural."
-#. Tag: term
-#: best_practices.xml:39
-#, no-c-format
+#: index.docbook:39
msgid "Place each class mapping in its own file."
msgstr "Coloca cada mapeo de clase en su propio fichero."
-#. Tag: para
-#: best_practices.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"Don't use a single monolithic mapping document. Map <literal>com.eg.Foo</"
"literal> in the file <literal>com/eg/Foo.hbm.xml</literal>. This makes "
"particularly good sense in a team environment."
msgstr ""
-"No uses un solo documento monolítico de mapeo. Mapea <literal>com.eg.Foo</"
-"literal> en el fichero <literal>com/eg/Foo.hbm.xml</literal>. Esto tiene "
-"sentido particularmente en un ambiente de equipo."
+"No uses un solo documento monolítico de mapeo. Mapea <literal>com.eg."
+"Foo</literal> en el fichero <literal>com/eg/Foo.hbm.xml</literal>. Esto "
+"tiene sentido particularmente en un ambiente de equipo."
-#. Tag: term
-#: best_practices.xml:49
-#, no-c-format
+#: index.docbook:49
msgid "Load mappings as resources."
msgstr "Carga los mapeos como recursos."
-#. Tag: para
-#: best_practices.xml:51
-#, no-c-format
+#: index.docbook:51
msgid "Deploy the mappings along with the classes they map."
msgstr "Despliega los mapeos junto a las clases que mapean."
-#. Tag: term
-#: best_practices.xml:57
-#, no-c-format
+#: index.docbook:57
msgid "Consider externalising query strings."
msgstr "Considera externalizar las cadenas de consulta."
-#. Tag: para
-#: best_practices.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"This is a good practice if your queries call non-ANSI-standard SQL "
"functions. Externalising the query strings to mapping files will make the "
"application more portable."
msgstr ""
-"Esta es una buena práctica si tus consultas llaman a funciones SQL que no "
-"son del estándar ANSI. Externalizar las cadenas de consulta a ficheros de "
-"mapeo hará la aplicación más portable."
+"Esta es una buena práctica si tus consultas llaman a funciones SQL "
+"que no son del estándar ANSI. Externalizar las cadenas de consulta a "
+"ficheros de mapeo hará la aplicación más portable."
-#. Tag: term
-#: best_practices.xml:67
-#, no-c-format
+#: index.docbook:67
msgid "Use bind variables."
msgstr "Usa variables de ligado."
-#. Tag: para
-#: best_practices.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"As in JDBC, always replace non-constant values by \"?\". Never use string "
"manipulation to bind a non-constant value in a query! Even better, consider "
"using named parameters in queries."
msgstr ""
-"Igual que en JDBC, siempre remplaza valores no constantes con \"?\". ¡Nunca "
-"uses manipulación de cadenas para ligar un valor no constante en una "
-"consulta! Incluso mejor, considera usar parámetros con nombre en las "
-"consultas."
+"Igual que en JDBC, siempre remplaza valores no constantes con \"?\". ¡"
+"Nunca uses manipulación de cadenas para ligar un valor no constante "
+"en una consulta! Incluso mejor, considera usar parámetros con nombre "
+"en las consultas."
-#. Tag: term
-#: best_practices.xml:77
-#, no-c-format
+#: index.docbook:77
msgid "Don't manage your own JDBC connections."
msgstr "No manejes tus propias conexiones JDBC."
-#. Tag: para
-#: best_practices.xml:79
-#, no-c-format
+#: index.docbook:79
msgid ""
"Hibernate lets the application manage JDBC connections. This approach should "
"be considered a last-resort. If you can't use the built-in connections "
"providers, consider providing your own implementation of <literal>org."
"hibernate.connection.ConnectionProvider</literal>."
msgstr ""
-"Hibernate deja a la aplicación administre las conexiones JDBC. Este enfoque "
-"debe considerarse como último recurso. Si no puedes usar los provedores de "
-"conexión prefabricados, considera prover tu propia implementación de "
-"<literal>org.hibernate.connection.ConnectionProvider</literal>."
+"Hibernate deja a la aplicación administre las conexiones JDBC. Este "
+"enfoque debe considerarse como último recurso. Si no puedes usar los "
+"provedores de conexión prefabricados, considera prover tu propia "
+"implementación de <literal>org.hibernate.connection."
+"ConnectionProvider</literal>."
-#. Tag: term
-#: best_practices.xml:87
-#, no-c-format
+#: index.docbook:87
msgid "Consider using a custom type."
msgstr "Considera usar un tipo personalizado."
-#. Tag: para
-#: best_practices.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"Suppose you have a Java type, say from some library, that needs to be "
"persisted but doesn't provide the accessors needed to map it as a component. "
@@ -181,21 +140,18 @@
"This approach frees the application code from implementing transformations "
"to / from a Hibernate type."
msgstr ""
-"Supón que tienes un tipo Java, digamos de alguna biblioteca, que necesita "
-"hacerse persistente pero no provee los métodos de acceso necesarios para "
-"mapearlo como un componente. Debes considerar implementar <literal>org."
-"hibernate.UserType</literal>. Este enfoque libera al código de aplicación de "
-"implementar transformaciones a / desde un tipo Hibernate."
+"Supón que tienes un tipo Java, digamos de alguna biblioteca, que "
+"necesita hacerse persistente pero no provee los métodos de acceso "
+"necesarios para mapearlo como un componente. Debes considerar implementar "
+"<literal>org.hibernate.UserType</literal>. Este enfoque libera al có"
+"digo de aplicación de implementar transformaciones a / desde un tipo "
+"Hibernate."
-#. Tag: term
-#: best_practices.xml:98
-#, no-c-format
+#: index.docbook:98
msgid "Use hand-coded JDBC in bottlenecks."
msgstr "Usa JDBC codificado a mano en cuellos de botella."
-#. Tag: para
-#: best_practices.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"In performance-critical areas of the system, some kinds of operations might "
"benefit from direct JDBC. But please, wait until you <emphasis>know</"
@@ -205,23 +161,20 @@
"connection. That way you can still use the same transaction strategy and "
"underlying connection provider."
msgstr ""
-"En áreas del sistema de rendimiento crítico, algunos tipos de operaciones "
-"podrían beneficiarse del JDBC directo. Pero por favor, espero hasta que "
-"<emphasis>sepas</emphasis> que algo es un cuello de botella. Y no asumas que "
-"el JDBC directo es necesariamente más rápido. Si necesitas usar JDBC "
-"directo, podría ser valioso abrir una <literal>Session</literal> de "
-"Hibernate y usar esa conexión JDBC. De esta forma puedes usar aún la misma "
-"estrategia de transacción y el mismo proveedor de conexiones subyacente."
+"En áreas del sistema de rendimiento crítico, algunos tipos de "
+"operaciones podrían beneficiarse del JDBC directo. Pero por favor, "
+"espero hasta que <emphasis>sepas</emphasis> que algo es un cuello de "
+"botella. Y no asumas que el JDBC directo es necesariamente más "
+"rápido. Si necesitas usar JDBC directo, podría ser valioso "
+"abrir una <literal>Session</literal> de Hibernate y usar esa conexión "
+"JDBC. De esta forma puedes usar aún la misma estrategia de "
+"transacción y el mismo proveedor de conexiones subyacente."
-#. Tag: term
-#: best_practices.xml:110
-#, no-c-format
+#: index.docbook:110
msgid "Understand <literal>Session</literal> flushing."
msgstr "Comprende la limpieza (flushing) de <literal>Session</literal>."
-#. Tag: para
-#: best_practices.xml:112
-#, no-c-format
+#: index.docbook:112
msgid ""
"From time to time the Session synchronizes its persistent state with the "
"database. Performance will be affected if this process occurs too often. You "
@@ -229,21 +182,18 @@
"or even by changing the order of queries and other operations within a "
"particular transaction."
msgstr ""
-"De vez en cuando la sesión sincroniza su estado persistente con la base de "
-"datos. El rendimiento se verá afectado si este proceso ocurre demasiado "
-"frecuentemente. A veces puedes minimizar limpieza innecesaria deshabilitando "
-"la limpieza automática o incluso cambiando el orden de las consultas u otras "
-"operaciones en una transacción en particular."
+"De vez en cuando la sesión sincroniza su estado persistente con la "
+"base de datos. El rendimiento se verá afectado si este proceso ocurre "
+"demasiado frecuentemente. A veces puedes minimizar limpieza innecesaria "
+"deshabilitando la limpieza automática o incluso cambiando el orden de "
+"las consultas u otras operaciones en una transacción en particular."
-#. Tag: term
-#: best_practices.xml:121
-#, no-c-format
+#: index.docbook:121
msgid "In a three tiered architecture, consider using detached objects."
-msgstr "En una aplicación en tres gradas, considera usar objetos separados."
+msgstr ""
+"En una aplicación en tres gradas, considera usar objetos separados."
-#. Tag: para
-#: best_practices.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"When using a servlet / session bean architecture, you could pass persistent "
"objects loaded in the session bean to and from the servlet / JSP layer. Use "
@@ -251,23 +201,19 @@
"literal> or <literal>Session.saveOrUpdate()</literal> to synchronize objects "
"with the database."
msgstr ""
-"Al usar una arquitectura de servlet / sesión, puedes pasar objetos "
-"persistentes en el bean de sesión hacia y desde la capa de servlet / JSP. "
-"Usa una sesión nueva para atender el servicio de cada petición. Usa "
-"<literal>Session.merge()</literal> o <literal>Session.saveOrUpdate()</"
-"literal> para sincronizar los objetos con la base de datos."
+"Al usar una arquitectura de servlet / sesión, puedes pasar objetos "
+"persistentes en el bean de sesión hacia y desde la capa de servlet / "
+"JSP. Usa una sesión nueva para atender el servicio de cada "
+"petición. Usa <literal>Session.merge()</literal> o <literal>Session."
+"saveOrUpdate()</literal> para sincronizar los objetos con la base de datos."
-#. Tag: term
-#: best_practices.xml:132
-#, no-c-format
+#: index.docbook:132
msgid "In a two tiered architecture, consider using long persistence contexts."
msgstr ""
"En una arquitectura en dos gradas, considera usar contexto de persistencia "
"largos."
-#. Tag: para
-#: best_practices.xml:134
-#, no-c-format
+#: index.docbook:134
msgid ""
"Database Transactions have to be as short as possible for best scalability. "
"However, it is often neccessary to implement long running "
@@ -284,27 +230,25 @@
msgstr ""
"Las transacciones de base de datos tienen que ser tan cortas como sea "
"posible. Sin embargo, frecuentemente es necesario implementar "
-"<emphasis>transacciones de aplicación</emphasis> ejecutándose en largo, una "
-"sola unidad de trabajo desde el punto de vista de un usuario. Una "
-"transacción de aplicación puede abarcar muchos ciclos petición/respuesta del "
-"cliente. Es común usar objetos separados para implementar transacciones de "
-"aplicación. Una alternativa, extremadamente apropiada en arquitecturas en "
-"dos gradas, es mantener un solo contacto de persistencia abierto (sesión) "
-"para todo el ciclo de vida de la transacción de aplicación y simplemente "
-"desconectar de la conexión JDBC al final de cada petición, y reconectar al "
-"comienzo de la petición subsecuente. Nunca compartas una única sesión a "
-"través de más de una transacción de aplicación, o estarás trabajando con "
+"<emphasis>transacciones de aplicación</emphasis> ejecutándose "
+"en largo, una sola unidad de trabajo desde el punto de vista de un usuario. "
+"Una transacción de aplicación puede abarcar muchos ciclos "
+"petición/respuesta del cliente. Es común usar objetos "
+"separados para implementar transacciones de aplicación. Una "
+"alternativa, extremadamente apropiada en arquitecturas en dos gradas, es "
+"mantener un solo contacto de persistencia abierto (sesión) para todo "
+"el ciclo de vida de la transacción de aplicación y simplemente "
+"desconectar de la conexión JDBC al final de cada petición, y "
+"reconectar al comienzo de la petición subsecuente. Nunca compartas "
+"una única sesión a través de más de una "
+"transacción de aplicación, o estarás trabajando con "
"datos añejos."
-#. Tag: term
-#: best_practices.xml:148
-#, no-c-format
+#: index.docbook:148
msgid "Don't treat exceptions as recoverable."
msgstr "No trates la excepciones como recuperables."
-#. Tag: para
-#: best_practices.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"This is more of a necessary practice than a \"best\" practice. When an "
"exception occurs, roll back the <literal>Transaction</literal> and close the "
@@ -314,23 +258,20 @@
"instance with the given identifier exists on the database; use "
"<literal>Session.get()</literal> or a query instead."
msgstr ""
-"Esto es más una práctica necesaria que una \"mejor\" práctica. Cuando ocurra "
-"una excepción, deshaz (rollback) la <literal>Transaction</literal> y cierra "
-"la <literal>Session</literal>. Si no lo haces, Hibernate no puede garantizar "
-"que el estado en memoria representa con exactitud el estado persistente. "
-"Como un caso especial de esto, no uses <literal>Session.load()</literal> "
-"para determinar si una instancia con el identificador dado existe en la base "
-"de datos. En cambio, usa <literal>Session.get()</literal> o una consulta."
+"Esto es más una práctica necesaria que una \"mejor\" prá"
+"ctica. Cuando ocurra una excepción, deshaz (rollback) la "
+"<literal>Transaction</literal> y cierra la <literal>Session</literal>. Si no "
+"lo haces, Hibernate no puede garantizar que el estado en memoria representa "
+"con exactitud el estado persistente. Como un caso especial de esto, no uses "
+"<literal>Session.load()</literal> para determinar si una instancia con el "
+"identificador dado existe en la base de datos. En cambio, usa "
+"<literal>Session.get()</literal> o una consulta."
-#. Tag: term
-#: best_practices.xml:160
-#, no-c-format
+#: index.docbook:160
msgid "Prefer lazy fetching for associations."
-msgstr "Prefiere la recuperación perezosa para las asociaciones."
+msgstr "Prefiere la recuperación perezosa para las asociaciones."
-#. Tag: para
-#: best_practices.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"Use eager fetching sparingly. Use proxies and lazy collections for most "
"associations to classes that are not likely to be completely held in the "
@@ -340,29 +281,26 @@
"appropriate to a particular use case, use a query with a <literal>left join "
"fetch</literal>."
msgstr ""
-"Usa escasamente la recuperación temprana. Usa proxies y colecciones "
-"perezosas para la mayoría de asociaciones a clases probablemente no estén "
-"mantenidas en el caché de segundo nivel. Para las asociaciones a clases en "
-"caché, donde hay una probabilidad de acceso a caché extremadamente alta, "
-"deshabilita explícitamente la recuperación temprana usando <literal>lazy="
-"\"false\"</literal>. Cuando sea apropiada la recuperación por unión (join "
-"fetching) para un caso de uso en particular, usa una consulta con un "
-"<literal>left join fetch</literal>."
+"Usa escasamente la recuperación temprana. Usa proxies y colecciones "
+"perezosas para la mayoría de asociaciones a clases probablemente no "
+"estén mantenidas en el caché de segundo nivel. Para las "
+"asociaciones a clases en caché, donde hay una probabilidad de acceso "
+"a caché extremadamente alta, deshabilita explícitamente la "
+"recuperación temprana usando <literal>lazy=\"false\"</literal>. "
+"Cuando sea apropiada la recuperación por unión (join fetching) "
+"para un caso de uso en particular, usa una consulta con un <literal>left "
+"join fetch</literal>."
-#. Tag: term
-#: best_practices.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"Use the <emphasis>open session in view</emphasis> pattern, or a disciplined "
"<emphasis>assembly phase</emphasis> to avoid problems with unfetched data."
msgstr ""
-"Usa el patrón <emphasis>sesión abierta en vista</emphasis>, o una "
-"<emphasis>fase de ensamblado</emphasis> disciplinada para evitar problemas "
-"con datos no recuperados."
+"Usa el patrón <emphasis>sesión abierta en vista</emphasis>, o "
+"una <emphasis>fase de ensamblado</emphasis> disciplinada para evitar "
+"problemas con datos no recuperados."
-#. Tag: para
-#: best_practices.xml:177
-#, no-c-format
+#: index.docbook:177
msgid ""
"Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
@@ -379,28 +317,25 @@
msgstr ""
"Hibernate liberal al desarrollador de escribir <emphasis>Objetos de "
"Transferencia de Datos (Data Transfer Objects)</emphasis> (DTO). En una "
-"arquitectura tradicional de EJB, los DTOs tienen un propósito doble: "
+"arquitectura tradicional de EJB, los DTOs tienen un propósito doble: "
"primero, atacan el problema que los beans de entidad no son serializables. "
-"Segundo, definen implícitamente una fase de ensamblado cuando se recuperan y "
-"se forman (marshalling) todos los datos a usar por la vista en los DTOs "
-"antes de devolver el control a la grada de presentación. Hibernate elimina "
-"el primer propósito. Sin embargo, aún necesitas una fase de ensamblado "
-"(piensa en tus métodos de negocio como si tuviesen un contrato estricto con "
-"la grada de presentación sobre qué datos están disponibles en los objetos "
-"separados) a menos que estés preparado para tener el contexto de "
-"persistencia (la sesión) abierto a través del proceso de renderización de la "
-"vista. ¡Esta no es una limitación de Hibernate! Es un requerimiento "
-"fundamental de acceso seguro a datos transaccionales."
+"Segundo, definen implícitamente una fase de ensamblado cuando se "
+"recuperan y se forman (marshalling) todos los datos a usar por la vista en "
+"los DTOs antes de devolver el control a la grada de presentación. "
+"Hibernate elimina el primer propósito. Sin embargo, aún "
+"necesitas una fase de ensamblado (piensa en tus métodos de negocio "
+"como si tuviesen un contrato estricto con la grada de presentación "
+"sobre qué datos están disponibles en los objetos separados) a "
+"menos que estés preparado para tener el contexto de persistencia (la "
+"sesión) abierto a través del proceso de renderización "
+"de la vista. ¡Esta no es una limitación de Hibernate! Es un "
+"requerimiento fundamental de acceso seguro a datos transaccionales."
-#. Tag: term
-#: best_practices.xml:191
-#, no-c-format
+#: index.docbook:191
msgid "Consider abstracting your business logic from Hibernate."
-msgstr "Considera abstraer tu lógica de negocio de Hibernate"
+msgstr "Considera abstraer tu lógica de negocio de Hibernate"
-#. Tag: para
-#: best_practices.xml:193
-#, no-c-format
+#: index.docbook:193
msgid ""
"Hide (Hibernate) data-access code behind an interface. Combine the "
"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
@@ -409,23 +344,19 @@
"intended for \"sufficiently large\" applications; it is not appropriate for "
"an application with five tables!)"
msgstr ""
-"Oculta el código de acceso a datos (Hibernate) detrás de una interface. "
-"Combina los patrones <emphasis>DAO</emphasis> y <emphasis>Sesión de Hebra "
-"Local</emphasis>. Incluso puedes tener algunas clases hechas persistentes "
-"por JDBC escrito a mano, asociadas a Hibernate por medio de un "
-"<literal>UserType</literal>. (Este consejo está pensado para aplicaciones "
-"\"suficientemente grandes\"; ¡no es apropiado para una aplicación con cinco "
-"tablas!)"
+"Oculta el código de acceso a datos (Hibernate) detrás de una "
+"interface. Combina los patrones <emphasis>DAO</emphasis> y "
+"<emphasis>Sesión de Hebra Local</emphasis>. Incluso puedes tener "
+"algunas clases hechas persistentes por JDBC escrito a mano, asociadas a "
+"Hibernate por medio de un <literal>UserType</literal>. (Este consejo "
+"está pensado para aplicaciones \"suficientemente grandes\"; ¡"
+"no es apropiado para una aplicación con cinco tablas!)"
-#. Tag: term
-#: best_practices.xml:203
-#, no-c-format
+#: index.docbook:203
msgid "Don't use exotic association mappings."
-msgstr "No uses mapeos de asociación exóticos."
+msgstr "No uses mapeos de asociación exóticos."
-#. Tag: para
-#: best_practices.xml:205
-#, no-c-format
+#: index.docbook:205
msgid ""
"Good usecases for a real many-to-many associations are rare. Most of the "
"time you need additional information stored in the \"link table\". In this "
@@ -435,26 +366,29 @@
"style and ask yourself if it is really neccessary."
msgstr ""
"Son raros los casos de uso de asociaciones reales muchos-a-muchos. La mayor "
-"parte del tiempo necesitas información adicional almacenada en una \"tabla "
-"de enlace\". En este caso, es mucho mejor usar dos asociaciones uno-a-muchos "
-"a una clase de enlace intermedia. De hecho, pensamos que la mayoría de "
-"asociaciones son uno-a-muchos y muchos-a-uno, debes ser cuidadoso al usr "
-"cualquier otro estilo de asociación y preguntarte si es realmente necesario."
+"parte del tiempo necesitas información adicional almacenada en una "
+"\"tabla de enlace\". En este caso, es mucho mejor usar dos asociaciones uno-"
+"a-muchos a una clase de enlace intermedia. De hecho, pensamos que la "
+"mayoría de asociaciones son uno-a-muchos y muchos-a-uno, debes ser "
+"cuidadoso al usr cualquier otro estilo de asociación y preguntarte si "
+"es realmente necesario."
-#. Tag: term
-#: best_practices.xml:215
-#, no-c-format
+#: index.docbook:215
msgid "Prefer bidirectional associations."
msgstr "Prefiere las asociaciones bidireccionales."
-#. Tag: para
-#: best_practices.xml:217
-#, no-c-format
+#: index.docbook:217
msgid ""
"Unidirectional associations are more difficult to query. In a large "
"application, almost all associations must be navigable in both directions in "
"queries."
msgstr ""
-"Las asociaciones unidireccionales son más difíciles de consultar. En una "
-"aplicación grande, casi todas las asociaciones deben ser navegables en ambas "
-"direcciones en consultas."
+"Las asociaciones unidireccionales son más difíciles de "
+"consultar. En una aplicación grande, casi todas las asociaciones "
+"deben ser navegables en ambas direcciones en consultas."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/collection_mapping.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,40 +1,27 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: collection_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Collection Mapping"
msgstr "Mapeo de Colecciones"
-#. Tag: title
-#: collection_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Persistent collections"
msgstr "Colecciones persistentes"
-#. Tag: para
-#: collection_mapping.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"Hibernate requires that persistent collection-valued fields be declared as "
"an interface type, for example:"
msgstr ""
-"Hibernate requiere que los campos valuados en colección persistentes sean "
-"declarados como un tipo de interface, por ejemplo:"
+"Hibernate requiere que los campos valuados en colección persistentes "
+"sean declarados como un tipo de interface, por ejemplo:"
-#. Tag: programlisting
-#: collection_mapping.xml:15
-#, no-c-format
+#: index.docbook:15
msgid ""
"<![CDATA[public class Product {\n"
" private String serialNumber;\n"
@@ -46,10 +33,17 @@
" void setSerialNumber(String sn) { serialNumber = sn; }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Product {\n"
+" private String serialNumber;\n"
+" private Set parts = new HashSet();\n"
+" \n"
+" public Set getParts() { return parts; }\n"
+" void setParts(Set parts) { this.parts = parts; }\n"
+" public String getSerialNumber() { return serialNumber; }\n"
+" void setSerialNumber(String sn) { serialNumber = sn; }\n"
+"}]]>"
-#. Tag: para
-#: collection_mapping.xml:17
-#, no-c-format
+#: index.docbook:17
msgid ""
"The actual interface might be <literal>java.util.Set</literal>, "
"<literal>java.util.Collection</literal>, <literal>java.util.List</literal>, "
@@ -58,16 +52,15 @@
"\"anything you like\" means you will have to write an implementation of "
"<literal>org.hibernate.usertype.UserCollectionType</literal>.)"
msgstr ""
-"La interface real podría ser <literal>java.util.Set</literal>, <literal>java."
-"util.Collection</literal>, <literal>java.util.List</literal>, <literal>java."
-"util.Map</literal>, <literal>java.util.SortedSet</literal>, <literal>java."
-"util.SortedMap</literal> o ... lo que te guste! (Donde \"lo que te guste\" "
-"significa que tendrás que escribir una implementación de <literal>org."
-"hibernate.usertype.UserCollectionType</literal>.)"
+"La interface real podría ser <literal>java.util.Set</literal>, "
+"<literal>java.util.Collection</literal>, <literal>java.util.List</literal>, "
+"<literal>java.util.Map</literal>, <literal>java.util.SortedSet</literal>, "
+"<literal>java.util.SortedMap</literal> o ... lo que te guste! (Donde \"lo "
+"que te guste\" significa que tendrás que escribir una "
+"implementación de <literal>org.hibernate.usertype.UserCollectionType</"
+"literal>.)"
-#. Tag: para
-#: collection_mapping.xml:26
-#, no-c-format
+#: index.docbook:26
msgid ""
"Notice how we initialized the instance variable with an instance of "
"<literal>HashSet</literal>. This is the best way to initialize collection "
@@ -77,17 +70,16 @@
"with an instance of Hibernate's own implementation of <literal>Set</"
"literal>. Watch out for errors like this:"
msgstr ""
-"Nota cómo hemos inicializado la variable de instancia de <literal>HashSet</"
-"literal>. Esta es la mejor forma de inicializar propiedades valuadas en "
-"colección de instancias recién instanciadas (no persistentes). Cuando haces "
-"persistente la instancia - llamando a <literal>persist()</literal>, por "
-"ejemplo - Hibernate realmente remplazará el <literal>HashSet</literal> con "
-"una instancia de una implementación de <literal>Set</literal> propia de "
-"Hibernate. Observa errores como este:"
+"Nota cómo hemos inicializado la variable de instancia de "
+"<literal>HashSet</literal>. Esta es la mejor forma de inicializar "
+"propiedades valuadas en colección de instancias recién "
+"instanciadas (no persistentes). Cuando haces persistente la instancia - "
+"llamando a <literal>persist()</literal>, por ejemplo - Hibernate realmente "
+"remplazará el <literal>HashSet</literal> con una instancia de una "
+"implementación de <literal>Set</literal> propia de Hibernate. Observa "
+"errores como este:"
-#. Tag: programlisting
-#: collection_mapping.xml:36
-#, no-c-format
+#: index.docbook:36
msgid ""
"<![CDATA[Cat cat = new DomesticCat();\n"
"Cat kitten = new DomesticCat();\n"
@@ -99,10 +91,17 @@
"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
"(HashSet) cat.getKittens(); // Error!]]>"
msgstr ""
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"Cat kitten = new DomesticCat();\n"
+"....\n"
+"Set kittens = new HashSet();\n"
+"kittens.add(kitten);\n"
+"cat.setKittens(kittens);\n"
+"session.persist(cat);\n"
+"kittens = cat.getKittens(); // Okay, kittens collection is a Set\n"
+"(HashSet) cat.getKittens(); // Error!]]>"
-#. Tag: para
-#: collection_mapping.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"The persistent collections injected by Hibernate behave like "
"<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
@@ -114,9 +113,7 @@
"literal>, <literal>TreeSet</literal> o <literal>ArrayList</literal>, "
"dependiendo del tipo de interface."
-#. Tag: para
-#: collection_mapping.xml:45
-#, no-c-format
+#: index.docbook:45
msgid ""
"Collections instances have the usual behavior of value types. They are "
"automatically persisted when referenced by a persistent object and "
@@ -128,18 +125,16 @@
"distinguish between a null collection reference and an empty collection."
msgstr ""
"Las instancias de colecciones tienen el comportamiento usual de tipos de "
-"valor. Son automáticamente persistidas al ser referenciadas por un objeto "
-"persistente y automáticamente borradas al desreferenciarse. Si una colección "
-"es pasada de un objeto persistente a otro, sus elementos serían movidos de "
-"una tabla a otra. Dos entidades pueden no compartir una referencia a la "
-"misma instancia de colección. Debido al modelo relacional subyacente, las "
-"propiedades valuadas en colección no soportan la semántica de valor nulo. "
-"Hibernate no distingue entre una referencia de colección nula y una "
-"colección vacía."
+"valor. Son automáticamente persistidas al ser referenciadas por un "
+"objeto persistente y automáticamente borradas al desreferenciarse. Si "
+"una colección es pasada de un objeto persistente a otro, sus "
+"elementos serían movidos de una tabla a otra. Dos entidades pueden no "
+"compartir una referencia a la misma instancia de colección. Debido al "
+"modelo relacional subyacente, las propiedades valuadas en colección "
+"no soportan la semántica de valor nulo. Hibernate no distingue entre "
+"una referencia de colección nula y una colección vacía."
-#. Tag: para
-#: collection_mapping.xml:56
-#, no-c-format
+#: index.docbook:56
msgid ""
"You shouldn't have to worry much about any of this. Use persistent "
"collections the same way you use ordinary Java collections. Just make sure "
@@ -147,30 +142,25 @@
msgstr ""
"No debes tener que preocuparte demasiado por esto. Usa las colecciones "
"persistentes de la misma forma en que usas colecciones de Java ordinarias. "
-"Sólo asegúrate que entiendes la semántica de las asociaciones "
-"bidireccionales (discutida luego)."
+"Sólo asegúrate que entiendes la semántica de las "
+"asociaciones bidireccionales (discutida luego)."
-#. Tag: title
-#: collection_mapping.xml:65
-#, no-c-format
+#: index.docbook:65
msgid "Collection mappings"
-msgstr "Mapeos de colección"
+msgstr "Mapeos de colección"
-#. Tag: para
-#: collection_mapping.xml:67
-#, no-c-format
+#: index.docbook:67
msgid ""
"The Hibernate mapping element used for mapping a collection depends upon the "
"type of the interface. For example, a <literal><set></literal> element "
"is used for mapping properties of type <literal>Set</literal>."
msgstr ""
-"El elemento de mapeo de Hibernate usado para mapear una colección depende "
-"del tipo de la interface. Por ejemplom un elemento <literal><set></"
-"literal> se usa para mapear propiedades de tipo <literal>Set</literal>."
+"El elemento de mapeo de Hibernate usado para mapear una colección "
+"depende del tipo de la interface. Por ejemplom un elemento <literal><"
+"set></literal> se usa para mapear propiedades de tipo <literal>Set</"
+"literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:73
-#, no-c-format
+#: index.docbook:73
msgid ""
"<![CDATA[<class name=\"Product\">\n"
" <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
@@ -180,10 +170,15 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Product\">\n"
+" <id name=\"serialNumber\" column=\"productSerialNumber\"/>\n"
+" <set name=\"parts\">\n"
+" <key column=\"productSerialNumber\" not-null=\"true\"/>\n"
+" <one-to-many class=\"Part\"/>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:75
-#, no-c-format
+#: index.docbook:75
msgid ""
"Apart from <literal><set></literal>, there is also <literal><"
"list></literal>, <literal><map></literal>, <literal><bag></"
@@ -191,15 +186,13 @@
"array></literal> mapping elements. The <literal><map></literal> "
"element is representative:"
msgstr ""
-"Aparte de <literal><set></literal>, existen además los elementos de "
-"mapeo <literal><list></literal>, <literal><map></literal>, "
-"<literal><bag></literal>, <literal><array></literal> y "
+"Aparte de <literal><set></literal>, existen además los "
+"elementos de mapeo <literal><list></literal>, <literal><map></"
+"literal>, <literal><bag></literal>, <literal><array></literal> y "
"<literal><primitive-array></literal>. El elemento <literal><map>"
"</literal> es representativo:"
-#. Tag: programlisting
-#: collection_mapping.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<![CDATA[<map\n"
" name=\"propertyName\"\n"
@@ -225,36 +218,51 @@
" <element .... />\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map\n"
+" name=\"propertyName\"\n"
+" table=\"table_name\"\n"
+" schema=\"schema_name\"\n"
+" lazy=\"true|false\"\n"
+" inverse=\"true|false\"\n"
+" cascade=\"all|none|save-update|delete|all-delete-orphan\"\n"
+" sort=\"unsorted|natural|comparatorClass\"\n"
+" order-by=\"column_name asc|desc\"\n"
+" where=\"arbitrary sql where condition\"\n"
+" fetch=\"join|select|subselect\"\n"
+" batch-size=\"N\"\n"
+" access=\"field|property|ClassName\"\n"
+" optimistic-lock=\"true|false\"\n"
+" node=\"element-name|.\"\n"
+" embed-xml=\"true|false\"\n"
+">\n"
+"\n"
+" <key .... />\n"
+" <map-key .... />\n"
+" <element .... />\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:103
-#, no-c-format
+#: index.docbook:103
msgid "<literal>name</literal> the collection property name"
-msgstr "<literal>name</literal> el nombre de la propiedad de colección"
+msgstr "<literal>name</literal> el nombre de la propiedad de colección"
-#. Tag: para
-#: collection_mapping.xml:108
-#, no-c-format
+#: index.docbook:108
msgid ""
"<literal>table</literal> (optional - defaults to property name) the name of "
"the collection table (not used for one-to-many associations)"
msgstr ""
"<literal>table</literal> (opcional - por defecto al nombre de la propiedad) "
-"el nombre de la tabla de coleciión (no usado para asociaciones uno-a-muchos)"
+"el nombre de la tabla de coleciión (no usado para asociaciones uno-a-"
+"muchos)"
-#. Tag: para
-#: collection_mapping.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"<literal>schema</literal> (optional) the name of a table schema to override "
"the schema declared on the root element"
msgstr ""
"<literal>schema</literal> (opcional) el nombre de un esquema de tablas para "
-"sobrescribir el esquema declarado en el elemento raíz"
+"sobrescribir el esquema declarado en el elemento raíz"
-#. Tag: para
-#: collection_mapping.xml:120
-#, no-c-format
+#: index.docbook:120
msgid ""
"<literal>lazy</literal> (optional - defaults to <literal>true</literal>) may "
"be used to disable lazy fetching and specify that the association is always "
@@ -262,23 +270,20 @@
"do not initialize the collection (suitable for very large collections)"
msgstr ""
"<literal>lazy</literal> (opcional - por defecto a <literal>true</literal>) "
-"puede ser usado para deshabilitar la recuperación perezosa y especificar que "
-"la asociación es siempre recuperada tempranamente (no disponible para arrays)"
+"puede ser usado para deshabilitar la recuperación perezosa y "
+"especificar que la asociación es siempre recuperada tempranamente (no "
+"disponible para arrays)"
-#. Tag: para
-#: collection_mapping.xml:129
-#, no-c-format
+#: index.docbook:129
msgid ""
"<literal>inverse</literal> (optional - defaults to <literal>false</literal>) "
"mark this collection as the \"inverse\" end of a bidirectional association"
msgstr ""
"<literal>inverse</literal> (opcional - por defecto a <literal>false</"
-"literal>) marca esta colección como el extremo \"inverso\" de una asociación "
-"bidireccional."
+"literal>) marca esta colección como el extremo \"inverso\" de una "
+"asociación bidireccional."
-#. Tag: para
-#: collection_mapping.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<literal>cascade</literal> (optional - defaults to <literal>none</literal>) "
"enable operations to cascade to child entities"
@@ -286,69 +291,58 @@
"<literal>cascade</literal> (opcional - por defecto a <literal>none</"
"literal>) habilita operaciones en cascada a entidades hijas"
-#. Tag: para
-#: collection_mapping.xml:141
-#, no-c-format
+#: index.docbook:141
msgid ""
"<literal>sort</literal> (optional) specify a sorted collection with "
"<literal>natural</literal> sort order, or a given comparator class"
msgstr ""
-"<literal>sort</literal> (opcional) especifica una colección con ordenamiento "
-"<literal>natural</literal>, o una clase comparadora dada"
+"<literal>sort</literal> (opcional) especifica una colección con "
+"ordenamiento <literal>natural</literal>, o una clase comparadora dada"
-#. Tag: para
-#: collection_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"<literal>order-by</literal> (optional, JDK1.4 only) specify a table column "
"(or columns) that define the iteration order of the <literal>Map</literal>, "
"<literal>Set</literal> or bag, together with an optional <literal>asc</"
"literal> or <literal>desc</literal>"
msgstr ""
-"<literal>order-by</literal> (opcional, sólo JDK1.4) especifica una columna "
-"de tabla (o columnas) que definen el orden de iteración del <literal>Map</"
-"literal>, <literal>Set</literal> o bag, junto a un <literal>asc</literal> o "
-"<literal>desc</literal> opcional."
+"<literal>order-by</literal> (opcional, sólo JDK1.4) especifica una "
+"columna de tabla (o columnas) que definen el orden de iteración del "
+"<literal>Map</literal>, <literal>Set</literal> o bag, junto a un "
+"<literal>asc</literal> o <literal>desc</literal> opcional."
-#. Tag: para
-#: collection_mapping.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"<literal>where</literal> (optional) specify an arbitrary SQL <literal>WHERE</"
"literal> condition to be used when retrieving or removing the collection "
"(useful if the collection should contain only a subset of the available data)"
msgstr ""
-"<literal>where</literal> (opcional) especifica una condición <literal>WHERE</"
-"literal> de SQL arbitrario para ser usada al recuperar o quitar la colección "
-"(útil si la colección debe contener sólo un subconjunto de los datos "
-"disponibles)"
+"<literal>where</literal> (opcional) especifica una condición "
+"<literal>WHERE</literal> de SQL arbitrario para ser usada al recuperar o "
+"quitar la colección (útil si la colección debe contener "
+"sólo un subconjunto de los datos disponibles)"
-#. Tag: para
-#: collection_mapping.xml:161
-#, no-c-format
+#: index.docbook:161
msgid ""
"<literal>fetch</literal> (optional, defaults to <literal>select</literal>) "
"Choose between outer-join fetching, fetching by sequential select, and "
"fetching by sequential subselect."
msgstr ""
"<literal>fetch</literal> (opcional, por defecto a <literal>select</literal>) "
-"Elige entre recuperación por unión externa (outer-join), recuperar por "
-"selección secuencial, y recuperación por subselección secuencial."
+"Elige entre recuperación por unión externa (outer-join), "
+"recuperar por selección secuencial, y recuperación por "
+"subselección secuencial."
-#. Tag: para
-#: collection_mapping.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"<literal>batch-size</literal> (optional, defaults to <literal>1</literal>) "
"specify a \"batch size\" for lazily fetching instances of this collection."
msgstr ""
"<literal>batch-size</literal> (opcional, por defecto a <literal>1</literal>) "
-"especifica un \"tamaño de lote\" para la recuperar perezosamente instancias "
-"de esta colección."
+"especifica un \"tamaño de lote\" para la recuperar perezosamente "
+"instancias de esta colección."
-#. Tag: para
-#: collection_mapping.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"<literal>access</literal> (optional - defaults to <literal>property</"
"literal>): The strategy Hibernate should use for accessing the collection "
@@ -358,9 +352,7 @@
"literal>): La estrategia que debe usar Hibernate para acceder al valor de la "
"propiedad."
-#. Tag: para
-#: collection_mapping.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
"literal>): Species that changes to the state of the collection results in "
@@ -368,13 +360,12 @@
"is often reasonable to disable this setting.)"
msgstr ""
"<literal>optimistic-lock</literal> (opcional - por defecto a <literal>true</"
-"literal>): Especifica que los cambios de estado de la colección resultan en "
-"incrementos de versión de la entidad dueña. (Para asociaciones uno a muchos, "
-"frecuentemente es razonable deshabilitar esta opción.)"
+"literal>): Especifica que los cambios de estado de la colección "
+"resultan en incrementos de versión de la entidad dueña. (Para "
+"asociaciones uno a muchos, frecuentemente es razonable deshabilitar esta "
+"opción.)"
-#. Tag: para
-#: collection_mapping.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
"A value of <literal>false</literal> specifies that the elements of the "
@@ -384,15 +375,11 @@
"A value of <literal>false</literal> specifies that the elements of the "
"collection never change (a minor performance optimization in some cases)."
-#. Tag: title
-#: collection_mapping.xml:198
-#, no-c-format
+#: index.docbook:198
msgid "Collection foreign keys"
-msgstr "Claves foráneas de collección"
+msgstr "Claves foráneas de collección"
-#. Tag: para
-#: collection_mapping.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"Collection instances are distinguished in the database by the foreign key of "
"the entity that owns the collection. This foreign key is referred to as the "
@@ -400,67 +387,55 @@
"table. The collection key column is mapped by the <literal><key></"
"literal> element."
msgstr ""
-"Las instancias de colección se distinguen en la base de datos por la clave "
-"foránea de la entidad que posee la colección. Se hace referencia a esta "
-"clave foránea como la <emphasis>columna clave de colección</emphasis> (o "
-"columnas) de la tabla de colección. La columna clave de la colección es "
-"mapeada por el elemento <literal><key></literal>."
+"Las instancias de colección se distinguen en la base de datos por la "
+"clave foránea de la entidad que posee la colección. Se hace "
+"referencia a esta clave foránea como la <emphasis>columna clave de "
+"colección</emphasis> (o columnas) de la tabla de colección. La "
+"columna clave de la colección es mapeada por el elemento <literal><"
+"key></literal>."
-#. Tag: para
-#: collection_mapping.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"There may be a nullability constraint on the foreign key column. For most "
"collections, this is implied. For unidirectional one to many associations, "
"the foreign key column is nullable by default, so you might need to specify "
"<literal>not-null=\"true\"</literal>."
msgstr ""
-"Puede haber una restricción de nulabilidad sobre la columna de clave "
-"foránea. Para la mayoría de colecciones, esto está implicado. Para "
-"asociaciones unidireccionales uno a muchos, la columna de clave foránea es "
-"nulable por defecto, de modo que podrías necesitar especificar <literal>not-"
-"null=\"true\"</literal>."
+"Puede haber una restricción de nulabilidad sobre la columna de clave "
+"foránea. Para la mayoría de colecciones, esto está "
+"implicado. Para asociaciones unidireccionales uno a muchos, la columna de "
+"clave foránea es nulable por defecto, de modo que podrías "
+"necesitar especificar <literal>not-null=\"true\"</literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:215
-#, no-c-format
+#: index.docbook:215
msgid "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-#. Tag: para
-#: collection_mapping.xml:217
-#, no-c-format
+#: index.docbook:217
msgid ""
"The foreign key constraint may use <literal>ON DELETE CASCADE</literal>."
msgstr ""
-"La restricción de clave foránea puede usar <literal>ON DELETE CASCADE</"
-"literal>."
+"La restricción de clave foránea puede usar <literal>ON DELETE "
+"CASCADE</literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:221
-#, no-c-format
+#: index.docbook:221
msgid "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
msgstr ""
+"<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
-#. Tag: para
-#: collection_mapping.xml:223
-#, no-c-format
+#: index.docbook:223
msgid ""
"See the previous chapter for a full definition of the <literal><key></"
"literal> element."
msgstr ""
-"Mira el capítulo anterior por una definición completa del elemento "
-"<literal><key></literal>."
+"Mira el capítulo anterior por una definición completa del "
+"elemento <literal><key></literal>."
-#. Tag: title
-#: collection_mapping.xml:231
-#, no-c-format
+#: index.docbook:231
msgid "Collection elements"
-msgstr "Elementos de collección"
+msgstr "Elementos de collección"
-#. Tag: para
-#: collection_mapping.xml:233
-#, no-c-format
+#: index.docbook:233
msgid ""
"Collections may contain almost any other Hibernate type, including all basic "
"types, custom types, components, and of course, references to other "
@@ -471,16 +446,16 @@
"considered to be state held by the collection."
msgstr ""
"Las colecciones pueden contener casi cualquier tipo de Hibernate, incluyendo "
-"todos los tipos básicos, componentes, y por supuesto, referencias a otras "
-"entidades. Esta es una distinción importante: un objeto en una colección "
-"puede ser manejado con una semántica de \"valor\" (su ciclo de vida depende "
-"completamente del propietario de la colección) o podría ser una referencia a "
-"otra entidad, con su propio ciclo de vida. En el último caso, sólo el estado "
-"del \"enlace\" entre los dos objetos se considera mantenido por la colección."
+"todos los tipos básicos, componentes, y por supuesto, referencias a "
+"otras entidades. Esta es una distinción importante: un objeto en una "
+"colección puede ser manejado con una semántica de \"valor"
+"\" (su ciclo de vida depende completamente del propietario de la "
+"colección) o podría ser una referencia a otra entidad, con su "
+"propio ciclo de vida. En el último caso, sólo el estado del "
+"\"enlace\" entre los dos objetos se considera mantenido por la "
+"colección."
-#. Tag: para
-#: collection_mapping.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"The contained type is referred to as the <emphasis>collection element type</"
"emphasis>. Collection elements are mapped by <literal><element></"
@@ -490,22 +465,18 @@
"value semantics, the next two are used to map entity associations."
msgstr ""
"Se hace referencia al tipo contenido como el <emphasis>tipo de elemento de "
-"la colección</emphasis>. Los elementos de colección son mapeados por "
-"<literal><element></literal> o <literal><composite-element></"
-"literal>, o en el caso de referencias de entidades, con <literal><one-to-"
-"many></literal> o <literal><many-to-many></literal>. Las dos "
-"primeras mapean elementos con semántica de valor, los dos siguientes son "
-"usados para mapear asociaciones de entidades."
+"la colección</emphasis>. Los elementos de colección son "
+"mapeados por <literal><element></literal> o <literal><composite-"
+"element></literal>, o en el caso de referencias de entidades, con "
+"<literal><one-to-many></literal> o <literal><many-to-many></"
+"literal>. Las dos primeras mapean elementos con semántica de valor, "
+"los dos siguientes son usados para mapear asociaciones de entidades."
-#. Tag: title
-#: collection_mapping.xml:254
-#, no-c-format
+#: index.docbook:254
msgid "Indexed collections"
msgstr "Colecciones indexadas"
-#. Tag: para
-#: collection_mapping.xml:256
-#, no-c-format
+#: index.docbook:256
msgid ""
"All collection mappings, except those with set and bag semantics, need an "
"<emphasis>index column</emphasis> in the collection table - a column that "
@@ -519,22 +490,20 @@
"element. The mapped column contains sequential integers (numbered from zero, "
"by default)."
msgstr ""
-"Todos los mapeos de colección, excepto aquellos con semántica de set o bag, "
-"necesitan una <emphasis>columna índice</emphasis> en la tabla de colección, "
-"una columna que mapea a un índice de array, o índice de <literal>List</"
-"literal>, o clave de <literal>Map</literal>. El índice de un <literal>Map</"
-"literal> puede ser de cualquier tipo básico, mapeado con <literal><map-"
-"key></literal>, o puede ser una referencia de entidad, mapeada con "
-"<literal><map-key-many-to-many></literal>, o puede ser un tipo "
-"compuesto, mapeado con <literal><composite-map-key></literal>. El "
-"índice de un array o lista es siempre de tipo <literal>integer</literal> y "
-"se mapea usando el elemento <literal><list-index></literal>. La "
-"columna mapeada contiene enteros secuenciales (numerados desde cero, por "
-"defecto)."
+"Todos los mapeos de colección, excepto aquellos con semántica "
+"de set o bag, necesitan una <emphasis>columna índice</emphasis> en la "
+"tabla de colección, una columna que mapea a un índice de "
+"array, o índice de <literal>List</literal>, o clave de <literal>Map</"
+"literal>. El índice de un <literal>Map</literal> puede ser de "
+"cualquier tipo básico, mapeado con <literal><map-key></"
+"literal>, o puede ser una referencia de entidad, mapeada con <literal><"
+"map-key-many-to-many></literal>, o puede ser un tipo compuesto, mapeado "
+"con <literal><composite-map-key></literal>. El índice de un "
+"array o lista es siempre de tipo <literal>integer</literal> y se mapea "
+"usando el elemento <literal><list-index></literal>. La columna mapeada "
+"contiene enteros secuenciales (numerados desde cero, por defecto)."
-#. Tag: sect2
-#: collection_mapping.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id="
"\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-"
@@ -577,10 +546,49 @@
"(required): The entity class used as the map key. </para> </callout> </"
"calloutlist> </programlistingco>"
msgstr ""
+"<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id="
+"\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-"
+"index \n"
+" column=\"column_name\"\n"
+" base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout "
+"arearefs=\"index1\"> <para> <literal>column_name</literal> (requerido): El "
+"nombre de la columna que tiene los valores índice de la "
+"colección. </para> </callout> <callout arearefs=\"index1\"> <para> "
+"<literal>base</literal> (opcional, por defecto a <literal>0</literal>): El "
+"valor de la columna índice que corresponde al primer elemento de la "
+"lista o array. </para> </callout> </calloutlist> </programlistingco> "
+"<programlistingco> <areaspec> <area id=\"mapkey1\" coords=\"2 45\"/> <area "
+"id=\"mapkey2\" coords=\"3 45\"/> <area id=\"mapkey3\" coords=\"4 45\"/> </"
+"areaspec> <programlisting><![CDATA[<map-key \n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" type=\"type_name\"\n"
+" node=\"@attribute-name\"\n"
+" length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs="
+"\"mapkey1\"> <para> <literal>column</literal> (opcional): El nombre de la "
+"columna que tiene los valores índice de la colección. </para> "
+"</callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> "
+"(opcional): Una fórmula SQL usada para evaluar la clave del mapa. </"
+"para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</"
+"literal> (requerido): el tipo de las claves del mapa. </para> </callout> </"
+"calloutlist> </programlistingco> <programlistingco> <areaspec> <area id="
+"\"indexmanytomany1\" coords=\"2 45\"/> <area id=\"indexmanytomany2\" coords="
+"\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3 45\"/> </areaspec> "
+"<programlisting><![CDATA[<map-key-many-to-many\n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" class=\"ClassName\"\n"
+"/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> "
+"<para> <literal>column</literal> (opcional): El nombre de la columna clave "
+"foránea para los valores índice de la colección. </"
+"para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> "
+"<literal>formula</literal> (opcional): Una fórmula SQL usada para "
+"evaluar la clave foránea de la clave del mapa. </para> </callout> "
+"<callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> "
+"(requerido): La clase de entidad usada como clave del mapa. </para> </"
+"callout> </calloutlist> </programlistingco>"
-#. Tag: para
-#: collection_mapping.xml:348
-#, no-c-format
+#: index.docbook:348
msgid ""
"If your table doesn't have an index column, and you still wish to use "
"<literal>List</literal> as the property type, you should map the property as "
@@ -588,15 +596,13 @@
"order when it is retrieved from the database, but it may be optionally "
"sorted or ordered."
msgstr ""
-"Si tu tabla no tiene una columna índice, y deseas aún usar <literal>List</"
-"literal> como tipo de propiedad, debes mapear la propiedad como un "
-"<emphasis><bag></emphasis> de Hibernate. Un bag (bolsa) no retiene su "
-"orden al ser recuperado de la base de datos, pero puede ser ordenado o "
-"clasificado opcionalmente."
+"Si tu tabla no tiene una columna índice, y deseas aún usar "
+"<literal>List</literal> como tipo de propiedad, debes mapear la propiedad "
+"como un <emphasis><bag></emphasis> de Hibernate. Un bag (bolsa) no "
+"retiene su orden al ser recuperado de la base de datos, pero puede ser "
+"ordenado o clasificado opcionalmente."
-#. Tag: para
-#: collection_mapping.xml:357
-#, no-c-format
+#: index.docbook:357
msgid ""
"There are quite a range of mappings that can be generated for collections, "
"covering many common relational models. We suggest you experiment with the "
@@ -605,43 +611,36 @@
msgstr ""
"Hay absolutamente un rango de mapeos que pueden ser generados para "
"colecciones, cubriendo muchos modelos relacionales comunes. Te sugerimos que "
-"experimentes con la herramienta de generación de esquemas para obtener una "
-"idea de cómo varias declaraciones de mapeo se traducen a tablas de base de "
-"datos."
+"experimentes con la herramienta de generación de esquemas para "
+"obtener una idea de cómo varias declaraciones de mapeo se traducen a "
+"tablas de base de datos."
-#. Tag: title
-#: collection_mapping.xml:364
-#, no-c-format
+#: index.docbook:364
msgid "Collections of values and many-to-many associations"
msgstr "Colecciones de valores y asociaciones muchos-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:366
-#, no-c-format
+#: index.docbook:366
msgid ""
"Any collection of values or many-to-many association requires a dedicated "
"<emphasis>collection table</emphasis> with a foreign key column or columns, "
"<emphasis>collection element column</emphasis> or columns and possibly an "
"index column or columns."
msgstr ""
-"Cualquier colección de valores o asociación muchos a muchos requiere una "
-"<emphasis>tabla de colección</emphasis> dedicada con una columna o columnas "
-"de clave foránea, <emphasis>columna de elemento de colección</emphasis> o "
-"columnas y posiblemente una columna o columnas índice."
+"Cualquier colección de valores o asociación muchos a muchos "
+"requiere una <emphasis>tabla de colección</emphasis> dedicada con una "
+"columna o columnas de clave foránea, <emphasis>columna de elemento de "
+"colección</emphasis> o columnas y posiblemente una columna o columnas "
+"índice."
-#. Tag: para
-#: collection_mapping.xml:373
-#, no-c-format
+#: index.docbook:373
msgid ""
"For a collection of values, we use the <literal><element></literal> "
"tag."
msgstr ""
-"Para una colección de valores, usamos la etiqueta <literal><element></"
-"literal>."
+"Para una colección de valores, usamos la etiqueta <literal><"
+"element></literal>."
-#. Tag: sect2
-#: collection_mapping.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area "
"id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> "
@@ -709,36 +708,100 @@
"specified, the primary key of the associated class is used. </para> </"
"callout> </calloutlist> </programlistingco>"
msgstr ""
+"<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area "
+"id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> "
+"</areaspec> <programlisting><![CDATA[<element\n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" type=\"typename\"\n"
+" length=\"L\"\n"
+" precision=\"P\"\n"
+" scale=\"S\"\n"
+" not-null=\"true|false\"\n"
+" unique=\"true|false\"\n"
+" node=\"element-name\"\n"
+"/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> "
+"<literal>column</literal> (opcional): El nombre de la columna que tiene los "
+"valores de los elementos de la colección. </para> </callout> <callout "
+"arearefs=\"element2b\"> <para> <literal>formula</literal> (opcional): Una "
+"fórmula SQL usada para evaluar el elemento. </para> </callout> "
+"<callout arearefs=\"element3b\"> <para> <literal>type</literal> (requerido): "
+"El tipo del elemento de colección. </para> </callout> </calloutlist> "
+"</programlistingco> <para> Una <emphasis>asociación muchos-a-muchos</"
+"emphasis> se especifica usando el elemento <literal><many-to-many></"
+"literal>. </para> <programlistingco> <areaspec> <area id=\"manytomany1\" "
+"coords=\"2 60\"/> <area id=\"manytomany2\" coords=\"3 60\"/> <area id="
+"\"manytomany3\" coords=\"4 60\"/> <area id=\"manytomany4\" coords=\"5 60\"/> "
+"<area id=\"manytomany5\" coords=\"6 60\"/> <area id=\"manytomany6\" coords="
+"\"7 60\"/> <area id=\"manytomany7\" coords=\"8 60\"/> </areaspec> "
+"<programlisting><![CDATA[<many-to-many\n"
+" column=\"column_name\"\n"
+" formula=\"any SQL expression\"\n"
+" class=\"ClassName\"\n"
+" fetch=\"select|join\"\n"
+" unique=\"true|false\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\"\n"
+" embed-xml=\"true|false\"\n"
+" />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> "
+"<para> <literal>column</literal> (opcional): El nombre de la columna de "
+"clave foránea del elemento. </para> </callout> <callout arearefs="
+"\"manytomany2\"> <para> <literal>formula</literal> (opcional): Una fó"
+"rmula SQL opcional usada para evaluar el valor de clave foránea del "
+"elemento. </para> </callout> <callout arearefs=\"manytomany3\"> <para> "
+"<literal>class</literal> (requerido): El nombre de la clase asociada. </"
+"para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</"
+"literal> (opcional - por defecto a <literal>join</literal>): habilita la "
+"recuperación por unión externa o selección secuencial "
+"para esta asociación. Este es un caso especial; para una "
+"recuperación completamente temprana (en un solo <literal>SELECT</"
+"literal>) de una entidad y sus relaciones muchos-a-muchos a otras entidades, "
+"deberías habilitar la recuperación <literal>join</literal> no "
+"sólo de la colección misma, sino también con este "
+"atributo en el elemento anidado <literal><many-to-many></literal>. </"
+"para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</"
+"literal> (opcional): Habilita la generación DDL de una "
+"restricción de unicidad para la columna clave foránea. Esto "
+"hace la multiplicidad de la asociación efectivamente uno a muchos. </"
+"para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-"
+"found</literal> (opcional - por defecto a <literal>exception</literal>): "
+"Especifica cómo serán manejadas las claves foráneas que "
+"referencian filas perdidas: <literal>ignore</literal> tratará una "
+"fila perdida como una asociación nula. </para> </callout> <callout "
+"arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (opcional): "
+"El nombre de entidad de la clase asociada, como una alternativa a "
+"<literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8"
+"\"> <para> UNTRANSLATED! <literal>property-ref</literal>: (optional) The "
+"name of a property of the associated class that is joined to this foreign "
+"key. If not specified, the primary key of the associated class is used. </"
+"para> </callout> </calloutlist> </programlistingco>"
-#. Tag: para
-#: collection_mapping.xml:480
-#, no-c-format
+#: index.docbook:480
msgid "Some examples, first, a set of strings:"
msgstr "Algunos ejemplos, primero, un conjunto de cadenas:"
-#. Tag: programlisting
-#: collection_mapping.xml:484
-#, no-c-format
+#: index.docbook:484
msgid ""
"<![CDATA[<set name=\"names\" table=\"person_names\">\n"
" <key column=\"person_id\"/>\n"
" <element column=\"person_name\" type=\"string\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"names\" table=\"person_names\">\n"
+" <key column=\"person_id\"/>\n"
+" <element column=\"person_name\" type=\"string\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: collection_mapping.xml:486
-#, no-c-format
+#: index.docbook:486
msgid ""
"A bag containing integers (with an iteration order determined by the "
"<literal>order-by</literal> attribute):"
msgstr ""
-"Un bag conteniendo enteros (con un orden de iteración determinado por el "
-"atributo <literal>order-by</literal>):"
+"Un bag conteniendo enteros (con un orden de iteración determinado por "
+"el atributo <literal>order-by</literal>):"
-#. Tag: programlisting
-#: collection_mapping.xml:491
-#, no-c-format
+#: index.docbook:491
msgid ""
"<![CDATA[<bag name=\"sizes\" \n"
" table=\"item_sizes\" \n"
@@ -747,16 +810,19 @@
" <element column=\"size\" type=\"integer\"/>\n"
"</bag>]]>"
msgstr ""
+"<![CDATA[<bag name=\"sizes\" \n"
+" table=\"item_sizes\" \n"
+" order-by=\"size asc\">\n"
+" <key column=\"item_id\"/>\n"
+" <element column=\"size\" type=\"integer\"/>\n"
+"</bag>]]>"
-#. Tag: para
-#: collection_mapping.xml:493
-#, no-c-format
+#: index.docbook:493
msgid "An array of entities - in this case, a many to many association:"
-msgstr "Un array de entidades - en este caso, una asociación muchos a muchos:"
+msgstr ""
+"Un array de entidades - en este caso, una asociación muchos a muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:497
-#, no-c-format
+#: index.docbook:497
msgid ""
"<![CDATA[<array name=\"addresses\" \n"
" table=\"PersonAddress\" \n"
@@ -766,16 +832,19 @@
" <many-to-many column=\"addressId\" class=\"Address\"/>\n"
"</array>]]>"
msgstr ""
+"<![CDATA[<array name=\"addresses\" \n"
+" table=\"PersonAddress\" \n"
+" cascade=\"persist\">\n"
+" <key column=\"personId\"/>\n"
+" <list-index column=\"sortOrder\"/>\n"
+" <many-to-many column=\"addressId\" class=\"Address\"/>\n"
+"</array>]]>"
-#. Tag: para
-#: collection_mapping.xml:499
-#, no-c-format
+#: index.docbook:499
msgid "A map from string indices to dates:"
-msgstr "Un mapa de índices de cadenas a fechas:"
+msgstr "Un mapa de índices de cadenas a fechas:"
-#. Tag: programlisting
-#: collection_mapping.xml:503
-#, no-c-format
+#: index.docbook:503
msgid ""
"<![CDATA[<map name=\"holidays\" \n"
" table=\"holidays\" \n"
@@ -786,16 +855,21 @@
" <element column=\"hol_date\" type=\"date\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"holidays\" \n"
+" table=\"holidays\" \n"
+" schema=\"dbo\" \n"
+" order-by=\"hol_name asc\">\n"
+" <key column=\"id\"/>\n"
+" <map-key column=\"hol_name\" type=\"string\"/>\n"
+" <element column=\"hol_date\" type=\"date\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:505
-#, no-c-format
+#: index.docbook:505
msgid "A list of components (discussed in the next chapter):"
-msgstr "Una lista de componentes (discutidos en el próximo capítulo):"
+msgstr ""
+"Una lista de componentes (discutidos en el próximo capítulo):"
-#. Tag: programlisting
-#: collection_mapping.xml:509
-#, no-c-format
+#: index.docbook:509
msgid ""
"<![CDATA[<list name=\"carComponents\" \n"
" table=\"CarComponents\">\n"
@@ -808,63 +882,62 @@
" </composite-element>\n"
"</list>]]>"
msgstr ""
+"<![CDATA[<list name=\"carComponents\" \n"
+" table=\"CarComponents\">\n"
+" <key column=\"carId\"/>\n"
+" <list-index column=\"sortOrder\"/>\n"
+" <composite-element class=\"CarComponent\">\n"
+" <property name=\"price\"/>\n"
+" <property name=\"type\"/>\n"
+" <property name=\"serialNumber\" column=\"serialNum\"/>\n"
+" </composite-element>\n"
+"</list>]]>"
-#. Tag: title
-#: collection_mapping.xml:514
-#, no-c-format
+#: index.docbook:514
msgid "One-to-many associations"
msgstr "Asociaciones uno-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:516
-#, no-c-format
+#: index.docbook:516
msgid ""
"A <emphasis>one to many association</emphasis> links the tables of two "
"classes via a foreign key, with no intervening collection table. This "
"mapping loses certain semantics of normal Java collections:"
msgstr ""
-"Una <emphasis>asociación uno a muchos</emphasis> enlaza las tablas de dos "
-"clases por medio de una clave foránea, sin intervención de tabla de "
-"colección alguna. Este mapeo pierde cierta semántica de colecciones Java "
-"normales:"
+"Una <emphasis>asociación uno a muchos</emphasis> enlaza las tablas de "
+"dos clases por medio de una clave foránea, sin intervención de "
+"tabla de colección alguna. Este mapeo pierde cierta semántica "
+"de colecciones Java normales:"
-#. Tag: para
-#: collection_mapping.xml:524
-#, no-c-format
+#: index.docbook:524
msgid ""
"An instance of the contained entity class may not belong to more than one "
"instance of the collection"
msgstr ""
-"Una instancia de la clase entidad contenida no puede pertenecer a más de una "
-"instancia de la colección."
+"Una instancia de la clase entidad contenida no puede pertenecer a más "
+"de una instancia de la colección."
-#. Tag: para
-#: collection_mapping.xml:530
-#, no-c-format
+#: index.docbook:530
msgid ""
"An instance of the contained entity class may not appear at more than one "
"value of the collection index"
msgstr ""
-"Una instancia de la clase entidad contenida no puede aparecer en más de un "
-"valor del índice de colección."
+"Una instancia de la clase entidad contenida no puede aparecer en más "
+"de un valor del índice de colección."
-#. Tag: para
-#: collection_mapping.xml:537
-#, no-c-format
+#: index.docbook:537
msgid ""
"An association from <literal>Product</literal> to <literal>Part</literal> "
"requires existence of a foreign key column and possibly an index column to "
"the <literal>Part</literal> table. A <literal><one-to-many></literal> "
"tag indicates that this is a one to many association."
msgstr ""
-"Una asociación de <literal>Product</literal> a <literal>Part</literal> "
-"requiere la existencia de una columna clave foránea y posiblemente una "
-"columna índice a la tabla <literal>Part</literal>. Una etiqueta <literal><"
-"one-to-many></literal> indica que ésta es una asociación uno a muchos."
+"Una asociación de <literal>Product</literal> a <literal>Part</"
+"literal> requiere la existencia de una columna clave foránea y "
+"posiblemente una columna índice a la tabla <literal>Part</literal>. "
+"Una etiqueta <literal><one-to-many></literal> indica que ésta "
+"es una asociación uno a muchos."
-#. Tag: programlisting
-#: collection_mapping.xml:550
-#, no-c-format
+#: index.docbook:550
msgid ""
"<![CDATA[<one-to-many \n"
" class=\"ClassName\"\n"
@@ -874,16 +947,19 @@
" embed-xml=\"true|false\"\n"
" />]]>"
msgstr ""
+"<![CDATA[<one-to-many \n"
+" class=\"ClassName\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name\"\n"
+" embed-xml=\"true|false\"\n"
+" />]]>"
-#. Tag: para
-#: collection_mapping.xml:553
-#, no-c-format
+#: index.docbook:553
msgid "<literal>class</literal> (required): The name of the associated class."
msgstr "<literal>class</literal> (requerido): El nombre de la clase asociada."
-#. Tag: para
-#: collection_mapping.xml:558
-#, no-c-format
+#: index.docbook:558
msgid ""
"<literal>not-found</literal> (optional - defaults to <literal>exception</"
"literal>): Specifies how cached identifiers that reference missing rows will "
@@ -891,13 +967,11 @@
"association."
msgstr ""
"<literal>not-found</literal> (opcional - por defecto a <literal>exception</"
-"literal>): Especifica cómo serán manejados los identificadores en caché que "
-"referencien filas perdidas: <literal>ignore</literal> tratará una fila "
-"perdida como una asociación nula."
+"literal>): Especifica cómo serán manejados los identificadores "
+"en caché que referencien filas perdidas: <literal>ignore</literal> "
+"tratará una fila perdida como una asociación nula."
-#. Tag: para
-#: collection_mapping.xml:565
-#, no-c-format
+#: index.docbook:565
msgid ""
"<literal>entity-name</literal> (optional): The entity name of the associated "
"class, as an alternative to <literal>class</literal>."
@@ -905,9 +979,7 @@
"<literal>entity-name</literal> (opcional): El nombre de entidad de la clase "
"asociada, como una alternativa a <literal>class</literal>."
-#. Tag: para
-#: collection_mapping.xml:573
-#, no-c-format
+#: index.docbook:573
msgid ""
"Notice that the <literal><one-to-many></literal> element does not need "
"to declare any columns. Nor is it necessary to specify the <literal>table</"
@@ -915,11 +987,9 @@
msgstr ""
"Observa que el elemento <literal><one-to-many></literal> no necesita "
"declarar ninguna columna. Ni es necesario especificar el nombre de "
-"<literal>table</literal> en ningún sitio."
+"<literal>table</literal> en ningún sitio."
-#. Tag: para
-#: collection_mapping.xml:579
-#, no-c-format
+#: index.docbook:579
msgid ""
"<emphasis>Very important note:</emphasis> If the foreign key column of a "
"<literal><one-to-many></literal> association is declared <literal>NOT "
@@ -929,17 +999,15 @@
"\"true\"</literal>. See the discussion of bidirectional associations later "
"in this chapter."
msgstr ""
-"<emphasis>Nota muy importante:</emphasis> Si la columna clave foránea de una "
-"asociación <literal><one-to-many></literal> es declarada <literal>NOT "
-"NULL</literal>, debes declarar el mapeo de <literal><key></"
-"literal><literal>not-null=\"true\"</literal> o <emphasis>usar una asociación "
-"bidireccional</emphasis> con el mapeo de colección marcado <literal>inverse="
-"\"true\"</literal>. Ver la discusión sobre asociaciones bidireccionales más "
-"adelante en este capítulo."
+"<emphasis>Nota muy importante:</emphasis> Si la columna clave foránea "
+"de una asociación <literal><one-to-many></literal> es declarada "
+"<literal>NOT NULL</literal>, debes declarar el mapeo de <literal><key>"
+"</literal> <literal>not-null=\"true\"</literal> o <emphasis>usar una "
+"asociación bidireccional</emphasis> con el mapeo de colección "
+"marcado <literal>inverse=\"true\"</literal>. Ver la discusión sobre "
+"asociaciones bidireccionales más adelante en este capítulo."
-#. Tag: para
-#: collection_mapping.xml:588
-#, no-c-format
+#: index.docbook:588
msgid ""
"This example shows a map of <literal>Part</literal> entities by name (where "
"<literal>partName</literal> is a persistent property of <literal>Part</"
@@ -947,11 +1015,10 @@
msgstr ""
"Este ejemplo muestra un mapa de entidades <literal>Part</literal> por nombre "
"(donde <literal>partName</literal> es una propiedad persistente de "
-"<literal>Part</literal>). Observa el uso de un índice basado en fórmula."
+"<literal>Part</literal>). Observa el uso de un índice basado en "
+"fórmula."
-#. Tag: programlisting
-#: collection_mapping.xml:594
-#, no-c-format
+#: index.docbook:594
msgid ""
"<![CDATA[<map name=\"parts\"\n"
" cascade=\"all\">\n"
@@ -960,22 +1027,22 @@
" <one-to-many class=\"Part\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"parts\"\n"
+" cascade=\"all\">\n"
+" <key column=\"productId\" not-null=\"true\"/>\n"
+" <map-key formula=\"partName\"/>\n"
+" <one-to-many class=\"Part\"/>\n"
+"</map>]]>"
-#. Tag: title
-#: collection_mapping.xml:600
-#, no-c-format
+#: index.docbook:600
msgid "Advanced collection mappings"
-msgstr "Mapeos de colección avanzados"
+msgstr "Mapeos de colección avanzados"
-#. Tag: title
-#: collection_mapping.xml:603
-#, no-c-format
+#: index.docbook:603
msgid "Sorted collections"
msgstr "Colecciones ordenadas"
-#. Tag: para
-#: collection_mapping.xml:605
-#, no-c-format
+#: index.docbook:605
msgid ""
"Hibernate supports collections implementing <literal>java.util.SortedMap</"
"literal> and <literal>java.util.SortedSet</literal>. You must specify a "
@@ -985,9 +1052,7 @@
"literal> y <literal>java.util.SortedSet</literal>. Debes especificar un "
"comparador en el fichero de mapeo:"
-#. Tag: programlisting
-#: collection_mapping.xml:610
-#, no-c-format
+#: index.docbook:610
msgid ""
"<![CDATA[<set name=\"aliases\" \n"
" table=\"person_aliases\" \n"
@@ -1002,10 +1067,20 @@
" <element column=\"hol_date\" type=\"date\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<set name=\"aliases\" \n"
+" table=\"person_aliases\" \n"
+" sort=\"natural\">\n"
+" <key column=\"person\"/>\n"
+" <element column=\"name\" type=\"string\"/>\n"
+"</set>\n"
+"\n"
+"<map name=\"holidays\" sort=\"my.custom.HolidayComparator\">\n"
+" <key column=\"year_id\"/>\n"
+" <map-key column=\"hol_name\" type=\"string\"/>\n"
+" <element column=\"hol_date\" type=\"date\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:612
-#, no-c-format
+#: index.docbook:612
msgid ""
"Allowed values of the <literal>sort</literal> attribute are "
"<literal>unsorted</literal>, <literal>natural</literal> and the name of a "
@@ -1015,9 +1090,7 @@
"<literal>unsorted</literal>, <literal>natural</literal> y el nombre de una "
"clase que implemente <literal>java.util.Comparator</literal>."
-#. Tag: para
-#: collection_mapping.xml:618
-#, no-c-format
+#: index.docbook:618
msgid ""
"Sorted collections actually behave like <literal>java.util.TreeSet</literal> "
"or <literal>java.util.TreeMap</literal>."
@@ -1025,9 +1098,7 @@
"Las colecciones ordenadas realmente se comportan como <literal>java.util."
"TreeSet</literal> o <literal>java.util.TreeMap</literal>."
-#. Tag: para
-#: collection_mapping.xml:623
-#, no-c-format
+#: index.docbook:623
msgid ""
"If you want the database itself to order the collection elements use the "
"<literal>order-by</literal> attribute of <literal>set</literal>, "
@@ -1036,16 +1107,15 @@
"<literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This "
"performs the ordering in the SQL query, not in memory."
msgstr ""
-"Si quieres que la misma base de datos ordene los elementos de colección usa "
-"el atributo <literal>order-by</literal> de los mapeos <literal>set</"
-"literal>, <literal>bag</literal> o <literal>map</literal>. Esta solución "
-"está disponible sólo bajo el JDK 1.4 o superior (está implementado usando "
-"<literal>LinkedHashSet</literal> o <literal>LinkedHashMap</literal>). Esto "
-"realiza la ordenación en la consulta SQL, no en memoria."
+"Si quieres que la misma base de datos ordene los elementos de colecció"
+"n usa el atributo <literal>order-by</literal> de los mapeos <literal>set</"
+"literal>, <literal>bag</literal> o <literal>map</literal>. Esta "
+"solución está disponible sólo bajo el JDK 1.4 o "
+"superior (está implementado usando <literal>LinkedHashSet</literal> o "
+"<literal>LinkedHashMap</literal>). Esto realiza la ordenación en la "
+"consulta SQL, no en memoria."
-#. Tag: programlisting
-#: collection_mapping.xml:632
-#, no-c-format
+#: index.docbook:632
msgid ""
"<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower"
"(name) asc\">\n"
@@ -1059,105 +1129,96 @@
" <element column=\"hol_date type=\"date\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<set name=\"aliases\" table=\"person_aliases\" order-by=\"lower"
+"(name) asc\">\n"
+" <key column=\"person\"/>\n"
+" <element column=\"name\" type=\"string\"/>\n"
+"</set>\n"
+"\n"
+"<map name=\"holidays\" order-by=\"hol_date, hol_name\">\n"
+" <key column=\"year_id\"/>\n"
+" <map-key column=\"hol_name\" type=\"string\"/>\n"
+" <element column=\"hol_date type=\"date\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:634
-#, no-c-format
+#: index.docbook:634
msgid ""
"Note that the value of the <literal>order-by</literal> attribute is an SQL "
"ordering, not a HQL ordering!"
msgstr ""
"Observa que el valor del atributo <literal>order-by</literal> es una "
-"ordenación SQL, no una ordenación HQL!"
+"ordenación SQL, no una ordenación HQL!"
-#. Tag: para
-#: collection_mapping.xml:639
-#, no-c-format
+#: index.docbook:639
msgid ""
"Associations may even be sorted by some arbitrary criteria at runtime using "
"a collection <literal>filter()</literal>."
msgstr ""
-"Las asociaciones pueden incluso ser ordenadas por algún criterio arbitrario "
-"en tiempo de ejecución usando un <literal>filter()</literal> de colección."
+"Las asociaciones pueden incluso ser ordenadas por algún criterio "
+"arbitrario en tiempo de ejecución usando un <literal>filter()</"
+"literal> de colección."
-#. Tag: programlisting
-#: collection_mapping.xml:644
-#, no-c-format
+#: index.docbook:644
msgid ""
"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name"
"\" ).list();]]>"
msgstr ""
+"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name"
+"\" ).list();]]>"
-#. Tag: title
-#: collection_mapping.xml:649
-#, no-c-format
+#: index.docbook:649
msgid "Bidirectional associations"
msgstr "Asociaciones bidireccionales"
-#. Tag: para
-#: collection_mapping.xml:651
-#, fuzzy, no-c-format
+#: index.docbook:651
msgid ""
"A <emphasis>bidirectional association</emphasis> allows navigation from both "
"\"ends\" of the association. Two kinds of bidirectional association are "
"supported:"
msgstr ""
-"Una <emphasis>asociación bidireccional</emphasis> permite la nevegación "
-"desde ambos \"extremos\" de la asociación. Son soportados dos tipos de "
-"asociación bidireccional: <placeholder-1/>"
+"Una <emphasis>asociación bidireccional</emphasis> permite la "
+"nevegación desde ambos \"extremos\" de la asociación. Son "
+"soportados dos tipos de asociación bidireccional:"
-#. Tag: term
-#: collection_mapping.xml:658
-#, no-c-format
+#: index.docbook:658
msgid "one-to-many"
msgstr "uno-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:660
-#, no-c-format
+#: index.docbook:660
msgid "set or bag valued at one end, single-valued at the other"
msgstr "set o bag valorados en un extremo, monovaluados al otro"
-#. Tag: term
-#: collection_mapping.xml:666
-#, no-c-format
+#: index.docbook:666
msgid "many-to-many"
msgstr "muchos-a-muchos"
-#. Tag: para
-#: collection_mapping.xml:668
-#, no-c-format
+#: index.docbook:668
msgid "set or bag valued at both ends"
msgstr "set o bag valorados a ambos extremos"
-#. Tag: para
-#: collection_mapping.xml:677
-#, no-c-format
+#: index.docbook:677
msgid ""
"You may specify a bidirectional many-to-many association simply by mapping "
"two many-to-many associations to the same database table and declaring one "
"end as <emphasis>inverse</emphasis> (which one is your choice, but it can "
"not be an indexed collection)."
msgstr ""
-"Puedes especificar una asociación bidireccional muchos-a-muchos simplemente "
-"mapeando dos asociaciones muchos-a-muchos a la misma tabla de base de datos "
-"y declarando un extremo como <emphasis>inverse</emphasis> (cuál de ellos es "
-"tu elección, pero no puede ser una colección indexada)."
+"Puedes especificar una asociación bidireccional muchos-a-muchos "
+"simplemente mapeando dos asociaciones muchos-a-muchos a la misma tabla de "
+"base de datos y declarando un extremo como <emphasis>inverse</emphasis> "
+"(cuál de ellos es tu elección, pero no puede ser una "
+"colección indexada)."
-#. Tag: para
-#: collection_mapping.xml:684
-#, no-c-format
+#: index.docbook:684
msgid ""
"Here's an example of a bidirectional many-to-many association; each category "
"can have many items and each item can be in many categories:"
msgstr ""
-"He aquí un ejemplo de una asociación bidireccional muchos-a-muchos; cada "
-"categoría puede tener muchos ítems y cada ítem puede estar en muchas "
-"categorías:"
+"He aquí un ejemplo de una asociación bidireccional muchos-a-"
+"muchos; cada categoría puede tener muchos ítems y cada í"
+"tem puede estar en muchas categorías:"
-#. Tag: programlisting
-#: collection_mapping.xml:689
-#, no-c-format
+#: index.docbook:689
msgid ""
"<![CDATA[<class name=\"Category\">\n"
" <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
@@ -1179,10 +1240,27 @@
" </bag>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Category\">\n"
+" <id name=\"id\" column=\"CATEGORY_ID\"/>\n"
+" ...\n"
+" <bag name=\"items\" table=\"CATEGORY_ITEM\">\n"
+" <key column=\"CATEGORY_ID\"/>\n"
+" <many-to-many class=\"Item\" column=\"ITEM_ID\"/>\n"
+" </bag>\n"
+"</class>\n"
+"\n"
+"<class name=\"Item\">\n"
+" <id name=\"id\" column=\"ITEM_ID\"/>\n"
+" ...\n"
+"\n"
+" <!-- inverse end -->\n"
+" <bag name=\"categories\" table=\"CATEGORY_ITEM\" inverse=\"true\">\n"
+" <key column=\"ITEM_ID\"/>\n"
+" <many-to-many class=\"Category\" column=\"CATEGORY_ID\"/>\n"
+" </bag>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:691
-#, no-c-format
+#: index.docbook:691
msgid ""
"Changes made only to the inverse end of the association are <emphasis>not</"
"emphasis> persisted. This means that Hibernate has two representations in "
@@ -1190,16 +1268,14 @@
"link from B to A. This is easier to understand if you think about the Java "
"object model and how we create a many-to-many relationship in Java:"
msgstr ""
-"Los cambios hechos sólo al extremo inverso de la asociación <emphasis>no</"
-"emphasis> son persistidos. Esto significa que Hibernate tiene dos "
-"representaciones en memoria para cada asociación bidireccional, una enlaza "
-"de A a B y otra enlaza de B a A. Esto es más fácil de entender si piensas en "
-"el modelo de objetos de Java y cómo creamos una relación muchos-a-muchos en "
-"Java:"
+"Los cambios hechos sólo al extremo inverso de la asociación "
+"<emphasis>no</emphasis> son persistidos. Esto significa que Hibernate tiene "
+"dos representaciones en memoria para cada asociación bidireccional, "
+"una enlaza de A a B y otra enlaza de B a A. Esto es más fácil "
+"de entender si piensas en el modelo de objetos de Java y cómo creamos "
+"una relación muchos-a-muchos en Java:"
-#. Tag: programlisting
-#: collection_mapping.xml:699
-#, no-c-format
+#: index.docbook:699
msgid ""
"<![CDATA[\n"
"category.getItems().add(item); // The category now \"knows\" about "
@@ -1211,33 +1287,36 @@
"saved!\n"
"session.persist(category); // The relationship will be saved]]>"
msgstr ""
+"<![CDATA[\n"
+"category.getItems().add(item); // The category now \"knows\" about "
+"the relationship\n"
+"item.getCategories().add(category); // The item now \"knows\" about the "
+"relationship\n"
+"\n"
+"session.persist(item); // The relationship won't be "
+"saved!\n"
+"session.persist(category); // The relationship will be saved]]>"
-#. Tag: para
-#: collection_mapping.xml:701
-#, no-c-format
+#: index.docbook:701
msgid ""
"The non-inverse side is used to save the in-memory representation to the "
"database."
msgstr ""
-"El lado no-inverso se usa para salvar la representación en memoria a la base "
-"de datos."
+"El lado no-inverso se usa para salvar la representación en memoria a "
+"la base de datos."
-#. Tag: para
-#: collection_mapping.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"You may define a bidirectional one-to-many association by mapping a one-to-"
"many association to the same table column(s) as a many-to-one association "
"and declaring the many-valued end <literal>inverse=\"true\"</literal>."
msgstr ""
-"Puedes definir una asociación bidireccional uno-a-muchos mapeando una "
-"asociación uno-a-muchos a la misma columna (o columnas) de tabla como una "
-"asociación muchos-a-uno y declarando el extremo multivaluado "
+"Puedes definir una asociación bidireccional uno-a-muchos mapeando una "
+"asociación uno-a-muchos a la misma columna (o columnas) de tabla como "
+"una asociación muchos-a-uno y declarando el extremo multivaluado "
"<literal>inverse=\"true\"</literal>."
-#. Tag: programlisting
-#: collection_mapping.xml:711
-#, no-c-format
+#: index.docbook:711
msgid ""
"<![CDATA[<class name=\"Parent\">\n"
" <id name=\"id\" column=\"parent_id\"/>\n"
@@ -1257,26 +1336,38 @@
" not-null=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Parent\">\n"
+" <id name=\"id\" column=\"parent_id\"/>\n"
+" ....\n"
+" <set name=\"children\" inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+"</class>\n"
+"\n"
+"<class name=\"eg.Child\">\n"
+" <id name=\"id\" column=\"id\"/>\n"
+" ....\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:713
-#, no-c-format
+#: index.docbook:713
msgid ""
"Mapping one end of an association with <literal>inverse=\"true\"</literal> "
"doesn't affect the operation of cascades, these are orthogonal concepts!"
msgstr ""
-"Mapear un extremo de una asociación con <literal>inverse=\"true\"</literal> "
-"no afecta la operación de cascadas; éstos son conceptos ortogonales!"
+"Mapear un extremo de una asociación con <literal>inverse=\"true\"</"
+"literal> no afecta la operación de cascadas; éstos son "
+"conceptos ortogonales!"
-#. Tag: title
-#: collection_mapping.xml:721
-#, no-c-format
+#: index.docbook:721
msgid "Bidirectional associations with indexed collections"
msgstr "Asociaciones bidireccionales con colecciones indexadas"
-#. Tag: para
-#: collection_mapping.xml:722
-#, no-c-format
+#: index.docbook:722
msgid ""
"A bidirectional association where one end is represented as a <literal><"
"list></literal> or <literal><map></literal> requires special "
@@ -1284,15 +1375,14 @@
"index column, no problem, we can continue using <literal>inverse=\"true\"</"
"literal> on the collection mapping:"
msgstr ""
-"Requiere especial consideración una asociación bidireccional donde un "
-"extremo esté representado como una <literal><list></literal> o "
-"<literal><map></literal>. Si hay una propiedad de la clase hija que "
-"mapee a la columna índice, no hay problema, podemos seguir usando "
-"<literal>inverse=\"true\"</literal> en el mapeo de la colección:"
+"Requiere especial consideración una asociación bidireccional "
+"donde un extremo esté representado como una <literal><list></"
+"literal> o <literal><map></literal>. Si hay una propiedad de la clase "
+"hija que mapee a la columna índice, no hay problema, podemos seguir "
+"usando <literal>inverse=\"true\"</literal> en el mapeo de la colecció"
+"n:"
-#. Tag: programlisting
-#: collection_mapping.xml:729
-#, no-c-format
+#: index.docbook:729
msgid ""
"<![CDATA[<class name=\"Parent\">\n"
" <id name=\"id\" column=\"parent_id\"/>\n"
@@ -1316,10 +1406,29 @@
" not-null=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Parent\">\n"
+" <id name=\"id\" column=\"parent_id\"/>\n"
+" ....\n"
+" <map name=\"children\" inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <map-key column=\"name\" \n"
+" type=\"string\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </map>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+" <id name=\"id\" column=\"child_id\"/>\n"
+" ....\n"
+" <property name=\"name\" \n"
+" not-null=\"true\"/>\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:731
-#, no-c-format
+#: index.docbook:731
msgid ""
"But, if there is no such property on the child class, we can't think of the "
"association as truly bidirectional (there is information available at one "
@@ -1328,14 +1437,13 @@
"Instead, we could use the following mapping:"
msgstr ""
"Pero, si no existe tal proiedad en la clase hija, no podemos pensar en la "
-"asociación como verdaderamente bidireccional (hay información en un extremo "
-"de la asociación que no está disponible en el otro extremo). En este caso, "
-"no podemos mapear la colección con <literal>inverse=\"true\"</literal>. En "
-"cambio, podríamos usar el siguiente mapeo:"
+"asociación como verdaderamente bidireccional (hay información "
+"en un extremo de la asociación que no está disponible en el "
+"otro extremo). En este caso, no podemos mapear la colección con "
+"<literal>inverse=\"true\"</literal>. En cambio, podríamos usar el "
+"siguiente mapeo:"
-#. Tag: programlisting
-#: collection_mapping.xml:738
-#, no-c-format
+#: index.docbook:738
msgid ""
"<![CDATA[<class name=\"Parent\">\n"
" <id name=\"id\" column=\"parent_id\"/>\n"
@@ -1360,37 +1468,53 @@
" not-null=\"true\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Parent\">\n"
+" <id name=\"id\" column=\"parent_id\"/>\n"
+" ....\n"
+" <map name=\"children\">\n"
+" <key column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+" <map-key column=\"name\" \n"
+" type=\"string\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </map>\n"
+"</class>\n"
+"\n"
+"<class name=\"Child\">\n"
+" <id name=\"id\" column=\"child_id\"/>\n"
+" ....\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" insert=\"false\"\n"
+" update=\"false\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: collection_mapping.xml:740
-#, no-c-format
+#: index.docbook:740
msgid ""
"Note that in this mapping, the collection-valued end of the association is "
"responsible for updates to the foreign key. TODO: Does this really result in "
"some unnecessary update statements?"
msgstr ""
-"Nota que, en este mapeo, el extremo de la asociación valuado en colección es "
-"responsable de las actualizaciones a la clave foránea."
+"Nota que, en este mapeo, el extremo de la asociación valuado en "
+"colección es responsable de las actualizaciones a la clave forá"
+"nea."
-#. Tag: title
-#: collection_mapping.xml:748
-#, no-c-format
+#: index.docbook:748
msgid "Ternary associations"
msgstr "Asociaciones ternarias"
-#. Tag: para
-#: collection_mapping.xml:750
-#, no-c-format
+#: index.docbook:750
msgid ""
"There are three possible approaches to mapping a ternary association. One is "
"to use a <literal>Map</literal> with an association as its index:"
msgstr ""
-"Hay tres enfoques posibles para mapear una asociación ternaria. Una es usar "
-"un <literal>Map</literal> con una asociación como su índice:"
+"Hay tres enfoques posibles para mapear una asociación ternaria. Una "
+"es usar un <literal>Map</literal> con una asociación como su í"
+"ndice:"
-#. Tag: programlisting
-#: collection_mapping.xml:755
-#, no-c-format
+#: index.docbook:755
msgid ""
"<![CDATA[<map name=\"contracts\">\n"
" <key column=\"employer_id\" not-null=\"true\"/>\n"
@@ -1398,10 +1522,13 @@
" <one-to-many class=\"Contract\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"contracts\">\n"
+" <key column=\"employer_id\" not-null=\"true\"/>\n"
+" <map-key-many-to-many column=\"employee_id\" class=\"Employee\"/>\n"
+" <one-to-many class=\"Contract\"/>\n"
+"</map>]]>"
-#. Tag: programlisting
-#: collection_mapping.xml:757
-#, no-c-format
+#: index.docbook:757
msgid ""
"<![CDATA[<map name=\"connections\">\n"
" <key column=\"incoming_node_id\"/>\n"
@@ -1409,36 +1536,33 @@
" <many-to-many column=\"connection_id\" class=\"Connection\"/>\n"
"</map>]]>"
msgstr ""
+"<![CDATA[<map name=\"connections\">\n"
+" <key column=\"incoming_node_id\"/>\n"
+" <map-key-many-to-many column=\"outgoing_node_id\" class=\"Node\"/>\n"
+" <many-to-many column=\"connection_id\" class=\"Connection\"/>\n"
+"</map>]]>"
-#. Tag: para
-#: collection_mapping.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"A second approach is to simply remodel the association as an entity class. "
"This is the approach we use most commonly."
msgstr ""
-"Un segundo enfoque es simplemente remodelar la asociación como una clase de "
-"entidad. Este es el enfoque que usamos más comunmente."
+"Un segundo enfoque es simplemente remodelar la asociación como una "
+"clase de entidad. Este es el enfoque que usamos más comunmente."
-#. Tag: para
-#: collection_mapping.xml:764
-#, no-c-format
+#: index.docbook:764
msgid ""
"A final alternative is to use composite elements, which we will discuss "
"later."
msgstr ""
-"Una alternativa final es usar elementos compuestos, que discutiremos más "
-"adelante."
+"Una alternativa final es usar elementos compuestos, que discutiremos "
+"más adelante."
-#. Tag: literal
-#: collection_mapping.xml:771
-#, no-c-format
+#: index.docbook:771
msgid "Using an <idbag>"
msgstr "Usando un <idbag>"
-#. Tag: para
-#: collection_mapping.xml:773
-#, no-c-format
+#: index.docbook:773
msgid ""
"If you've fully embraced our view that composite keys are a bad thing and "
"that entities should have synthetic identifiers (surrogate keys), then you "
@@ -1450,31 +1574,28 @@
"allows you to map many to many associations and collections of values to a "
"table with a surrogate key."
msgstr ""
-"Si has adoptado completamente nuestra visión de que las claves compuestas "
-"son una cosa mala y que las entidades deben tener identificadores sitéticos "
-"(claves delegadas), entonces podrías encontrar un poco raro que todas las "
-"asociaciones muchos a muchos y las colecciones de valores que hemos mostrado "
-"hasta ahora mapeen a tablas con claves compuestas! Ahora, este punto es "
-"discutible; una tabla de pura asociación no parece beneficiarse demasiado de "
-"una clave delegada (aunque sí <emphasis>podría</emphasis> una colección de "
+"Si has adoptado completamente nuestra visión de que las claves "
+"compuestas son una cosa mala y que las entidades deben tener identificadores "
+"sitéticos (claves delegadas), entonces podrías encontrar un "
+"poco raro que todas las asociaciones muchos a muchos y las colecciones de "
+"valores que hemos mostrado hasta ahora mapeen a tablas con claves "
+"compuestas! Ahora, este punto es discutible; una tabla de pura "
+"asociación no parece beneficiarse demasiado de una clave delegada "
+"(aunque sí <emphasis>podría</emphasis> una colección de "
"valores compuestos). Sin embargo, Hibernate provee una funcionalidad que te "
"permite mapear asociaciones muchos a muchos y colecciones de valores a una "
"tabla con una clave delegada."
-#. Tag: para
-#: collection_mapping.xml:784
-#, no-c-format
+#: index.docbook:784
msgid ""
"The <literal><idbag></literal> element lets you map a <literal>List</"
"literal> (or <literal>Collection</literal>) with bag semantics."
msgstr ""
"El elemento <literal><idbag></literal> te permite mapear una "
-"<literal>List</literal> (o <literal>Collection</literal>) con semántica de "
-"bag."
+"<literal>List</literal> (o <literal>Collection</literal>) con semá"
+"ntica de bag."
-#. Tag: programlisting
-#: collection_mapping.xml:789
-#, no-c-format
+#: index.docbook:789
msgid ""
"<![CDATA[<idbag name=\"lovers\" table=\"LOVERS\">\n"
" <collection-id column=\"ID\" type=\"long\">\n"
@@ -1484,10 +1605,15 @@
" <many-to-many column=\"PERSON2\" class=\"Person\" fetch=\"join\"/>\n"
"</idbag>]]>"
msgstr ""
+"<![CDATA[<idbag name=\"lovers\" table=\"LOVERS\">\n"
+" <collection-id column=\"ID\" type=\"long\">\n"
+" <generator class=\"sequence\"/>\n"
+" </collection-id>\n"
+" <key column=\"PERSON1\"/>\n"
+" <many-to-many column=\"PERSON2\" class=\"Person\" fetch=\"join\"/>\n"
+"</idbag>]]>"
-#. Tag: para
-#: collection_mapping.xml:791
-#, no-c-format
+#: index.docbook:791
msgid ""
"As you can see, an <literal><idbag></literal> has a synthetic id "
"generator, just like an entity class! A different surrogate key is assigned "
@@ -1495,57 +1621,47 @@
"the surrogate key value of a particular row, however."
msgstr ""
"Como puedes ver, un <literal><idbag></literal> tiene un generador de "
-"id sintético, igual que una clase de entidad! Una clave delegada diferente "
-"se asigna a cada fila de la colección. Hibernate no provee ningún mecanismo "
-"para descubrir el valor de clave delegada de una fila en particular, sin "
-"embargo."
+"id sintético, igual que una clase de entidad! Una clave delegada "
+"diferente se asigna a cada fila de la colección. Hibernate no provee "
+"ningún mecanismo para descubrir el valor de clave delegada de una "
+"fila en particular, sin embargo."
-#. Tag: para
-#: collection_mapping.xml:798
-#, no-c-format
+#: index.docbook:798
msgid ""
"Note that the update performance of an <literal><idbag></literal> is "
"<emphasis>much</emphasis> better than a regular <literal><bag></"
"literal>! Hibernate can locate individual rows efficiently and update or "
"delete them individually, just like a list, map or set."
msgstr ""
-"Observa que el rendimiento de actualización de un <literal><idbag></"
-"literal> es <emphasis>mucho</emphasis> mejor que el de un <literal><"
-"bag></literal> regular! Hibernate puede localizar filas individuales "
-"eficientemente y actualizarlas o borrarlas individualmente, igual que si "
-"fuese una lista, mapa o conjunto."
+"Observa que el rendimiento de actualización de un <literal><"
+"idbag></literal> es <emphasis>mucho</emphasis> mejor que el de un "
+"<literal><bag></literal> regular! Hibernate puede localizar filas "
+"individuales eficientemente y actualizarlas o borrarlas individualmente, "
+"igual que si fuese una lista, mapa o conjunto."
-#. Tag: para
-#: collection_mapping.xml:805
-#, no-c-format
+#: index.docbook:805
msgid ""
"In the current implementation, the <literal>native</literal> identifier "
"generation strategy is not supported for <literal><idbag></literal> "
"collection identifiers."
msgstr ""
-"En la implementación actual, la estrategia de generación de identificador "
-"<literal>native</literal> no está soportada para identificadores de "
-"colecciones <literal><idbag></literal>."
+"En la implementación actual, la estrategia de generación de "
+"identificador <literal>native</literal> no está soportada para "
+"identificadores de colecciones <literal><idbag></literal>."
-#. Tag: title
-#: collection_mapping.xml:829
-#, no-c-format
+#: index.docbook:829
msgid "Collection examples"
-msgstr "Ejemplos de colección"
+msgstr "Ejemplos de colección"
-#. Tag: para
-#: collection_mapping.xml:831
-#, no-c-format
+#: index.docbook:831
msgid ""
"The previous sections are pretty confusing. So lets look at an example. This "
"class:"
msgstr ""
-"Las secciones previas son bastantes confusas. Así que miremos un ejemplo. "
-"Esta clase:"
+"Las secciones previas son bastantes confusas. Así que miremos un "
+"ejemplo. Esta clase:"
-#. Tag: programlisting
-#: collection_mapping.xml:836
-#, no-c-format
+#: index.docbook:836
msgid ""
"<![CDATA[package eg;\n"
"import java.util.Set;\n"
@@ -1564,21 +1680,33 @@
" ....\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"\n"
+"public class Parent {\n"
+" private long id;\n"
+" private Set children;\n"
+"\n"
+" public long getId() { return id; }\n"
+" private void setId(long id) { this.id=id; }\n"
+"\n"
+" private Set getChildren() { return children; }\n"
+" private void setChildren(Set children) { this.children=children; }\n"
+"\n"
+" ....\n"
+" ....\n"
+"}]]>"
-#. Tag: para
-#: collection_mapping.xml:838
-#, no-c-format
+#: index.docbook:838
msgid ""
"has a collection of <literal>Child</literal> instances. If each child has at "
"most one parent, the most natural mapping is a one-to-many association:"
msgstr ""
-"tiene una colección de instancias de <literal>Child</literal>. Si cada hijo "
-"tiene como mucho un padre, el mapeo más natural es una asociación uno-a-"
-"muchos:"
+"tiene una colección de instancias de <literal>Child</literal>. Si "
+"cada hijo tiene como mucho un padre, el mapeo más natural es una "
+"asociación uno-a-muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:844
-#, no-c-format
+#: index.docbook:844
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1601,36 +1729,52 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:846
-#, no-c-format
+#: index.docbook:846
msgid "This maps to the following table definitions:"
msgstr "Esto mapea a las siguientes definiciones de tablas:"
-#. Tag: programlisting
-#: collection_mapping.xml:850
-#, no-c-format
+#: index.docbook:850
msgid ""
"<![CDATA[create table parent ( id bigint not null primary key )\n"
"create table child ( id bigint not null primary key, name varchar(255), "
"parent_id bigint )\n"
"alter table child add constraint childfk0 (parent_id) references parent]]>"
msgstr ""
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null primary key, name varchar(255), "
+"parent_id bigint )\n"
+"alter table child add constraint childfk0 (parent_id) references parent]]>"
-#. Tag: para
-#: collection_mapping.xml:852
-#, no-c-format
+#: index.docbook:852
msgid ""
"If the parent is <emphasis>required</emphasis>, use a bidirectional one-to-"
"many association:"
msgstr ""
-"Si el padre es <emphasis>requerido</emphasis>, usa una asociación "
+"Si el padre es <emphasis>requerido</emphasis>, usa una asociación "
"bidireccional uno-a-muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:857
-#, no-c-format
+#: index.docbook:857
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1655,16 +1799,34 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\" inverse=\"true\">\n"
+" <key column=\"parent_id\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" <many-to-one name=\"parent\" class=\"Parent\" column=\"parent_id\" "
+"not-null=\"true\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:859
-#, no-c-format
+#: index.docbook:859
msgid "Notice the <literal>NOT NULL</literal> constraint:"
-msgstr "Observa la restricción <literal>NOT NULL</literal>:"
+msgstr "Observa la restricción <literal>NOT NULL</literal>:"
-#. Tag: programlisting
-#: collection_mapping.xml:863
-#, no-c-format
+#: index.docbook:863
msgid ""
"<![CDATA[create table parent ( id bigint not null primary key )\n"
"create table child ( id bigint not null\n"
@@ -1673,22 +1835,24 @@
" parent_id bigint not null )\n"
"alter table child add constraint childfk0 (parent_id) references parent]]>"
msgstr ""
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null\n"
+" primary key,\n"
+" name varchar(255),\n"
+" parent_id bigint not null )\n"
+"alter table child add constraint childfk0 (parent_id) references parent]]>"
-#. Tag: para
-#: collection_mapping.xml:865
-#, no-c-format
+#: index.docbook:865
msgid ""
"Alternatively, if you absolutely insist that this association should be "
"unidirectional, you can declare the <literal>NOT NULL</literal> constraint "
"on the <literal><key></literal> mapping:"
msgstr ""
-"Alternativamente, si absolutamente insistes que esta asociación debe ser "
-"unidireccional, puedes declarar la restricción <literal>NOT NULL</literal> "
-"en el mapeo de <literal><key></literal>:"
+"Alternativamente, si absolutamente insistes que esta asociación debe "
+"ser unidireccional, puedes declarar la restricción <literal>NOT NULL</"
+"literal> en el mapeo de <literal><key></literal>:"
-#. Tag: programlisting
-#: collection_mapping.xml:871
-#, no-c-format
+#: index.docbook:871
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1711,20 +1875,36 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\">\n"
+" <key column=\"parent_id\" not-null=\"true\"/>\n"
+" <one-to-many class=\"Child\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:873
-#, no-c-format
+#: index.docbook:873
msgid ""
"On the other hand, if a child might have multiple parents, a many-to-many "
"association is appropriate:"
msgstr ""
-"En la otra mano, si un hijo pudiera tener múltiples padres, sería apropiada "
-"una asociación muchos-a-muchos:"
+"En la otra mano, si un hijo pudiera tener múltiples padres, "
+"sería apropiada una asociación muchos-a-muchos:"
-#. Tag: programlisting
-#: collection_mapping.xml:878
-#, no-c-format
+#: index.docbook:878
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1747,16 +1927,32 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Parent\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <set name=\"children\" table=\"childset\">\n"
+" <key column=\"parent_id\"/>\n"
+" <many-to-many class=\"Child\" column=\"child_id\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Child\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: collection_mapping.xml:880
-#, no-c-format
+#: index.docbook:880
msgid "Table definitions:"
msgstr "Definiciones de tabla:"
-#. Tag: programlisting
-#: collection_mapping.xml:884
-#, no-c-format
+#: index.docbook:884
msgid ""
"<![CDATA[create table parent ( id bigint not null primary key )\n"
"create table child ( id bigint not null primary key, name varchar(255) )\n"
@@ -1768,164 +1964,34 @@
"alter table childset add constraint childsetfk1 (child_id) references child]]"
">"
msgstr ""
+"<![CDATA[create table parent ( id bigint not null primary key )\n"
+"create table child ( id bigint not null primary key, name varchar(255) )\n"
+"create table childset ( parent_id bigint not null,\n"
+" child_id bigint not null,\n"
+" primary key ( parent_id, child_id ) )\n"
+"alter table childset add constraint childsetfk0 (parent_id) references "
+"parent\n"
+"alter table childset add constraint childsetfk1 (child_id) references child]]"
+">"
-#. Tag: para
-#: collection_mapping.xml:886
-#, no-c-format
+#: index.docbook:886
msgid ""
"For more examples and a complete walk-through a parent/child relationship "
"mapping, see <xref linkend=\"example-parentchild\"/>."
msgstr ""
-"Para más ejemplos y un paseo completo a través del mapeo de relaciones padre/"
-"hijo, ver <xref linkend=\"example-parentchild\"/>."
+"Para más ejemplos y un paseo completo a través del mapeo de "
+"relaciones padre/hijo, ver <xref linkend=\"example-parentchild\"/>."
-#. Tag: para
-#: collection_mapping.xml:891
-#, no-c-format
+#: index.docbook:891
msgid ""
"Even more exotic association mappings are possible, we will catalog all "
"possibilities in the next chapter."
msgstr ""
-"Son posibles mapeos de asociación aún más complejos. Catalogaremos todas las "
-"posibilidades en el próximo capítulo."
+"Son posibles mapeos de asociación aún más complejos. "
+"Catalogaremos todas las posibilidades en el próximo capítulo."
-#~ msgid ""
-#~ "<literal>column_name</literal> (required): The name of the column holding "
-#~ "the collection index values."
-#~ msgstr ""
-#~ "<literal>column_name</literal> (requerido): El nombre de la columna que "
-#~ "tiene los valores índice de la colección."
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid ""
-#~ "<literal>base</literal> (optional, defaults to <literal>0</literal>): The "
-#~ "value of the index column that corresponds to the first element of the "
-#~ "list or array."
-#~ msgstr ""
-#~ "<literal>base</literal> (opcional, por defecto a <literal>0</literal>): "
-#~ "El valor de la columna índice que corresponde al primer elemento de la "
-#~ "lista o array."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the column holding the "
-#~ "collection index values."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna que tiene "
-#~ "los valores índice de la colección."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): A SQL formula used to evaluate the "
-#~ "key of the map."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL usada para evaluar "
-#~ "la clave del mapa."
-
-#~ msgid "<literal>type</literal> (reguired): The type of the map keys."
-#~ msgstr ""
-#~ "<literal>type</literal> (requerido): el tipo de las claves del mapa."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the foreign key column "
-#~ "for the collection index values."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna clave "
-#~ "foránea para los valores índice de la colección."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): A SQL formula used to evaluate the "
-#~ "foreign key of the map key."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL usada para evaluar "
-#~ "la clave foránea de la clave del mapa."
-
-#~ msgid ""
-#~ "<literal>class</literal> (required): The entity class used as the map key."
-#~ msgstr ""
-#~ "<literal>class</literal> (requerido): La clase de entidad usada como "
-#~ "clave del mapa."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the column holding the "
-#~ "collection element values."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna que tiene "
-#~ "los valores de los elementos de la colección."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): An SQL formula used to evaluate "
-#~ "the element."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL usada para evaluar "
-#~ "el elemento."
-
-#~ msgid ""
-#~ "<literal>type</literal> (required): The type of the collection element."
-#~ msgstr ""
-#~ "<literal>type</literal> (requerido): El tipo del elemento de colección."
-
-#~ msgid ""
-#~ "A <emphasis>many-to-many association</emphasis> is specified using the "
-#~ "<literal><many-to-many></literal> element."
-#~ msgstr ""
-#~ "Una <emphasis>asociación muchos-a-muchos</emphasis> se especifica usando "
-#~ "el elemento <literal><many-to-many></literal>."
-
-#~ msgid ""
-#~ "<literal>column</literal> (optional): The name of the element foreign key "
-#~ "column."
-#~ msgstr ""
-#~ "<literal>column</literal> (opcional): El nombre de la columna de clave "
-#~ "foránea del elemento."
-
-#~ msgid ""
-#~ "<literal>formula</literal> (optional): An SQL formula used to evaluate "
-#~ "the element foreign key value."
-#~ msgstr ""
-#~ "<literal>formula</literal> (opcional): Una fórmula SQL opcional usada "
-#~ "para evaluar el valor de clave foránea del elemento."
-
-#~ msgid ""
-#~ "<literal>fetch</literal> (optional - defaults to <literal>join</"
-#~ "literal>): enables outer-join or sequential select fetching for this "
-#~ "association. This is a special case; for full eager fetching (in a single "
-#~ "<literal>SELECT</literal>) of an entity and its many-to-many "
-#~ "relationships to other entities, you would enable <literal>join</literal> "
-#~ "fetching not only of the collection itself, but also with this attribute "
-#~ "on the <literal><many-to-many></literal> nested element."
-#~ msgstr ""
-#~ "<literal>fetch</literal> (opcional - por defecto a <literal>join</"
-#~ "literal>): habilita la recuperación por unión externa o selección "
-#~ "secuencial para esta asociación. Este es un caso especial; para una "
-#~ "recuperación completamente temprana (en un solo <literal>SELECT</"
-#~ "literal>) de una entidad y sus relaciones muchos-a-muchos a otras "
-#~ "entidades, deberías habilitar la recuperación <literal>join</literal> no "
-#~ "sólo de la colección misma, sino también con este atributo en el elemento "
-#~ "anidado <literal><many-to-many></literal>."
-
-#~ msgid ""
-#~ "<literal>unique</literal> (optional): Enable the DDL generation of a "
-#~ "unique constraint for the foreign-key column. This makes the association "
-#~ "multiplicity effectively one to many."
-#~ msgstr ""
-#~ "<literal>unique</literal> (opcional): Habilita la generación DDL de una "
-#~ "restricción de unicidad para la columna clave foránea. Esto hace la "
-#~ "multiplicidad de la asociación efectivamente uno a muchos."
-
-#~ msgid ""
-#~ "<literal>not-found</literal> (optional - defaults to <literal>exception</"
-#~ "literal>): Specifies how foreign keys that reference missing rows will be "
-#~ "handled: <literal>ignore</literal> will treat a missing row as a null "
-#~ "association."
-#~ msgstr ""
-#~ "<literal>not-found</literal> (opcional - por defecto a "
-#~ "<literal>exception</literal>): Especifica cómo serán manejadas las claves "
-#~ "foráneas que referencian filas perdidas: <literal>ignore</literal> "
-#~ "tratará una fila perdida como una asociación nula."
-
-#~ msgid ""
-#~ "<literal>property-ref</literal>: (optional) The name of a property of the "
-#~ "associated class that is joined to this foreign key. If not specified, "
-#~ "the primary key of the associated class is used."
-#~ msgstr ""
-#~ "UNTRANSLATED! <literal>property-ref</literal>: (optional) The name of a "
-#~ "property of the associated class that is joined to this foreign key. If "
-#~ "not specified, the primary key of the associated class is used."
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/component_mapping.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,40 +1,28 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: component_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Component Mapping"
msgstr "Mapeo de Componentes"
-#. Tag: para
-#: component_mapping.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"The notion of a <emphasis>component</emphasis> is re-used in several "
"different contexts, for different purposes, throughout Hibernate."
msgstr ""
-"La noción de un <emphasis>componente</emphasis> es reusada en muchos "
-"contextos diferentes, para propósitos diferentes, a través de Hibernate."
+"La noción de un <emphasis>componente</emphasis> es reusada en muchos "
+"contextos diferentes, para propósitos diferentes, a través de "
+"Hibernate."
-#. Tag: title
-#: component_mapping.xml:13
-#, no-c-format
+#: index.docbook:13
msgid "Dependent objects"
msgstr "Objetos dependientes"
-#. Tag: para
-#: component_mapping.xml:15
-#, no-c-format
+#: index.docbook:15
msgid ""
"A component is a contained object that is persisted as a value type, not an "
"entity reference. The term \"component\" refers to the object-oriented "
@@ -42,13 +30,12 @@
"you might model a person like this:"
msgstr ""
"Un componente es un objeto contenido que es persistido como un tipo de "
-"valor, no una referencia de entidad. El término \"componente\" hace "
-"referencia a la noción orientada a objetos de composición (no a componentes "
-"a nivel de arquitectura). Por ejemplo, podrías modelar una persona como:"
+"valor, no una referencia de entidad. El término \"componente\" hace "
+"referencia a la noción orientada a objetos de composición (no "
+"a componentes a nivel de arquitectura). Por ejemplo, podrías modelar "
+"una persona como:"
-#. Tag: programlisting
-#: component_mapping.xml:21
-#, no-c-format
+#: index.docbook:21
msgid ""
"<![CDATA[public class Person {\n"
" private java.util.Date birthday;\n"
@@ -76,10 +63,33 @@
" ......\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Person {\n"
+" private java.util.Date birthday;\n"
+" private Name name;\n"
+" private String key;\n"
+" public String getKey() {\n"
+" return key;\n"
+" }\n"
+" private void setKey(String key) {\n"
+" this.key=key;\n"
+" }\n"
+" public java.util.Date getBirthday() {\n"
+" return birthday;\n"
+" }\n"
+" public void setBirthday(java.util.Date birthday) {\n"
+" this.birthday = birthday;\n"
+" }\n"
+" public Name getName() {\n"
+" return name;\n"
+" }\n"
+" public void setName(Name name) {\n"
+" this.name = name;\n"
+" }\n"
+" ......\n"
+" ......\n"
+"}]]>"
-#. Tag: programlisting
-#: component_mapping.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"<![CDATA[public class Name {\n"
" char initial;\n"
@@ -105,10 +115,31 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Name {\n"
+" char initial;\n"
+" String first;\n"
+" String last;\n"
+" public String getFirst() {\n"
+" return first;\n"
+" }\n"
+" void setFirst(String first) {\n"
+" this.first = first;\n"
+" }\n"
+" public String getLast() {\n"
+" return last;\n"
+" }\n"
+" void setLast(String last) {\n"
+" this.last = last;\n"
+" }\n"
+" public char getInitial() {\n"
+" return initial;\n"
+" }\n"
+" void setInitial(char initial) {\n"
+" this.initial = initial;\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: component_mapping.xml:25
-#, no-c-format
+#: index.docbook:25
msgid ""
"Now <literal>Name</literal> may be persisted as a component of "
"<literal>Person</literal>. Notice that <literal>Name</literal> defines "
@@ -117,18 +148,14 @@
msgstr ""
"Ahora <literal>Name</literal> puede ser persistido como un componente de "
"<literal>Person</literal>. Observa que <literal>Name</literal> define "
-"métodos getter y setter para sus propiedades persistentes, pero no necesita "
-"declarar ninguna interface ni propiedades identificadoras."
+"métodos getter y setter para sus propiedades persistentes, pero no "
+"necesita declarar ninguna interface ni propiedades identificadoras."
-#. Tag: para
-#: component_mapping.xml:32
-#, no-c-format
+#: index.docbook:32
msgid "Our Hibernate mapping would look like:"
-msgstr "Nuestro mapeo de Hibernate se vería así:"
+msgstr "Nuestro mapeo de Hibernate se vería así:"
-#. Tag: programlisting
-#: component_mapping.xml:36
-#, no-c-format
+#: index.docbook:36
msgid ""
"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
" <id name=\"Key\" column=\"pid\" type=\"string\">\n"
@@ -143,22 +170,30 @@
" </component>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+" <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+" <generator class=\"uuid.hex\"/>\n"
+" </id>\n"
+" <property name=\"birthday\" type=\"date\"/>\n"
+" <component name=\"Name\" class=\"eg.Name\"> <!-- class attribute "
+"optional -->\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"first\"/>\n"
+" <property name=\"last\"/>\n"
+" </component>\n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"The person table would have the columns <literal>pid</literal>, "
"<literal>birthday</literal>, <literal>initial</literal>, <literal>first</"
"literal> and <literal>last</literal>."
msgstr ""
-"La tabla person tendría las columnas <literal>pid</literal>, "
+"La tabla person tendría las columnas <literal>pid</literal>, "
"<literal>birthday</literal>, <literal>initial</literal>, <literal>first</"
"literal> y <literal>last</literal>."
-#. Tag: para
-#: component_mapping.xml:46
-#, no-c-format
+#: index.docbook:46
msgid ""
"Like all value types, components do not support shared references. In other "
"words, two persons could have the same name, but the two person objects "
@@ -170,16 +205,14 @@
msgstr ""
"Como todos los tipos de valor, los componentes no soportan referencias "
"compartidas. En otras palabras, dos personas pueden tener el mismo nombre, "
-"pero los dos objetos persona contendrían dos objetos nombre independientes, "
-"sólo \"iguales\" en valor. La semántica de valor nulo de un componente es "
-"<emphasis>ad hoc</emphasis>. Cuando se recargue el objeto contenedor, "
-"Hibernate asumirá que si todas las columnas del componente son nulas, el "
-"componente entero es nulo. Esto debe estar bien para la mayoría de "
-"propósitos."
+"pero los dos objetos persona contendrían dos objetos nombre "
+"independientes, sólo \"iguales\" en valor. La semántica de "
+"valor nulo de un componente es <emphasis>ad hoc</emphasis>. Cuando se "
+"recargue el objeto contenedor, Hibernate asumirá que si todas las "
+"columnas del componente son nulas, el componente entero es nulo. Esto debe "
+"estar bien para la mayoría de propósitos."
-#. Tag: para
-#: component_mapping.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"The properties of a component may be of any Hibernate type (collections, "
"many-to-one associations, other components, etc). Nested components should "
@@ -189,12 +222,10 @@
"Las propiedades de un componentes pueden ser de cualquier tipo de Hibernate "
"(colecciones, muchos-a-uno, asociaciones, otros componentes, etc). Los "
"componentes anidados <emphasis>no</emphasis> deben ser considerados un uso "
-"exótico. Hibernate está concebido para soportar un modelo de objetos "
-"granularizado en fino."
+"exótico. Hibernate está concebido para soportar un modelo de "
+"objetos granularizado en fino."
-#. Tag: para
-#: component_mapping.xml:62
-#, no-c-format
+#: index.docbook:62
msgid ""
"The <literal><component></literal> element allows a <literal><"
"parent></literal> subelement that maps a property of the component class "
@@ -204,9 +235,7 @@
"<literal><parent></literal> que mapee una propiedad de la clase del "
"componente como una referencia de regreso a la entidad contenedora."
-#. Tag: programlisting
-#: component_mapping.xml:68
-#, no-c-format
+#: index.docbook:68
msgid ""
"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
" <id name=\"Key\" column=\"pid\" type=\"string\">\n"
@@ -222,30 +251,37 @@
" </component>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Person\" table=\"person\">\n"
+" <id name=\"Key\" column=\"pid\" type=\"string\">\n"
+" <generator class=\"uuid.hex\"/>\n"
+" </id>\n"
+" <property name=\"birthday\" type=\"date\"/>\n"
+" <component name=\"Name\" class=\"eg.Name\" unique=\"true\">\n"
+" <parent name=\"namedPerson\"/> <!-- reference back to the Person --"
+">\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"first\"/>\n"
+" <property name=\"last\"/>\n"
+" </component>\n"
+"</class>]]>"
-#. Tag: title
-#: component_mapping.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "Collections of dependent objects"
msgstr "Colecciones de objetos dependientes"
-#. Tag: para
-#: component_mapping.xml:75
-#, no-c-format
+#: index.docbook:75
msgid ""
"Collections of components are supported (eg. an array of type <literal>Name</"
"literal>). Declare your component collection by replacing the <literal><"
"element></literal> tag with a <literal><composite-element></"
"literal> tag."
msgstr ""
-"Las colecciones de componentes están soportadas (por ejemplo, un array de "
-"tipo <literal>Name</literal>). Declara tu colección de componentes "
-"remplazando la etiqueta <literal><element></literal> por una etiqueta "
-"<literal><composite-element></literal>."
+"Las colecciones de componentes están soportadas (por ejemplo, un "
+"array de tipo <literal>Name</literal>). Declara tu colección de "
+"componentes remplazando la etiqueta <literal><element></literal> por "
+"una etiqueta <literal><composite-element></literal>."
-#. Tag: programlisting
-#: component_mapping.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"<![CDATA[<set name=\"someNames\" table=\"some_names\" lazy=\"true\">\n"
" <key column=\"id\"/>\n"
@@ -256,10 +292,16 @@
" </composite-element>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"someNames\" table=\"some_names\" lazy=\"true\">\n"
+" <key column=\"id\"/>\n"
+" <composite-element class=\"eg.Name\"> <!-- class attribute required -->\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"first\"/>\n"
+" <property name=\"last\"/>\n"
+" </composite-element>\n"
+"</set>]]>"
-#. Tag: para
-#: component_mapping.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"Note: if you define a <literal>Set</literal> of composite elements, it is "
"very important to implement <literal>equals()</literal> and <literal>hashCode"
@@ -269,9 +311,7 @@
"importante implementar <literal>equals()</literal> y <literal>hashCode()</"
"literal> correctamente."
-#. Tag: para
-#: component_mapping.xml:90
-#, no-c-format
+#: index.docbook:90
msgid ""
"Composite elements may contain components but not collections. If your "
"composite element itself contains components, use the <literal><nested-"
@@ -285,16 +325,14 @@
"Los elementos compuestos pueden contener componentes pero no colecciones. Si "
"tu elemento compuesto contiene a su vez componentes, usa la etiqueta "
"<literal><nested-composite-element></literal>. Este es un caso "
-"bastante exótico - una colección de componentes que a su vez tienen "
-"componentes. A esta altura debes estar preguntándote si una asociación uno-a-"
-"muchos es más apropiada. Intenta remodelar el elemento compuesto como una "
-"entidad - pero observa que aunque el modelo Java es el mismo, el modelo "
-"relacional y la semántica de persistencia siguen siendo ligeramente "
-"diferentes."
+"bastante exótico - una colección de componentes que a su vez "
+"tienen componentes. A esta altura debes estar preguntándote si una "
+"asociación uno-a-muchos es más apropiada. Intenta remodelar el "
+"elemento compuesto como una entidad - pero observa que aunque el modelo Java "
+"es el mismo, el modelo relacional y la semántica de persistencia "
+"siguen siendo ligeramente diferentes."
-#. Tag: para
-#: component_mapping.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"Please note that a composite element mapping doesn't support null-able "
"properties if you're using a <literal><set></literal>. Hibernate has "
@@ -306,17 +344,15 @@
"<literal><idbag></literal>."
msgstr ""
"Por favor observa que un mapeo de elemento compuesto no soporta propiedades "
-"nulables si estás usando un <literal><set></literal>. Hibernate tiene "
-"que usar cada columna para identificar un registro al borrar objetos (no hay "
-"una columna clave primaria separada en la tabla del elemento compuesto), lo "
-"que es imposible con valores nulos. Tienes que, o bien usar sólo propiedades "
-"no nulas en un elemento compuesto o elegir un <literal><list></"
-"literal>, <literal><map></literal>, <literal><bag></literal> o "
-"<literal><idbag></literal>."
+"nulables si estás usando un <literal><set></literal>. Hibernate "
+"tiene que usar cada columna para identificar un registro al borrar objetos "
+"(no hay una columna clave primaria separada en la tabla del elemento "
+"compuesto), lo que es imposible con valores nulos. Tienes que, o bien usar "
+"sólo propiedades no nulas en un elemento compuesto o elegir un "
+"<literal><list></literal>, <literal><map></literal>, "
+"<literal><bag></literal> o <literal><idbag></literal>."
-#. Tag: para
-#: component_mapping.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"A special case of a composite element is a composite element with a nested "
"<literal><many-to-one></literal> element. A mapping like this allows "
@@ -328,15 +364,14 @@
msgstr ""
"Un caso especial de un elemento compuesto es un elemento compuesto con un "
"elemento anidado <literal><many-to-one></literal>. Un mapeo como este "
-"te permite mapear columnas extra de una tabla de asociación muchos-a-muchos "
-"a la clase del elemento compuesto. La siguiente es una asociación muchos-a-"
-"muchos de <literal>Order</literal> a <literal>Item</literal> donde "
-"<literal>purchaseDate</literal>, <literal>price</literal> y "
-"<literal>quantity</literal> son propiedades de la asociación:"
+"te permite mapear columnas extra de una tabla de asociación muchos-a-"
+"muchos a la clase del elemento compuesto. La siguiente es una "
+"asociación muchos-a-muchos de <literal>Order</literal> a "
+"<literal>Item</literal> donde <literal>purchaseDate</literal>, "
+"<literal>price</literal> y <literal>quantity</literal> son propiedades de la "
+"asociación:"
-#. Tag: programlisting
-#: component_mapping.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"<![CDATA[<class name=\"eg.Order\" .... >\n"
" ....\n"
@@ -352,10 +387,21 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Order\" .... >\n"
+" ....\n"
+" <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
+" <key column=\"order_id\">\n"
+" <composite-element class=\"eg.Purchase\">\n"
+" <property name=\"purchaseDate\"/>\n"
+" <property name=\"price\"/>\n"
+" <property name=\"quantity\"/>\n"
+" <many-to-one name=\"item\" class=\"eg.Item\"/> <!-- class "
+"attribute is optional -->\n"
+" </composite-element>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:125
-#, no-c-format
+#: index.docbook:125
msgid ""
"Of course, there can't be a reference to the purchae on the other side, for "
"bidirectional association navigation. Remember that components are value "
@@ -364,21 +410,17 @@
"referenced by the <literal>Item</literal> at the same time."
msgstr ""
"Por supuesto, no puede haber una referencia a la compra del otro lado para "
-"la navegación bidireccional de la asociación. Recuerda que los componentes "
-"son tipos de valor no permiten referencias compartidas. Una sola "
+"la navegación bidireccional de la asociación. Recuerda que los "
+"componentes son tipos de valor no permiten referencias compartidas. Una sola "
"<literal>Purchase</literal> puede estar en el conjunto de una "
"<literal>Order</literal>, pero no puede ser referenciada por el "
"<literal>Item</literal> al mismo tiempo."
-#. Tag: para
-#: component_mapping.xml:133
-#, no-c-format
+#: index.docbook:133
msgid "Even ternary (or quaternary, etc) associations are possible:"
msgstr "Incluso son posibles las asociaciones ternarias (o cuaternarias, etc):"
-#. Tag: programlisting
-#: component_mapping.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[<class name=\"eg.Order\" .... >\n"
" ....\n"
@@ -391,26 +433,30 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Order\" .... >\n"
+" ....\n"
+" <set name=\"purchasedItems\" table=\"purchase_items\" lazy=\"true\">\n"
+" <key column=\"order_id\">\n"
+" <composite-element class=\"eg.OrderLine\">\n"
+" <many-to-one name=\"purchaseDetails class=\"eg.Purchase\"/>\n"
+" <many-to-one name=\"item\" class=\"eg.Item\"/>\n"
+" </composite-element>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:137
-#, no-c-format
+#: index.docbook:137
msgid ""
"Composite elements may appear in queries using the same syntax as "
"associations to other entities."
msgstr ""
"Los elementos compuestos pueden aparecer en consultas usando la misma "
-"sintáxis que las asociaciones a otras entidades."
+"sintáxis que las asociaciones a otras entidades."
-#. Tag: title
-#: component_mapping.xml:145
-#, no-c-format
+#: index.docbook:145
msgid "Components as Map indices"
-msgstr "Componentes como índices de Map"
+msgstr "Componentes como índices de Map"
-#. Tag: para
-#: component_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"The <literal><composite-map-key></literal> element lets you map a "
"component class as the key of a <literal>Map</literal>. Make sure you "
@@ -418,19 +464,15 @@
"correctly on the component class."
msgstr ""
"El elemento <literal><composite-map-key></literal> te permite mapear "
-"una clase componente como la clave de un <literal>Map</literal>. Asegúrate "
-"que sobrescribes <literal>hashCode()</literal> y <literal>equals()</literal> "
-"correctamente en la clase componente."
+"una clase componente como la clave de un <literal>Map</literal>. Asegú"
+"rate que sobrescribes <literal>hashCode()</literal> y <literal>equals()</"
+"literal> correctamente en la clase componente."
-#. Tag: title
-#: component_mapping.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Components as composite identifiers"
msgstr "Componentes como identificadores compuestos"
-#. Tag: para
-#: component_mapping.xml:158
-#, no-c-format
+#: index.docbook:158
msgid ""
"You may use a component as an identifier of an entity class. Your component "
"class must satisfy certain requirements:"
@@ -438,47 +480,37 @@
"Puedes usar un componente como un identidicador de una clase entidad. Tu "
"clase componente debe satisfacer ciertos requerimientos:"
-#. Tag: para
-#: component_mapping.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "It must implement <literal>java.io.Serializable</literal>."
msgstr "Debe implementar <literal>java.io.Serializable</literal>."
-#. Tag: para
-#: component_mapping.xml:170
-#, no-c-format
+#: index.docbook:170
msgid ""
"It must re-implement <literal>equals()</literal> and <literal>hashCode()</"
"literal>, consistently with the database's notion of composite key equality."
msgstr ""
"Debe re-implementar <literal>equals()</literal> y <literal>hashCode()</"
-"literal>, consistentemente con la noción de base de datos de igualdad de "
-"clave compuesta."
+"literal>, consistentemente con la noción de base de datos de igualdad "
+"de clave compuesta."
-#. Tag: emphasis
-#: component_mapping.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"Note: in Hibernate3, the second requirement is not an absolutely hard "
"requirement of Hibernate. But do it anyway."
msgstr ""
"Nota: en Hibernat3, el segundo requerimiento no es absolutamente un "
-"requerimiento rígido de Hibernate. Pero de todas formas, házlo."
+"requerimiento rígido de Hibernate. Pero de todas formas, házlo."
-#. Tag: para
-#: component_mapping.xml:183
-#, no-c-format
+#: index.docbook:183
msgid ""
"You can't use an <literal>IdentifierGenerator</literal> to generate "
"composite keys. Instead the application must assign its own identifiers."
msgstr ""
"No puedes usar un <literal>IdentifierGenerator</literal> para generar claves "
-"compuestas. La aplicación debe, en cambio, asignar sus propios "
+"compuestas. La aplicación debe, en cambio, asignar sus propios "
"identificadores."
-#. Tag: para
-#: component_mapping.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"Use the <literal><composite-id></literal> tag (with nested "
"<literal><key-property></literal> elements) in place of the usual "
@@ -488,13 +520,11 @@
msgstr ""
"Usa la etiqueta <literal><composite-id></literal> (con elementos "
"anidados <literal><key-property></literal>) en lugar de la usual "
-"declaración <literal><id></literal>. Por ejemplo, la clase "
+"declaración <literal><id></literal>. Por ejemplo, la clase "
"<literal>OrderLine</literal> tiene una clave primaria que depende de la "
"clave primaria (compuesta) de <literal>Order</literal>."
-#. Tag: programlisting
-#: component_mapping.xml:196
-#, no-c-format
+#: index.docbook:196
msgid ""
"<![CDATA[<class name=\"OrderLine\">\n"
" \n"
@@ -515,23 +545,37 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"OrderLine\">\n"
+" \n"
+" <composite-id name=\"id\" class=\"OrderLineId\">\n"
+" <key-property name=\"lineId\"/>\n"
+" <key-property name=\"orderId\"/>\n"
+" <key-property name=\"customerId\"/>\n"
+" </composite-id>\n"
+" \n"
+" <property name=\"name\"/>\n"
+" \n"
+" <many-to-one name=\"order\" class=\"Order\"\n"
+" insert=\"false\" update=\"false\">\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </many-to-one>\n"
+" ....\n"
+" \n"
+"</class>]]>"
-#. Tag: para
-#: component_mapping.xml:198
-#, no-c-format
+#: index.docbook:198
msgid ""
"Now, any foreign keys referencing the <literal>OrderLine</literal> table are "
"also composite. You must declare this in your mappings for other classes. An "
"association to <literal>OrderLine</literal> would be mapped like this:"
msgstr ""
-"Ahora, cualquier clave foránea que referencie la tabla de "
-"<literal>OrderLine</literal> es también compuesta. Debes declarar esto en "
-"tus mapeos de otras clases. Una asociación a <literal>OrderLine</literal> "
-"sería mapeado así:"
+"Ahora, cualquier clave foránea que referencie la tabla de "
+"<literal>OrderLine</literal> es también compuesta. Debes declarar "
+"esto en tus mapeos de otras clases. Una asociación a "
+"<literal>OrderLine</literal> sería mapeado así:"
-#. Tag: programlisting
-#: component_mapping.xml:204
-#, no-c-format
+#: index.docbook:204
msgid ""
"<![CDATA[<many-to-one name=\"orderLine\" class=\"OrderLine\">\n"
"<!-- the \"class\" attribute is optional, as usual -->\n"
@@ -540,10 +584,14 @@
" <column name=\"customerId\"/>\n"
"</many-to-one>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"orderLine\" class=\"OrderLine\">\n"
+"<!-- the \"class\" attribute is optional, as usual -->\n"
+" <column name=\"lineId\"/>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+"</many-to-one>]]>"
-#. Tag: para
-#: component_mapping.xml:206
-#, no-c-format
+#: index.docbook:206
msgid ""
"(Note that the <literal><column></literal> tag is an alternative to "
"the <literal>column</literal> attribute everywhere.)"
@@ -551,19 +599,16 @@
"(Nota que la etiqueta <literal><column></literal> es una alternativa "
"al atributo <literal>column</literal> en cualquier sitio.)"
-#. Tag: para
-#: component_mapping.xml:211
-#, no-c-format
+#: index.docbook:211
msgid ""
"A <literal>many-to-many</literal> association to <literal>OrderLine</"
"literal> also uses the composite foreign key:"
msgstr ""
-"Una asociación <literal>muchos-a-muchos</literal> a <literal>OrderLine</"
-"literal> también usa la clave foránea compuesta:"
+"Una asociación <literal>muchos-a-muchos</literal> a "
+"<literal>OrderLine</literal> también usa la clave foránea "
+"compuesta:"
-#. Tag: programlisting
-#: component_mapping.xml:216
-#, no-c-format
+#: index.docbook:216
msgid ""
"<![CDATA[<set name=\"undeliveredOrderLines\">\n"
" <key column name=\"warehouseId\"/>\n"
@@ -574,20 +619,24 @@
" </many-to-many>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"undeliveredOrderLines\">\n"
+" <key column name=\"warehouseId\"/>\n"
+" <many-to-many class=\"OrderLine\">\n"
+" <column name=\"lineId\"/>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </many-to-many>\n"
+"</set>]]>"
-#. Tag: para
-#: component_mapping.xml:218
-#, no-c-format
+#: index.docbook:218
msgid ""
"The collection of <literal>OrderLine</literal>s in <literal>Order</literal> "
"would use:"
msgstr ""
-"La colección de <literal>OrderLine</literal>s en <literal>Order</literal> "
-"usaría:"
+"La colección de <literal>OrderLine</literal>s en <literal>Order</"
+"literal> usaría:"
-#. Tag: programlisting
-#: component_mapping.xml:223
-#, no-c-format
+#: index.docbook:223
msgid ""
"<![CDATA[<set name=\"orderLines\" inverse=\"true\">\n"
" <key>\n"
@@ -597,10 +646,15 @@
" <one-to-many class=\"OrderLine\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"orderLines\" inverse=\"true\">\n"
+" <key>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </key>\n"
+" <one-to-many class=\"OrderLine\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: component_mapping.xml:225
-#, no-c-format
+#: index.docbook:225
msgid ""
"(The <literal><one-to-many></literal> element, as usual, declares no "
"columns.)"
@@ -608,19 +662,15 @@
"(El elemento <literal><one-to-many></literal>, como es usual, no "
"declara columnas.)"
-#. Tag: para
-#: component_mapping.xml:229
-#, no-c-format
+#: index.docbook:229
msgid ""
"If <literal>OrderLine</literal> itself owns a collection, it also has a "
"composite foreign key."
msgstr ""
-"Si <literal>OrderLine</literal> posee una colección por sí misma, tiene "
-"también una clave foránea compuesta."
+"Si <literal>OrderLine</literal> posee una colección por sí "
+"misma, tiene también una clave foránea compuesta."
-#. Tag: programlisting
-#: component_mapping.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"<![CDATA[<class name=\"OrderLine\">\n"
" ....\n"
@@ -638,22 +688,31 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"OrderLine\">\n"
+" ....\n"
+" ....\n"
+" <list name=\"deliveryAttempts\">\n"
+" <key> <!-- a collection inherits the composite key type -->\n"
+" <column name=\"lineId\"/>\n"
+" <column name=\"orderId\"/>\n"
+" <column name=\"customerId\"/>\n"
+" </key>\n"
+" <list-index column=\"attemptId\" base=\"1\"/>\n"
+" <composite-element class=\"DeliveryAttempt\">\n"
+" ...\n"
+" </composite-element>\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: title
-#: component_mapping.xml:239
-#, no-c-format
+#: index.docbook:239
msgid "Dynamic components"
-msgstr "Componentes dinámicos"
+msgstr "Componentes dinámicos"
-#. Tag: para
-#: component_mapping.xml:241
-#, no-c-format
+#: index.docbook:241
msgid "You may even map a property of type <literal>Map</literal>:"
msgstr "Puedes incluso mapear una propiedad de tipo <literal>Map</literal>:"
-#. Tag: programlisting
-#: component_mapping.xml:245
-#, no-c-format
+#: index.docbook:245
msgid ""
"<![CDATA[<dynamic-component name=\"userAttributes\">\n"
" <property name=\"foo\" column=\"FOO\" type=\"string\"/>\n"
@@ -661,10 +720,13 @@
" <many-to-one name=\"baz\" class=\"Baz\" column=\"BAZ_ID\"/>\n"
"</dynamic-component>]]>"
msgstr ""
+"<![CDATA[<dynamic-component name=\"userAttributes\">\n"
+" <property name=\"foo\" column=\"FOO\" type=\"string\"/>\n"
+" <property name=\"bar\" column=\"BAR\" type=\"integer\"/>\n"
+" <many-to-one name=\"baz\" class=\"Baz\" column=\"BAZ_ID\"/>\n"
+"</dynamic-component>]]>"
-#. Tag: para
-#: component_mapping.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"The semantics of a <literal><dynamic-component></literal> mapping are "
"identical to <literal><component></literal>. The advantage of this "
@@ -674,11 +736,18 @@
"Even better, you can access (and change) Hibernate's configuration-time "
"metamodel via the <literal>Configuration</literal> object."
msgstr ""
-"La semántica de un mapeo <literal><dynamic-component></literal> es "
-"ídentica a la de <literal><component></literal>. La ventaja de este "
-"tipo de mapeos es la habilidad para determinar las propiedades reales del "
-"bean en tiempo de despliegue, sólo con editar el documento de mapeo. La "
-"manipulación del documento de mapeo en tiempo de ejecución es también "
-"posible, usando un analizador DOM. Incluso mejor, puedes acceder (y cambiar) "
-"el metamodelo de tiempo de configuración de Hibernate por medio del objeto "
+"La semántica de un mapeo <literal><dynamic-component></literal> "
+"es ídentica a la de <literal><component></literal>. La ventaja "
+"de este tipo de mapeos es la habilidad para determinar las propiedades "
+"reales del bean en tiempo de despliegue, sólo con editar el documento "
+"de mapeo. La manipulación del documento de mapeo en tiempo de "
+"ejecución es también posible, usando un analizador DOM. "
+"Incluso mejor, puedes acceder (y cambiar) el metamodelo de tiempo de "
+"configuración de Hibernate por medio del objeto "
"<literal>Configuration</literal>."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/configuration.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: configuration.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Configuration"
-msgstr "Configuración"
+msgstr "Configuración"
-#. Tag: para
-#: configuration.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Because Hibernate is designed to operate in many different environments, "
"there are a large number of configuration parameters. Fortunately, most have "
@@ -27,60 +18,55 @@
"shows the various options. Just put the example file in your classpath and "
"customize it."
msgstr ""
-"Debido a que Hibernate está diseñado para operar en muchos entornos "
-"diferentes, hay un gran número de parámetros de configuración. "
-"Afortunadamente, la mayoría tiene valores por defecto sensibles e Hibernate "
-"se distribuye con un fichero <literal>hibernate.properties</literal> de "
-"ejemplo en <literal>etc/</literal> que muestra las diversas opciones. Tan "
-"sólo pon el fichero de ejemplo en tu classpath y personalízalo."
+"Debido a que Hibernate está diseñado para operar en muchos "
+"entornos diferentes, hay un gran número de parámetros de "
+"configuración. Afortunadamente, la mayoría tiene valores por "
+"defecto sensibles e Hibernate se distribuye con un fichero "
+"<literal>hibernate.properties</literal> de ejemplo en <literal>etc/</"
+"literal> que muestra las diversas opciones. Tan sólo pon el fichero "
+"de ejemplo en tu classpath y personalízalo."
-#. Tag: title
-#: configuration.xml:16
-#, no-c-format
+#: index.docbook:16
msgid "Programmatic configuration"
-msgstr "Configuración programática"
+msgstr "Configuración programática"
-#. Tag: para
-#: configuration.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
-"An instance of <literal>org.hibernate.cfg.Configuration</literal> represents "
-"an entire set of mappings of an application's Java types to an SQL database. "
-"The <literal>Configuration</literal> is used to build an (immutable) "
-"<literal>SessionFactory</literal>. The mappings are compiled from various "
-"XML mapping files."
+"An instance of <classname>org.hibernate.cfg.Configuration</classname> "
+"represents an entire set of mappings of an application's Java types to an "
+"SQL database. The <classname>org.hibernate.cfg.Configuration</classname> is "
+"used to build an (immutable) <interfacename>org.hibernate.SessionFactory</"
+"interfacename>. The mappings are compiled from various XML mapping files."
msgstr ""
"Una instancia de <literal>org.hibernate.cfg.Configuration</literal> "
-"representa un conjunto entero de mapeos de los tipos Java de una aplicación "
-"a una base de datos SQL. La <literal>Configuration</literal> es usada para "
-"construir una <literal>SessionFactory</literal> (inmutable). Los mapeos se "
-"compilan de varios ficheros de mapeo XML."
+"representa un conjunto entero de mapeos de los tipos Java de una "
+"aplicación a una base de datos SQL. La <literal>Configuration</"
+"literal> es usada para construir una <literal>SessionFactory</literal> "
+"(inmutable). Los mapeos se compilan de varios ficheros de mapeo XML."
-#. Tag: para
-#: configuration.xml:26
-#, no-c-format
+#: index.docbook:25
msgid ""
-"You may obtain a <literal>Configuration</literal> instance by instantiating "
-"it directly and specifying XML mapping documents. If the mapping files are "
-"in the classpath, use <literal>addResource()</literal>:"
+"You may obtain a <classname>org.hibernate.cfg.Configuration</classname> "
+"instance by instantiating it directly and specifying XML mapping documents. "
+"If the mapping files are in the classpath, use <literal>addResource()</"
+"literal>:"
msgstr ""
"Puedes obtener una instancia de <literal>Configuration</literal> "
-"instanciándola directamente y especificando documentos de mapeo XML. Si los "
-"ficheros de mapeo están en el classpath, usa <literal>addResource()</"
-"literal>:"
+"instanciándola directamente y especificando documentos de mapeo XML. "
+"Si los ficheros de mapeo están en el classpath, usa "
+"<literal>addResource()</literal>:"
-#. Tag: programlisting
-#: configuration.xml:32
-#, no-c-format
+#: index.docbook:31
msgid ""
"<![CDATA[Configuration cfg = new Configuration()\n"
" .addResource(\"Item.hbm.xml\")\n"
" .addResource(\"Bid.hbm.xml\");]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration()\n"
+" .addResource(\"Item.hbm.xml\")\n"
+" .addResource(\"Bid.hbm.xml\");]]>"
-#. Tag: para
-#: configuration.xml:34
-#, no-c-format
+#: index.docbook:33
msgid ""
"An alternative (sometimes better) way is to specify the mapped class, and "
"let Hibernate find the mapping document for you:"
@@ -88,42 +74,37 @@
"Una forma alternativa (a veces mejor) es especificar la clase mapeada, y "
"dejar que Hibernate encuentre el documento de mapeo por ti:"
-#. Tag: programlisting
-#: configuration.xml:39
-#, no-c-format
+#: index.docbook:38
msgid ""
"<![CDATA[Configuration cfg = new Configuration()\n"
" .addClass(org.hibernate.auction.Item.class)\n"
" .addClass(org.hibernate.auction.Bid.class);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration()\n"
+" .addClass(org.hibernate.auction.Item.class)\n"
+" .addClass(org.hibernate.auction.Bid.class);]]>"
-#. Tag: para
-#: configuration.xml:41
-#, no-c-format
+#: index.docbook:40
msgid ""
-"Then Hibernate will look for mapping files named <literal>/org/hibernate/"
-"auction/Item.hbm.xml</literal> and <literal>/org/hibernate/auction/Bid.hbm."
-"xml</literal> in the classpath. This approach eliminates any hardcoded "
+"Then Hibernate will look for mapping files named <filename>/org/hibernate/"
+"auction/Item.hbm.xml</filename> and <filename>/org/hibernate/auction/Bid.hbm."
+"xml</filename> in the classpath. This approach eliminates any hardcoded "
"filenames."
msgstr ""
-"Entonces Hibernate buscará ficheros de mapeo llamados <literal>/org/"
+"Entonces Hibernate buscará ficheros de mapeo llamados <literal>/org/"
"hibernate/auction/Item.hbm.xml</literal> y <literal>/org/hibernate/auction/"
"Bid.hbm.xml</literal> en el classpath. Este enfoque elimina cualquier nombre "
-"de fichero en el código."
+"de fichero en el código."
-#. Tag: para
-#: configuration.xml:48
-#, no-c-format
+#: index.docbook:46
msgid ""
-"A <literal>Configuration</literal> also allows you to specify configuration "
-"properties:"
+"A <classname>org.hibernate.cfg.Configuration</classname> also allows you to "
+"specify configuration properties:"
msgstr ""
-"Una <literal>Configuration</literal> también te permite especificar "
-"propiedades de configuración:"
+"Una <literal>Configuration</literal> también te permite especificar "
+"propiedades de configuración:"
-#. Tag: programlisting
-#: configuration.xml:53
-#, no-c-format
+#: index.docbook:51
msgid ""
"<![CDATA[Configuration cfg = new Configuration()\n"
" .addClass(org.hibernate.auction.Item.class)\n"
@@ -134,40 +115,40 @@
"test\")\n"
" .setProperty(\"hibernate.order_updates\", \"true\");]]>"
msgstr ""
+"<![CDATA[Configuration cfg = new Configuration()\n"
+" .addClass(org.hibernate.auction.Item.class)\n"
+" .addClass(org.hibernate.auction.Bid.class)\n"
+" .setProperty(\"hibernate.dialect\", \"org.hibernate.dialect."
+"MySQLInnoDBDialect\")\n"
+" .setProperty(\"hibernate.connection.datasource\", \"java:comp/env/jdbc/"
+"test\")\n"
+" .setProperty(\"hibernate.order_updates\", \"true\");]]>"
-#. Tag: para
-#: configuration.xml:55
-#, no-c-format
+#: index.docbook:53
msgid ""
"This is not the only way to pass configuration properties to Hibernate. The "
"various options include:"
msgstr ""
-"Esta no es la única forma de pasar propiedades de configuración a Hibernate. "
-"La diversas opciones incluyen:"
+"Esta no es la única forma de pasar propiedades de configuració"
+"n a Hibernate. La diversas opciones incluyen:"
-#. Tag: para
-#: configuration.xml:62
-#, no-c-format
+#: index.docbook:60
msgid ""
-"Pass an instance of <literal>java.util.Properties</literal> to "
+"Pass an instance of <classname>java.util.Properties</classname> to "
"<literal>Configuration.setProperties()</literal>."
msgstr ""
"Pasar una instancia de <literal>java.util.Properties</literal> a "
"<literal>Configuration.setProperties()</literal>."
-#. Tag: para
-#: configuration.xml:68
-#, no-c-format
+#: index.docbook:66
msgid ""
-"Place <literal>hibernate.properties</literal> in a root directory of the "
-"classpath."
+"Place a file named <filename>hibernate.properties</filename> in a root "
+"directory of the classpath."
msgstr ""
-"Colocar <literal>hibernate.properties</literal> en un directorio raíz del "
-"classpath."
+"Colocar <literal>hibernate.properties</literal> en un directorio raíz "
+"del classpath."
-#. Tag: para
-#: configuration.xml:74
-#, no-c-format
+#: index.docbook:71
msgid ""
"Set <literal>System</literal> properties using <literal>java -"
"Dproperty=value</literal>."
@@ -175,9 +156,7 @@
"Establecer propiedades <literal>System</literal> usando <literal>java -"
"Dproperty=value</literal>."
-#. Tag: para
-#: configuration.xml:80
-#, no-c-format
+#: index.docbook:76
msgid ""
"Include <literal><property></literal> elements in <literal>hibernate."
"cfg.xml</literal> (discussed later)."
@@ -185,271 +164,205 @@
"Incluir elementos <literal><property></literal> en <literal>hibernate."
"cfg.xml</literal> (discutido luego)."
-#. Tag: para
-#: configuration.xml:87
-#, no-c-format
+#: index.docbook:83
msgid ""
-"<literal>hibernate.properties</literal> is the easiest approach if you want "
-"to get started quickly."
+"<filename>hibernate.properties</filename> is the easiest approach if you "
+"want to get started quickly."
msgstr ""
-"<literal>hibernate.properties</literal> es el enfoque más fácil si quieres "
-"comenzar rápido."
+"<literal>hibernate.properties</literal> es el enfoque más fá"
+"cil si quieres comenzar rápido."
-#. Tag: para
-#: configuration.xml:92
-#, no-c-format
+#: index.docbook:87
msgid ""
-"The <literal>Configuration</literal> is intended as a startup-time object, "
-"to be discarded once a <literal>SessionFactory</literal> is created."
+"The <classname>org.hibernate.cfg.Configuration</classname> is intended as a "
+"startup-time object, to be discarded once a <literal>SessionFactory</"
+"literal> is created."
msgstr ""
-"La <literal>Configuration</literal> está concebida como un objeto de tiempo "
-"de arranque, para ser descartado una vez que una <literal>SessionFactory</"
-"literal> es creada."
+"La <literal>Configuration</literal> está concebida como un objeto de "
+"tiempo de arranque, para ser descartado una vez que una "
+"<literal>SessionFactory</literal> es creada."
-#. Tag: title
-#: configuration.xml:100
-#, no-c-format
+#: index.docbook:95
msgid "Obtaining a SessionFactory"
msgstr "Obteniendo una SessionFactory"
-#. Tag: para
-#: configuration.xml:102
-#, no-c-format
+#: index.docbook:97
msgid ""
-"When all mappings have been parsed by the <literal>Configuration</literal>, "
-"the application must obtain a factory for <literal>Session</literal> "
-"instances. This factory is intended to be shared by all application threads:"
+"When all mappings have been parsed by the <classname>org.hibernate.cfg."
+"Configuration</classname>, the application must obtain a factory for "
+"<interfacename>org.hibernate.Session</interfacename> instances. This factory "
+"is intended to be shared by all application threads:"
msgstr ""
"Cuando todos los mapeos han sido parseados por la <literal>Configuration</"
-"literal>, la aplicación debe obtener una fábrica de instancias de "
-"<literal>Session</literal>. Esta fábrica está concebida para ser compartida "
-"por todas las hebras de aplicación:"
+"literal>, la aplicación debe obtener una fábrica de instancias "
+"de <literal>Session</literal>. Esta fábrica está concebida "
+"para ser compartida por todas las hebras de aplicación:"
-#. Tag: programlisting
-#: configuration.xml:108
-#, no-c-format
+#: index.docbook:103
msgid "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-msgstr ""
+msgstr "<![CDATA[SessionFactory sessions = cfg.buildSessionFactory();]]>"
-#. Tag: para
-#: configuration.xml:110
-#, no-c-format
+#: index.docbook:105
msgid ""
"Hibernate does allow your application to instantiate more than one "
-"<literal>SessionFactory</literal>. This is useful if you are using more than "
-"one database."
+"<interfacename>org.hibernate.SessionFactory</interfacename>. This is useful "
+"if you are using more than one database."
msgstr ""
-"Hibernate permite que tu aplicación instancie más de una "
-"<literal>SessionFactory</literal>. Esto es útil si estás usando más de una "
-"base de datos."
+"Hibernate permite que tu aplicación instancie más de una "
+"<literal>SessionFactory</literal>. Esto es útil si estás "
+"usando más de una base de datos."
-#. Tag: title
-#: configuration.xml:119
-#, no-c-format
+#: index.docbook:114
msgid "JDBC connections"
msgstr "Conexiones JDBC"
-#. Tag: para
-#: configuration.xml:121
-#, no-c-format
+#: index.docbook:116
msgid ""
-"Usually, you want to have the <literal>SessionFactory</literal> create and "
-"pool JDBC connections for you. If you take this approach, opening a "
-"<literal>Session</literal> is as simple as:"
+"Usually, you want to have the <interfacename>org.hibernate.SessionFactory</"
+"interfacename> create and pool JDBC connections for you. If you take this "
+"approach, opening a <interfacename>org.hibernate.Session</interfacename> is "
+"as simple as:"
msgstr ""
"Usualmente, quieres que la <literal>SessionFactory</literal> cree y almacene "
"en pool conexiones JDBC para ti. Si adoptas este enfoque, abrir una "
"<literal>Session</literal> es tan simple como:"
-#. Tag: programlisting
-#: configuration.xml:127
-#, no-c-format
+#: index.docbook:122
msgid ""
"<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
msgstr ""
+"<![CDATA[Session session = sessions.openSession(); // open a new Session]]>"
-#. Tag: para
-#: configuration.xml:129
-#, no-c-format
+#: index.docbook:124
msgid ""
"As soon as you do something that requires access to the database, a JDBC "
"connection will be obtained from the pool."
msgstr ""
-"En cuanto hagas algo que requiera acceso a la base de datos, se obtendrá una "
-"conexión JDBC del pool."
+"En cuanto hagas algo que requiera acceso a la base de datos, se "
+"obtendrá una conexión JDBC del pool."
-#. Tag: para
-#: configuration.xml:134
-#, no-c-format
+#: index.docbook:129
msgid ""
"For this to work, we need to pass some JDBC connection properties to "
"Hibernate. All Hibernate property names and semantics are defined on the "
-"class <literal>org.hibernate.cfg.Environment</literal>. We will now describe "
-"the most important settings for JDBC connection configuration."
+"class <classname>org.hibernate.cfg.Environment</classname>. We will now "
+"describe the most important settings for JDBC connection configuration."
msgstr ""
-"Para que esto funcione, necesitamos pasar algunas propiedades de conexión "
-"JDBC a Hibernate. Todos los nombres de propiedades y su semántica están "
-"definidas en la clase <literal>org.hibernate.cfg.Environment</literal>. "
-"Describiremos ahora las configuraciones más importantes para la conexión "
-"JDBC."
+"Para que esto funcione, necesitamos pasar algunas propiedades de "
+"conexión JDBC a Hibernate. Todos los nombres de propiedades y su "
+"semántica están definidas en la clase <literal>org.hibernate."
+"cfg.Environment</literal>. Describiremos ahora las configuraciones má"
+"s importantes para la conexión JDBC."
-#. Tag: para
-#: configuration.xml:141
-#, no-c-format
+#: index.docbook:135
msgid ""
-"Hibernate will obtain (and pool) connections using <literal>java.sql."
-"DriverManager</literal> if you set the following properties:"
+"Hibernate will obtain (and pool) connections using <classname>java.sql."
+"DriverManager</classname> if you set the following properties:"
msgstr ""
-"Hibernate obtendrá (y tendrá en pool) conexiones usando <literal>java.sql."
-"DriverManager</literal> si configuras las siguientes propiedades:"
+"Hibernate obtendrá (y tendrá en pool) conexiones usando "
+"<literal>java.sql.DriverManager</literal> si configuras las siguientes "
+"propiedades:"
-#. Tag: title
-#: configuration.xml:147
-#, no-c-format
+#: index.docbook:141
msgid "Hibernate JDBC Properties"
msgstr "Propiedades JDBC de Hibernate"
-#. Tag: entry
-#: configuration.xml:153 configuration.xml:241 configuration.xml:338
-#: configuration.xml:529 configuration.xml:725 configuration.xml:832
-#: configuration.xml:920
-#, no-c-format
+#: index.docbook:147, index.docbook:233, index.docbook:329, index.docbook:524,
+#: index.docbook:719, index.docbook:826, index.docbook:914
msgid "Property name"
msgstr "Nombre de propiedad"
-#. Tag: entry
-#: configuration.xml:154 configuration.xml:242 configuration.xml:339
-#: configuration.xml:530 configuration.xml:726 configuration.xml:833
-#: configuration.xml:921
-#, fuzzy, no-c-format
+#: index.docbook:148, index.docbook:234, index.docbook:330, index.docbook:525,
+#: index.docbook:720, index.docbook:827, index.docbook:915
msgid "Purpose"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propoósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Propósito"
+msgstr "Propósito"
-#. Tag: literal
-#: configuration.xml:160
-#, no-c-format
+#: index.docbook:154
msgid "hibernate.connection.driver_class"
msgstr "hibernate.connection.driver_class"
-#. Tag: emphasis
-#: configuration.xml:163
-#, no-c-format
+#: index.docbook:157
msgid "JDBC driver class"
msgstr "clase del driver jdbc"
-#. Tag: literal
-#: configuration.xml:168
-#, no-c-format
+#: index.docbook:162
msgid "hibernate.connection.url"
msgstr "hibernate.connection.url"
-#. Tag: emphasis
-#: configuration.xml:171
-#, no-c-format
+#: index.docbook:165
msgid "JDBC URL"
msgstr "URL de jdbc"
-#. Tag: literal
-#: configuration.xml:176 configuration.xml:272
-#, no-c-format
+#: index.docbook:170, index.docbook:264
msgid "hibernate.connection.username"
msgstr "hibernate.connection.username"
-#. Tag: emphasis
-#: configuration.xml:179
-#, no-c-format
+#: index.docbook:173
msgid "database user"
msgstr "usuario de base de datos"
-#. Tag: literal
-#: configuration.xml:184 configuration.xml:280
-#, no-c-format
+#: index.docbook:178, index.docbook:272
msgid "hibernate.connection.password"
msgstr "hibernate.connection.password"
-#. Tag: emphasis
-#: configuration.xml:187
-#, no-c-format
+#: index.docbook:181
msgid "database user password"
-msgstr "contraseña del usuario de base de datos"
+msgstr "contraseña del usuario de base de datos"
-#. Tag: literal
-#: configuration.xml:192
-#, no-c-format
+#: index.docbook:186
msgid "hibernate.connection.pool_size"
msgstr "hibernate.connection.pool_size"
-#. Tag: emphasis
-#: configuration.xml:195
-#, no-c-format
+#: index.docbook:189
msgid "maximum number of pooled connections"
-msgstr "número máximo de conexiones manejadas por pooling"
+msgstr "número máximo de conexiones manejadas por pooling"
-#. Tag: para
-#: configuration.xml:202
-#, no-c-format
+#: index.docbook:196
msgid ""
"Hibernate's own connection pooling algorithm is however quite rudimentary. "
"It is intended to help you get started and is <emphasis>not intended for use "
"in a production system</emphasis> or even for performance testing. You "
"should use a third party pool for best performance and stability. Just "
-"replace the <literal>hibernate.connection.pool_size</literal> property with "
-"connection pool specific settings. This will turn off Hibernate's internal "
-"pool. For example, you might like to use C3P0."
+"replace the <property>hibernate.connection.pool_size</property> property "
+"with connection pool specific settings. This will turn off Hibernate's "
+"internal pool. For example, you might like to use C3P0."
msgstr ""
"El algoritmo de pooling de conexiones propio de Hibernate es sin embargo "
-"algo rudimentario. Está concebido para ayudarte a comenzar y <emphasis>no "
-"está concebido para usar en un sistema de producción</emphasis> ni siquiera "
-"para pruebas de rendimiento. Debes usar un pool de terceros para un mejor "
-"rendimiento y estabilidad. Sólo remplaza la propiedad <literal>hibernate."
-"connection.pool_size</literal> con configuraciones específicas del pool de "
-"conexiones. Esto desactivará el pool interno de Hibernate. Por ejemplo, "
-"podrías querer usar C3P0."
+"algo rudimentario. Está concebido para ayudarte a comenzar y "
+"<emphasis>no está concebido para usar en un sistema de "
+"producción</emphasis> ni siquiera para pruebas de rendimiento. Debes "
+"usar un pool de terceros para un mejor rendimiento y estabilidad. Só"
+"lo remplaza la propiedad <literal>hibernate.connection.pool_size</literal> "
+"con configuraciones específicas del pool de conexiones. Esto "
+"desactivará el pool interno de Hibernate. Por ejemplo, podrías "
+"querer usar C3P0."
-#. Tag: para
-#: configuration.xml:212
-#, no-c-format
+#: index.docbook:206
msgid ""
"C3P0 is an open source JDBC connection pool distributed along with Hibernate "
-"in the <literal>lib</literal> directory. Hibernate will use its "
-"<literal>C3P0ConnectionProvider</literal> for connection pooling if you set "
-"<literal>hibernate.c3p0.*</literal> properties. If you'd like to use Proxool "
-"refer to the packaged <literal>hibernate.properties</literal> and the "
-"Hibernate web site for more information."
+"in the <filename>lib</filename> directory. Hibernate will use its "
+"<classname>org.hibernate.connection.C3P0ConnectionProvider</classname> for "
+"connection pooling if you set <property>hibernate.c3p0.*</property> "
+"properties. If you'd like to use Proxool refer to the packaged "
+"<filename>hibernate.properties</filename> and the Hibernate web site for "
+"more information."
msgstr ""
-"C3P0 es un pool de conexiones JDBC de código abierto distribuido junto a "
-"Hibernate en el directorio <literal>lib</literal>. Hibernate usará su "
-"<literal>C3P0ConnectionProvider</literal> para pooling de conexiones si "
-"estableces propiedades <literal>hibernate.c3p0.*</literal>. Si quieres usar "
-"Proxool refiérete al <literal>hibernate.properties</literal> empaquetado y "
-"al sitio web de Hibernate para más información."
+"C3P0 es un pool de conexiones JDBC de código abierto distribuido "
+"junto a Hibernate en el directorio <literal>lib</literal>. Hibernate "
+"usará su <literal>C3P0ConnectionProvider</literal> para pooling de "
+"conexiones si estableces propiedades <literal>hibernate.c3p0.*</literal>. Si "
+"quieres usar Proxool refiérete al <literal>hibernate.properties</"
+"literal> empaquetado y al sitio web de Hibernate para más "
+"información."
-#. Tag: para
-#: configuration.xml:221
-#, no-c-format
+#: index.docbook:214
msgid ""
-"Here is an example <literal>hibernate.properties</literal> file for C3P0:"
+"Here is an example <filename>hibernate.properties</filename> file for C3P0:"
msgstr ""
-"Aquí hay un fichero <literal>hibernate.properties</literal> de ejemplo para "
-"C3P0:"
+"Aquí hay un fichero <literal>hibernate.properties</literal> de "
+"ejemplo para C3P0:"
-#. Tag: programlisting
-#: configuration.xml:225
-#, no-c-format
+#: index.docbook:218
msgid ""
"<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
"hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
@@ -461,90 +374,79 @@
"hibernate.c3p0.max_statements=50\n"
"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
msgstr ""
+"<![CDATA[hibernate.connection.driver_class = org.postgresql.Driver\n"
+"hibernate.connection.url = jdbc:postgresql://localhost/mydatabase\n"
+"hibernate.connection.username = myuser\n"
+"hibernate.connection.password = secret\n"
+"hibernate.c3p0.min_size=5\n"
+"hibernate.c3p0.max_size=20\n"
+"hibernate.c3p0.timeout=1800\n"
+"hibernate.c3p0.max_statements=50\n"
+"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
-#. Tag: para
-#: configuration.xml:227
-#, no-c-format
+#: index.docbook:220
msgid ""
"For use inside an application server, you should almost always configure "
"Hibernate to obtain connections from an application server "
-"<literal>Datasource</literal> registered in JNDI. You'll need to set at "
-"least one of the following properties:"
+"<interfacename>javax.sql.Datasource</interfacename> registered in JNDI. "
+"You'll need to set at least one of the following properties:"
msgstr ""
"Para su uso en un servidor de aplicaciones, casi siempre debes configurar "
"Hibernate para que obtenga conexiones de un <literal>Datasource</literal> "
-"del servidor de aplicaciones registrado en JNDI. Necesitarás establecer al "
-"menos una de las siguientes propiedades:"
+"del servidor de aplicaciones registrado en JNDI. Necesitarás "
+"establecer al menos una de las siguientes propiedades:"
-#. Tag: title
-#: configuration.xml:235
-#, no-c-format
+#: index.docbook:227
msgid "Hibernate Datasource Properties"
msgstr "Propiedades de Datasource de Hibernate"
-#. Tag: literal
-#: configuration.xml:248
-#, no-c-format
+#: index.docbook:240
msgid "hibernate.connection.datasource"
msgstr "hibernate.connection.datasource"
-#. Tag: emphasis
-#: configuration.xml:251
-#, no-c-format
+#: index.docbook:243
msgid "datasource JNDI name"
msgstr "nombre del datasource JNDI"
-#. Tag: literal
-#: configuration.xml:256
-#, no-c-format
+#: index.docbook:248
msgid "hibernate.jndi.url"
msgstr "hibernate.jndi.url"
-#. Tag: entry
-#: configuration.xml:258
-#, fuzzy, no-c-format
+#: index.docbook:250
msgid "<emphasis>URL of the JNDI provider</emphasis> (optional)"
-msgstr "URL del provedor JNDI"
+msgstr "<emphasis>URL del provedor JNDI</emphasis> (optional)"
-#. Tag: literal
-#: configuration.xml:264
-#, no-c-format
+#: index.docbook:256
msgid "hibernate.jndi.class"
msgstr "hibernate.jndi.class"
-#. Tag: entry
-#: configuration.xml:266
-#, no-c-format
+#: index.docbook:258
msgid ""
"<emphasis>class of the JNDI <literal>InitialContextFactory</literal></"
"emphasis> (optional)"
msgstr ""
+"<emphasis>clase de la <literal>InitialContextFactory</literal> de JNDI</"
+"emphasis> (opcional)"
-#. Tag: entry
-#: configuration.xml:274
-#, no-c-format
+#: index.docbook:266
msgid "<emphasis>database user</emphasis> (optional)"
-msgstr ""
+msgstr "<emphasis>usuario de base de datos</emphasis> (opcional)"
-#. Tag: entry
-#: configuration.xml:282
-#, no-c-format
+#: index.docbook:274
msgid "<emphasis>database user password</emphasis> (optional)"
msgstr ""
+"<emphasis>contraseña del usuario de base de datos</emphasis> "
+"(opcional)"
-#. Tag: para
-#: configuration.xml:290
-#, no-c-format
+#: index.docbook:282
msgid ""
-"Here's an example <literal>hibernate.properties</literal> file for an "
+"Here's an example <filename>hibernate.properties</filename> file for an "
"application server provided JNDI datasource:"
msgstr ""
-"He aquí un fichero <literal>hibernate.properties</literal> de ejemplo para "
-"un un datasource JNDI provisto por un servidor de aplicaciones."
+"He aquí un fichero <literal>hibernate.properties</literal> de ejemplo "
+"para un un datasource JNDI provisto por un servidor de aplicaciones."
-#. Tag: programlisting
-#: configuration.xml:295
-#, no-c-format
+#: index.docbook:287
msgid ""
"<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
"hibernate.transaction.factory_class = \\\n"
@@ -553,437 +455,214 @@
" org.hibernate.transaction.JBossTransactionManagerLookup\n"
"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
msgstr ""
+"<![CDATA[hibernate.connection.datasource = java:/comp/env/jdbc/test\n"
+"hibernate.transaction.factory_class = \\\n"
+" org.hibernate.transaction.JTATransactionFactory\n"
+"hibernate.transaction.manager_lookup_class = \\\n"
+" org.hibernate.transaction.JBossTransactionManagerLookup\n"
+"hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>"
-#. Tag: para
-#: configuration.xml:297
-#, no-c-format
+#: index.docbook:289
msgid ""
"JDBC connections obtained from a JNDI datasource will automatically "
"participate in the container-managed transactions of the application server."
msgstr ""
-"Las conexiones JDBC obtenidas de un datasource JNDI participarán "
-"automáticamente en las transacciones del servidor de aplicaciones manejadas "
-"por contenedor."
+"Las conexiones JDBC obtenidas de un datasource JNDI participarán "
+"automáticamente en las transacciones del servidor de aplicaciones "
+"manejadas por contenedor."
-#. Tag: para
-#: configuration.xml:302
-#, no-c-format
+#: index.docbook:294
msgid ""
"Arbitrary connection properties may be given by prepending "
-"\"<literal>hibernate.connection</literal>\" to the property name. For "
-"example, you may specify a <literal>charSet</literal> using "
-"<literal>hibernate.connection.charSet</literal>."
+"\"<literal>hibernate.connection</literal>\" to the connection property name. "
+"For example, you may specify a <property>charSet</property> connection "
+"property using <property>hibernate.connection.charSet</property>."
msgstr ""
-"Pueden darse propiedades de conexión arbitrarias anteponiendo "
+"Pueden darse propiedades de conexión arbitrarias anteponiendo "
"\"<literal>hibernate.connnection</literal>\" al nombre de propiedad. Por "
"ejemplo, puedes especificar un <literal>charSet</literal> usando "
"<literal>hibernate.connection.charSet</literal>."
-#. Tag: para
-#: configuration.xml:308
-#, no-c-format
+#: index.docbook:300
msgid ""
"You may define your own plugin strategy for obtaining JDBC connections by "
-"implementing the interface <literal>org.hibernate.connection."
-"ConnectionProvider</literal>. You may select a custom implementation by "
-"setting <literal>hibernate.connection.provider_class</literal>."
+"implementing the interface <interfacename>org.hibernate.connection."
+"ConnectionProvider</interfacename>, and specifying your custom "
+"implementation via the <property>hibernate.connection.provider_class</"
+"property> property."
msgstr ""
"Puedes definir tu propia estrategia de plugin para obtener conexiones JDBC "
"implementando la interface <literal>org.hibernate.connection."
-"ConnectionProvider</literal>. Puedes seleccionar una implementación "
+"ConnectionProvider</literal>. Puedes seleccionar una implementación "
"personalizada estableciendo <literal>hibernate.connection.provider_class</"
"literal>."
-#. Tag: title
-#: configuration.xml:317
-#, no-c-format
+#: index.docbook:309
msgid "Optional configuration properties"
-msgstr "Parámetros de configuración opcionales"
+msgstr "Parámetros de configuración opcionales"
-#. Tag: para
-#: configuration.xml:319
-#, no-c-format
+#: index.docbook:311
msgid ""
"There are a number of other properties that control the behaviour of "
"Hibernate at runtime. All are optional and have reasonable default values."
msgstr ""
-"Hay un número de otras propiedades que controlan el comportamiento de "
-"Hibernate en tiempo de ejecución. Todas son opcionales y tienen valores por "
-"defecto razonables."
+"Hay un número de otras propiedades que controlan el comportamiento de "
+"Hibernate en tiempo de ejecución. Todas son opcionales y tienen "
+"valores por defecto razonables."
-#. Tag: para
-#: configuration.xml:324
-#, no-c-format
+#: index.docbook:316
msgid ""
"<emphasis>Warning: some of these properties are \"system-level\" only.</"
"emphasis> System-level properties can be set only via <literal>java -"
-"Dproperty=value</literal> or <literal>hibernate.properties</literal>. They "
+"Dproperty=value</literal> or <filename>hibernate.properties</filename>. They "
"may <emphasis>not</emphasis> be set by the other techniques described above."
msgstr ""
"<emphasis>Advertencia: algunas de estas propiedades son de \"nivel-de-sistema"
-"\" solamente.</emphasis>. Las propiedades a nivel de sistema sólo pueden ser "
-"establecidas por medio de <literal>java -Dproperty=value</literal> o "
-"<literal>hibernate.properties</literal>. <emphasis>No</emphasis> pueden "
-"establecerse por medio de las otras técnicas arriba descritas."
+"\" solamente.</emphasis>. Las propiedades a nivel de sistema sólo "
+"pueden ser establecidas por medio de <literal>java -Dproperty=value</"
+"literal> o <literal>hibernate.properties</literal>. <emphasis>No</emphasis> "
+"pueden establecerse por medio de las otras técnicas arriba descritas."
-#. Tag: title
-#: configuration.xml:332
-#, no-c-format
+#: index.docbook:323
msgid "Hibernate Configuration Properties"
-msgstr "Propiedades de Configuración de Hibernate"
+msgstr "Propiedades de Configuración de Hibernate"
-#. Tag: literal
-#: configuration.xml:345
-#, no-c-format
+#: index.docbook:336
msgid "hibernate.dialect"
msgstr "hibernate.dialect"
-#. Tag: entry
-#: configuration.xml:347
-#, fuzzy, no-c-format
+#: index.docbook:338
msgid ""
-"The classname of a Hibernate <literal>Dialect</literal> which allows "
-"Hibernate to generate SQL optimized for a particular relational database."
+"The classname of a Hibernate <classname>org.hibernate.dialect.Dialect</"
+"classname> which allows Hibernate to generate SQL optimized for a particular "
+"relational database."
msgstr ""
-"El nombre de clase de un <placeholder-1/> de Hibernate que permite a "
-"Hibernate generar SQL optimizado para una base de datos relacional en "
-"particular. <placeholder-2/>"
+"El nombre de clase de un <literal>Dialect</literal> de Hibernate que permite "
+"a Hibernate generar SQL optimizado para una base de datos relacional en "
+"particular."
-#. Tag: para
-#: configuration.xml:351
-#, fuzzy, no-c-format
+#: index.docbook:341
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>full.classname.of.Dialect</"
"literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>full.classname.of.Dialect</"
+"literal>"
-#. Tag: literal
-#: configuration.xml:359
-#, no-c-format
+#: index.docbook:345
+msgid ""
+"In most cases Hibernate will actually be able to chose the correct "
+"<classname>org.hibernate.dialect.Dialect</classname> implementation to use "
+"based on the <literal>JDBC metadata</literal> returned by the JDBC driver."
+msgstr ""
+"UNTRANSLATED! In most cases Hibernate will actually be able to chose the "
+"correct <classname>org.hibernate.dialect.Dialect</classname> implementation "
+"to use based on the <literal>JDBC metadata</literal> returned by the JDBC "
+"driver."
+
+#: index.docbook:354
msgid "hibernate.show_sql"
msgstr "hibernate.show_sql"
-#. Tag: entry
-#: configuration.xml:361
-#, fuzzy, no-c-format
+#: index.docbook:356
msgid ""
"Write all SQL statements to console. This is an alternative to setting the "
"log category <literal>org.hibernate.SQL</literal> to <literal>debug</"
"literal>."
msgstr ""
"Escribe todas las sentencias SQL a la consola. This is an alternative to "
-"setting the log category <placeholder-1/> to <placeholder-2/>. <placeholder-"
-"3/>"
+"setting the log category <literal>org.hibernate.SQL</literal> to "
+"<literal>debug</literal>."
-#. Tag: para
-#: configuration.xml:365 configuration.xml:377 configuration.xml:471
-#: configuration.xml:484 configuration.xml:497 configuration.xml:510
-#: configuration.xml:564 configuration.xml:591 configuration.xml:605
-#: configuration.xml:660 configuration.xml:888 configuration.xml:903
-#: configuration.xml:993
-#, fuzzy, no-c-format
+#: index.docbook:360, index.docbook:372, index.docbook:466, index.docbook:479,
+#: index.docbook:492, index.docbook:505, index.docbook:559, index.docbook:586,
+#: index.docbook:599, index.docbook:654, index.docbook:882, index.docbook:897,
+#: index.docbook:987
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | "
"<literal>false</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
+"<emphasis role=\"strong\">eg.</emphasis> <literal>true</literal> | "
"<literal>false</literal>"
-#. Tag: literal
-#: configuration.xml:373
-#, no-c-format
+#: index.docbook:368
msgid "hibernate.format_sql"
msgstr "hibernate.format_sql"
-#. Tag: entry
-#: configuration.xml:375
-#, fuzzy, no-c-format
+#: index.docbook:370
msgid "Pretty print the SQL in the log and console."
-msgstr "Pretty print the SQL in the log and console. <placeholder-1/>"
+msgstr "Pretty print the SQL in the log and console."
-#. Tag: literal
-#: configuration.xml:385
-#, no-c-format
+#: index.docbook:380
msgid "hibernate.default_schema"
msgstr "hibernate.default_schema"
-#. Tag: entry
-#: configuration.xml:387
-#, fuzzy, no-c-format
+#: index.docbook:382
msgid ""
"Qualify unqualified table names with the given schema/tablespace in "
"generated SQL."
msgstr ""
"Cualifica, en el SQL generado, los nombres de tabla sin cualificar con el "
-"esquema/tablespace dado. <placeholder-1/>"
+"esquema/tablespace dado."
-#. Tag: para
-#: configuration.xml:390
-#, fuzzy, no-c-format
+#: index.docbook:385
msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>SCHEMA_NAME</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>SCHEMA_NAME</literal>"
-#. Tag: literal
-#: configuration.xml:398
-#, no-c-format
+#: index.docbook:393
msgid "hibernate.default_catalog"
msgstr "hibernate.default_catalog"
-#. Tag: entry
-#: configuration.xml:400
-#, fuzzy, no-c-format
+#: index.docbook:395
msgid ""
"Qualify unqualified table names with the given catalog in generated SQL."
msgstr ""
"Cualifica, en el SQL generado, los nombres de tabla sin cualificar con el "
-"catálogo dado. <placeholder-1/>"
+"catálogo dado."
-#. Tag: para
-#: configuration.xml:403
-#, fuzzy, no-c-format
+#: index.docbook:398
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>CATALOG_NAME</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>CATALOG_NAME</literal>"
-#. Tag: literal
-#: configuration.xml:411
-#, no-c-format
+#: index.docbook:406
msgid "hibernate.session_factory_name"
msgstr "hibernate.session_factory_name"
-#. Tag: entry
-#: configuration.xml:413
-#, fuzzy, no-c-format
+#: index.docbook:408
msgid ""
-"The <literal>SessionFactory</literal> will be automatically bound to this "
-"name in JNDI after it has been created."
+"The <interfacename>org.hibernate.SessionFactory</interfacename> will be "
+"automatically bound to this name in JNDI after it has been created."
msgstr ""
-"La <placeholder-1/> será ligada a este nombre en JNDI automáticamente "
-"después de ser creada. <placeholder-2/>"
+"La <literal>SessionFactory</literal> será ligada a este nombre en "
+"JNDI automáticamente después de ser creada."
-#. Tag: para
-#: configuration.xml:416 configuration.xml:859
-#, fuzzy, no-c-format
+#: index.docbook:411, index.docbook:853
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>jndi/composite/name</"
"literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>jndi/composite/name</"
+"literal>"
-#. Tag: literal
-#: configuration.xml:424
-#, no-c-format
+#: index.docbook:419
msgid "hibernate.max_fetch_depth"
msgstr "hibernate.max_fetch_depth"
-#. Tag: entry
-#: configuration.xml:426
-#, fuzzy, no-c-format
+#: index.docbook:421
msgid ""
"Set a maximum \"depth\" for the outer join fetch tree for single-ended "
"associations (one-to-one, many-to-one). A <literal>0</literal> disables "
"default outer join fetching."
msgstr ""
-"Establece una \"profundidad\" máxima del árbol de recuperación por outer "
-"join para asociaciones de un extremo solo (uno-a-uno, muchos-a-uno). Un "
-"<placeholder-1/> deshabilita la recuperación por outer join por defecto. "
-"<placeholder-2/>"
+"Establece una \"profundidad\" máxima del árbol de "
+"recuperación por outer join para asociaciones de un extremo solo (uno-"
+"a-uno, muchos-a-uno). Un <literal>0</literal> deshabilita la "
+"recuperación por outer join por defecto."
-#. Tag: para
-#: configuration.xml:430
-#, no-c-format
+#: index.docbook:425
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> recommended values between "
"<literal>0</literal> and <literal>3</literal>"
@@ -991,23 +670,17 @@
"<emphasis role=\"strong\">ej.</emphasis> valores recomendados entre "
"<literal>0</literal> y <literal>3</literal>"
-#. Tag: literal
-#: configuration.xml:439
-#, no-c-format
+#: index.docbook:434
msgid "hibernate.default_batch_fetch_size"
msgstr "hibernate.default_batch_fetch_size"
-#. Tag: entry
-#: configuration.xml:441
-#, fuzzy, no-c-format
+#: index.docbook:436
msgid "Set a default size for Hibernate batch fetching of associations."
msgstr ""
-"Establece un tamaño por defecto para la recuperación en lote de asociaciones "
-"de Hibernate. <placeholder-1/>"
+"Establece un tamaño por defecto para la recuperación en lote "
+"de asociaciones de Hibernate."
-#. Tag: para
-#: configuration.xml:443
-#, no-c-format
+#: index.docbook:438
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> recommended values <literal>4</"
"literal>, <literal>8</literal>, <literal>16</literal>"
@@ -1015,25 +688,19 @@
"<emphasis role=\"strong\">ej.</emphasis> valores recomendados <literal>4</"
"literal>, <literal>8</literal>, <literal>16</literal>"
-#. Tag: literal
-#: configuration.xml:452
-#, no-c-format
+#: index.docbook:447
msgid "hibernate.default_entity_mode"
msgstr "hibernate.default_entity_mode"
-#. Tag: entry
-#: configuration.xml:454
-#, fuzzy, no-c-format
+#: index.docbook:449
msgid ""
"Set a default mode for entity representation for all sessions opened from "
"this <literal>SessionFactory</literal>"
msgstr ""
-"Establece un modo por defecto de representación de entidades para todas las "
-"sesiones abiertas por esta <placeholder-1/><placeholder-2/>"
+"Establece un modo por defecto de representación de entidades para "
+"todas las sesiones abiertas por esta <literal>SessionFactory</literal>"
-#. Tag: para
-#: configuration.xml:457
-#, no-c-format
+#: index.docbook:452
msgid ""
"<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
"literal>"
@@ -1041,110 +708,84 @@
"<literal>dynamic-map</literal>, <literal>dom4j</literal>, <literal>pojo</"
"literal>"
-#. Tag: literal
-#: configuration.xml:465
-#, no-c-format
+#: index.docbook:460
msgid "hibernate.order_updates"
msgstr "hibernate.order_updates"
-#. Tag: entry
-#: configuration.xml:467
-#, fuzzy, no-c-format
+#: index.docbook:462
msgid ""
"Force Hibernate to order SQL updates by the primary key value of the items "
"being updated. This will result in fewer transaction deadlocks in highly "
"concurrent systems."
msgstr ""
"Fuerza a Hibernate a ordenar las actualizaciones SQL por el valor de la "
-"clave primaria de los items a actualizar. Esto resultará en menos bloqueos "
-"muertos de transacción en sistemas altamente concurrentes. <placeholder-1/>"
+"clave primaria de los items a actualizar. Esto resultará en menos "
+"bloqueos muertos de transacción en sistemas altamente concurrentes."
-#. Tag: literal
-#: configuration.xml:479
-#, no-c-format
+#: index.docbook:474
msgid "hibernate.generate_statistics"
msgstr "hibernate.generate_statistics"
-#. Tag: entry
-#: configuration.xml:481
-#, fuzzy, no-c-format
+#: index.docbook:476
msgid ""
"If enabled, Hibernate will collect statistics useful for performance tuning."
msgstr ""
-"De habilitarse, Hibernate colectará estadísticas útiles para la afinación de "
-"rendimiento. <placeholder-1/>"
+"De habilitarse, Hibernate colectará estadísticas útiles "
+"para la afinación de rendimiento."
-#. Tag: literal
-#: configuration.xml:492
-#, no-c-format
+#: index.docbook:487
msgid "hibernate.use_identifier_rollback"
msgstr "hibernate.use_identifer_rollback"
-#. Tag: entry
-#: configuration.xml:494
-#, fuzzy, no-c-format
+#: index.docbook:489
msgid ""
"If enabled, generated identifier properties will be reset to default values "
"when objects are deleted."
msgstr ""
-"De habilitarse, las propiedades identificadoras generadas serán reseteadas a "
-"valores por defecto cuando los objetos sean borrados. <placeholder-1/>"
+"De habilitarse, las propiedades identificadoras generadas serán "
+"reseteadas a valores por defecto cuando los objetos sean borrados."
-#. Tag: literal
-#: configuration.xml:505
-#, no-c-format
+#: index.docbook:500
msgid "hibernate.use_sql_comments"
msgstr "hibernate.use_sql_comments"
-#. Tag: entry
-#: configuration.xml:507
-#, fuzzy, no-c-format
+#: index.docbook:502
msgid ""
"If turned on, Hibernate will generate comments inside the SQL, for easier "
"debugging, defaults to <literal>false</literal>."
msgstr ""
-"De activarse, Hibernate generará comentarios dentro del SQL, para una más "
-"fácil depuración, por defecto a <placeholder-1/>. <placeholder-2/>"
+"De activarse, Hibernate generará comentarios dentro del SQL, para una "
+"más fácil depuración, por defecto a <literal>false</"
+"literal>."
-#. Tag: title
-#: configuration.xml:521
-#, no-c-format
+#: index.docbook:516
msgid "Hibernate JDBC and Connection Properties"
msgstr "Propiedades de JDBC y Conexiones de Hibernate"
-#. Tag: literal
-#: configuration.xml:536
-#, no-c-format
+#: index.docbook:531
msgid "hibernate.jdbc.fetch_size"
msgstr "hibernate.jdbc.fetch_size"
-#. Tag: entry
-#: configuration.xml:538
-#, fuzzy, no-c-format
+#: index.docbook:533
msgid ""
"A non-zero value determines the JDBC fetch size (calls <literal>Statement."
"setFetchSize()</literal>)."
msgstr ""
-"Un valor distinto de cero que determina el tamaño de recuperación de JDBC "
-"(llama a <placeholder-1/>)."
+"Un valor distinto de cero que determina el tamaño de "
+"recuperación de JDBC (llama a <literal>Statement.setFetchSize()</"
+"literal>)."
-#. Tag: literal
-#: configuration.xml:545
-#, no-c-format
+#: index.docbook:540
msgid "hibernate.jdbc.batch_size"
msgstr "hibernate.jdbc.batch_size"
-#. Tag: entry
-#: configuration.xml:547
-#, fuzzy, no-c-format
+#: index.docbook:542
msgid "A non-zero value enables use of JDBC2 batch updates by Hibernate."
msgstr ""
"Un valor distinto de cero habilita el uso de actualizaciones en lote de "
-"JDBC2 por Hibernate. <placeholder-1/>"
+"JDBC2 por Hibernate."
-#. Tag: para
-#: configuration.xml:549
-#, no-c-format
+#: index.docbook:544
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> recommended values between "
"<literal>5</literal> and <literal>30</literal>"
@@ -1152,133 +793,77 @@
"<emphasis role=\"strong\">ej.</emphasis> valores recomendados entre "
"<literal>5</literal> y <literal>30</literal>"
-#. Tag: literal
-#: configuration.xml:557
-#, no-c-format
+#: index.docbook:552
msgid "hibernate.jdbc.batch_versioned_data"
msgstr "hibernate.jdbc.batch_versioned_data"
-#. Tag: entry
-#: configuration.xml:559
-#, fuzzy, no-c-format
+#: index.docbook:554
msgid ""
"Set this property to <literal>true</literal> if your JDBC driver returns "
"correct row counts from <literal>executeBatch()</literal> (it is usually "
"safe to turn this option on). Hibernate will then use batched DML for "
"automatically versioned data. Defaults to <literal>false</literal>."
msgstr ""
-"Establece esta propiedad a <placeholder-1/> si tu driver JDBC devuelve "
-"cuentas correctas de filas desde <placeholder-2/> (usualmente es seguro "
-"activar esta opción). Hibernate usará DML en lote para versionar "
-"automáticamente los datos. Por defecto a <placeholder-3/>. <placeholder-4/>"
+"Establece esta propiedad a <literal>true</literal> si tu driver JDBC "
+"devuelve cuentas correctas de filas desde <literal>executeBatch()</literal> "
+"(usualmente es seguro activar esta opción). Hibernate usará "
+"DML en lote para versionar automáticamente los datos. Por defecto a "
+"<literal>false</literal>."
-#. Tag: literal
-#: configuration.xml:572
-#, no-c-format
+#: index.docbook:567
msgid "hibernate.jdbc.factory_class"
msgstr "hibernate.jdbc.factory_class"
-#. Tag: entry
-#: configuration.xml:574
-#, fuzzy, no-c-format
+#: index.docbook:569
msgid ""
-"Select a custom <literal>Batcher</literal>. Most applications will not need "
-"this configuration property."
+"Select a custom <interfacename>org.hibernate.jdbc.Batcher</interfacename>. "
+"Most applications will not need this configuration property."
msgstr ""
-"Selecciona un <placeholder-1/> personalizado. La mayoría de las aplicaciones "
-"no necesitarán esta propiedad de configuración. <placeholder-2/>"
+"Selecciona un <literal>Batcher</literal> personalizado. La mayoría de "
+"las aplicaciones no necesitarán esta propiedad de configuració"
+"n."
-#. Tag: para
-#: configuration.xml:577
-#, fuzzy, no-c-format
+#: index.docbook:572
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
"BatcherFactory</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"BatcherFactory</literal>"
-#. Tag: literal
-#: configuration.xml:585
-#, no-c-format
+#: index.docbook:580
msgid "hibernate.jdbc.use_scrollable_resultset"
msgstr "hibernate.jdbc.use_scrollable_resultset"
-#. Tag: entry
-#: configuration.xml:587
-#, fuzzy, no-c-format
+#: index.docbook:582
msgid ""
"Enables use of JDBC2 scrollable resultsets by Hibernate. This property is "
"only necessary when using user supplied JDBC connections, Hibernate uses "
"connection metadata otherwise."
msgstr ""
"Habilita el uso de resultados scrollables de JDBC2 por Hibernate. Esta "
-"propiedad sólo es necesaria cuando se usan conexiones JDBC provistas por el "
-"usuario, en caso contrario Hibernate usa los metadatos de conexión. "
-"<placeholder-1/>"
+"propiedad sólo es necesaria cuando se usan conexiones JDBC provistas "
+"por el usuario, en caso contrario Hibernate usa los metadatos de "
+"conexión."
-#. Tag: literal
-#: configuration.xml:599
-#, no-c-format
+#: index.docbook:594
msgid "hibernate.jdbc.use_streams_for_binary"
msgstr "hibernate.jdbc.use_streams_for_binary"
-#. Tag: entry
-#: configuration.xml:601
-#, fuzzy, no-c-format
+#: index.docbook:596
msgid ""
"Use streams when writing/reading <literal>binary</literal> or "
-"<literal>serializable</literal> types to/from JDBC (system-level property)."
+"<literal>serializable</literal> types to/from JDBC. <emphasis>*system-level "
+"property*</emphasis>"
msgstr ""
-"Usa flujos (streams) al escribir/leer tipos <placeholder-1/> o <placeholder-"
-"2/> a/desde JDBC (propiedad a nivel de sistema). <placeholder-3/>"
+"Usa flujos (streams) al escribir/leer tipos <literal>binary</literal> o "
+"<literal>serializable</literal> a/desde JDBC (propiedad a nivel de sistema)."
-#. Tag: literal
-#: configuration.xml:613
-#, no-c-format
+#: index.docbook:607
msgid "hibernate.jdbc.use_get_generated_keys"
msgstr "hibernate.jdbc.use_get_generated_keys"
-#. Tag: entry
-#: configuration.xml:615
-#, fuzzy, no-c-format
+#: index.docbook:609
msgid ""
"Enable use of JDBC3 <literal>PreparedStatement.getGeneratedKeys()</literal> "
"to retrieve natively generated keys after insert. Requires JDBC3+ driver and "
@@ -1286,208 +871,74 @@
"identifier generators. By default, tries to determine the driver "
"capabilities using connection metadata."
msgstr ""
-"Habilita el uso de <placeholder-1/> de JDBC3 para traer claves generadas "
-"nativamente después de insertar. Requiere un driver JDBC3+ y un JRE1.4+. "
-"Establécela a false si tu driver tiene problemas con los generadores de "
-"identificador de Hibernate. Por defecto, se intenta determinar las "
-"capacidades del driver usando los metadatos de conexión. <placeholder-2/>"
+"Habilita el uso de <literal>PreparedStatement.getGeneratedKeys()</literal> "
+"de JDBC3 para traer claves generadas nativamente después de insertar. "
+"Requiere un driver JDBC3+ y un JRE1.4+. Establécela a false si tu "
+"driver tiene problemas con los generadores de identificador de Hibernate. "
+"Por defecto, se intenta determinar las capacidades del driver usando los "
+"metadatos de conexión."
-#. Tag: para
-#: configuration.xml:621 configuration.xml:751 configuration.xml:763
-#: configuration.xml:777 configuration.xml:815
-#, fuzzy, no-c-format
+#: index.docbook:615, index.docbook:745, index.docbook:757, index.docbook:771,
+#: index.docbook:809
msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>true|false</literal>"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+msgstr "<emphasis role=\"strong\">ej.</emphasis> <literal>true|false</literal>"
-#. Tag: literal
-#: configuration.xml:629
-#, no-c-format
+#: index.docbook:623
msgid "hibernate.connection.provider_class"
msgstr "hibernate.connection.provider_class"
-#. Tag: entry
-#: configuration.xml:631
-#, fuzzy, no-c-format
+#: index.docbook:625
msgid ""
-"The classname of a custom <literal>ConnectionProvider</literal> which "
-"provides JDBC connections to Hibernate."
+"The classname of a custom <interfacename>org.hibernate.connection."
+"ConnectionProvider</interfacename> which provides JDBC connections to "
+"Hibernate."
msgstr ""
-"EL nombre de clase de un <placeholder-1/> personalizado que provea "
-"conexiones JDBC a Hibernate. <placeholder-2/>"
+"EL nombre de clase de un <literal>ConnectionProvider</literal> personalizado "
+"que provea conexiones JDBC a Hibernate."
-#. Tag: para
-#: configuration.xml:634
-#, fuzzy, no-c-format
+#: index.docbook:628
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
"ConnectionProvider</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"ConnectionProvider</literal>"
-#. Tag: literal
-#: configuration.xml:642
-#, no-c-format
+#: index.docbook:636
msgid "hibernate.connection.isolation"
msgstr "hibernate.connection.isolation"
-#. Tag: entry
-#: configuration.xml:644
-#, fuzzy, no-c-format
+#: index.docbook:638
msgid ""
-"Set the JDBC transaction isolation level. Check <literal>java.sql."
-"Connection</literal> for meaningful values but note that most databases do "
-"not support all isolation levels."
+"Set the JDBC transaction isolation level. Check <interfacename>java.sql."
+"Connection</interfacename> for meaningful values but note that most "
+"databases do not support all isolation levels and some define additional, "
+"non-standard isolations."
msgstr ""
-"Establece el nivel de aislamiento de transacción JDBC. Comprueba "
-"<placeholder-1/> para valores significativos pero observa que la mayoría de "
-"las bases de datos no soportan todos los niveles de aislamiento. "
-"<placeholder-2/>"
+"Establece el nivel de aislamiento de transacción JDBC. Comprueba "
+"<literal>java.sql.Connection</literal> para valores significativos pero "
+"observa que la mayoría de las bases de datos no soportan todos los "
+"niveles de aislamiento."
-#. Tag: para
-#: configuration.xml:648
-#, fuzzy, no-c-format
+#: index.docbook:642
msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>1, 2, 4, 8</literal>"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+msgstr "<emphasis role=\"strong\">eg.</emphasis> <literal>1, 2, 4, 8</literal>"
-#. Tag: literal
-#: configuration.xml:656
-#, no-c-format
+#: index.docbook:650
msgid "hibernate.connection.autocommit"
msgstr "hibernate.connection.autocommit"
-#. Tag: entry
-#: configuration.xml:658
-#, fuzzy, no-c-format
+#: index.docbook:652
msgid "Enables autocommit for JDBC pooled connections (not recommended)."
msgstr ""
-"Habilita compromiso automático (autocommit) para las conexiones JDBC en pool "
-"(no recomendado). <placeholder-1/>"
+"Habilita compromiso automático (autocommit) para las conexiones JDBC "
+"en pool (no recomendado)."
-#. Tag: literal
-#: configuration.xml:668
-#, no-c-format
+#: index.docbook:662
msgid "hibernate.connection.release_mode"
msgstr "hibernate.connection.release_mode"
-#. Tag: entry
-#: configuration.xml:670
-#, fuzzy, no-c-format
+#: index.docbook:664
msgid ""
"Specify when Hibernate should release JDBC connections. By default, a JDBC "
"connection is held until the session is explicitly closed or disconnected. "
@@ -1500,31 +951,29 @@
"strategies and <literal>after_transaction</literal> for the JDBC transaction "
"strategy."
msgstr ""
-"Especifica cuándo Hibernate debe liberar las conexiones JDBC. Por defecto, "
-"una conexión JDBC es retenida hasta que la sesión es cerrada explícitamente "
-"o desconectada. Para un datasource JTA del servidor de aplicaciones, debes "
-"usar <placeholder-1/> para liberar agresivamente las conexiones después de "
-"cada llamada JDBC. Para una conexión no JTA, frecuentemente tiene sentido "
-"liberar la conexión al final de cada transacción, usando <placeholder-2/>. "
-"<placeholder-3/> eligirá <placeholder-4/> para las estrategias JTA o CMT de "
-"transacción y <placeholder-5/> para la estrategia JDBC de transacción. "
-"<placeholder-6/><placeholder-7/>"
+"Especifica cuándo Hibernate debe liberar las conexiones JDBC. Por "
+"defecto, una conexión JDBC es retenida hasta que la sesión es "
+"cerrada explícitamente o desconectada. Para un datasource JTA del "
+"servidor de aplicaciones, debes usar <literal>after_statement</literal> para "
+"liberar agresivamente las conexiones después de cada llamada JDBC. "
+"Para una conexión no JTA, frecuentemente tiene sentido liberar la "
+"conexión al final de cada transacción, usando "
+"<literal>after_transaction</literal>. <literal>auto</literal> eligirá "
+"<literal>after_statement</literal> para las estrategias JTA o CMT de "
+"transacción y <literal>after_transaction</literal> para la estrategia "
+"JDBC de transacción."
-#. Tag: para
-#: configuration.xml:681
-#, fuzzy, no-c-format
+#: index.docbook:675
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>auto</literal> (default) | "
"<literal>on_close</literal> | <literal>after_transaction</literal> | "
"<literal>after_statement</literal>"
msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis><literal>on_close</literal> (por "
+"<emphasis role=\"strong\">ej.</emphasis> <literal>on_close</literal> (por "
"defecto)| <literal>after_transaction</literal> | <literal>after_statement</"
"literal> | <literal>auto</literal>"
-#. Tag: para
-#: configuration.xml:686
-#, fuzzy, no-c-format
+#: index.docbook:680
msgid ""
"Note that this setting only affects <literal>Session</literal>s returned "
"from <literal>SessionFactory.openSession</literal>. For <literal>Session</"
@@ -1538,669 +987,349 @@
"literal>s obtained through <literal>SessionFactory.getCurrentSession</"
"literal>, the <literal>CurrentSessionContext</literal> implementation "
"configured for use controls the connection release mode for those "
-"<literal>Session</literal>s. See <xref linkend=\"architecture-current-session"
-"\"/>"
+"<literal>Session</literal>s. See"
-#. Tag: entry
-#: configuration.xml:697
-#, no-c-format
+#: index.docbook:691
msgid ""
-"<literal>hibernate.connection.</literal><emphasis><propertyName></"
+"<property>hibernate.connection.</property><emphasis><propertyName></"
"emphasis>"
-msgstr ""
+msgstr "hibernate.connection.<emphasis><propertyName></emphasis>"
-#. Tag: entry
-#: configuration.xml:700
-#, no-c-format
+#: index.docbook:694
msgid ""
"Pass the JDBC property <emphasis><propertyName></emphasis> to "
"<literal>DriverManager.getConnection()</literal>."
msgstr ""
+"Pasa la propiedad JDBC <literal>propertyName</literal> a "
+"<literal>DriverManager.getConnection()</literal>."
-#. Tag: entry
-#: configuration.xml:706
-#, no-c-format
+#: index.docbook:700
msgid ""
-"<literal>hibernate.jndi.</literal><emphasis><propertyName></emphasis>"
-msgstr ""
+"<property>hibernate.jndi.</property><emphasis><propertyName></emphasis>"
+msgstr "hibernate.jndi.<emphasis><propertyName></emphasis>"
-#. Tag: entry
-#: configuration.xml:709
-#, no-c-format
+#: index.docbook:703
msgid ""
"Pass the property <emphasis><propertyName></emphasis> to the JNDI "
"<literal>InitialContextFactory</literal>."
msgstr ""
+"Pasa la propiedad <literal>propertyName</literal> a "
+"<literal>InitialContextFactory</literal> de JNDI."
-#. Tag: title
-#: configuration.xml:719
-#, no-c-format
+#: index.docbook:713
msgid "Hibernate Cache Properties"
-msgstr "Propiedades de Caché de Hibernate"
+msgstr "Propiedades de Caché de Hibernate"
-#. Tag: literal
-#: configuration.xml:732
-#, no-c-format
+#: index.docbook:726
msgid "hibernate.cache.provider_class"
msgstr "hibernate.cache.provider_class"
-#. Tag: entry
-#: configuration.xml:734
-#, fuzzy, no-c-format
+#: index.docbook:728
msgid "The classname of a custom <literal>CacheProvider</literal>."
msgstr ""
-"El nombre de clase de un <placeholder-1/> personalizado. <placeholder-2/>"
+"El nombre de clase de un <literal>CacheProvider</literal> personalizado."
-#. Tag: para
-#: configuration.xml:736
-#, fuzzy, no-c-format
+#: index.docbook:730
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
"CacheProvider</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"CacheProvider</literal>"
-#. Tag: literal
-#: configuration.xml:744
-#, no-c-format
+#: index.docbook:738
msgid "hibernate.cache.use_minimal_puts"
msgstr "hibernate.cache.use_minimal_puts"
-#. Tag: entry
-#: configuration.xml:746
-#, fuzzy, no-c-format
+#: index.docbook:740
msgid ""
"Optimize second-level cache operation to minimize writes, at the cost of "
"more frequent reads. This setting is most useful for clustered caches and, "
"in Hibernate3, is enabled by default for clustered cache implementations."
msgstr ""
-"Optimiza la operación del caché de segundo nivel para minimizar escrituras, "
-"al costo de lecturas más frecuentes. Esto es más útil para cachés en cluster "
-"y, en Hibernate3, está habilitado por defecto para implementaciones de caché "
-"en cluster. <placeholder-1/>"
+"Optimiza la operación del caché de segundo nivel para "
+"minimizar escrituras, al costo de lecturas más frecuentes. Esto es "
+"más útil para cachés en cluster y, en Hibernate3, "
+"está habilitado por defecto para implementaciones de caché en "
+"cluster."
-#. Tag: literal
-#: configuration.xml:759
-#, no-c-format
+#: index.docbook:753
msgid "hibernate.cache.use_query_cache"
msgstr "hibernate.cache.use_query_cache"
-#. Tag: entry
-#: configuration.xml:761
-#, fuzzy, no-c-format
+#: index.docbook:755
msgid ""
"Enable the query cache, individual queries still have to be set cachable."
msgstr ""
-"Habilita el caché de lectura, consultas individuales todavía tienen que "
-"ponerse cachables. <placeholder-1/>"
+"Habilita el caché de lectura, consultas individuales todavía "
+"tienen que ponerse cachables."
-#. Tag: literal
-#: configuration.xml:771
-#, no-c-format
+#: index.docbook:765
msgid "hibernate.cache.use_second_level_cache"
msgstr "hibernate.cache.use_second_level_cache"
-#. Tag: entry
-#: configuration.xml:773
-#, fuzzy, no-c-format
+#: index.docbook:767
msgid ""
"May be used to completely disable the second level cache, which is enabled "
"by default for classes which specify a <literal><cache></literal> "
"mapping."
msgstr ""
-"Puede ser usado para deshabilitar completamente el caché de segundo nivel, "
-"que está habilitado por defecto para clases que especifican un mapeo "
-"<placeholder-1/>. <placeholder-2/>"
+"Puede ser usado para deshabilitar completamente el caché de segundo "
+"nivel, que está habilitado por defecto para clases que especifican un "
+"mapeo <literal><cache></literal>."
-#. Tag: literal
-#: configuration.xml:785
-#, no-c-format
+#: index.docbook:779
msgid "hibernate.cache.query_cache_factory"
msgstr "hibernate.cache.query_cache_factory"
-#. Tag: entry
-#: configuration.xml:787
-#, fuzzy, no-c-format
+#: index.docbook:781
msgid ""
"The classname of a custom <literal>QueryCache</literal> interface, defaults "
"to the built-in <literal>StandardQueryCache</literal>."
msgstr ""
-"El nombre de clase de una interface <placeholder-1/> personalizada, por "
-"defecto al <placeholder-2/> prefabricado. <placeholder-3/>"
+"El nombre de clase de una interface <literal>QueryCache</literal> "
+"personalizada, por defecto al <literal>StandardQueryCache</literal> "
+"prefabricado."
-#. Tag: para
-#: configuration.xml:790
-#, fuzzy, no-c-format
+#: index.docbook:784
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of.QueryCache</"
"literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of.QueryCache</"
+"literal>"
-#. Tag: literal
-#: configuration.xml:798
-#, no-c-format
+#: index.docbook:792
msgid "hibernate.cache.region_prefix"
msgstr "hibernate.cache.region_prefix"
-#. Tag: entry
-#: configuration.xml:800
-#, fuzzy, no-c-format
+#: index.docbook:794
msgid "A prefix to use for second-level cache region names."
msgstr ""
-"Un prefijo a usar para los nombres de región del caché de segundo nivel. "
-"<placeholder-1/>"
+"Un prefijo a usar para los nombres de región del caché de "
+"segundo nivel."
-#. Tag: para
-#: configuration.xml:802
-#, fuzzy, no-c-format
+#: index.docbook:796
msgid "<emphasis role=\"strong\">eg.</emphasis> <literal>prefix</literal>"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+msgstr "<emphasis role=\"strong\">ej.</emphasis> <literal>prefix</literal>"
-#. Tag: literal
-#: configuration.xml:810
-#, no-c-format
+#: index.docbook:804
msgid "hibernate.cache.use_structured_entries"
msgstr "hibernate.cache.use_structured_entries"
-#. Tag: entry
-#: configuration.xml:812
-#, fuzzy, no-c-format
+#: index.docbook:806
msgid ""
"Forces Hibernate to store data in the second-level cache in a more human-"
"friendly format."
msgstr ""
-"Fuerza a Hibernate a almacenar los datos en el caché de segundo nivel en un "
-"formato más amigable al humano. <placeholder-1/>"
+"Fuerza a Hibernate a almacenar los datos en el caché de segundo nivel "
+"en un formato más amigable al humano."
-#. Tag: title
-#: configuration.xml:826
-#, no-c-format
+#: index.docbook:820
msgid "Hibernate Transaction Properties"
-msgstr "Propiedades de Transacción de Hibernate"
+msgstr "Propiedades de Transacción de Hibernate"
-#. Tag: literal
-#: configuration.xml:839
-#, no-c-format
+#: index.docbook:833
msgid "hibernate.transaction.factory_class"
msgstr "hibernate.transaction.factory_class"
-#. Tag: entry
-#: configuration.xml:841
-#, fuzzy, no-c-format
+#: index.docbook:835
msgid ""
"The classname of a <literal>TransactionFactory</literal> to use with "
"Hibernate <literal>Transaction</literal> API (defaults to "
"<literal>JDBCTransactionFactory</literal>)."
msgstr ""
-"El nombre de clase de un <placeholder-1/> a usar con la API de <placeholder-"
-"2/> de Hibernate (por defectoa <placeholder-3/>). <placeholder-4/>"
+"El nombre de clase de un <literal>TransactionFactory</literal> a usar con la "
+"API de <literal>Transaction</literal> de Hibernate (por defectoa "
+"<literal>JDBCTransactionFactory</literal>)."
-#. Tag: para
-#: configuration.xml:845
-#, fuzzy, no-c-format
+#: index.docbook:839
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
"TransactionFactory</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"TransactionFactory</literal>"
-#. Tag: literal
-#: configuration.xml:853
-#, no-c-format
+#: index.docbook:847
msgid "jta.UserTransaction"
msgstr "jta.UserTransaction"
-#. Tag: entry
-#: configuration.xml:855
-#, fuzzy, no-c-format
+#: index.docbook:849
msgid ""
"A JNDI name used by <literal>JTATransactionFactory</literal> to obtain the "
"JTA <literal>UserTransaction</literal> from the application server."
msgstr ""
-"Un nombre JNDI usado por <placeholder-1/> para obtener la <placeholder-2/> "
-"JTA del servidor de aplicaciones. <placeholder-3/>"
+"Un nombre JNDI usado por <literal>JTATransactionFactory</literal> para "
+"obtener la <literal>UserTransaction</literal> JTA del servidor de "
+"aplicaciones."
-#. Tag: literal
-#: configuration.xml:867
-#, no-c-format
+#: index.docbook:861
msgid "hibernate.transaction.manager_lookup_class"
msgstr "hibernate.transaction.manager_lookup_class"
-#. Tag: entry
-#: configuration.xml:869
-#, fuzzy, no-c-format
+#: index.docbook:863
msgid ""
"The classname of a <literal>TransactionManagerLookup</literal> - required "
"when JVM-level caching is enabled or when using hilo generator in a JTA "
"environment."
msgstr ""
-"El nombre de clase de un <placeholder-1/> requerido cuando el chaché a nivel "
-"de JVM está habilitado o cuando se usa un generador alto/bajo en un entorno "
-"JTA. <placeholder-2/>"
+"El nombre de clase de un <literal>TransactionManagerLookup</literal> "
+"requerido cuando el chaché a nivel de JVM está habilitado o "
+"cuando se usa un generador alto/bajo en un entorno JTA."
-#. Tag: para
-#: configuration.xml:873
-#, fuzzy, no-c-format
+#: index.docbook:867
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>classname.of."
"TransactionManagerLookup</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>classname.of."
+"TransactionManagerLookup</literal>"
-#. Tag: literal
-#: configuration.xml:881
-#, no-c-format
+#: index.docbook:875
msgid "hibernate.transaction.flush_before_completion"
msgstr "hibernate.transaction.flush_before_completion"
-#. Tag: entry
-#: configuration.xml:883
-#, fuzzy, no-c-format
+#: index.docbook:877
msgid ""
"If enabled, the session will be automatically flushed during the before "
"completion phase of the transaction. Built-in and automatic session context "
"management is preferred, see <xref linkend=\"architecture-current-session\"/"
">."
msgstr ""
-"De habilitarse, la sesión se limpiará (flushed) automáticamente durante la "
-"fase previa a la compleción de la transacción. (Muy útil cuando se usa "
-"Hibernate con CMT). <placeholder-1/>"
+"De habilitarse, la sesión se limpiará (flushed) automá"
+"ticamente durante la fase previa a la compleción de la "
+"transacción. (Muy útil cuando se usa Hibernate con CMT)."
-#. Tag: literal
-#: configuration.xml:896
-#, no-c-format
+#: index.docbook:890
msgid "hibernate.transaction.auto_close_session"
msgstr "hibernate.transaction.auto_close_session"
-#. Tag: entry
-#: configuration.xml:898
-#, fuzzy, no-c-format
+#: index.docbook:892
msgid ""
"If enabled, the session will be automatically closed during the after "
"completion phase of the transaction. Built-in and utomatic session context "
"management is preferred, see <xref linkend=\"architecture-current-session\"/"
">."
msgstr ""
-"De habilitarse, la sesión será cerrada automáticamente durante la fase "
-"posterior a la compleción de la transacción. (Muy útil cuando se usa "
-"Hibernate con CMT).<xref linkend=\"architecture-current-session\"/"
-"><placeholder-1/>"
+"De habilitarse, la sesión será cerrada automáticamente "
+"durante la fase posterior a la compleción de la transacción. "
+"(Muy útil cuando se usa Hibernate con CMT)."
-#. Tag: title
-#: configuration.xml:914
-#, no-c-format
+#: index.docbook:908
msgid "Miscellaneous Properties"
-msgstr "Propiedades Misceláneas"
+msgstr "Propiedades Misceláneas"
-#. Tag: literal
-#: configuration.xml:927
-#, no-c-format
+#: index.docbook:921
msgid "hibernate.current_session_context_class"
msgstr "hibernate.current_session_context_class"
-#. Tag: entry
-#: configuration.xml:929
-#, fuzzy, no-c-format
+#: index.docbook:923
msgid ""
"Supply a (custom) strategy for the scoping of the \"current\" "
"<literal>Session</literal>. See <xref linkend=\"architecture-current-session"
"\"/> for more information about the built-in strategies."
msgstr ""
-"Supply a (custom) strategy for the scoping of the \"current\" <placeholder-1/"
-">. See <xref linkend=\"architecture-current-session\"/> for more information "
-"about the built-in strategies. <placeholder-2/>"
+"Supply a (custom) strategy for the scoping of the \"current\" "
+"<literal>Session</literal>. See <xref linkend=\"architecture-current-session"
+"\"/> for more information about the built-in strategies."
-#. Tag: para
-#: configuration.xml:934
-#, fuzzy, no-c-format
+#: index.docbook:928
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | "
"<literal>thread</literal> | <literal>managed</literal> | <literal>custom."
"Class</literal>"
msgstr ""
-"<emphasis role=\"strong\">eg.</emphasis><literal>jta</literal> | "
+"<emphasis role=\"strong\">eg.</emphasis> <literal>jta</literal> | "
"<literal>thread</literal> | <literal>managed</literal> | <literal>custom."
"Class</literal>"
-#. Tag: literal
-#: configuration.xml:943
-#, no-c-format
+#: index.docbook:937
msgid "hibernate.query.factory_class"
msgstr "hibernate.query.factory_class"
-#. Tag: entry
-#: configuration.xml:945
-#, fuzzy, no-c-format
+#: index.docbook:939
msgid "Chooses the HQL parser implementation."
-msgstr "Elige la implementación de parser HQL. <placeholder-1/>"
+msgstr "Elige la implementación de parser HQL."
-#. Tag: para
-#: configuration.xml:947
-#, fuzzy, no-c-format
+#: index.docbook:941
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>org.hibernate.hql.ast."
"ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic."
"ClassicQueryTranslatorFactory</literal>"
msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis><literal>org.hibernate.hql.ast."
+"<emphasis role=\"strong\">ej.</emphasis> <literal>org.hibernate.hql.ast."
"ASTQueryTranslatorFactory</literal> or <literal>org.hibernate.hql.classic."
"ClassicQueryTranslatorFactory</literal>"
-#. Tag: literal
-#: configuration.xml:956
-#, no-c-format
+#: index.docbook:950
msgid "hibernate.query.substitutions"
msgstr "hibernate.query.substitutions"
-#. Tag: entry
-#: configuration.xml:958
-#, fuzzy, no-c-format
+#: index.docbook:952
msgid ""
"Mapping from tokens in Hibernate queries to SQL tokens (tokens might be "
"function or literal names, for example)."
msgstr ""
-"Mapeos de símbolos en consultas Hibernate a símbolos SQL. (los símbolos "
-"puedem ser nombres de función o literales, por ejemplo). <placeholder-1/>"
+"Mapeos de símbolos en consultas Hibernate a símbolos SQL. (los "
+"símbolos puedem ser nombres de función o literales, por "
+"ejemplo)."
-#. Tag: para
-#: configuration.xml:961
-#, fuzzy, no-c-format
+#: index.docbook:955
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
"hqlFunction=SQLFUNC</literal>"
msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">eg.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"<emphasis role=\"strong\">ej.</emphasis><literal>true</literal> | "
-"<literal>false</literal>"
+"<emphasis role=\"strong\">ej.</emphasis> <literal>hqlLiteral=SQL_LITERAL, "
+"hqlFunction=SQLFUNC</literal>"
-#. Tag: literal
-#: configuration.xml:969
-#, no-c-format
+#: index.docbook:963
msgid "hibernate.hbm2ddl.auto"
msgstr "hibernate.hbm2ddl.auto"
-#. Tag: entry
-#: configuration.xml:971
-#, fuzzy, no-c-format
+#: index.docbook:965
msgid ""
"Automatically validate or export schema DDL to the database when the "
"<literal>SessionFactory</literal> is created. With <literal>create-drop</"
"literal>, the database schema will be dropped when the "
"<literal>SessionFactory</literal> is closed explicitly."
msgstr ""
-"Exporta automáticamente DDL de esquema cuando al crear la <placeholder-1/>. "
-"Con <placeholder-2/>, el esquema de base de datos será desechado cuando la "
-"<placeholder-3/> se cierre explícitamente. <placeholder-4/>"
+"Exporta automáticamente DDL de esquema cuando al crear la "
+"<literal>SessionFactory</literal>. Con <literal>create-drop</literal>, el "
+"esquema de base de datos será desechado cuando la "
+"<literal>SessionFactory</literal> se cierre explícitamente."
-#. Tag: para
-#: configuration.xml:977
-#, fuzzy, no-c-format
+#: index.docbook:971
msgid ""
"<emphasis role=\"strong\">eg.</emphasis> <literal>validate</literal> | "
"<literal>update</literal> | <literal>create</literal> | <literal>create-"
"drop</literal>"
msgstr ""
-"<emphasis role=\"strong\">ej.</emphasis><literal>update</literal> | "
+"<emphasis role=\"strong\">ej.</emphasis> <literal>update</literal> | "
"<literal>create</literal> | <literal>create-drop</literal>"
-#. Tag: literal
-#: configuration.xml:986
-#, no-c-format
+#: index.docbook:980
msgid "hibernate.cglib.use_reflection_optimizer"
msgstr "hibernate.cglib.use_reflection_optimizer"
-#. Tag: entry
-#: configuration.xml:988
-#, fuzzy, no-c-format
+#: index.docbook:982
msgid ""
"Enables use of CGLIB instead of runtime reflection (System-level property). "
"Reflection can sometimes be useful when troubleshooting, note that Hibernate "
"always requires CGLIB even if you turn off the optimizer. You can not set "
"this property in <literal>hibernate.cfg.xml</literal>."
msgstr ""
-"Habilita el uso de CGLIB en vez de refleccón en tiempo de ejecución "
-"(propiedad a nivel de sistema). La reflección a veces puede ser útil ante la "
-"aparición de problemas. Observa que Hibernate siempre requiere CGLIB incluso "
-"si desactivas el optimizador. No puedes establecer esta propiedad en "
-"<placeholder-1/>. <placeholder-2/>"
+"Habilita el uso de CGLIB en vez de refleccón en tiempo de "
+"ejecución (propiedad a nivel de sistema). La reflección a "
+"veces puede ser útil ante la aparición de problemas. Observa "
+"que Hibernate siempre requiere CGLIB incluso si desactivas el optimizador. "
+"No puedes establecer esta propiedad en <literal>hibernate.cfg.xml</literal>."
-#. Tag: title
-#: configuration.xml:1004
-#, no-c-format
+#: index.docbook:998
msgid "SQL Dialects"
msgstr "SQL Dialects"
-#. Tag: para
-#: configuration.xml:1006
-#, no-c-format
+#: index.docbook:1000
msgid ""
"You should always set the <literal>hibernate.dialect</literal> property to "
"the correct <literal>org.hibernate.dialect.Dialect</literal> subclass for "
@@ -2214,301 +1343,199 @@
"defaults for some of the other properties listed above, saving you the "
"effort of specifying them manually."
-#. Tag: title
-#: configuration.xml:1014
-#, no-c-format
+#: index.docbook:1008
msgid "Hibernate SQL Dialects (<literal>hibernate.dialect</literal>)"
msgstr "Dialectos SQL de Hibernate(<literal>hibernate.dialect</literal>)"
-#. Tag: entry
-#: configuration.xml:1022
-#, no-c-format
+#: index.docbook:1016
msgid "RDBMS"
msgstr "RDBMS"
-#. Tag: entry
-#: configuration.xml:1023
-#, fuzzy, no-c-format
+#: index.docbook:1017
msgid "Dialect"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Dialect\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"Dialecto"
+msgstr "Dialecto"
-#. Tag: entry
-#: configuration.xml:1028
-#, no-c-format
+#: index.docbook:1022
msgid "<entry>DB2</entry>"
-msgstr ""
+msgstr "<entry>DB2</entry>"
-#. Tag: literal
-#: configuration.xml:1028
-#, no-c-format
+#: index.docbook:1022
msgid "org.hibernate.dialect.DB2Dialect"
msgstr "org.hibernate.dialect.DB2Dialect"
-#. Tag: entry
-#: configuration.xml:1031
-#, no-c-format
+#: index.docbook:1025
msgid "DB2 AS/400"
msgstr "DB2 AS/400"
-#. Tag: literal
-#: configuration.xml:1031
-#, no-c-format
+#: index.docbook:1025
msgid "org.hibernate.dialect.DB2400Dialect"
msgstr "org.hibernate.dialect.DB2400Dialect"
-#. Tag: entry
-#: configuration.xml:1034
-#, no-c-format
+#: index.docbook:1028
msgid "DB2 OS390"
msgstr "DB2 OS390"
-#. Tag: literal
-#: configuration.xml:1034
-#, no-c-format
+#: index.docbook:1028
msgid "org.hibernate.dialect.DB2390Dialect"
msgstr "org.hibernate.dialect.DB2390Dialect"
-#. Tag: entry
-#: configuration.xml:1037
-#, no-c-format
+#: index.docbook:1031
msgid "PostgreSQL"
msgstr "PostgreSQL"
-#. Tag: literal
-#: configuration.xml:1037
-#, no-c-format
+#: index.docbook:1031
msgid "org.hibernate.dialect.PostgreSQLDialect"
msgstr "org.hibernate.dialect.PostgreSQLDialect"
-#. Tag: entry
-#: configuration.xml:1040
-#, no-c-format
+#: index.docbook:1034
msgid "MySQL"
msgstr "MySQL"
-#. Tag: literal
-#: configuration.xml:1040
-#, no-c-format
+#: index.docbook:1034
msgid "org.hibernate.dialect.MySQLDialect"
msgstr "org.hibernate.dialect.MySQLDialect"
-#. Tag: entry
-#: configuration.xml:1043
-#, no-c-format
+#: index.docbook:1037
msgid "MySQL with InnoDB"
msgstr "MySQL con InnoDB"
-#. Tag: literal
-#: configuration.xml:1043
-#, no-c-format
+#: index.docbook:1037
msgid "org.hibernate.dialect.MySQLInnoDBDialect"
msgstr "org.hibernate.dialect.MySQLInnoDBDialect"
-#. Tag: entry
-#: configuration.xml:1046
-#, no-c-format
+#: index.docbook:1040
msgid "MySQL with MyISAM"
msgstr "MySQL con MyISAM"
-#. Tag: literal
-#: configuration.xml:1046
-#, no-c-format
+#: index.docbook:1040
msgid "org.hibernate.dialect.MySQLMyISAMDialect"
msgstr "org.hibernate.dialect.MySQLMyISAMDialect"
-#. Tag: entry
-#: configuration.xml:1049
-#, no-c-format
+#: index.docbook:1043
msgid "Oracle (any version)"
-msgstr "Oracle (cualquier versión)"
+msgstr "Oracle (cualquier versión)"
-#. Tag: literal
-#: configuration.xml:1049
-#, no-c-format
+#: index.docbook:1043
msgid "org.hibernate.dialect.OracleDialect"
msgstr "org.hibernate.dialect.OracleDialect"
-#. Tag: entry
-#: configuration.xml:1052
-#, no-c-format
+#: index.docbook:1046
msgid "Oracle 9i/10g"
msgstr "Oracle 9i/10g"
-#. Tag: literal
-#: configuration.xml:1052
-#, no-c-format
+#: index.docbook:1046
msgid "org.hibernate.dialect.Oracle9Dialect"
msgstr "org.hibernate.dialect.Oracle9Dialect"
-#. Tag: entry
-#: configuration.xml:1055
-#, no-c-format
+#: index.docbook:1049
msgid "Sybase"
msgstr "Sybase"
-#. Tag: literal
-#: configuration.xml:1055
-#, no-c-format
+#: index.docbook:1049
msgid "org.hibernate.dialect.SybaseDialect"
msgstr "org.hibernate.dialect.SybaseDialect"
-#. Tag: entry
-#: configuration.xml:1058
-#, no-c-format
+#: index.docbook:1052
msgid "Sybase Anywhere"
msgstr "Sybase Anywhere"
-#. Tag: literal
-#: configuration.xml:1058
-#, no-c-format
+#: index.docbook:1052
msgid "org.hibernate.dialect.SybaseAnywhereDialect"
msgstr "org.hibernate.dialect.SybaseAnywhereDialect"
-#. Tag: entry
-#: configuration.xml:1061
-#, no-c-format
+#: index.docbook:1055
msgid "Microsoft SQL Server"
msgstr "Microsoft SQL Server"
-#. Tag: literal
-#: configuration.xml:1061
-#, no-c-format
+#: index.docbook:1055
msgid "org.hibernate.dialect.SQLServerDialect"
msgstr "org.hibernate.dialect.SQLServerDialect"
-#. Tag: entry
-#: configuration.xml:1064
-#, no-c-format
+#: index.docbook:1058
msgid "SAP DB"
msgstr "SAP DB"
-#. Tag: literal
-#: configuration.xml:1064
-#, no-c-format
+#: index.docbook:1058
msgid "org.hibernate.dialect.SAPDBDialect"
msgstr "org.hibernate.dialect.SAPDBDialect"
-#. Tag: entry
-#: configuration.xml:1067
-#, no-c-format
+#: index.docbook:1061
msgid "Informix"
msgstr "Informix"
-#. Tag: literal
-#: configuration.xml:1067
-#, no-c-format
+#: index.docbook:1061
msgid "org.hibernate.dialect.InformixDialect"
msgstr "org.hibernate.dialect.InformixDialect"
-#. Tag: entry
-#: configuration.xml:1070
-#, no-c-format
+#: index.docbook:1064
msgid "HypersonicSQL"
msgstr "HypersonicSQL"
-#. Tag: literal
-#: configuration.xml:1070
-#, no-c-format
+#: index.docbook:1064
msgid "org.hibernate.dialect.HSQLDialect"
msgstr "org.hibernate.dialect.HSQLDialect"
-#. Tag: entry
-#: configuration.xml:1073
-#, no-c-format
+#: index.docbook:1067
msgid "Ingres"
msgstr "Ingres"
-#. Tag: literal
-#: configuration.xml:1073
-#, no-c-format
+#: index.docbook:1067
msgid "org.hibernate.dialect.IngresDialect"
msgstr "org.hibernate.dialect.IngresDialect"
-#. Tag: entry
-#: configuration.xml:1076
-#, no-c-format
+#: index.docbook:1070
msgid "Progress"
msgstr "Progress"
-#. Tag: literal
-#: configuration.xml:1076
-#, no-c-format
+#: index.docbook:1070
msgid "org.hibernate.dialect.ProgressDialect"
msgstr "org.hibernate.dialect.ProgressDialect"
-#. Tag: entry
-#: configuration.xml:1079
-#, no-c-format
+#: index.docbook:1073
msgid "Mckoi SQL"
msgstr "Mckoi SQL"
-#. Tag: literal
-#: configuration.xml:1079
-#, no-c-format
+#: index.docbook:1073
msgid "org.hibernate.dialect.MckoiDialect"
msgstr "org.hibernate.dialect.MckoiDialect"
-#. Tag: entry
-#: configuration.xml:1082
-#, no-c-format
+#: index.docbook:1076
msgid "Interbase"
msgstr "Interbase"
-#. Tag: literal
-#: configuration.xml:1082
-#, no-c-format
+#: index.docbook:1076
msgid "org.hibernate.dialect.InterbaseDialect"
msgstr "org.hibernate.dialect.InterbaseDialect"
-#. Tag: entry
-#: configuration.xml:1085
-#, no-c-format
+#: index.docbook:1079
msgid "Pointbase"
msgstr "Pointbase"
-#. Tag: literal
-#: configuration.xml:1085
-#, no-c-format
+#: index.docbook:1079
msgid "org.hibernate.dialect.PointbaseDialect"
msgstr "org.hibernate.dialect.PointbaseDialect"
-#. Tag: entry
-#: configuration.xml:1088
-#, no-c-format
+#: index.docbook:1082
msgid "FrontBase"
msgstr "FrontBase"
-#. Tag: literal
-#: configuration.xml:1088
-#, no-c-format
+#: index.docbook:1082
msgid "org.hibernate.dialect.FrontbaseDialect"
msgstr "org.hibernate.dialect.FrontbaseDialect"
-#. Tag: entry
-#: configuration.xml:1091
-#, no-c-format
+#: index.docbook:1085
msgid "Firebird"
msgstr "Firebird"
-#. Tag: literal
-#: configuration.xml:1091
-#, no-c-format
+#: index.docbook:1085
msgid "org.hibernate.dialect.FirebirdDialect"
msgstr "org.hibernate.dialect.FirebirdDialect"
-#. Tag: title
-#: configuration.xml:1100
-#, no-c-format
+#: index.docbook:1094
msgid "Outer Join Fetching"
-msgstr "Recuperación por Unión Externa (Outer Join Fetching)"
+msgstr "Recuperación por Unión Externa (Outer Join Fetching)"
-#. Tag: para
-#: configuration.xml:1102
-#, no-c-format
+#: index.docbook:1096
msgid ""
"If your database supports ANSI, Oracle or Sybase style outer joins, "
"<emphasis>outer join fetching</emphasis> will often increase performance by "
@@ -2519,16 +1546,15 @@
"<literal>SELECT</literal>."
msgstr ""
"Si tu base de datos soporta uniones externas del estilo ANSI, Oracle o "
-"Sybase, la <emphasis>recuperación por unión externa</emphasis> aumentará "
-"frecuentemente el rendimiento limitando el número de llamadas a la base de "
-"datos (al costo de más trabajo posiblemente realizado por la base de datos "
-"misma). La recuperación por unión externa permite que un grafo completo de "
-"objetos conectados por asociaciones muchos-a-uno, uno-a-muchos, muchos-a-"
-"muchos y uno-a-uno sea traído en una sola <literal>SELECT</literal> SQL."
+"Sybase, la <emphasis>recuperación por unión externa</emphasis> "
+"aumentará frecuentemente el rendimiento limitando el número de "
+"llamadas a la base de datos (al costo de más trabajo posiblemente "
+"realizado por la base de datos misma). La recuperación por unió"
+"n externa permite que un grafo completo de objetos conectados por "
+"asociaciones muchos-a-uno, uno-a-muchos, muchos-a-muchos y uno-a-uno sea "
+"traído en una sola <literal>SELECT</literal> SQL."
-#. Tag: para
-#: configuration.xml:1111
-#, no-c-format
+#: index.docbook:1105
msgid ""
"Outer join fetching may be disabled <emphasis>globally</emphasis> by setting "
"the property <literal>hibernate.max_fetch_depth</literal> to <literal>0</"
@@ -2536,28 +1562,24 @@
"fetching for one-to-one and many-to-one associations which have been mapped "
"with <literal>fetch=\"join\"</literal>."
msgstr ""
-"La recuperación por unión externa puede ser deshabilitada "
+"La recuperación por unión externa puede ser deshabilitada "
"<emphasis>globalmente</emphasis> estableciendo la propiedad "
"<literal>hibernate.max_fetch_depth</literal> a <literal>0</literal>. Un "
-"valor de <literal>1</literal> o mayor habilita la recuperación por unión "
-"externa para asociaciones uno-a-uno y muchos-a-uno que hayan sido mapeadas "
-"con <literal>fetch=\"join\"</literal>."
+"valor de <literal>1</literal> o mayor habilita la recuperación por "
+"unión externa para asociaciones uno-a-uno y muchos-a-uno que hayan "
+"sido mapeadas con <literal>fetch=\"join\"</literal>."
-#. Tag: para
-#: configuration.xml:1119
-#, no-c-format
+#: index.docbook:1113
msgid "See <xref linkend=\"performance-fetching\"/> for more information."
-msgstr "Ver <xref linkend=\"performance-fetching\"/> para más información."
+msgstr ""
+"Ver <xref linkend=\"performance-fetching\"/> para más "
+"información."
-#. Tag: title
-#: configuration.xml:1126
-#, no-c-format
+#: index.docbook:1120
msgid "Binary Streams"
msgstr "Flujos Binarios"
-#. Tag: para
-#: configuration.xml:1128
-#, no-c-format
+#: index.docbook:1122
msgid ""
"Oracle limits the size of <literal>byte</literal> arrays that may be passed "
"to/from its JDBC driver. If you wish to use large instances of "
@@ -2565,84 +1587,67 @@
"should enable <literal>hibernate.jdbc.use_streams_for_binary</literal>. "
"<emphasis>This is a system-level setting only.</emphasis>"
msgstr ""
-"Oracle limita el tamaño de arrays de <literal>byte</literal> que puedan ser "
-"pasados a/desde su driver JDBC. Si deseas usar instancias grandes de tipo "
-"<literal>binary</literal> o <literal>serializable</literal>, debes habilitar "
-"<literal>hibernate.jdbc.use_streams_for_binary</literal>. <emphasis>Esta es "
-"una propiedad a nivel de sistema solamente.</emphasis>"
+"Oracle limita el tamaño de arrays de <literal>byte</literal> que "
+"puedan ser pasados a/desde su driver JDBC. Si deseas usar instancias grandes "
+"de tipo <literal>binary</literal> o <literal>serializable</literal>, debes "
+"habilitar <literal>hibernate.jdbc.use_streams_for_binary</literal>. "
+"<emphasis>Esta es una propiedad a nivel de sistema solamente.</emphasis>"
-#. Tag: title
-#: configuration.xml:1139
-#, no-c-format
+#: index.docbook:1133
msgid "Second-level and query cache"
-msgstr "Caché de segundo nivel y de lectura"
+msgstr "Caché de segundo nivel y de lectura"
-#. Tag: para
-#: configuration.xml:1141
-#, no-c-format
+#: index.docbook:1135
msgid ""
"The properties prefixed by <literal>hibernate.cache</literal> allow you to "
"use a process or cluster scoped second-level cache system with Hibernate. "
"See the <xref linkend=\"performance-cache\"/> for more details."
msgstr ""
"Las propiedades prefijadas por <literal>hibernate.cache</literal> te "
-"permiten usar un sistema de caché de segundo nivel en el ámbito de un "
-"proceso o cluster con Hibernate. Ver <xref linkend=\"performance-cache\"/> "
-"para más detalles."
+"permiten usar un sistema de caché de segundo nivel en el á"
+"mbito de un proceso o cluster con Hibernate. Ver <xref linkend=\"performance-"
+"cache\"/> para más detalles."
-#. Tag: title
-#: configuration.xml:1151
-#, no-c-format
+#: index.docbook:1145
msgid "Query Language Substitution"
-msgstr "Sustitución de Lenguaje de Consulta"
+msgstr "Sustitución de Lenguaje de Consulta"
-#. Tag: para
-#: configuration.xml:1153
-#, no-c-format
+#: index.docbook:1147
msgid ""
"You may define new Hibernate query tokens using <literal>hibernate.query."
"substitutions</literal>. For example:"
msgstr ""
-"Puedes definir nuevos símbolos de consulta de Hibernate usando "
+"Puedes definir nuevos símbolos de consulta de Hibernate usando "
"<literal>hibernate.query.substitutions</literal>. Por ejemplo:"
-#. Tag: programlisting
-#: configuration.xml:1158
-#, no-c-format
+#: index.docbook:1152
msgid "hibernate.query.substitutions true=1, false=0"
msgstr "hibernate.query.substitutions true=1, false=0"
-#. Tag: para
-#: configuration.xml:1160
-#, no-c-format
+#: index.docbook:1154
msgid ""
"would cause the tokens <literal>true</literal> and <literal>false</literal> "
"to be translated to integer literals in the generated SQL."
msgstr ""
-"causaría que los símbolos <literal>true</literal> y <literal>false</literal> "
-"sean traducidos a literales enteros en el SQL generado."
+"causaría que los símbolos <literal>true</literal> y "
+"<literal>false</literal> sean traducidos a literales enteros en el SQL "
+"generado."
-#. Tag: programlisting
-#: configuration.xml:1165
-#, no-c-format
+#: index.docbook:1159
msgid "hibernate.query.substitutions toLowercase=LOWER"
msgstr "hibernate.query.substitutions toLowercase=LOWER"
-#. Tag: para
-#: configuration.xml:1167
-#, no-c-format
+#: index.docbook:1161
msgid "would allow you to rename the SQL <literal>LOWER</literal> function."
-msgstr "te permitiría renombrar la función <literal>LOWER</literal> de SQL."
+msgstr ""
+"te permitiría renombrar la función <literal>LOWER</literal> de "
+"SQL."
-#. Tag: title
-#: configuration.xml:1174
-#, no-c-format
+#: index.docbook:1168
msgid "Hibernate statistics"
msgstr "Hibernate statistics"
-#. Tag: para
-#: configuration.xml:1176
-#, no-c-format
+#: index.docbook:1170
msgid ""
"If you enable <literal>hibernate.generate_statistics</literal>, Hibernate "
"will expose a number of metrics that are useful when tuning a running system "
@@ -2651,27 +1656,22 @@
"interfaces in <literal>org.hibernate.stats</literal> for more information."
msgstr ""
"Si habilitas <literal>hibernate.generate_statistics</literal>, Hibernate "
-"expondrá un número de métricas que son útiles al afinar un sistema en "
-"ejecución vía <literal>SessionFactory.getStatistics()</literal>. Hibernate "
-"puede incluso ser configurado para exponer estas estadísticas vía JMX. Lee "
-"el Javadoc de las interfaces en <literal>org.hibernate.stats</literal> para "
-"más información."
+"expondrá un número de métricas que son útiles al "
+"afinar un sistema en ejecución vía <literal>SessionFactory."
+"getStatistics()</literal>. Hibernate puede incluso ser configurado para "
+"exponer estas estadísticas vía JMX. Lee el Javadoc de las "
+"interfaces en <literal>org.hibernate.stats</literal> para más "
+"información."
-#. Tag: title
-#: configuration.xml:1188
-#, no-c-format
+#: index.docbook:1182
msgid "Logging"
msgstr "Registros de mensajes (Logging)"
-#. Tag: para
-#: configuration.xml:1190
-#, no-c-format
+#: index.docbook:1184
msgid "Hibernate logs various events using Apache commons-logging."
msgstr "Hibernate registra varios eventos usando commons-logging de Apache."
-#. Tag: para
-#: configuration.xml:1194
-#, no-c-format
+#: index.docbook:1188
msgid ""
"The commons-logging service will direct output to either Apache Log4j (if "
"you include <literal>log4j.jar</literal> in your classpath) or JDK1.4 "
@@ -2681,17 +1681,15 @@
"example properties file is distributed with Hibernate in the <literal>src/</"
"literal> directory."
msgstr ""
-"El servicio de commons-logging saldrá directamente ya sea a Log4J (si "
+"El servicio de commons-logging saldrá directamente ya sea a Log4J (si "
"incluyes <literal>log4j.jar</literal> in your classpath) o JDK1.4 logging "
"(al ejecutar bajo JDK1.4 o superior). Puedes descargar Log4J desde "
-"<literal>http://logging.apache.org</literal>. Para usar Log4J necesitarás "
-"colocar un fichero <literal>log4j.properties</literal> en tu classpath. Un "
-"fichero de propiedades de ejemplo se distribuye con Hibernate en el "
-"directorio <literal>src/</literal>."
+"<literal>http://logging.apache.org</literal>. Para usar Log4J "
+"necesitarás colocar un fichero <literal>log4j.properties</literal> en "
+"tu classpath. Un fichero de propiedades de ejemplo se distribuye con "
+"Hibernate en el directorio <literal>src/</literal>."
-#. Tag: para
-#: configuration.xml:1204
-#, no-c-format
+#: index.docbook:1198
msgid ""
"We strongly recommend that you familiarize yourself with Hibernate's log "
"messages. A lot of work has been put into making the Hibernate log as "
@@ -2702,159 +1700,111 @@
"Recomendamos fuertemente que te familiarices con los registros de mensajes "
"de Hibernate. Se ha puesto un gran trabajo en hacer los registros de "
"Hibernate tan detallados como se puede, sin hacerlos ilegibles. Es un "
-"dispositivo esencial en la resolución de problemas. Las categorías de "
-"registro más interesantes son las siguientes:"
+"dispositivo esencial en la resolución de problemas. Las "
+"categorías de registro más interesantes son las siguientes:"
-#. Tag: title
-#: configuration.xml:1213
-#, no-c-format
+#: index.docbook:1207
msgid "Hibernate Log Categories"
-msgstr "Categorías de Registro de Hibernate"
+msgstr "Categorías de Registro de Hibernate"
-#. Tag: entry
-#: configuration.xml:1219
-#, no-c-format
+#: index.docbook:1213
msgid "Category"
-msgstr "Categoría"
+msgstr "Categoría"
-#. Tag: entry
-#: configuration.xml:1220
-#, no-c-format
+#: index.docbook:1214
msgid "Function"
-msgstr "Función"
+msgstr "Función"
-#. Tag: literal
-#: configuration.xml:1225
-#, no-c-format
+#: index.docbook:1219
msgid "org.hibernate.SQL"
msgstr "org.hibernate.SQL"
-#. Tag: entry
-#: configuration.xml:1226
-#, no-c-format
+#: index.docbook:1220
msgid "Log all SQL DML statements as they are executed"
msgstr "Registra todas las sentencias DML de SQL a medida que se ejecutan"
-#. Tag: literal
-#: configuration.xml:1229
-#, no-c-format
+#: index.docbook:1223
msgid "org.hibernate.type"
msgstr "org.hibernate.type"
-#. Tag: entry
-#: configuration.xml:1230
-#, no-c-format
+#: index.docbook:1224
msgid "Log all JDBC parameters"
-msgstr "Registra todos los parámetros JDBC"
+msgstr "Registra todos los parámetros JDBC"
-#. Tag: literal
-#: configuration.xml:1233
-#, no-c-format
+#: index.docbook:1227
msgid "org.hibernate.tool.hbm2ddl"
msgstr "org.hibernate.tool.hbm2ddl"
-#. Tag: entry
-#: configuration.xml:1234
-#, no-c-format
+#: index.docbook:1228
msgid "Log all SQL DDL statements as they are executed"
msgstr "Registra todas las sentencias DDL de SQL a medida que se ejecutan"
-#. Tag: literal
-#: configuration.xml:1237
-#, no-c-format
+#: index.docbook:1231
msgid "org.hibernate.pretty"
msgstr "org.hibernate.pretty"
-#. Tag: entry
-#: configuration.xml:1238
-#, no-c-format
+#: index.docbook:1232
msgid ""
"Log the state of all entities (max 20 entities) associated with the session "
"at flush time"
msgstr ""
-"Registra el estado de todas las entidades (máximo de 20 entidades) asociadas "
-"con la sesión en tiempo de limpieza (flush)"
+"Registra el estado de todas las entidades (máximo de 20 entidades) "
+"asociadas con la sesión en tiempo de limpieza (flush)"
-#. Tag: literal
-#: configuration.xml:1244
-#, no-c-format
+#: index.docbook:1238
msgid "org.hibernate.cache"
msgstr "org.hibernate.cache"
-#. Tag: entry
-#: configuration.xml:1245
-#, no-c-format
+#: index.docbook:1239
msgid "Log all second-level cache activity"
-msgstr "Registra toda la actividad del caché de segundo nivel"
+msgstr "Registra toda la actividad del caché de segundo nivel"
-#. Tag: literal
-#: configuration.xml:1248
-#, no-c-format
+#: index.docbook:1242
msgid "org.hibernate.transaction"
msgstr "org.hibernate.transaction"
-#. Tag: entry
-#: configuration.xml:1249
-#, no-c-format
+#: index.docbook:1243
msgid "Log transaction related activity"
-msgstr "Registra la actividad relacionada con la transacción"
+msgstr "Registra la actividad relacionada con la transacción"
-#. Tag: literal
-#: configuration.xml:1252
-#, no-c-format
+#: index.docbook:1246
msgid "org.hibernate.jdbc"
msgstr "org.hibernate.jdbc"
-#. Tag: entry
-#: configuration.xml:1253
-#, no-c-format
+#: index.docbook:1247
msgid "Log all JDBC resource acquisition"
-msgstr "Registra toda adquisición de recursos JDBC"
+msgstr "Registra toda adquisición de recursos JDBC"
-#. Tag: literal
-#: configuration.xml:1256
-#, no-c-format
+#: index.docbook:1250
msgid "org.hibernate.hql.ast.AST"
msgstr "org.hibernate.hql.ast"
-#. Tag: entry
-#: configuration.xml:1257
-#, no-c-format
+#: index.docbook:1251
msgid "Log HQL and SQL ASTs during query parsing"
msgstr ""
-"Regista los ASTs de HQL y SQL, así como otra información sobre análisis de "
-"consultas."
+"Regista los ASTs de HQL y SQL, así como otra información sobre "
+"análisis de consultas."
-#. Tag: literal
-#: configuration.xml:1262
-#, no-c-format
+#: index.docbook:1256
msgid "org.hibernate.secure"
msgstr "org.hibernate.secure"
-#. Tag: entry
-#: configuration.xml:1263
-#, no-c-format
+#: index.docbook:1257
msgid "Log all JAAS authorization requests"
-msgstr "Registra todas las peticiones de autorización JAAS"
+msgstr "Registra todas las peticiones de autorización JAAS"
-#. Tag: literal
-#: configuration.xml:1266
-#, no-c-format
+#: index.docbook:1260
msgid "org.hibernate"
msgstr "org.hibernate"
-#. Tag: entry
-#: configuration.xml:1267
-#, no-c-format
+#: index.docbook:1261
msgid ""
"Log everything (a lot of information, but very useful for troubleshooting)"
msgstr ""
-"Registra todo (mucha información, pero muy útil para la resolución de "
-"problemas)"
+"Registra todo (mucha información, pero muy útil para la "
+"resolución de problemas)"
-#. Tag: para
-#: configuration.xml:1276
-#, no-c-format
+#: index.docbook:1270
msgid ""
"When developing applications with Hibernate, you should almost always work "
"with <literal>debug</literal> enabled for the category <literal>org."
@@ -2862,30 +1812,24 @@
"show_sql</literal> enabled."
msgstr ""
"Al desarrollar aplicacinoes con Hibernate, casi siempre debes trabajar con "
-"<literal>debug</literal> habilitado para la categoría <literal>org.hibernate."
-"SQL</literal> o, alternativamente, la propiedad <literal>hibernate.show_sql</"
-"literal> habilitada."
+"<literal>debug</literal> habilitado para la categoría <literal>org."
+"hibernate.SQL</literal> o, alternativamente, la propiedad <literal>hibernate."
+"show_sql</literal> habilitada."
-#. Tag: title
-#: configuration.xml:1286
-#, no-c-format
+#: index.docbook:1280
msgid "Implementing a <literal>NamingStrategy</literal>"
msgstr "Implementando una <literal>NamingStrategy</literal>"
-#. Tag: para
-#: configuration.xml:1288
-#, no-c-format
+#: index.docbook:1282
msgid ""
"The interface <literal>org.hibernate.cfg.NamingStrategy</literal> allows you "
"to specify a \"naming standard\" for database objects and schema elements."
msgstr ""
"La interface <literal>org.hibernate.cfg.NamingStrategy</literal> te permite "
-"especificar un \"estándar de nombrado\" para objetos de la base de datos y "
-"elementos de esquema."
+"especificar un \"estándar de nombrado\" para objetos de la base de "
+"datos y elementos de esquema."
-#. Tag: para
-#: configuration.xml:1293
-#, no-c-format
+#: index.docbook:1287
msgid ""
"You may provide rules for automatically generating database identifiers from "
"Java identifiers or for processing \"logical\" column and table names given "
@@ -2894,17 +1838,15 @@
"noise (<literal>TBL_</literal> prefixes, for example). The default strategy "
"used by Hibernate is quite minimal."
msgstr ""
-"Puedes proveer reglas para generar automáticamente identificadores de base "
-"de datos a partir de identificadores JDBC o para procesar nombres \"lógicos"
-"\" de columnas y tablas dados en el fichero de mapeo en nombres \"físicos\" "
-"de columnas y tablas. Esta funcionalidad ayuda a reducir la verborragia del "
-"documento de mapeo, eliminando ruido repetitivo (prefijos <literal>TBL_</"
-"literal>, por ejemplo). La estrategia por defecto usada por Hibernate mínima "
-"en absoluto."
+"Puedes proveer reglas para generar automáticamente identificadores de "
+"base de datos a partir de identificadores JDBC o para procesar nombres "
+"\"lógicos\" de columnas y tablas dados en el fichero de mapeo en "
+"nombres \"físicos\" de columnas y tablas. Esta funcionalidad ayuda a "
+"reducir la verborragia del documento de mapeo, eliminando ruido repetitivo "
+"(prefijos <literal>TBL_</literal>, por ejemplo). La estrategia por defecto "
+"usada por Hibernate mínima en absoluto."
-#. Tag: para
-#: configuration.xml:1302
-#, no-c-format
+#: index.docbook:1296
msgid ""
"You may specify a different strategy by calling <literal>Configuration."
"setNamingStrategy()</literal> before adding mappings:"
@@ -2913,9 +1855,7 @@
"<literal>Configuration.setNamingStrategy()</literal> antes de agregar los "
"mapeos:"
-#. Tag: programlisting
-#: configuration.xml:1307
-#, no-c-format
+#: index.docbook:1301
msgid ""
"<![CDATA[SessionFactory sf = new Configuration()\n"
" .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
@@ -2923,52 +1863,47 @@
" .addFile(\"Bid.hbm.xml\")\n"
" .buildSessionFactory();]]>"
msgstr ""
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+" .setNamingStrategy(ImprovedNamingStrategy.INSTANCE)\n"
+" .addFile(\"Item.hbm.xml\")\n"
+" .addFile(\"Bid.hbm.xml\")\n"
+" .buildSessionFactory();]]>"
-#. Tag: para
-#: configuration.xml:1309
-#, no-c-format
+#: index.docbook:1303
msgid ""
"<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> is a built-in "
"strategy that might be a useful starting point for some applications."
msgstr ""
"<literal>org.hibernate.cfg.ImprovedNamingStrategy</literal> es una "
-"estrategia prefabricada que puede ser un punto de partida útil para algunas "
-"aplicaciones."
+"estrategia prefabricada que puede ser un punto de partida útil para "
+"algunas aplicaciones."
-#. Tag: title
-#: configuration.xml:1317
-#, no-c-format
+#: index.docbook:1311
msgid "XML configuration file"
-msgstr "Fichero de configuración XML"
+msgstr "Fichero de configuración XML"
-#. Tag: para
-#: configuration.xml:1319
-#, no-c-format
+#: index.docbook:1313
msgid ""
"An alternative approach to configuration is to specify a full configuration "
"in a file named <literal>hibernate.cfg.xml</literal>. This file can be used "
"as a replacement for the <literal>hibernate.properties</literal> file or, if "
"both are present, to override properties."
msgstr ""
-"Un enfoque alternativo de configuración es especificar una configuración "
-"completa en un fichero llamado <literal>hibernate.cfg.xml</literal>. Este "
-"fichero puede ser usado como un remplazo del fichero <literal>hibernate."
-"properties</literal> o, si ambos están presentes, para sobrescribir "
-"propiedades."
+"Un enfoque alternativo de configuración es especificar una "
+"configuración completa en un fichero llamado <literal>hibernate.cfg."
+"xml</literal>. Este fichero puede ser usado como un remplazo del fichero "
+"<literal>hibernate.properties</literal> o, si ambos están presentes, "
+"para sobrescribir propiedades."
-#. Tag: para
-#: configuration.xml:1326
-#, no-c-format
+#: index.docbook:1320
msgid ""
"The XML configuration file is by default expected to be in the root o your "
"<literal>CLASSPATH</literal>. Here is an example:"
msgstr ""
-"El fichero de configuración XML se espera por defecto en la raíz o tu "
-"<literal>CLASSPATH</literal>. He aquí un ejemplo:"
+"El fichero de configuración XML se espera por defecto en la raí"
+"z o tu <literal>CLASSPATH</literal>. He aquí un ejemplo:"
-#. Tag: programlisting
-#: configuration.xml:1331
-#, no-c-format
+#: index.docbook:1325
msgid ""
"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
"<!DOCTYPE hibernate-configuration PUBLIC\n"
@@ -3009,10 +1944,46 @@
"\n"
"</hibernate-configuration>]]>"
msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
+"<!DOCTYPE hibernate-configuration PUBLIC\n"
+" \"-//Hibernate/Hibernate Configuration DTD//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd\">\n"
+"\n"
+"<hibernate-configuration>\n"
+"\n"
+" <!-- a SessionFactory instance listed as /jndi/name -->\n"
+" <session-factory\n"
+" name=\"java:hibernate/SessionFactory\">\n"
+"\n"
+" <!-- properties -->\n"
+" <property name=\"connection.datasource\">java:/comp/env/jdbc/MyDB</"
+"property>\n"
+" <property name=\"dialect\">org.hibernate.dialect.MySQLDialect</"
+"property>\n"
+" <property name=\"show_sql\">false</property>\n"
+" <property name=\"transaction.factory_class\">\n"
+" org.hibernate.transaction.JTATransactionFactory\n"
+" </property>\n"
+" <property name=\"jta.UserTransaction\">java:comp/UserTransaction</"
+"property>\n"
+"\n"
+" <!-- mapping files -->\n"
+" <mapping resource=\"org/hibernate/auction/Item.hbm.xml\"/>\n"
+" <mapping resource=\"org/hibernate/auction/Bid.hbm.xml\"/>\n"
+"\n"
+" <!-- cache settings -->\n"
+" <class-cache class=\"org.hibernate.auction.Item\" usage=\"read-write"
+"\"/>\n"
+" <class-cache class=\"org.hibernate.auction.Bid\" usage=\"read-only\"/"
+">\n"
+" <collection-cache collection=\"org.hibernate.auction.Item.bids\" "
+"usage=\"read-write\"/>\n"
+"\n"
+" </session-factory>\n"
+"\n"
+"</hibernate-configuration>]]>"
-#. Tag: para
-#: configuration.xml:1333
-#, no-c-format
+#: index.docbook:1327
msgid ""
"As you can see, the advantage of this approach is the externalization of the "
"mapping file names to configuration. The <literal>hibernate.cfg.xml</"
@@ -3021,60 +1992,51 @@
"literal> or <literal>hibernate.cfg.xml</literal>, both are equivalent, "
"except for the above mentioned benefits of using the XML syntax."
msgstr ""
-"Como puedes ver, la ventaja de este enfoque es la externalización de los "
-"nombres de los fichero de mapeo a configuración. El <literal>hibernate.cfg."
-"xml</literal> es también más conveniente una vez que hayas afinado el caché "
-"de Hibernate. Observa que elección tuya usar ya sea <literal>hibernate."
-"properties</literal> o <literal>hibernate.cfg.xml</literal>, ambos son "
-"equivalentes, excepto por los beneficios de usar la sintaxis XML arriba "
-"mencionados."
+"Como puedes ver, la ventaja de este enfoque es la externalización de "
+"los nombres de los fichero de mapeo a configuración. El "
+"<literal>hibernate.cfg.xml</literal> es también más "
+"conveniente una vez que hayas afinado el caché de Hibernate. Observa "
+"que elección tuya usar ya sea <literal>hibernate.properties</literal> "
+"o <literal>hibernate.cfg.xml</literal>, ambos son equivalentes, excepto por "
+"los beneficios de usar la sintaxis XML arriba mencionados."
-#. Tag: para
-#: configuration.xml:1342
-#, no-c-format
+#: index.docbook:1336
msgid "With the XML configuration, starting Hibernate is then as simple as"
-msgstr "Con la configuración XML, arrancar Hibernate es tan simple como"
+msgstr "Con la configuración XML, arrancar Hibernate es tan simple como"
-#. Tag: programlisting
-#: configuration.xml:1346
-#, no-c-format
+#: index.docbook:1340
msgid ""
"<![CDATA[SessionFactory sf = new Configuration().configure()."
"buildSessionFactory();]]>"
msgstr ""
+"<![CDATA[SessionFactory sf = new Configuration().configure()."
+"buildSessionFactory();]]>"
-#. Tag: para
-#: configuration.xml:1348
-#, no-c-format
+#: index.docbook:1342
msgid "You can pick a different XML configuration file using"
msgstr "Puedes tomar un fichero XML diferente usando"
-#. Tag: programlisting
-#: configuration.xml:1352
-#, no-c-format
+#: index.docbook:1346
msgid ""
"<![CDATA[SessionFactory sf = new Configuration()\n"
" .configure(\"catdb.cfg.xml\")\n"
" .buildSessionFactory();]]>"
msgstr ""
+"<![CDATA[SessionFactory sf = new Configuration()\n"
+" .configure(\"catdb.cfg.xml\")\n"
+" .buildSessionFactory();]]>"
-#. Tag: title
-#: configuration.xml:1357
-#, no-c-format
+#: index.docbook:1351
msgid "J2EE Application Server integration"
-msgstr "Integració con Servidores de Aplicaciones J2EE"
+msgstr "Integració con Servidores de Aplicaciones J2EE"
-#. Tag: para
-#: configuration.xml:1359
-#, no-c-format
+#: index.docbook:1353
msgid "Hibernate has the following integration points for J2EE infrastructure:"
msgstr ""
-"Hibernate tiene los siguientes puntos de integración con la infraestructura "
-"J2EE:"
+"Hibernate tiene los siguientes puntos de integración con la "
+"infraestructura J2EE:"
-#. Tag: para
-#: configuration.xml:1365
-#, no-c-format
+#: index.docbook:1359
msgid ""
"<emphasis>Container-managed datasources</emphasis>: Hibernate can use JDBC "
"connections managed by the container and provided through JNDI. Usually, a "
@@ -3086,28 +2048,25 @@
"literal> API for this to keep your code portable."
msgstr ""
"<emphasis>Datasources manejados por contenedor</emphasis>: Hibernate puede "
-"usar conexiones JDBC manejadas por el contenedor y provistas a través de "
-"JNDI. Usualmente, un <literal>TransactionManager</literal> compatible con "
+"usar conexiones JDBC manejadas por el contenedor y provistas a través "
+"de JNDI. Usualmente, un <literal>TransactionManager</literal> compatible con "
"JTA y un <literal>ResourceManager</literal> cuidan del manejo de "
-"transacciones (CMT), esp. manejo de transacciones distribuídas a través de "
-"varios datasources. Puedes también, por supuesto, demarcar los límites de "
-"las transacciones programáticamente (BMT) o podrías querer usar para esto la "
-"API opcional de <literal>Transaction</literal> de Hibernate para mantener tu "
-"código portable."
+"transacciones (CMT), esp. manejo de transacciones distribuídas a "
+"través de varios datasources. Puedes también, por supuesto, "
+"demarcar los límites de las transacciones programáticamente "
+"(BMT) o podrías querer usar para esto la API opcional de "
+"<literal>Transaction</literal> de Hibernate para mantener tu código "
+"portable."
-#. Tag: para
-#: configuration.xml:1380
-#, no-c-format
+#: index.docbook:1374
msgid ""
"<emphasis>Automatic JNDI binding</emphasis>: Hibernate can bind its "
"<literal>SessionFactory</literal> to JNDI after startup."
msgstr ""
-"<emphasis>Ligamento Automático JNDI</emphasis>: Hibernate puede ligar sus "
-"<literal>SessionFactory</literal> a JNDI después del arranque."
+"<emphasis>Ligamento Automático JNDI</emphasis>: Hibernate puede ligar "
+"sus <literal>SessionFactory</literal> a JNDI después del arranque."
-#. Tag: para
-#: configuration.xml:1389
-#, no-c-format
+#: index.docbook:1383
msgid ""
"<emphasis>JTA Session binding:</emphasis> The Hibernate <literal>Session</"
"literal> may be automatically bound to the scope of JTA transactions. Simply "
@@ -3117,17 +2076,16 @@
"Transaction demarcation is either declarative (CMT) or programmatic (BMT/"
"UserTransaction)."
msgstr ""
-"<emphasis>Ligamento de Sesión JTA:</emphasis> La <literal>Session</literal> "
-"de Hibernate puede ser ligada automáticamente al ámbito de transacciones JTA "
-"si usas EJBs. Simplemente busca la <literal>SessionFactory</literal> de JNDI "
-"y obtén la <literal>Session</literal> actual. Deja que Hibernate cuide de "
-"limpiar y cerrar la <literal>Session</literal> cuando se complete tu "
-"transacción JTA. La demarcación de transacción es declarativa, en "
+"<emphasis>Ligamento de Sesión JTA:</emphasis> La <literal>Session</"
+"literal> de Hibernate puede ser ligada automáticamente al á"
+"mbito de transacciones JTA si usas EJBs. Simplemente busca la "
+"<literal>SessionFactory</literal> de JNDI y obtén la "
+"<literal>Session</literal> actual. Deja que Hibernate cuide de limpiar y "
+"cerrar la <literal>Session</literal> cuando se complete tu transacció"
+"n JTA. La demarcación de transacción es declarativa, en "
"descriptores de despliegue de EJB."
-#. Tag: para
-#: configuration.xml:1402
-#, no-c-format
+#: index.docbook:1396
msgid ""
"<emphasis>JMX deployment:</emphasis> If you have a JMX capable application "
"server (e.g. JBoss AS), you can chose to deploy Hibernate as a managed "
@@ -3139,35 +2097,29 @@
msgstr ""
"<emphasis>Despliegue JMX:</emphasis> Si tienes un servidor de aplicaciones "
"capaz de JMX (por ejemplo, JBoss AS), puedes optar por desplegar Hibernate "
-"como un MBean manejado. Esto te ahorra el código de una línea de arranque "
-"para construir tu <literal>SessionFactory</literal> desde una "
-"<literal>Configuration</literal>. El contenedor arrancará tu "
-"<literal>HibernateService</literal>, e idealmente también cuidará de las "
-"dependencias entre servicios (El datasource debe estar disponible antes que "
-"arranque Hibernate, etc)."
+"como un MBean manejado. Esto te ahorra el código de una línea "
+"de arranque para construir tu <literal>SessionFactory</literal> desde una "
+"<literal>Configuration</literal>. El contenedor arrancará tu "
+"<literal>HibernateService</literal>, e idealmente también "
+"cuidará de las dependencias entre servicios (El datasource debe estar "
+"disponible antes que arranque Hibernate, etc)."
-#. Tag: para
-#: configuration.xml:1413
-#, no-c-format
+#: index.docbook:1407
msgid ""
"Depending on your environment, you might have to set the configuration "
"option <literal>hibernate.connection.aggressive_release</literal> to true if "
"your application server shows \"connection containment\" exceptions."
msgstr ""
-"Dependiendo de tu entorno, podrías tener que establecer la opción de "
-"configuración <literal>hibernate.connection.aggressive_release</literal> a "
-"true si tu servidor de aplicaciones muestra excepciones \"connection "
-"containment\"."
+"Dependiendo de tu entorno, podrías tener que establecer la "
+"opción de configuración <literal>hibernate.connection."
+"aggressive_release</literal> a true si tu servidor de aplicaciones muestra "
+"excepciones \"connection containment\"."
-#. Tag: title
-#: configuration.xml:1420
-#, no-c-format
+#: index.docbook:1414
msgid "Transaction strategy configuration"
-msgstr "Configuración de la estrategia de transacción"
+msgstr "Configuración de la estrategia de transacción"
-#. Tag: para
-#: configuration.xml:1422
-#, no-c-format
+#: index.docbook:1416
msgid ""
"The Hibernate <literal>Session</literal> API is independent of any "
"transaction demarcation system in your architecture. If you let Hibernate "
@@ -3177,16 +2129,14 @@
"and <literal>UserTransaction</literal> when needed."
msgstr ""
"La API de <literal>Session</literal> de Hibernate es independiente de "
-"cualquier demarcación de transacción en tu arquitectura. Si dejas que "
-"Hibernate use JDBC directamente, a través de un pool de conexiones. puedes "
-"comenzar y acabar tus transacciones llamando la API de JDBC. Si ejecutas en "
-"un servidor de aplicaciones J2EE, podréas querer usar transacciones "
-"manejadas por bean y llamar la API de JTA y <literal>UserTransaction</"
-"literal> cuando sea necesario."
+"cualquier demarcación de transacción en tu arquitectura. Si "
+"dejas que Hibernate use JDBC directamente, a través de un pool de "
+"conexiones. puedes comenzar y acabar tus transacciones llamando la API de "
+"JDBC. Si ejecutas en un servidor de aplicaciones J2EE, podréas querer "
+"usar transacciones manejadas por bean y llamar la API de JTA y "
+"<literal>UserTransaction</literal> cuando sea necesario."
-#. Tag: para
-#: configuration.xml:1430
-#, no-c-format
+#: index.docbook:1424
msgid ""
"To keep your code portable between these two (and other) environments we "
"recommend the optional Hibernate <literal>Transaction</literal> API, which "
@@ -3195,75 +2145,57 @@
"configuration property <literal>hibernate.transaction.factory_class</"
"literal>."
msgstr ""
-"Para mantener tu código portable entre estos dos (y otros) entornos "
+"Para mantener tu código portable entre estos dos (y otros) entornos "
"recomendamos la API de <literal>Transaction</literal> de Hibernate, que "
"envuelve y oculta el sistema subyacente. Tienes que especificar una clase "
-"fábrica para las instancias de <literal>Transaction</literal> estableciendo "
-"la propiedad de configuración <literal>hibernate.transaction.factory_class</"
-"literal> de Hibernate."
+"fábrica para las instancias de <literal>Transaction</literal> "
+"estableciendo la propiedad de configuración <literal>hibernate."
+"transaction.factory_class</literal> de Hibernate."
-#. Tag: para
-#: configuration.xml:1437
-#, no-c-format
+#: index.docbook:1431
msgid "There are three standard (built-in) choices:"
-msgstr "Hay tres elecciones estándar (prefabricadas):"
+msgstr "Hay tres elecciones estándar (prefabricadas):"
-#. Tag: literal
-#: configuration.xml:1443
-#, no-c-format
+#: index.docbook:1437
msgid "org.hibernate.transaction.JDBCTransactionFactory"
msgstr "org.hibernate.transaction.JDBCTransactionFactory"
-#. Tag: para
-#: configuration.xml:1445
-#, no-c-format
+#: index.docbook:1439
msgid "delegates to database (JDBC) transactions (default)"
msgstr "delega a transacciones de base de datos (JDBC) (por defecto)"
-#. Tag: literal
-#: configuration.xml:1449
-#, no-c-format
+#: index.docbook:1443
msgid "org.hibernate.transaction.JTATransactionFactory"
msgstr "org.hibernate.transaction.JTATransactionFactory"
-#. Tag: para
-#: configuration.xml:1451
-#, no-c-format
+#: index.docbook:1445
msgid ""
"delegates to container-managed transaction if an existing transaction is "
"underway in this context (e.g. EJB session bean method), otherwise a new "
"transaction is started and bean-managed transaction are used."
msgstr ""
-"delega a transacciones manejadas por contenedor si una transacción existente "
-"estó por debajo en este contexto (ej. método de un bean de sesión EJB), en "
-"otro caso una nueva transacción es comenzada y se usan transacciones "
-"manejadas por bean."
+"delega a transacciones manejadas por contenedor si una transacción "
+"existente estó por debajo en este contexto (ej. método de un "
+"bean de sesión EJB), en otro caso una nueva transacción es "
+"comenzada y se usan transacciones manejadas por bean."
-#. Tag: literal
-#: configuration.xml:1459
-#, no-c-format
+#: index.docbook:1453
msgid "org.hibernate.transaction.CMTTransactionFactory"
msgstr "org.hibernate.transaction.CMTTransactionFactory"
-#. Tag: para
-#: configuration.xml:1461
-#, no-c-format
+#: index.docbook:1455
msgid "delegates to container-managed JTA transactions"
msgstr "delega a transacciones JTA manejadas por contenedor"
-#. Tag: para
-#: configuration.xml:1466
-#, no-c-format
+#: index.docbook:1460
msgid ""
"You may also define your own transaction strategies (for a CORBA transaction "
"service, for example)."
msgstr ""
-"Puedes definir también tus propias estrategias de transacción (para un "
-"servicio de transacción CORBA, por ejemplo)."
+"Puedes definir también tus propias estrategias de transacción "
+"(para un servicio de transacción CORBA, por ejemplo)."
-#. Tag: para
-#: configuration.xml:1471
-#, no-c-format
+#: index.docbook:1465
msgid ""
"Some features in Hibernate (i.e. the second level cache, Contextual Sessions "
"with JTA, etc.) require access to the JTA <literal>TransactionManager</"
@@ -3272,160 +2204,110 @@
"<literal>TransactionManager</literal>, since J2EE does not standardize a "
"single mechanism:"
msgstr ""
-"Algunas funcionalidades en Hibernate (ej, el caché de segundo nivel, "
-"ligamento automático de JTA y Session, etc.) requieren acceso al "
+"Algunas funcionalidades en Hibernate (ej, el caché de segundo nivel, "
+"ligamento automático de JTA y Session, etc.) requieren acceso al "
"<literal>TransactionManager</literal> de JTA en un entorno manejado. En un "
-"servidor de aplicaciones tienes que especificar cómo Hibernate debe obtener "
-"una referencia al <literal>TransactionManager</literal>, pues J2EE no "
-"estandariza un solo mecanismo:"
+"servidor de aplicaciones tienes que especificar cómo Hibernate debe "
+"obtener una referencia al <literal>TransactionManager</literal>, pues J2EE "
+"no estandariza un solo mecanismo:"
-#. Tag: title
-#: configuration.xml:1479
-#, no-c-format
+#: index.docbook:1473
msgid "JTA TransactionManagers"
msgstr "TransactionManagers de JTA"
-#. Tag: entry
-#: configuration.xml:1485
-#, no-c-format
+#: index.docbook:1479
msgid "Transaction Factory"
msgstr "Transaction Factory"
-#. Tag: entry
-#: configuration.xml:1486
-#, no-c-format
+#: index.docbook:1480
msgid "Application Server"
msgstr "Servidor de Aplicaciones"
-#. Tag: literal
-#: configuration.xml:1491
-#, no-c-format
+#: index.docbook:1485
msgid "org.hibernate.transaction.JBossTransactionManagerLookup"
msgstr "org.hibernate.transaction.JBossTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1492
-#, no-c-format
+#: index.docbook:1486
msgid "JBoss"
msgstr "JBoss"
-#. Tag: literal
-#: configuration.xml:1495
-#, no-c-format
+#: index.docbook:1489
msgid "org.hibernate.transaction.WeblogicTransactionManagerLookup"
msgstr "org.hibernate.transaction.WeblogicTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1496
-#, no-c-format
+#: index.docbook:1490
msgid "Weblogic"
msgstr "Weblogic"
-#. Tag: literal
-#: configuration.xml:1499
-#, no-c-format
+#: index.docbook:1493
msgid "org.hibernate.transaction.WebSphereTransactionManagerLookup"
msgstr "org.hibernate.transaction.WebSphereTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1500
-#, no-c-format
+#: index.docbook:1494
msgid "WebSphere"
msgstr "WebSphere"
-#. Tag: literal
-#: configuration.xml:1503
-#, no-c-format
+#: index.docbook:1497
msgid "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
msgstr "org.hibernate.transaction.WebSphereExtendedJTATransactionLookup"
-#. Tag: entry
-#: configuration.xml:1504
-#, no-c-format
+#: index.docbook:1498
msgid "WebSphere 6"
msgstr "WebSphere 6"
-#. Tag: literal
-#: configuration.xml:1507
-#, no-c-format
+#: index.docbook:1501
msgid "org.hibernate.transaction.OrionTransactionManagerLookup"
msgstr "org.hibernate.transaction.OrionTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1508
-#, no-c-format
+#: index.docbook:1502
msgid "Orion"
msgstr "Orion"
-#. Tag: literal
-#: configuration.xml:1511
-#, no-c-format
+#: index.docbook:1505
msgid "org.hibernate.transaction.ResinTransactionManagerLookup"
msgstr "org.hibernate.transaction.ResinTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1512
-#, no-c-format
+#: index.docbook:1506
msgid "Resin"
msgstr "Resin"
-#. Tag: literal
-#: configuration.xml:1515
-#, no-c-format
+#: index.docbook:1509
msgid "org.hibernate.transaction.JOTMTransactionManagerLookup"
msgstr "org.hibernate.transaction.JOTMTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1516
-#, no-c-format
+#: index.docbook:1510
msgid "JOTM"
msgstr "JOTM"
-#. Tag: literal
-#: configuration.xml:1519
-#, no-c-format
+#: index.docbook:1513
msgid "org.hibernate.transaction.JOnASTransactionManagerLookup"
msgstr "org.hibernate.transaction.JOnASTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1520
-#, no-c-format
+#: index.docbook:1514
msgid "JOnAS"
msgstr "JOnAS"
-#. Tag: literal
-#: configuration.xml:1523
-#, no-c-format
+#: index.docbook:1517
msgid "org.hibernate.transaction.JRun4TransactionManagerLookup"
msgstr "org.hibernate.transaction.JRun4TransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1524
-#, no-c-format
+#: index.docbook:1518
msgid "JRun4"
msgstr "JRun4"
-#. Tag: literal
-#: configuration.xml:1527
-#, no-c-format
+#: index.docbook:1521
msgid "org.hibernate.transaction.BESTransactionManagerLookup"
msgstr "org.hibernate.transaction.BESTransactionManagerLookup"
-#. Tag: entry
-#: configuration.xml:1528
-#, no-c-format
+#: index.docbook:1522
msgid "Borland ES"
msgstr "Borland ES"
-#. Tag: title
-#: configuration.xml:1537
-#, no-c-format
+#: index.docbook:1531
msgid "JNDI-bound <literal>SessionFactory</literal>"
msgstr "<literal>SessionFactory</literal> ligada a JNDI"
-#. Tag: para
-#: configuration.xml:1539
-#, no-c-format
+#: index.docbook:1533
msgid ""
"A JNDI bound Hibernate <literal>SessionFactory</literal> can simplify the "
"lookup of the factory and the creation of new <literal>Session</literal>s. "
@@ -3433,14 +2315,12 @@
"both simply use the same registry!"
msgstr ""
"Una <literal>SessionFactory</literal> de Hibernate ligada a JNDI puede "
-"simplificar la obtención de la fábrica y la creación de nuevas "
-"<literal>Session</literal>s. Observa que esto no está relacionado a un "
-"<literal>Datasource</literal> ligado a JNDI, simplemente ambos usan el mismo "
-"registro!"
+"simplificar la obtención de la fábrica y la creación de "
+"nuevas <literal>Session</literal>s. Observa que esto no está "
+"relacionado a un <literal>Datasource</literal> ligado a JNDI, simplemente "
+"ambos usan el mismo registro!"
-#. Tag: para
-#: configuration.xml:1546
-#, no-c-format
+#: index.docbook:1540
msgid ""
"If you wish to have the <literal>SessionFactory</literal> bound to a JNDI "
"namespace, specify a name (eg. <literal>java:hibernate/SessionFactory</"
@@ -3453,27 +2333,24 @@
"nombres de JNDI, especifica un nombre (ej. <literal>java:hibernate/"
"SessionFactory</literal>) usando la propiedad <literal>hibernate."
"session_factory_name</literal>. Si esta propiedad es omitida, la "
-"<literal>SessionFactory</literal> no será ligada a JNDI (Esto es "
-"especialmente útil en entornos con una implementació JNDI de sólo lectura "
-"por defecto, ej. Tomcat.)"
+"<literal>SessionFactory</literal> no será ligada a JNDI (Esto es "
+"especialmente útil en entornos con una implementació JNDI de "
+"sólo lectura por defecto, ej. Tomcat.)"
-#. Tag: para
-#: configuration.xml:1554
-#, no-c-format
+#: index.docbook:1548
msgid ""
"When binding the <literal>SessionFactory</literal> to JNDI, Hibernate will "
"use the values of <literal>hibernate.jndi.url</literal>, <literal>hibernate."
"jndi.class</literal> to instantiate an initial context. If they are not "
"specified, the default <literal>InitialContext</literal> will be used."
msgstr ""
-"Al ligar la <literal>SessionFactory</literal> a JNDI, Hibernate usará los "
-"valores de <literal>hibernate.jndi.url</literal>, <literal>hibernate.jndi."
-"class</literal> para instanciar un contexto inicial. Si étos no se "
-"especifican, se usará el <literal>InitialContext</literal> por defecto."
+"Al ligar la <literal>SessionFactory</literal> a JNDI, Hibernate usará "
+"los valores de <literal>hibernate.jndi.url</literal>, <literal>hibernate."
+"jndi.class</literal> para instanciar un contexto inicial. Si étos no "
+"se especifican, se usará el <literal>InitialContext</literal> por "
+"defecto."
-#. Tag: para
-#: configuration.xml:1561
-#, no-c-format
+#: index.docbook:1555
msgid ""
"Hibernate will automatically place the <literal>SessionFactory</literal> in "
"JNDI after you call <literal>cfg.buildSessionFactory()</literal>. This means "
@@ -3481,15 +2358,14 @@
"your application, unless you use JMX deployment with the "
"<literal>HibernateService</literal> (discussed later)."
msgstr ""
-"Hibernate colocará automáticamente la <literal>SessionFactory</literal> en "
-"JNDI después que llames a <literal>cfg.buildSessionFactory()</literal>. Esto "
-"significa que tendrás al menos esta llamada en algún código de arranque (o "
-"clase de utilidad) en tu aplicación, a menos qie uses el despliegue JMX con "
-"el <literal>HibernateService</literal> (discutido luego)."
+"Hibernate colocará automáticamente la <literal>SessionFactory</"
+"literal> en JNDI después que llames a <literal>cfg.buildSessionFactory"
+"()</literal>. Esto significa que tendrás al menos esta llamada en "
+"algún código de arranque (o clase de utilidad) en tu "
+"aplicación, a menos qie uses el despliegue JMX con el "
+"<literal>HibernateService</literal> (discutido luego)."
-#. Tag: para
-#: configuration.xml:1568
-#, no-c-format
+#: index.docbook:1562
msgid ""
"If you use a JNDI <literal>SessionFactory</literal>, an EJB or any other "
"class may obtain the <literal>SessionFactory</literal> using a JNDI lookup."
@@ -3498,9 +2374,7 @@
"any other class may obtain the <literal>SessionFactory</literal> using a "
"JNDI lookup."
-#. Tag: para
-#: configuration.xml:1573
-#, no-c-format
+#: index.docbook:1567
msgid ""
"We recommend that you bind the <literal>SessionFactory</literal> to JNDI in "
"a managed environment and use a <literal>static</literal> singleton "
@@ -3512,20 +2386,17 @@
msgstr ""
"Si usas una <literal>SessionFactory</literal> de JNDI, un EJB o cualquier "
"otra clase puede obtener la <literal>SessionFactory</literal> usando una "
-"búsqueda JNDI. Observa que esta configuración no es necesaria si usas la "
-"clase de ayuda <literal>HibernateUtil</literal> introducida en el capítulo "
-"uno, que actúa como un registro Singleton. Sin embargo, "
-"<literal>HibernateUtil</literal> es más común en un entorno no manejado."
+"búsqueda JNDI. Observa que esta configuración no es necesaria "
+"si usas la clase de ayuda <literal>HibernateUtil</literal> introducida en el "
+"capítulo uno, que actúa como un registro Singleton. Sin "
+"embargo, <literal>HibernateUtil</literal> es más común en un "
+"entorno no manejado."
-#. Tag: title
-#: configuration.xml:1585
-#, no-c-format
+#: index.docbook:1579
msgid "Current Session context management with JTA"
-msgstr "Ligado automático de JTA y Session"
+msgstr "Ligado automático de JTA y Session"
-#. Tag: para
-#: configuration.xml:1587
-#, no-c-format
+#: index.docbook:1581
msgid ""
"The easiest way to handle <literal>Session</literal>s and transactions is "
"Hibernates automatic \"current\" <literal>Session</literal> management. See "
@@ -3566,15 +2437,11 @@
"boundaries. If you run in an EJB container, declarative transaction "
"demarcation with CMT is preferred."
-#. Tag: title
-#: configuration.xml:1610
-#, no-c-format
+#: index.docbook:1604
msgid "JMX deployment"
msgstr "Despliegue JMX"
-#. Tag: para
-#: configuration.xml:1612
-#, no-c-format
+#: index.docbook:1606
msgid ""
"The line <literal>cfg.buildSessionFactory()</literal> still has to be "
"executed somewhere to get a <literal>SessionFactory</literal> into JNDI. You "
@@ -3582,15 +2449,14 @@
"the one in <literal>HibernateUtil</literal>) or you deploy Hibernate as a "
"<emphasis>managed service</emphasis>."
msgstr ""
-"La línea <literal>cfg.buildSessionFactory()</literal> todavía tiene que ser "
-"ejecutada en algun sitio para obtener una <literal>SessionFactory</literal> "
-"en JNDI. Puedes hacer esto bien en un bloque inicializador <literal>static</"
-"literal> (como aquel en <literal>HibernateUtil</literal>) o bien despliegas "
-"Hibernate como un <emphasis>servicio manejado</emphasis>."
+"La línea <literal>cfg.buildSessionFactory()</literal> todavía "
+"tiene que ser ejecutada en algun sitio para obtener una "
+"<literal>SessionFactory</literal> en JNDI. Puedes hacer esto bien en un "
+"bloque inicializador <literal>static</literal> (como aquel en "
+"<literal>HibernateUtil</literal>) o bien despliegas Hibernate como un "
+"<emphasis>servicio manejado</emphasis>."
-#. Tag: para
-#: configuration.xml:1620
-#, no-c-format
+#: index.docbook:1614
msgid ""
"Hibernate is distributed with <literal>org.hibernate.jmx.HibernateService</"
"literal> for deployment on an application server with JMX capabilities, such "
@@ -3599,13 +2465,11 @@
msgstr ""
"Hibernate se distribuye con <literal>org.hibernate.jmx.HibernateService</"
"literal> para despliegue en un servidor de aplicaciones con capacidades JMX, "
-"como JBoss AS. El despliegue y la configuracón reales son específicos del "
-"vendedor. He aquí un <literal>jboss-service.xml</literal> de ejemplo para "
-"JBoss 4.0.x:"
+"como JBoss AS. El despliegue y la configuracón reales son "
+"específicos del vendedor. He aquí un <literal>jboss-service."
+"xml</literal> de ejemplo para JBoss 4.0.x:"
-#. Tag: programlisting
-#: configuration.xml:1627
-#, no-c-format
+#: index.docbook:1621
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<server>\n"
@@ -3653,10 +2517,53 @@
"\n"
"</server>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<server>\n"
+"\n"
+"<mbean code=\"org.hibernate.jmx.HibernateService\"\n"
+" name=\"jboss.jca:service=HibernateFactory,name=HibernateFactory\">\n"
+"\n"
+" <!-- Required services -->\n"
+" <depends>jboss.jca:service=RARDeployer</depends>\n"
+" <depends>jboss.jca:service=LocalTxCM,name=HsqlDS</depends>\n"
+"\n"
+" <!-- Bind the Hibernate service to JNDI -->\n"
+" <attribute name=\"JndiName\">java:/hibernate/SessionFactory</attribute>\n"
+"\n"
+" <!-- Datasource settings -->\n"
+" <attribute name=\"Datasource\">java:HsqlDS</attribute>\n"
+" <attribute name=\"Dialect\">org.hibernate.dialect.HSQLDialect</"
+"attribute>\n"
+"\n"
+" <!-- Transaction integration -->\n"
+" <attribute name=\"TransactionStrategy\">\n"
+" org.hibernate.transaction.JTATransactionFactory</attribute>\n"
+" <attribute name=\"TransactionManagerLookupStrategy\">\n"
+" org.hibernate.transaction.JBossTransactionManagerLookup</attribute>\n"
+" <attribute name=\"FlushBeforeCompletionEnabled\">true</attribute>\n"
+" <attribute name=\"AutoCloseSessionEnabled\">true</attribute>\n"
+"\n"
+" <!-- Fetching options -->\n"
+" <attribute name=\"MaximumFetchDepth\">5</attribute>\n"
+"\n"
+" <!-- Second-level caching -->\n"
+" <attribute name=\"SecondLevelCacheEnabled\">true</attribute>\n"
+" <attribute name=\"CacheProviderClass\">org.hibernate.cache."
+"EhCacheProvider</attribute>\n"
+" <attribute name=\"QueryCacheEnabled\">true</attribute>\n"
+"\n"
+" <!-- Logging -->\n"
+" <attribute name=\"ShowSqlEnabled\">true</attribute>\n"
+"\n"
+" <!-- Mapping files -->\n"
+" <attribute name=\"MapResources\">auction/Item.hbm.xml,auction/Category."
+"hbm.xml</attribute>\n"
+"\n"
+"</mbean>\n"
+"\n"
+"</server>]]>"
-#. Tag: para
-#: configuration.xml:1629
-#, no-c-format
+#: index.docbook:1623
msgid ""
"This file is deployed in a directory called <literal>META-INF</literal> and "
"packaged in a JAR file with the extension <literal>.sar</literal> (service "
@@ -3669,230 +2576,18 @@
"deployment."
msgstr ""
"Este fichero es desplegado en un directorio llamado <literal>META-INF</"
-"literal> y empaquetado en un fichero JAR con la extensión <literal>.sar</"
-"literal> (fichero de servicio). También necesitas empaquetar Hibernate, sus "
-"bibliotecas de terceros requeridas, tus clases persistentes compiladas, así "
-"como tus ficheros de mapeo en el mismo fichero. Tus beans de empresa "
-"(usualmente beans de sesión) pueden ser mantenidos en su propio fichero JAR, "
-"pero debes incluir este fichero EJB JAR en el fichero de servicio principal "
-"para obtener una unidad desplegable (en caliente). Consulta la documentación "
-"de JBoss AS para más información sobre el servicio JMX y despliegue de EJB."
+"literal> y empaquetado en un fichero JAR con la extensión <literal>."
+"sar</literal> (fichero de servicio). También necesitas empaquetar "
+"Hibernate, sus bibliotecas de terceros requeridas, tus clases persistentes "
+"compiladas, así como tus ficheros de mapeo en el mismo fichero. Tus "
+"beans de empresa (usualmente beans de sesión) pueden ser mantenidos "
+"en su propio fichero JAR, pero debes incluir este fichero EJB JAR en el "
+"fichero de servicio principal para obtener una unidad desplegable (en "
+"caliente). Consulta la documentación de JBoss AS para más "
+"información sobre el servicio JMX y despliegue de EJB."
-#, fuzzy
-#~ msgid "<placeholder-1/> (optional)"
-#~ msgstr ""
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (optional)\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (opcional)\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (opcional)\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "<placeholder-1/> (opcional)"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "InitialContextFactory"
-#~ msgstr "InitialContextFactory"
-
-#~ msgid "class of the JNDI <placeholder-1/>"
-#~ msgstr "clase de la <placeholder-1/> de JNDI"
-
-#, fuzzy
-#~ msgid "eg."
-#~ msgstr ""
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "eg.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej.\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "ej."
-
-#~ msgid "full.classname.of.Dialect"
-#~ msgstr "full.classname.of.Dialect"
-
-#~ msgid "debug"
-#~ msgstr "debug"
-
-#~ msgid "SCHEMA_NAME"
-#~ msgstr "SCHEMA_NAME"
-
-#~ msgid "CATALOG_NAME"
-#~ msgstr "CATALOG_NAME"
-
-#~ msgid "SessionFactory"
-#~ msgstr "SessionFactory"
-
-#~ msgid "jndi/composite/name"
-#~ msgstr "jndi/composite/name"
-
-#~ msgid "0"
-#~ msgstr "0"
-
-#~ msgid "false"
-#~ msgstr "false"
-
-#~ msgid "Statement.setFetchSize()"
-#~ msgstr "Statement.setFetchSize()"
-
-#~ msgid "true"
-#~ msgstr "true"
-
-#~ msgid "executeBatch()"
-#~ msgstr "executeBatch()"
-
-#~ msgid "Batcher"
-#~ msgstr "Batcher"
-
-#~ msgid "classname.of.BatcherFactory"
-#~ msgstr "classname.of.BatcherFactory"
-
-#~ msgid "binary"
-#~ msgstr "binary"
-
-#~ msgid "serializable"
-#~ msgstr "serializable"
-
-#~ msgid "PreparedStatement.getGeneratedKeys()"
-#~ msgstr "PreparedStatement.getGeneratedKeys()"
-
-#~ msgid "true|false"
-#~ msgstr "true|false"
-
-#~ msgid "ConnectionProvider"
-#~ msgstr "ConnectionProvider"
-
-#~ msgid "classname.of.ConnectionProvider"
-#~ msgstr "classname.of.ConnectionProvider"
-
-#~ msgid "java.sql.Connection"
-#~ msgstr "java.sql.Connection"
-
-#~ msgid "1, 2, 4, 8"
-#~ msgstr "1, 2, 4, 8"
-
-#~ msgid "after_statement"
-#~ msgstr "after_statement"
-
-#~ msgid "after_transaction"
-#~ msgstr "after_transaction"
-
-#~ msgid "auto"
-#~ msgstr "auto"
-
-#~ msgid "hibernate.connection."
-#~ msgstr "<propertyName>"
-
-#, fuzzy
-#~ msgid "<propertyName>"
-#~ msgstr ""
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "hibernate.connection.<placeholder-1/>\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "propertyName\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "hibernate.jndi.<placeholder-1/>\n"
-#~ "#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-#~ "propertyName"
-
-#~ msgid "DriverManager.getConnection()"
-#~ msgstr "DriverManager.getConnection()"
-
-#~ msgid "Pass the JDBC property <placeholder-1/> to <placeholder-2/>."
-#~ msgstr "Pasa la propiedad JDBC <placeholder-1/> a <placeholder-2/>."
-
-#~ msgid "hibernate.jndi."
-#~ msgstr "<propertyName>"
-
-#~ msgid "Pass the property <placeholder-1/> to the JNDI <placeholder-2/>."
-#~ msgstr "Pasa la propiedad <placeholder-1/> a <placeholder-2/> de JNDI."
-
-#~ msgid "CacheProvider"
-#~ msgstr "CacheProvider"
-
-#~ msgid "classname.of.CacheProvider"
-#~ msgstr "classname.of.CacheProvider"
-
-#~ msgid "<cache>"
-#~ msgstr "<cache>"
-
-#~ msgid "QueryCache"
-#~ msgstr "QueryCache"
-
-#~ msgid "StandardQueryCache"
-#~ msgstr "StandardQueryCache"
-
-#~ msgid "classname.of.QueryCache"
-#~ msgstr "classname.of.QueryCache"
-
-#~ msgid "prefix"
-#~ msgstr "prefix"
-
-#~ msgid "TransactionFactory"
-#~ msgstr "TransactionFactory"
-
-#~ msgid "Transaction"
-#~ msgstr "Transaction"
-
-#~ msgid "JDBCTransactionFactory"
-#~ msgstr "JDBCTransactionFactory"
-
-#~ msgid "classname.of.TransactionFactory"
-#~ msgstr "classname.of.TransactionFactory"
-
-#~ msgid "JTATransactionFactory"
-#~ msgstr "JTATransactionFactory"
-
-#~ msgid "UserTransaction"
-#~ msgstr "UserTransaction"
-
-#~ msgid "TransactionManagerLookup"
-#~ msgstr "TransactionManagerLookup"
-
-#~ msgid "classname.of.TransactionManagerLookup"
-#~ msgstr "classname.of.TransactionManagerLookup"
-
-#~ msgid "Session"
-#~ msgstr "Session"
-
-#~ msgid "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
-#~ msgstr "hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC"
-
-#~ msgid "create-drop"
-#~ msgstr "create-drop"
-
-#~ msgid "hibernate.cfg.xml"
-#~ msgstr "hibernate.cfg.xml"
-
-#~ msgid "DB2"
-#~ msgstr "DB2"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/events.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,42 +1,30 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: events.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Interceptors and events"
msgstr "Interceptores y eventos"
-#. Tag: para
-#: events.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"It is often useful for the application to react to certain events that occur "
"inside Hibernate. This allows implementation of certain kinds of generic "
"functionality, and extension of Hibernate functionality."
msgstr ""
-"Frecuentemente es útil para la aplicación reaccionar a ciertos eventos que "
-"ocurran dentro de Hibernate. Esto permite la implementación de ciertos tipos "
-"de funcionalidade genérica, y extensión de la funcionalidad de Hibernate."
+"Frecuentemente es útil para la aplicación reaccionar a ciertos "
+"eventos que ocurran dentro de Hibernate. Esto permite la implementació"
+"n de ciertos tipos de funcionalidade genérica, y extensión de "
+"la funcionalidad de Hibernate."
-#. Tag: title
-#: events.xml:14
-#, no-c-format
+#: index.docbook:14
msgid "Interceptors"
msgstr "Interceptores"
-#. Tag: para
-#: events.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"The <literal>Interceptor</literal> interface provides callbacks from the "
"session to the application allowing the application to inspect and/or "
@@ -48,19 +36,17 @@
"<literal>lastUpdateTimestamp</literal> property when an <literal>Auditable</"
"literal> is updated."
msgstr ""
-"La interface <literal>Interceptor</literal> provee callbacks desde la sesión "
-"a la aplicación permitiendo a ésta última inspeccionar y/o manipular las "
-"propiedades de un objeto persistente antes que sea salvado, actualizado, "
-"borrado o cargado. Un uso posible de esto es seguir la pista de información "
-"de auditoría. Por ejemplo, el siguiente <literal>Interceptor</literal> "
-"establece automáticamente el <literal>createTimestamp</literal> cuando un "
-"<literal>Auditable</literal> es creado y actualiza la propiedad "
-"<literal>lastUpdateTimestamp</literal> cuando un <literal>Auditable</"
-"literal> es acutalizado."
+"La interface <literal>Interceptor</literal> provee callbacks desde la "
+"sesión a la aplicación permitiendo a ésta última "
+"inspeccionar y/o manipular las propiedades de un objeto persistente antes "
+"que sea salvado, actualizado, borrado o cargado. Un uso posible de esto es "
+"seguir la pista de información de auditoría. Por ejemplo, el "
+"siguiente <literal>Interceptor</literal> establece automáticamente el "
+"<literal>createTimestamp</literal> cuando un <literal>Auditable</literal> es "
+"creado y actualiza la propiedad <literal>lastUpdateTimestamp</literal> "
+"cuando un <literal>Auditable</literal> es acutalizado."
-#. Tag: para
-#: events.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"You may either implement <literal>Interceptor</literal> directly or (better) "
"extend <literal>EmptyInterceptor</literal>."
@@ -68,9 +54,7 @@
"UNTRANSLATED! You may either implement <literal>Interceptor</literal> "
"directly or (better) extend <literal>EmptyInterceptor</literal>."
-#. Tag: programlisting
-#: events.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"<![CDATA[package org.hibernate.test;\n"
"\n"
@@ -156,10 +140,88 @@
"\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
-#: events.xml:34
-#, no-c-format
+#: index.docbook:34
msgid ""
"Interceptors come in two flavors: <literal>Session</literal>-scoped and "
"<literal>SessionFactory</literal>-scoped."
@@ -167,9 +229,7 @@
"UNTRANSLATED! Interceptors come in two flavors: <literal>Session</literal>-"
"scoped and <literal>SessionFactory</literal>-scoped."
-#. Tag: para
-#: events.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"A <literal>Session</literal>-scoped interceptor is specified when a session "
"is opened using one of the overloaded SessionFactory.openSession() methods "
@@ -179,15 +239,12 @@
"when a session is opened using one of the overloaded SessionFactory."
"openSession() methods accepting an <literal>Interceptor</literal>."
-#. Tag: programlisting
-#: events.xml:45
-#, no-c-format
+#: index.docbook:45
msgid "<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
msgstr ""
+"<![CDATA[Session session = sf.openSession( new AuditInterceptor() );]]>"
-#. Tag: para
-#: events.xml:47
-#, no-c-format
+#: index.docbook:47
msgid ""
"A <literal>SessionFactory</literal>-scoped interceptor is registered with "
"the <literal>Configuration</literal> object prior to building the "
@@ -208,35 +265,28 @@
"session-specific state since multiple sessions will use this interceptor "
"(potentially) concurrently."
-#. Tag: programlisting
-#: events.xml:56
-#, no-c-format
+#: index.docbook:56
msgid ""
"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
msgstr ""
+"<![CDATA[new Configuration().setInterceptor( new AuditInterceptor() );]]>"
-#. Tag: title
-#: events.xml:61
-#, no-c-format
+#: index.docbook:61
msgid "Event system"
msgstr "Sistema de eventos"
-#. Tag: para
-#: events.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"If you have to react to particular events in your persistence layer, you may "
"also use the Hibernate3 <emphasis>event</emphasis> architecture. The event "
"system can be used in addition or as a replacement for interceptors."
msgstr ""
"Si tienes que reaccionar a eventos particulares en tu capa de persistencia, "
-"puedes también la arquitectura de <emphasis>eventos</emphasis> de "
-"Hibernate3. El sistema de eventos puede ser usado en adición o como un "
-"remplazo a los interceptores."
+"puedes también la arquitectura de <emphasis>eventos</emphasis> de "
+"Hibernate3. El sistema de eventos puede ser usado en adición o como "
+"un remplazo a los interceptores."
-#. Tag: para
-#: events.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"Essentially all of the methods of the <literal>Session</literal> interface "
"correlate to an event. You have a <literal>LoadEvent</literal>, a "
@@ -253,36 +303,34 @@
"processing any <literal>load()</literal> requests made of the "
"<literal>Session</literal>."
msgstr ""
-"Esencialmente todos los métodos de la interface <literal>Session</literal> "
-"se correlacionan con un evento. Tienes un <literal>LoadEvent</literal>, un "
-"<literal>FlushEvent</literal>, etc (consulta el DTD del fichero de "
-"configuración XML o el paquete <literal>org.hibernate.event</literal> para "
-"la lista completa de tipos de evento definidos). Cuando se hace una petición "
-"de uno de estos métodos, la <literal>Session</literal> de Hibernate genera "
-"un evento apropiado y se lo pasa al oyente (listener) de eventos configurado "
-"para ese tipo. De fábrica, estos oyentes implementan el mismo procesamiento "
-"en los que siempre resultan aquellos métodos. Sin embargo, eres libre de "
-"implementar una personalización de una de las interfaces oyentes (es decir, "
-"el <literal>LoadEvent</literal> es procesado por la implementación "
+"Esencialmente todos los métodos de la interface <literal>Session</"
+"literal> se correlacionan con un evento. Tienes un <literal>LoadEvent</"
+"literal>, un <literal>FlushEvent</literal>, etc (consulta el DTD del fichero "
+"de configuración XML o el paquete <literal>org.hibernate.event</"
+"literal> para la lista completa de tipos de evento definidos). Cuando se "
+"hace una petición de uno de estos métodos, la "
+"<literal>Session</literal> de Hibernate genera un evento apropiado y se lo "
+"pasa al oyente (listener) de eventos configurado para ese tipo. De fá"
+"brica, estos oyentes implementan el mismo procesamiento en los que siempre "
+"resultan aquellos métodos. Sin embargo, eres libre de implementar una "
+"personalización de una de las interfaces oyentes (es decir, el "
+"<literal>LoadEvent</literal> es procesado por la implementación "
"registrada de la interface <literal>LoadEventListener</literal>), en cuyo "
-"caso su implementación sería responsable de procesar cualquier petición "
-"<literal>load()</literal> hecha a la <literal>Session</literal>."
+"caso su implementación sería responsable de procesar cualquier "
+"petición <literal>load()</literal> hecha a la <literal>Session</"
+"literal>."
-#. Tag: para
-#: events.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"The listeners should be considered effectively singletons; meaning, they are "
"shared between requests, and thus should not save any state as instance "
"variables."
msgstr ""
"Los oyentes deben ser considerados efectivamente singletons; quiere decir, "
-"que son compartidos entre las peticiones, y por lo tanto no guardan ningún "
-"estado en variables de instancia."
+"que son compartidos entre las peticiones, y por lo tanto no guardan "
+"ningún estado en variables de instancia."
-#. Tag: para
-#: events.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"A custom listener should implement the appropriate interface for the event "
"it wants to process and/or extend one of the convenience base classes (or "
@@ -296,16 +344,15 @@
"Un oyente personalizado debe implementar la interface apropiada para el "
"evento que quiere procesar y/o extender una de las clases base de "
"conveniencia (o incluso los oyentes de eventos por defecto usados por "
-"Hibernate de fábrica al ser éstos declarados non-final para este propósito). "
-"Los oyentes personalizados pueden ser registrados programáticamente a través "
-"del objeto <literal>Configuration</literal>, o especificados en el XML de "
-"configuración de Hibernate (la declaración declarativa a través del fichero "
-"de propiedades no está soportada). He aquí un ejemplo de un oyente "
-"personalizado de eventos load:"
+"Hibernate de fábrica al ser éstos declarados non-final para "
+"este propósito). Los oyentes personalizados pueden ser registrados "
+"programáticamente a través del objeto <literal>Configuration</"
+"literal>, o especificados en el XML de configuración de Hibernate (la "
+"declaración declarativa a través del fichero de propiedades no "
+"está soportada). He aquí un ejemplo de un oyente personalizado "
+"de eventos load:"
-#. Tag: programlisting
-#: events.xml:99
-#, no-c-format
+#: index.docbook:99
msgid ""
"<![CDATA[public class MyLoadListener implements LoadEventListener {\n"
" // this is the single method defined by the LoadEventListener interface\n"
@@ -319,20 +366,28 @@
" }\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
-#: events.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"You also need a configuration entry telling Hibernate to use the listener in "
"addition to the default listener:"
msgstr ""
-"Necesitas además una entrada de configuración diciéndole a Hibernate que use "
-"el oyente en vez del oyente por defecto:"
+"Necesitas además una entrada de configuración dicié"
+"ndole a Hibernate que use el oyente en vez del oyente por defecto:"
-#. Tag: programlisting
-#: events.xml:106
-#, no-c-format
+#: index.docbook:106
msgid ""
"<![CDATA[<hibernate-configuration>\n"
" <session-factory>\n"
@@ -345,26 +400,29 @@
" </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
-#: events.xml:108
-#, no-c-format
+#: index.docbook:108
msgid "Instead, you may register it programmatically:"
-msgstr "En cambio, puedes registrarlo programáticamente:"
+msgstr "En cambio, puedes registrarlo programáticamente:"
-#. Tag: programlisting
-#: events.xml:112
-#, no-c-format
+#: index.docbook:112
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
-#: events.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"Listeners registered declaratively cannot share instances. If the same class "
"name is used in multiple <literal><listener/></literal> elements, each "
@@ -373,14 +431,13 @@
"the programmatic registration approach."
msgstr ""
"Los oyentes registrados declarativamente no pueden compartir instancias. Si "
-"el mismo nombre de clase es usado en múltiples elementos <literal><"
-"listener/></literal>, cada referencia resultará en una instancia separada "
-"de esa clase. Si necesitas la capacidad de compartir instancias de oyentes "
-"entre tipos de oyente debes usar el enfoque de registración programática."
+"el mismo nombre de clase es usado en múltiples elementos <literal><"
+"listener/></literal>, cada referencia resultará en una instancia "
+"separada de esa clase. Si necesitas la capacidad de compartir instancias de "
+"oyentes entre tipos de oyente debes usar el enfoque de registración "
+"programática."
-#. Tag: para
-#: events.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"Why implement an interface and define the specific type during "
"configuration? Well, a listener implementation could implement multiple "
@@ -388,21 +445,18 @@
"registration makes it easier to turn custom listeners on or off during "
"configuration."
msgstr ""
-"¿Por qué implementar una interface y definir el tipo espcífico durante la "
-"configuración? Bueno, una implementación de oyente podría implementar "
-"múltiples interfaces de oyente de eventos. Teniendo el tipo definido "
-"adicionalmente durante la registración lo hace más fácil para activar o "
-"desactivar oyentes personalizados durante la configuración."
+"¿Por qué implementar una interface y definir el tipo "
+"espcífico durante la configuración? Bueno, una "
+"implementación de oyente podría implementar múltiples "
+"interfaces de oyente de eventos. Teniendo el tipo definido adicionalmente "
+"durante la registración lo hace más fácil para activar "
+"o desactivar oyentes personalizados durante la configuración."
-#. Tag: title
-#: events.xml:132
-#, no-c-format
+#: index.docbook:132
msgid "Hibernate declarative security"
msgstr "Seguridad declarativa de Hibernate"
-#. Tag: para
-#: events.xml:133
-#, no-c-format
+#: index.docbook:133
msgid ""
"Usually, declarative security in Hibernate applications is managed in a "
"session facade layer. Now, Hibernate3 allows certain actions to be "
@@ -410,23 +464,20 @@
"functionality built on top of the event architecture."
msgstr ""
"Usualmente, la seguridad declarativa en aplicaciones Hibernate es manejada "
-"en una capa de fachada de sesión. Ahora, Hibernate3 permite que ciertas "
-"acciones sean permitidas vía JACC, y autorizadas vía JAAS. Esta en una "
-"funcionalidad opcional construída encima de la arquitectura de eventos."
+"en una capa de fachada de sesión. Ahora, Hibernate3 permite que "
+"ciertas acciones sean permitidas vía JACC, y autorizadas vía "
+"JAAS. Esta en una funcionalidad opcional construída encima de la "
+"arquitectura de eventos."
-#. Tag: para
-#: events.xml:139
-#, no-c-format
+#: index.docbook:139
msgid ""
"First, you must configure the appropriate event listeners, to enable the use "
"of JAAS authorization."
msgstr ""
"Primero, debes configurar los oyentes de eventos apropiados, para habilitar "
-"el uso de autorización JAAS."
+"el uso de autorización JAAS."
-#. Tag: programlisting
-#: events.xml:144
-#, no-c-format
+#: index.docbook:144
msgid ""
"<![CDATA[<listener type=\"pre-delete\" class=\"org.hibernate.secure."
"JACCPreDeleteEventListener\"/>\n"
@@ -437,10 +488,16 @@
"<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
-#: events.xml:146
-#, no-c-format
+#: index.docbook:146
msgid ""
"Note that <literal><listener type=\"...\" class=\"...\"/></literal> is "
"just a shorthand for <literal><event type=\"...\"><listener class="
@@ -452,27 +509,30 @@
"listener class=\"...\"/></event></literal> when there is exactly "
"one listener for a particular event type."
-#. Tag: para
-#: events.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"Next, still in <literal>hibernate.cfg.xml</literal>, bind the permissions to "
"roles:"
msgstr ""
-"Seguido, aún en <literal>hibernate.cfg.xml</literal>, liga los permisos a "
-"roles:"
+"Seguido, aún en <literal>hibernate.cfg.xml</literal>, liga los "
+"permisos a roles:"
-#. Tag: programlisting
-#: events.xml:156
-#, no-c-format
+#: index.docbook:156
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
-#: events.xml:158
-#, no-c-format
+#: index.docbook:158
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."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_mappings.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,36 +1,24 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: example_mappings.xml:20
-#, no-c-format
+#: index.docbook:20
msgid "Example: Various Mappings"
msgstr "Ejemplo: Varios Mapeos"
-#. Tag: para
-#: example_mappings.xml:22
-#, no-c-format
+#: index.docbook:22
msgid "This chapters shows off some more complex association mappings."
-msgstr "Este capítulo muestra mapeos de asociaciones más complejos."
+msgstr ""
+"Este capítulo muestra mapeos de asociaciones más complejos."
-#. Tag: title
-#: example_mappings.xml:27
-#, no-c-format
+#: index.docbook:27
msgid "Employer/Employee"
msgstr "Empleador/Empleado"
-#. Tag: para
-#: example_mappings.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"The following model of the relationship between <literal>Employer</literal> "
"and <literal>Employee</literal> uses an actual entity class "
@@ -38,22 +26,18 @@
"because there might be more than one period of employment for the same two "
"parties. Components are used to model monetary values and employee names."
msgstr ""
-"El siguiente modelo de la relación entre <literal>Employer</literal> y "
-"<literal>Employee</literal> usa una clase de entidad real "
-"(<literal>Employment</literal>) para representar la asociación. Esto se ha "
-"hecho esto porque podría haber más de un período de empleo para los mismos "
-"dos participantes. Se usan componentes para modelar valores monetarios y "
-"nombres de empleado."
+"El siguiente modelo de la relación entre <literal>Employer</literal> "
+"y <literal>Employee</literal> usa una clase de entidad real "
+"(<literal>Employment</literal>) para representar la asociación. Esto "
+"se ha hecho esto porque podría haber más de un período "
+"de empleo para los mismos dos participantes. Se usan componentes para "
+"modelar valores monetarios y nombres de empleado."
-#. Tag: para
-#: example_mappings.xml:46
-#, no-c-format
+#: index.docbook:46
msgid "Heres a possible mapping document:"
-msgstr "He aquí un documento de mapeo posible:"
+msgstr "He aquí un documento de mapeo posible:"
-#. Tag: programlisting
-#: example_mappings.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" \n"
@@ -106,18 +90,65 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" \n"
+" <class name=\"Employer\" table=\"employers\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\">\n"
+" <param name=\"sequence\">employer_id_seq</param>\n"
+" </generator>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+" <class name=\"Employment\" table=\"employment_periods\">\n"
+"\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\">\n"
+" <param name=\"sequence\">employment_id_seq</param>\n"
+" </generator>\n"
+" </id>\n"
+" <property name=\"startDate\" column=\"start_date\"/>\n"
+" <property name=\"endDate\" column=\"end_date\"/>\n"
+"\n"
+" <component name=\"hourlyRate\" class=\"MonetaryAmount\">\n"
+" <property name=\"amount\">\n"
+" <column name=\"hourly_rate\" sql-type=\"NUMERIC(12, 2)\"/>\n"
+" </property>\n"
+" <property name=\"currency\" length=\"12\"/>\n"
+" </component>\n"
+"\n"
+" <many-to-one name=\"employer\" column=\"employer_id\" not-null=\"true"
+"\"/>\n"
+" <many-to-one name=\"employee\" column=\"employee_id\" not-null=\"true"
+"\"/>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Employee\" table=\"employees\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"sequence\">\n"
+" <param name=\"sequence\">employee_id_seq</param>\n"
+" </generator>\n"
+" </id>\n"
+" <property name=\"taxfileNumber\"/>\n"
+" <component name=\"name\" class=\"Name\">\n"
+" <property name=\"firstName\"/>\n"
+" <property name=\"initial\"/>\n"
+" <property name=\"lastName\"/>\n"
+" </component>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: example_mappings.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"And heres the table schema generated by <literal>SchemaExport</literal>."
msgstr ""
-"Y he aquí el esquema de tablas generado por <literal>SchemaExport</literal>."
+"Y he aquí el esquema de tablas generado por <literal>SchemaExport</"
+"literal>."
-#. Tag: programlisting
-#: example_mappings.xml:56
-#, no-c-format
+#: index.docbook:56
msgid ""
"<![CDATA[create table employers (\n"
" id BIGINT not null, \n"
@@ -155,16 +186,47 @@
"create sequence employment_id_seq\n"
"create sequence employer_id_seq]]>"
msgstr ""
+"<![CDATA[create table employers (\n"
+" id BIGINT not null, \n"
+" name VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table employment_periods (\n"
+" id BIGINT not null,\n"
+" hourly_rate NUMERIC(12, 2),\n"
+" currency VARCHAR(12), \n"
+" employee_id BIGINT not null, \n"
+" employer_id BIGINT not null, \n"
+" end_date TIMESTAMP, \n"
+" start_date TIMESTAMP, \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table employees (\n"
+" id BIGINT not null, \n"
+" firstName VARCHAR(255), \n"
+" initial CHAR(1), \n"
+" lastName VARCHAR(255), \n"
+" taxfileNumber VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"alter table employment_periods \n"
+" add constraint employment_periodsFK0 foreign key (employer_id) "
+"references employers\n"
+"alter table employment_periods \n"
+" add constraint employment_periodsFK1 foreign key (employee_id) "
+"references employees\n"
+"create sequence employee_id_seq\n"
+"create sequence employment_id_seq\n"
+"create sequence employer_id_seq]]>"
-#. Tag: title
-#: example_mappings.xml:61
-#, no-c-format
+#: index.docbook:61
msgid "Author/Work"
msgstr "Autor/Obra"
-#. Tag: para
-#: example_mappings.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"Consider the following model of the relationships between <literal>Work</"
"literal>, <literal>Author</literal> and <literal>Person</literal>. We "
@@ -176,23 +238,20 @@
msgstr ""
"Considera el siguiente modelo de las relaciones entre <literal>Work</"
"literal>, <literal>Author</literal> y <literal>Person</literal>. "
-"Representamos la relación entre <literal>Work</literal> y <literal>Author</"
-"literal> como una asociación muchos-a-muchos. Elegimos representar la "
-"relación entre <literal>Author</literal> y <literal>Person</literal> como "
-"una asociación uno-a-uno. Otra posibilidad hubiese sido que <literal>Author</"
-"literal> extendiera <literal>Person</literal>."
+"Representamos la relación entre <literal>Work</literal> y "
+"<literal>Author</literal> como una asociación muchos-a-muchos. "
+"Elegimos representar la relación entre <literal>Author</literal> y "
+"<literal>Person</literal> como una asociación uno-a-uno. Otra "
+"posibilidad hubiese sido que <literal>Author</literal> extendiera "
+"<literal>Person</literal>."
-#. Tag: para
-#: example_mappings.xml:81
-#, no-c-format
+#: index.docbook:81
msgid ""
"The following mapping document correctly represents these relationships:"
msgstr ""
"El siguiente documento de mapeo representa estas relaciones correctamente:"
-#. Tag: programlisting
-#: example_mappings.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -246,10 +305,59 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Work\" table=\"works\" discriminator-value=\"W\">\n"
+"\n"
+" <id name=\"id\" column=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"type\" type=\"character\"/>\n"
+"\n"
+" <property name=\"title\"/>\n"
+" <set name=\"authors\" table=\"author_work\">\n"
+" <key column name=\"work_id\"/>\n"
+" <many-to-many class=\"Author\" column name=\"author_id\"/>\n"
+" </set>\n"
+"\n"
+" <subclass name=\"Book\" discriminator-value=\"B\">\n"
+" <property name=\"text\"/>\n"
+" </subclass>\n"
+"\n"
+" <subclass name=\"Song\" discriminator-value=\"S\">\n"
+" <property name=\"tempo\"/>\n"
+" <property name=\"genre\"/>\n"
+" </subclass>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Author\" table=\"authors\">\n"
+"\n"
+" <id name=\"id\" column=\"id\">\n"
+" <!-- The Author must have the same identifier as the Person -->\n"
+" <generator class=\"assigned\"/> \n"
+" </id>\n"
+"\n"
+" <property name=\"alias\"/>\n"
+" <one-to-one name=\"person\" constrained=\"true\"/>\n"
+"\n"
+" <set name=\"works\" table=\"author_work\" inverse=\"true\">\n"
+" <key column=\"author_id\"/>\n"
+" <many-to-many class=\"Work\" column=\"work_id\"/>\n"
+" </set>\n"
+"\n"
+" </class>\n"
+"\n"
+" <class name=\"Person\" table=\"persons\">\n"
+" <id name=\"id\" column=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: example_mappings.xml:87
-#, no-c-format
+#: index.docbook:87
msgid ""
"There are four tables in this mapping. <literal>works</literal>, "
"<literal>authors</literal> and <literal>persons</literal> hold work, author "
@@ -260,12 +368,10 @@
"Hay cuatro tablas en este mapeo. <literal>works</literal>, <literal>authors</"
"literal> y <literal>persons</literal> tienen los datos de obra, autor y "
"persona respectivamente. <literal>author_work</literal> es una tabla de "
-"asociación enlazando autores a obras. He aquí el esquema de tablas, tal como "
-"fue generado por <literal>SchemaExport</literal>."
+"asociación enlazando autores a obras. He aquí el esquema de "
+"tablas, tal como fue generado por <literal>SchemaExport</literal>."
-#. Tag: programlisting
-#: example_mappings.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"<![CDATA[create table works (\n"
" id BIGINT not null generated by default as identity, \n"
@@ -303,16 +409,47 @@
"alter table author_work\n"
" add constraint author_workFK1 foreign key (work_id) references works]]>"
msgstr ""
+"<![CDATA[create table works (\n"
+" id BIGINT not null generated by default as identity, \n"
+" tempo FLOAT, \n"
+" genre VARCHAR(255), \n"
+" text INTEGER, \n"
+" title VARCHAR(255), \n"
+" type CHAR(1) not null, \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table author_work (\n"
+" author_id BIGINT not null, \n"
+" work_id BIGINT not null, \n"
+" primary key (work_id, author_id)\n"
+")\n"
+"\n"
+"create table authors (\n"
+" id BIGINT not null generated by default as identity, \n"
+" alias VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table persons (\n"
+" id BIGINT not null generated by default as identity, \n"
+" name VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"alter table authors \n"
+" add constraint authorsFK0 foreign key (id) references persons\n"
+"alter table author_work \n"
+" add constraint author_workFK0 foreign key (author_id) references "
+"authors\n"
+"alter table author_work\n"
+" add constraint author_workFK1 foreign key (work_id) references works]]>"
-#. Tag: title
-#: example_mappings.xml:100
-#, no-c-format
+#: index.docbook:100
msgid "Customer/Order/Product"
msgstr "Cliente/Orden/Producto"
-#. Tag: para
-#: example_mappings.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"Now consider a model of the relationships between <literal>Customer</"
"literal>, <literal>Order</literal> and <literal>LineItem</literal> and "
@@ -326,23 +463,20 @@
msgstr ""
"Ahora considera un modelo de las relaciones entre <literal>Customer</"
"literal>, <literal>Order</literal> y <literal>LineItem</literal> y "
-"<literal>Product</literal>. Hay una asociación uno-a-muchos entre "
-"<literal>Customer</literal> y <literal>Order</literal>, pero, ¿cómo "
-"deberíamos representar <literal>Order</literal> / <literal>LineItem</"
-"literal> / <literal>Product</literal>? He elegido mapear <literal>LineItem</"
-"literal> como una clase de asociación representando la asociación muchos-a-"
-"muchos entre <literal>Order</literal> y <literal>Product</literal>. En "
-"Hibernate, esto se llama un elemento compuesto."
+"<literal>Product</literal>. Hay una asociación uno-a-muchos entre "
+"<literal>Customer</literal> y <literal>Order</literal>, pero, ¿"
+"cómo deberíamos representar <literal>Order</literal> / "
+"<literal>LineItem</literal> / <literal>Product</literal>? He elegido mapear "
+"<literal>LineItem</literal> como una clase de asociación "
+"representando la asociación muchos-a-muchos entre <literal>Order</"
+"literal> y <literal>Product</literal>. En Hibernate, esto se llama un "
+"elemento compuesto."
-#. Tag: para
-#: example_mappings.xml:122
-#, no-c-format
+#: index.docbook:122
msgid "The mapping document:"
msgstr "El documento de mapeo:"
-#. Tag: programlisting
-#: example_mappings.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -382,10 +516,45 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Customer\" table=\"customers\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"name\"/>\n"
+" <set name=\"orders\" inverse=\"true\">\n"
+" <key column=\"customer_id\"/>\n"
+" <one-to-many class=\"Order\"/>\n"
+" </set>\n"
+" </class>\n"
+"\n"
+" <class name=\"Order\" table=\"orders\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"date\"/>\n"
+" <many-to-one name=\"customer\" column=\"customer_id\"/>\n"
+" <list name=\"lineItems\" table=\"line_items\">\n"
+" <key column=\"order_id\"/>\n"
+" <list-index column=\"line_number\"/>\n"
+" <composite-element class=\"LineItem\">\n"
+" <property name=\"quantity\"/>\n"
+" <many-to-one name=\"product\" column=\"product_id\"/>\n"
+" </composite-element>\n"
+" </list>\n"
+" </class>\n"
+"\n"
+" <class name=\"Product\" table=\"products\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"serialNumber\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: example_mappings.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<literal>customers</literal>, <literal>orders</literal>, "
"<literal>line_items</literal> and <literal>products</literal> hold customer, "
@@ -394,13 +563,11 @@
msgstr ""
"<literal>customers</literal>, <literal>orders</literal>, "
"<literal>line_items</literal> y <literal>products</literal> tienen los datos "
-"de cliente, orden, ítem de línea de orden y producto respectivamente. Además "
-"<literal>line_items</literal> actúa como una tabla de asociación enlazando "
-"órdenes con productos."
+"de cliente, orden, ítem de línea de orden y producto "
+"respectivamente. Además <literal>line_items</literal> actúa "
+"como una tabla de asociación enlazando órdenes con productos."
-#. Tag: programlisting
-#: example_mappings.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[create table customers (\n"
" id BIGINT not null generated by default as identity, \n"
@@ -437,40 +604,65 @@
"alter table line_items\n"
" add constraint line_itemsFK1 foreign key (order_id) references orders]]>"
msgstr ""
+"<![CDATA[create table customers (\n"
+" id BIGINT not null generated by default as identity, \n"
+" name VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table orders (\n"
+" id BIGINT not null generated by default as identity, \n"
+" customer_id BIGINT, \n"
+" date TIMESTAMP, \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"create table line_items (\n"
+" line_number INTEGER not null, \n"
+" order_id BIGINT not null, \n"
+" product_id BIGINT, \n"
+" quantity INTEGER, \n"
+" primary key (order_id, line_number)\n"
+")\n"
+"\n"
+"create table products (\n"
+" id BIGINT not null generated by default as identity, \n"
+" serialNumber VARCHAR(255), \n"
+" primary key (id)\n"
+")\n"
+"\n"
+"alter table orders \n"
+" add constraint ordersFK0 foreign key (customer_id) references customers\n"
+"alter table line_items\n"
+" add constraint line_itemsFK0 foreign key (product_id) references "
+"products\n"
+"alter table line_items\n"
+" add constraint line_itemsFK1 foreign key (order_id) references orders]]>"
-#. Tag: title
-#: example_mappings.xml:140
-#, no-c-format
+#: index.docbook:140
msgid "Miscellaneous example mappings"
-msgstr "Mapeos misceláneos de ejemplo"
+msgstr "Mapeos misceláneos de ejemplo"
-#. Tag: para
-#: example_mappings.xml:142
-#, no-c-format
+#: index.docbook:142
msgid ""
"These examples are all taken from the Hibernate test suite. You will find "
"many other useful example mappings there. Look in the <literal>test</"
"literal> folder of the Hibernate distribution."
msgstr ""
-"Todos estos ejemplos están tomados de la batería de pruebas de Hibernate. "
-"Encontrarás muchos otros mapeos de ejemplo útiles allí. Mira en la carpeta "
-"<literal>test</literal> de la distribución de Hibernate."
+"Todos estos ejemplos están tomados de la batería de pruebas de "
+"Hibernate. Encontrarás muchos otros mapeos de ejemplo útiles "
+"allí. Mira en la carpeta <literal>test</literal> de la "
+"distribución de Hibernate."
-#. Tag: para
-#: example_mappings.xml:148
-#, no-c-format
+#: index.docbook:148
msgid "TODO: put words around this stuff"
msgstr "POR HACER: poner palabras alrededor de este material"
-#. Tag: title
-#: example_mappings.xml:151
-#, no-c-format
+#: index.docbook:151
msgid "\"Typed\" one-to-one association"
-msgstr "Asociación uno-a-uno \"Tipificada\""
+msgstr "Asociación uno-a-uno \"Tipificada\""
-#. Tag: programlisting
-#: example_mappings.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"name\"/>\n"
@@ -499,16 +691,38 @@
" <property name=\"zip\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"name\"/>\n"
+" <one-to-one name=\"address\" \n"
+" cascade=\"all\">\n"
+" <formula>name</formula>\n"
+" <formula>'HOME'</formula>\n"
+" </one-to-one>\n"
+" <one-to-one name=\"mailingAddress\" \n"
+" cascade=\"all\">\n"
+" <formula>name</formula>\n"
+" <formula>'MAILING'</formula>\n"
+" </one-to-one>\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\" batch-size=\"2\" \n"
+" check=\"addressType in ('MAILING', 'HOME', 'BUSINESS')\">\n"
+" <composite-id>\n"
+" <key-many-to-one name=\"person\" \n"
+" column=\"personName\"/>\n"
+" <key-property name=\"type\" \n"
+" column=\"addressType\"/>\n"
+" </composite-id>\n"
+" <property name=\"street\" type=\"text\"/>\n"
+" <property name=\"state\"/>\n"
+" <property name=\"zip\"/>\n"
+"</class>]]>"
-#. Tag: title
-#: example_mappings.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Composite key example"
msgstr "Ejemplo de clave compuesta"
-#. Tag: programlisting
-#: example_mappings.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"<![CDATA[<class name=\"Customer\">\n"
"\n"
@@ -624,16 +838,125 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Customer\">\n"
+"\n"
+" <id name=\"customerId\"\n"
+" length=\"10\">\n"
+" <generator class=\"assigned\"/>\n"
+" </id>\n"
+"\n"
+" <property name=\"name\" not-null=\"true\" length=\"100\"/>\n"
+" <property name=\"address\" not-null=\"true\" length=\"200\"/>\n"
+"\n"
+" <list name=\"orders\"\n"
+" inverse=\"true\"\n"
+" cascade=\"save-update\">\n"
+" <key column=\"customerId\"/>\n"
+" <index column=\"orderNumber\"/>\n"
+" <one-to-many class=\"Order\"/>\n"
+" </list>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Order\" table=\"CustomerOrder\" lazy=\"true\">\n"
+" <synchronize table=\"LineItem\"/>\n"
+" <synchronize table=\"Product\"/>\n"
+" \n"
+" <composite-id name=\"id\" \n"
+" class=\"Order$Id\">\n"
+" <key-property name=\"customerId\" length=\"10\"/>\n"
+" <key-property name=\"orderNumber\"/>\n"
+" </composite-id>\n"
+" \n"
+" <property name=\"orderDate\" \n"
+" type=\"calendar_date\"\n"
+" not-null=\"true\"/>\n"
+" \n"
+" <property name=\"total\">\n"
+" <formula>\n"
+" ( select sum(li.quantity*p.price) \n"
+" from LineItem li, Product p \n"
+" where li.productId = p.productId \n"
+" and li.customerId = customerId \n"
+" and li.orderNumber = orderNumber )\n"
+" </formula>\n"
+" </property>\n"
+" \n"
+" <many-to-one name=\"customer\"\n"
+" column=\"customerId\"\n"
+" insert=\"false\"\n"
+" update=\"false\" \n"
+" not-null=\"true\"/>\n"
+" \n"
+" <bag name=\"lineItems\"\n"
+" fetch=\"join\" \n"
+" inverse=\"true\"\n"
+" cascade=\"save-update\">\n"
+" <key>\n"
+" <column name=\"customerId\"/>\n"
+" <column name=\"orderNumber\"/>\n"
+" </key>\n"
+" <one-to-many class=\"LineItem\"/>\n"
+" </bag>\n"
+" \n"
+"</class>\n"
+" \n"
+"<class name=\"LineItem\">\n"
+" \n"
+" <composite-id name=\"id\" \n"
+" class=\"LineItem$Id\">\n"
+" <key-property name=\"customerId\" length=\"10\"/>\n"
+" <key-property name=\"orderNumber\"/>\n"
+" <key-property name=\"productId\" length=\"10\"/>\n"
+" </composite-id>\n"
+" \n"
+" <property name=\"quantity\"/>\n"
+" \n"
+" <many-to-one name=\"order\"\n"
+" insert=\"false\"\n"
+" update=\"false\" \n"
+" not-null=\"true\">\n"
+" <column name=\"customerId\"/>\n"
+" <column name=\"orderNumber\"/>\n"
+" </many-to-one>\n"
+" \n"
+" <many-to-one name=\"product\"\n"
+" insert=\"false\"\n"
+" update=\"false\" \n"
+" not-null=\"true\"\n"
+" column=\"productId\"/>\n"
+" \n"
+"</class>\n"
+"\n"
+"<class name=\"Product\">\n"
+" <synchronize table=\"LineItem\"/>\n"
+"\n"
+" <id name=\"productId\"\n"
+" length=\"10\">\n"
+" <generator class=\"assigned\"/>\n"
+" </id>\n"
+" \n"
+" <property name=\"description\" \n"
+" not-null=\"true\" \n"
+" length=\"200\"/>\n"
+" <property name=\"price\" length=\"3\"/>\n"
+" <property name=\"numberAvailable\"/>\n"
+" \n"
+" <property name=\"numberOrdered\">\n"
+" <formula>\n"
+" ( select sum(li.quantity) \n"
+" from LineItem li \n"
+" where li.productId = productId )\n"
+" </formula>\n"
+" </property>\n"
+" \n"
+"</class>]]>"
-#. Tag: title
-#: example_mappings.xml:161
-#, no-c-format
+#: index.docbook:161
msgid "Many-to-many with shared composite key attribute"
msgstr "Muchos-a-muchos con atributo de clave compuesta compartido"
-#. Tag: programlisting
-#: example_mappings.xml:162
-#, no-c-format
+#: index.docbook:162
msgid ""
"<![CDATA[<class name=\"User\" table=\"`User`\">\n"
" <composite-id>\n"
@@ -671,16 +994,47 @@
"</class>\n"
"]]>"
msgstr ""
+"<![CDATA[<class name=\"User\" table=\"`User`\">\n"
+" <composite-id>\n"
+" <key-property name=\"name\"/>\n"
+" <key-property name=\"org\"/>\n"
+" </composite-id>\n"
+" <set name=\"groups\" table=\"UserGroup\">\n"
+" <key>\n"
+" <column name=\"userName\"/>\n"
+" <column name=\"org\"/>\n"
+" </key>\n"
+" <many-to-many class=\"Group\">\n"
+" <column name=\"groupName\"/>\n"
+" <formula>org</formula>\n"
+" </many-to-many>\n"
+" </set>\n"
+"</class>\n"
+" \n"
+"<class name=\"Group\" table=\"`Group`\">\n"
+" <composite-id>\n"
+" <key-property name=\"name\"/>\n"
+" <key-property name=\"org\"/>\n"
+" </composite-id>\n"
+" <property name=\"description\"/>\n"
+" <set name=\"users\" table=\"UserGroup\" inverse=\"true\">\n"
+" <key>\n"
+" <column name=\"groupName\"/>\n"
+" <column name=\"org\"/>\n"
+" </key>\n"
+" <many-to-many class=\"User\">\n"
+" <column name=\"userName\"/>\n"
+" <formula>org</formula>\n"
+" </many-to-many>\n"
+" </set>\n"
+"</class>\n"
+"]]>"
-#. Tag: title
-#: example_mappings.xml:166
-#, no-c-format
+#: index.docbook:166
msgid "Content based discrimination"
-msgstr "Discriminación basada en contenido"
+msgstr "Discriminación basada en contenido"
-#. Tag: programlisting
-#: example_mappings.xml:167
-#, no-c-format
+#: index.docbook:167
msgid ""
"<![CDATA[<class name=\"Person\"\n"
" discriminator-value=\"P\">\n"
@@ -733,16 +1087,62 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\"\n"
+" discriminator-value=\"P\">\n"
+" \n"
+" <id name=\"id\" \n"
+" column=\"person_id\" \n"
+" unsaved-value=\"0\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" \n"
+" \n"
+" <discriminator \n"
+" type=\"character\">\n"
+" <formula>\n"
+" case \n"
+" when title is not null then 'E' \n"
+" when salesperson is not null then 'C' \n"
+" else 'P' \n"
+" end\n"
+" </formula>\n"
+" </discriminator>\n"
+"\n"
+" <property name=\"name\" \n"
+" not-null=\"true\"\n"
+" length=\"80\"/>\n"
+" \n"
+" <property name=\"sex\" \n"
+" not-null=\"true\"\n"
+" update=\"false\"/>\n"
+" \n"
+" <component name=\"address\">\n"
+" <property name=\"address\"/>\n"
+" <property name=\"zip\"/>\n"
+" <property name=\"country\"/>\n"
+" </component>\n"
+" \n"
+" <subclass name=\"Employee\" \n"
+" discriminator-value=\"E\">\n"
+" <property name=\"title\"\n"
+" length=\"20\"/>\n"
+" <property name=\"salary\"/>\n"
+" <many-to-one name=\"manager\"/>\n"
+" </subclass>\n"
+" \n"
+" <subclass name=\"Customer\" \n"
+" discriminator-value=\"C\">\n"
+" <property name=\"comments\"/>\n"
+" <many-to-one name=\"salesperson\"/>\n"
+" </subclass>\n"
+" \n"
+"</class>]]>"
-#. Tag: title
-#: example_mappings.xml:171
-#, no-c-format
+#: index.docbook:171
msgid "Associations on alternate keys"
msgstr "Asociaciones sobre claves alternativas"
-#. Tag: programlisting
-#: example_mappings.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" \n"
@@ -794,3 +1194,58 @@
" \n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" \n"
+" <id name=\"id\">\n"
+" <generator class=\"hilo\"/>\n"
+" </id>\n"
+" \n"
+" <property name=\"name\" length=\"100\"/>\n"
+" \n"
+" <one-to-one name=\"address\" \n"
+" property-ref=\"person\"\n"
+" cascade=\"all\"\n"
+" fetch=\"join\"/>\n"
+" \n"
+" <set name=\"accounts\" \n"
+" inverse=\"true\">\n"
+" <key column=\"userId\"\n"
+" property-ref=\"userId\"/>\n"
+" <one-to-many class=\"Account\"/>\n"
+" </set>\n"
+" \n"
+" <property name=\"userId\" length=\"8\"/>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Address\">\n"
+"\n"
+" <id name=\"id\">\n"
+" <generator class=\"hilo\"/>\n"
+" </id>\n"
+"\n"
+" <property name=\"address\" length=\"300\"/>\n"
+" <property name=\"zip\" length=\"5\"/>\n"
+" <property name=\"country\" length=\"25\"/>\n"
+" <many-to-one name=\"person\" unique=\"true\" not-null=\"true\"/>\n"
+"\n"
+"</class>\n"
+"\n"
+"<class name=\"Account\">\n"
+" <id name=\"accountId\" length=\"32\">\n"
+" <generator class=\"uuid.hex\"/>\n"
+" </id>\n"
+" \n"
+" <many-to-one name=\"user\"\n"
+" column=\"userId\"\n"
+" property-ref=\"userId\"/>\n"
+" \n"
+" <property name=\"type\" not-null=\"true\"/>\n"
+" \n"
+"</class>]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_parentchild.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: example_parentchild.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Example: Parent/Child"
msgstr "Ejemplo: Padre/Hijo"
-#. Tag: para
-#: example_parentchild.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"One of the very first things that new users try to do with Hibernate is to "
"model a parent / child type relationship. There are two different approaches "
@@ -35,52 +26,46 @@
"model a parent / child relationship efficiently and elegantly. It's not at "
"all difficult!"
msgstr ""
-"Una de las primerísimas cosas que los usuarios nuevos intentan hacer con "
-"Hibernate es modelar una relación de tipo padre / hijo. Para esto hay dos "
-"enfoques diferentes. Por varias razones, el enfoque más conveniente, "
-"especialmente para usuarios nuevos, es modelar tanto <literal>Parent</"
-"literal> como <literal>Child</literal> como clases de entidad con una "
-"asociación <literal><one-to-many></literal> desde <literal>Parent</"
-"literal> a <literal>Child</literal>. (El enfoque alternativo es declarar el "
-"<literal>Child</literal> como un <literal><composite-element></"
-"literal>.) Ahora, resulta que la semántica por defecto de una asociación uno "
-"a muchos (en Hibernate) es mucho menos cercana a la semántica usual de una "
-"relación padre / hijo que aquellas de un mapeo de elementos compuestos. "
-"Explicaremos cómo usar una <emphasis>asociación uno a muchos bidireccional "
-"con tratamiento en cascada</emphasis> para modelar una relación padre / hijo "
-"eficiente y elegantemente. ¡No es para nada difícil!"
+"Una de las primerísimas cosas que los usuarios nuevos intentan hacer "
+"con Hibernate es modelar una relación de tipo padre / hijo. Para esto "
+"hay dos enfoques diferentes. Por varias razones, el enfoque más "
+"conveniente, especialmente para usuarios nuevos, es modelar tanto "
+"<literal>Parent</literal> como <literal>Child</literal> como clases de "
+"entidad con una asociación <literal><one-to-many></literal> "
+"desde <literal>Parent</literal> a <literal>Child</literal>. (El enfoque "
+"alternativo es declarar el <literal>Child</literal> como un <literal><"
+"composite-element></literal>.) Ahora, resulta que la semántica por "
+"defecto de una asociación uno a muchos (en Hibernate) es mucho menos "
+"cercana a la semántica usual de una relación padre / hijo que "
+"aquellas de un mapeo de elementos compuestos. Explicaremos cómo usar "
+"una <emphasis>asociación uno a muchos bidireccional con tratamiento "
+"en cascada</emphasis> para modelar una relación padre / hijo "
+"eficiente y elegantemente. ¡No es para nada difícil!"
-#. Tag: title
-#: example_parentchild.xml:21
-#, no-c-format
+#: index.docbook:21
msgid "A note about collections"
msgstr "Una nota sobre las colecciones"
-#. Tag: para
-#: example_parentchild.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"Hibernate collections are considered to be a logical part of their owning "
"entity; never of the contained entities. This is a crucial distinction! It "
"has the following consequences:"
msgstr ""
-"Se considera que las colecciones de Hibernate son una parte lógica de la "
-"entidad que las posee; nunca de las entidades contenidas. ¡Esta es una "
-"distinción crucial! Esto tiene las siguientes consecuencias:"
+"Se considera que las colecciones de Hibernate son una parte lógica de "
+"la entidad que las posee; nunca de las entidades contenidas. ¡Esta es "
+"una distinción crucial! Esto tiene las siguientes consecuencias:"
-#. Tag: para
-#: example_parentchild.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"When we remove / add an object from / to a collection, the version number of "
"the collection owner is incremented."
msgstr ""
-"Cuando se quita / añade un objeto desde / a una colección, se incrementa el "
-"número de versión del dueño de la colección."
+"Cuando se quita / añade un objeto desde / a una colección, se "
+"incrementa el número de versión del dueño de la "
+"colección."
-#. Tag: para
-#: example_parentchild.xml:36
-#, no-c-format
+#: index.docbook:36
msgid ""
"If an object that was removed from a collection is an instance of a value "
"type (eg, a composite element), that object will cease to be persistent and "
@@ -88,15 +73,13 @@
"value type instance to the collection will cause its state to be immediately "
"persistent."
msgstr ""
-"Si un objeto que fue quitado de una colección es una instancia de un tipo de "
-"valor (por ejemplo, un elemento compuesto), ese objeta cesará de ser "
-"persistente y su estado será completamente quitado de la base de datos. "
-"Asimismo, añadir una instancia de tipo de valor a la colección causará que "
-"su estado sea inmediatamente persistente."
+"Si un objeto que fue quitado de una colección es una instancia de un "
+"tipo de valor (por ejemplo, un elemento compuesto), ese objeta cesará "
+"de ser persistente y su estado será completamente quitado de la base "
+"de datos. Asimismo, añadir una instancia de tipo de valor a la "
+"colección causará que su estado sea inmediatamente persistente."
-#. Tag: para
-#: example_parentchild.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"On the other hand, 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 "
@@ -105,16 +88,14 @@
"adding an entity to a collection does not cause that entity to become "
"persistent, by default."
msgstr ""
-"Por otro lado, si se quita una entidad de una colección (una asociación uno-"
-"a-muchos o muchos-a-muchos), no será borrado, por defecto. Este "
-"comportamiento es completamente consistente. ¡Un cambio en el estado interno "
-"de otra entidad no hace desaparecer la entidad asociada! Asimismo, añadir "
-"una entidad a una colección no causa que la entidad se vuelva persistente, "
-"por defecto."
+"Por otro lado, si se quita una entidad de una colección (una "
+"asociación uno-a-muchos o muchos-a-muchos), no será borrado, "
+"por defecto. Este comportamiento es completamente consistente. ¡Un "
+"cambio en el estado interno de otra entidad no hace desaparecer la entidad "
+"asociada! Asimismo, añadir una entidad a una colección no "
+"causa que la entidad se vuelva persistente, por defecto."
-#. Tag: para
-#: example_parentchild.xml:54
-#, no-c-format
+#: index.docbook:54
msgid ""
"Instead, the default behaviour is that adding an entity to a collection "
"merely creates a link between the two entities, while removing it removes "
@@ -122,47 +103,43 @@
"appropriate at all is the case of a parent / child relationship, where the "
"life of the child is bound to the life cycle of the parent."
msgstr ""
-"En cambio, el comportamiento por defecto es que al añadir una entidad a una "
-"colección se crea meramente un enlace entre las dos entidades, mientras que "
-"al quitarla se quita el enlace. Esto es muy apropiado para todos los tipos "
-"de casos. Donde no es para nada apropiado es en el caso de una relación "
-"padre / hijo. donde la vida del hijo está ligada al ciclo de vida del padre."
+"En cambio, el comportamiento por defecto es que al añadir una entidad "
+"a una colección se crea meramente un enlace entre las dos entidades, "
+"mientras que al quitarla se quita el enlace. Esto es muy apropiado para "
+"todos los tipos de casos. Donde no es para nada apropiado es en el caso de "
+"una relación padre / hijo. donde la vida del hijo está ligada "
+"al ciclo de vida del padre."
-#. Tag: title
-#: example_parentchild.xml:64
-#, no-c-format
+#: index.docbook:64
msgid "Bidirectional one-to-many"
msgstr "Uno-a-muchos bidirectional"
-#. Tag: para
-#: example_parentchild.xml:66
-#, no-c-format
+#: index.docbook:66
msgid ""
"Suppose we start with a simple <literal><one-to-many></literal> "
"association from <literal>Parent</literal> to <literal>Child</literal>."
msgstr ""
-"Supón que empezamos con una asociación simple <literal><one-to-many></"
-"literal> desde <literal>Parent</literal> a <literal>Child</literal>."
+"Supón que empezamos con una asociación simple <literal><one-"
+"to-many></literal> desde <literal>Parent</literal> a <literal>Child</"
+"literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:71
-#, no-c-format
+#: index.docbook:71
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
-#: example_parentchild.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "If we were to execute the following code"
-msgstr "Si ejecutásemos el siguiente código"
+msgstr "Si ejecutásemos el siguiente código"
-#. Tag: programlisting
-#: example_parentchild.xml:77
-#, no-c-format
+#: index.docbook:77
msgid ""
"<![CDATA[Parent p = .....;\n"
"Child c = new Child();\n"
@@ -170,24 +147,23 @@
"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
-#: example_parentchild.xml:79
-#, no-c-format
+#: index.docbook:79
msgid "Hibernate would issue two SQL statements:"
-msgstr "Hibernate publicaría dos sentencias SQL:"
+msgstr "Hibernate publicaría dos sentencias SQL:"
-#. Tag: para
-#: example_parentchild.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"an <literal>INSERT</literal> to create the record for <literal>c</literal>"
msgstr ""
"un <literal>INSERT</literal> para crear el registro de <literal>c</literal>"
-#. Tag: para
-#: example_parentchild.xml:88
-#, no-c-format
+#: index.docbook:88
msgid ""
"an <literal>UPDATE</literal> to create the link from <literal>p</literal> to "
"<literal>c</literal>"
@@ -195,39 +171,36 @@
"un <literal>UPDATE</literal> para crear el enlace desde <literal>p</literal> "
"a <literal>c</literal>"
-#. Tag: para
-#: example_parentchild.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"This is not only inefficient, but also violates any <literal>NOT NULL</"
"literal> constraint on the <literal>parent_id</literal> column. We can fix "
"the nullability constraint violation by specifying <literal>not-null=\"true"
"\"</literal> in the collection mapping:"
msgstr ""
-"Esto no es sólo ineficiente, sino que además viola cualquier restricción "
-"<literal>NOT NULL</literal> en la columna <literal>parent_id</literal>. "
-"Podemos reparar la violación de restricción de nulabilidad especificando "
-"<literal>not-null=\"true\"</literal> en el mapeo de la colección:"
+"Esto no es sólo ineficiente, sino que además viola cualquier "
+"restricción <literal>NOT NULL</literal> en la columna "
+"<literal>parent_id</literal>. Podemos reparar la violación de "
+"restricción de nulabilidad especificando <literal>not-null=\"true\"</"
+"literal> en el mapeo de la colección:"
-#. Tag: programlisting
-#: example_parentchild.xml:101
-#, no-c-format
+#: index.docbook:101
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
-#: example_parentchild.xml:103
-#, no-c-format
+#: index.docbook:103
msgid "However, this is not the recommended solution."
-msgstr "Sin embargo, esta no es la solución recomendada."
+msgstr "Sin embargo, esta no es la solución recomendada."
-#. Tag: para
-#: example_parentchild.xml:106
-#, no-c-format
+#: index.docbook:106
msgid ""
"The underlying cause of this behaviour is that the link (the foreign key "
"<literal>parent_id</literal>) from <literal>p</literal> to <literal>c</"
@@ -235,63 +208,58 @@
"object and is therefore not created in the <literal>INSERT</literal>. So the "
"solution is to make the link part of the <literal>Child</literal> mapping."
msgstr ""
-"El caso subyacente de este comportamiento es que el enlace (la clave foránea "
-"<literal>parent_id</literal>) de <literal>p</literal> a <literal>c</literal> "
-"no es considerado parte del estado del objeto <literal>Child</literal> y por "
-"lo tanto no es creada en el <literal>INSERT</literal>. De modo que la "
-"solución es hacer el enlace parte del mapeo del <literal>Child</literal>."
+"El caso subyacente de este comportamiento es que el enlace (la clave "
+"foránea <literal>parent_id</literal>) de <literal>p</literal> a "
+"<literal>c</literal> no es considerado parte del estado del objeto "
+"<literal>Child</literal> y por lo tanto no es creada en el <literal>INSERT</"
+"literal>. De modo que la solución es hacer el enlace parte del mapeo "
+"del <literal>Child</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:113
-#, no-c-format
+#: index.docbook:113
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
-#: example_parentchild.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"(We also need to add the <literal>parent</literal> property to the "
"<literal>Child</literal> class.)"
msgstr ""
-"(Necesitamos además añadir la propiedad <literal>parent</literal> a la clase "
-"<literal>Child</literal>.)"
+"(Necesitamos además añadir la propiedad <literal>parent</"
+"literal> a la clase <literal>Child</literal>.)"
-#. Tag: para
-#: example_parentchild.xml:119
-#, no-c-format
+#: index.docbook:119
msgid ""
"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 "
"<literal>inverse</literal> attribute."
msgstr ""
-"Ahora que la entidad <literal>Child</literal> está gestionando el estado del "
-"enlace, le decimos a la colección que no actualice el enlace. Usamos el "
-"atributo <literal>inverse</literal>."
+"Ahora que la entidad <literal>Child</literal> está gestionando el "
+"estado del enlace, le decimos a la colección que no actualice el "
+"enlace. Usamos el atributo <literal>inverse</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:124
-#, no-c-format
+#: index.docbook:124
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
-#: example_parentchild.xml:126
-#, no-c-format
+#: index.docbook:126
msgid "The following code would be used to add a new <literal>Child</literal>"
msgstr ""
-"El siguiente código podría ser usado para añadir un nuevo <literal>Child</"
-"literal>"
+"El siguiente código podría ser usado para añadir un "
+"nuevo <literal>Child</literal>"
-#. Tag: programlisting
-#: example_parentchild.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
@@ -300,42 +268,46 @@
"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:132
-#, no-c-format
+#: index.docbook:132
msgid "And now, only one SQL <literal>INSERT</literal> would be issued!"
-msgstr "Y ahora, ¡Sólo se publicaría un <literal>INSERT</literal> de SQL!"
+msgstr ""
+"Y ahora, ¡Sólo se publicaría un <literal>INSERT</"
+"literal> de SQL!"
-#. Tag: para
-#: example_parentchild.xml:136
-#, no-c-format
+#: index.docbook:136
msgid ""
"To tighten things up a bit, we could create an <literal>addChild()</literal> "
"method of <literal>Parent</literal>."
msgstr ""
-"Para ajustar un poco más las cosas, podríamos crear un método "
-"<literal>addChild()</literal> en <literal>Parent</literal>."
+"Para ajustar un poco más las cosas, podríamos crear un "
+"método <literal>addChild()</literal> en <literal>Parent</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:141
-#, no-c-format
+#: index.docbook:141
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
-#: example_parentchild.xml:143
-#, no-c-format
+#: index.docbook:143
msgid "Now, the code to add a <literal>Child</literal> looks like"
-msgstr "Ahora, el código para añadir un <literal>Child</literal> se ve así"
+msgstr ""
+"Ahora, el código para añadir un <literal>Child</literal> se ve "
+"así"
-#. Tag: programlisting
-#: example_parentchild.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = new Child();\n"
@@ -343,52 +315,53 @@
"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
-#: example_parentchild.xml:152
-#, no-c-format
+#: index.docbook:152
msgid "Cascading life cycle"
msgstr "Ciclo de vida en cascada"
-#. Tag: para
-#: example_parentchild.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"The explicit call to <literal>save()</literal> is still annoying. We will "
"address this by using cascades."
msgstr ""
-"La llamada explícita a <literal>save()</literal> es aún molesta. Apuntaremos "
-"a esto usando tratamientos en cascada."
+"La llamada explícita a <literal>save()</literal> es aún "
+"molesta. Apuntaremos a esto usando tratamientos en cascada."
-#. Tag: programlisting
-#: example_parentchild.xml:159
-#, no-c-format
+#: index.docbook:159
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
-#: example_parentchild.xml:161
-#, no-c-format
+#: index.docbook:161
msgid "This simplifies the code above to"
-msgstr "Esto simplifica el código anterior a"
+msgstr "Esto simplifica el código anterior a"
-#. Tag: programlisting
-#: example_parentchild.xml:165
-#, no-c-format
+#: index.docbook:165
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
-#: example_parentchild.xml:167
-#, no-c-format
+#: index.docbook:167
msgid ""
"Similarly, we don't need to iterate over the children when saving or "
"deleting a <literal>Parent</literal>. The following removes <literal>p</"
@@ -398,24 +371,21 @@
"<literal>Parent</literal>. Lo siguiente quita <literal>p</literal> y todos "
"sus hijos de la base de datos."
-#. Tag: programlisting
-#: example_parentchild.xml:172
-#, no-c-format
+#: index.docbook:172
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
-#: example_parentchild.xml:174
-#, no-c-format
+#: index.docbook:174
msgid "However, this code"
-msgstr "Sin embargo, este código"
+msgstr "Sin embargo, este código"
-#. Tag: programlisting
-#: example_parentchild.xml:178
-#, no-c-format
+#: index.docbook:178
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
@@ -423,24 +393,26 @@
"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
-#: example_parentchild.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"will not remove <literal>c</literal> from the database; it will ony remove "
"the link to <literal>p</literal> (and cause a <literal>NOT NULL</literal> "
"constraint violation, in this case). You need to explicitly <literal>delete()"
"</literal> the <literal>Child</literal>."
msgstr ""
-"no quitará <literal>c</literal> de la base de datos; sólo quitará el enlace "
-"a <literal>p</literal> (y causará una violación a una restricción "
-"<literal>NOT NULL</literal>). Necesitas borrar el hijo explícitamente "
-"llamando a <literal>delete()</literal>."
+"no quitará <literal>c</literal> de la base de datos; sólo "
+"quitará el enlace a <literal>p</literal> (y causará una "
+"violación a una restricción <literal>NOT NULL</literal>). "
+"Necesitas borrar el hijo explícitamente llamando a <literal>delete()</"
+"literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"<![CDATA[Parent p = (Parent) session.load(Parent.class, pid);\n"
"Child c = (Child) p.getChildren().iterator().next();\n"
@@ -448,10 +420,13 @@
"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
-#: example_parentchild.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"Now, in our case, a <literal>Child</literal> can't really exist without its "
"parent. So if we remove a <literal>Child</literal> from the collection, we "
@@ -460,12 +435,10 @@
msgstr ""
"Ahora, en nuestro caso, un <literal>Child</literal> no puede existir "
"realmente sin su padre. De modo que si quitamos un <literal>Child</literal> "
-"de la colección, realmente queremos que sea borrado. Para esto, debemos usar "
-"<literal>cascade=\"all-delete-orphan\"</literal>."
+"de la colección, realmente queremos que sea borrado. Para esto, "
+"debemos usar <literal>cascade=\"all-delete-orphan\"</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:194
-#, no-c-format
+#: index.docbook:194
msgid ""
"<![CDATA[<set name=\"children\" inverse=\"true\" cascade=\"all-delete-orphan"
"\">\n"
@@ -473,10 +446,13 @@
" <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
-#: example_parentchild.xml:196
-#, no-c-format
+#: index.docbook:196
msgid ""
"Note: even though the collection mapping specifies <literal>inverse=\"true"
"\"</literal>, cascades are still processed by iterating the collection "
@@ -484,21 +460,18 @@
"cascade, you must add it to the collection. It is not enough to simply call "
"<literal>setParent()</literal>."
msgstr ""
-"Nota: aunque el mapeo de la colección especifique <literal>inverse=\"true\"</"
-"literal>, el tratamiento en cascada se procesa aún al iterar los elementos "
-"de colección. De modo que si requieres que un objeto sea salvado, borrado o "
-"actualizado en cascada, debes añadirlo a la colección. No es suficiente con "
-"simplemente llamar a <literal>setParent()</literal>."
+"Nota: aunque el mapeo de la colección especifique <literal>inverse="
+"\"true\"</literal>, el tratamiento en cascada se procesa aún al "
+"iterar los elementos de colección. De modo que si requieres que un "
+"objeto sea salvado, borrado o actualizado en cascada, debes añadirlo "
+"a la colección. No es suficiente con simplemente llamar a "
+"<literal>setParent()</literal>."
-#. Tag: title
-#: example_parentchild.xml:206
-#, no-c-format
+#: index.docbook:206
msgid "Cascades and <literal>unsaved-value</literal>"
msgstr "Tratamiento en cascada y <literal>unsaved-value</literal>"
-#. Tag: para
-#: example_parentchild.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"Suppose we loaded up a <literal>Parent</literal> in one <literal>Session</"
"literal>, made some changes in a UI action and wish to persist these changes "
@@ -513,23 +486,23 @@
"\"/>.) <emphasis>In Hibernate3, it is no longer necessary to specify an "
"<literal>unsaved-value</literal> explicitly.</emphasis>"
msgstr ""
-"Supón que hemos cargado un <literal>Parent</literal> en una "
-"<literal>Session</literal>, hemos hecho algunos cambios en una acción de UI "
-"y deseamos hacer persistentes estos cambios en una nueva sesión llamando a "
-"<literal>update()</literal>. El <literal>Parent</literal> contendrá una "
-"colección de hijos y, ya que está habilitado el tratamiento en cascada, "
-"Hibernate necesita saber qué hijos están recién instanciados y cuáles "
-"representan filas existentes en la base de datos. Asumamos que tanto "
-"<literal>Parent</literal> como <literal>Child</literal> tienen propiedades "
-"identificadoras generadas de tipo <literal>Long</literal>. Hibernate usará "
-"el identificador y el valor de la propiedad de versión/timestamp para "
-"determinar cuáles de los hijos son nuevos. (Ver <xref linkend=\"objectstate-"
-"saveorupdate\"/>.) <emphasis>En Hibernate3, no es más necesario especificar "
-"un <literal>unsaved-value</literal> explícitamente.</emphasis>"
+"Supón que hemos cargado un <literal>Parent</literal> en una "
+"<literal>Session</literal>, hemos hecho algunos cambios en una acción "
+"de UI y deseamos hacer persistentes estos cambios en una nueva sesión "
+"llamando a <literal>update()</literal>. El <literal>Parent</literal> "
+"contendrá una colección de hijos y, ya que está "
+"habilitado el tratamiento en cascada, Hibernate necesita saber qué "
+"hijos están recién instanciados y cuáles representan "
+"filas existentes en la base de datos. Asumamos que tanto <literal>Parent</"
+"literal> como <literal>Child</literal> tienen propiedades identificadoras "
+"generadas de tipo <literal>Long</literal>. Hibernate usará el "
+"identificador y el valor de la propiedad de versión/timestamp para "
+"determinar cuáles de los hijos son nuevos. (Ver <xref linkend="
+"\"objectstate-saveorupdate\"/>.) <emphasis>En Hibernate3, no es más "
+"necesario especificar un <literal>unsaved-value</literal> explí"
+"citamente.</emphasis>"
-#. Tag: para
-#: example_parentchild.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"The following code will update <literal>parent</literal> and <literal>child</"
"literal> and insert <literal>newChild</literal>."
@@ -537,9 +510,7 @@
"The following code will update <literal>parent</literal> and <literal>child</"
"literal> and insert <literal>newChild</literal>."
-#. Tag: programlisting
-#: example_parentchild.xml:225
-#, no-c-format
+#: index.docbook:225
msgid ""
"<![CDATA[//parent and child were both loaded in a previous session\n"
"parent.addChild(child);\n"
@@ -548,10 +519,14 @@
"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
-#: example_parentchild.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"Well, that's all very well for the case of a generated identifier, but what "
"about assigned identifiers and composite identifiers? This is more "
@@ -562,36 +537,32 @@
"the second-level cache or, worst case, the database, to see if the row "
"exists."
msgstr ""
-"Bueno, todo eso está muy bien para el caso de un identificador generado, "
-"pero ¿qué de los identificadores asignados y de los identificadores "
-"compuestos? Esto es más difícil, ya que Hibernate no puede usar la propiedad "
-"identificadora para distinguir entre un objeto recién instanciado (con un "
-"identificador asignado por el usuario) y un objeto cargado en una sesión "
-"previa. En este caso, Hibernate bien usará la propiedad de versión o "
-"timestamp, o bien consultará realmente el caché de segundo nivel, o bien, en "
-"el peor de los casos, la base de datos, para ver si existe la fila."
+"Bueno, todo eso está muy bien para el caso de un identificador "
+"generado, pero ¿qué de los identificadores asignados y de los "
+"identificadores compuestos? Esto es más difícil, ya que "
+"Hibernate no puede usar la propiedad identificadora para distinguir entre un "
+"objeto recién instanciado (con un identificador asignado por el "
+"usuario) y un objeto cargado en una sesión previa. En este caso, "
+"Hibernate bien usará la propiedad de versión o timestamp, o "
+"bien consultará realmente el caché de segundo nivel, o bien, "
+"en el peor de los casos, la base de datos, para ver si existe la fila."
-#. Tag: title
-#: example_parentchild.xml:260
-#, no-c-format
+#: index.docbook:260
msgid "Conclusion"
-msgstr "Conclusión"
+msgstr "Conclusión"
-#. Tag: para
-#: example_parentchild.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"There is quite a bit to digest here and it might look confusing first time "
"around. However, in practice, it all works out very nicely. Most Hibernate "
"applications use the parent / child pattern in many places."
msgstr ""
-"Hay que resumir un poco aquí y podría parecer confuso a la primera vez. Sin "
-"embargo, en la práctica, todo funciona muy agradablemente. La mayoría de las "
-"aplicaciones de Hibernate usan el patrón padre / hijo en muchos sitios."
+"Hay que resumir un poco aquí y podría parecer confuso a la "
+"primera vez. Sin embargo, en la práctica, todo funciona muy "
+"agradablemente. La mayoría de las aplicaciones de Hibernate usan el "
+"patrón padre / hijo en muchos sitios."
-#. Tag: para
-#: example_parentchild.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"We mentioned an alternative in the first paragraph. None of the above issues "
"exist in the case of <literal><composite-element></literal> mappings, "
@@ -600,10 +571,16 @@
"composite elements may not own collections, and they should not be the child "
"of any entity other than the unique parent."
msgstr ""
-"Hemos mencionado una alternativa en el primer párrafo. Ninguno de los temas "
-"anteriores existe en el caso de los mapeos <literal><composite-element>"
-"</literal>, que tienen exactamente la semántica de una relación padre / "
-"hijo. Desafortunadamente, hay dos grandes limitaciones para las clases de "
-"elementos compuestos: los elementos compuestos no pueden poseer sus propias "
-"colecciones, y no deben ser el hijo de cualquier otra entidad que no sea su "
-"padre único."
+"Hemos mencionado una alternativa en el primer párrafo. Ninguno de los "
+"temas anteriores existe en el caso de los mapeos <literal><composite-"
+"element></literal>, que tienen exactamente la semántica de una "
+"relación padre / hijo. Desafortunadamente, hay dos grandes "
+"limitaciones para las clases de elementos compuestos: los elementos "
+"compuestos no pueden poseer sus propias colecciones, y no deben ser el hijo "
+"de cualquier otra entidad que no sea su padre único."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/example_weblog.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,42 +1,29 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: example_weblog.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Example: Weblog Application"
-msgstr "Ejemplo: Aplicación de Weblog"
+msgstr "Ejemplo: Aplicación de Weblog"
-#. Tag: title
-#: example_weblog.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Persistent Classes"
msgstr "Clases Persistentes"
-#. Tag: para
-#: example_weblog.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"The persistent classes represent a weblog, and an item posted in a weblog. "
"They are to be modelled as a standard parent/child relationship, but we will "
"use an ordered bag, instead of a set."
msgstr ""
-"Las clases persistentes representan un weblog, y un ítem enviado a un "
-"weblog. Van a ser modelados como una relación padre/hijo estñndar, pero "
-"usaremos un bag ordenado, en vez de un conjunto (set)."
+"Las clases persistentes representan un weblog, y un ítem enviado a un "
+"weblog. Van a ser modelados como una relación padre/hijo estñ"
+"ndar, pero usaremos un bag ordenado, en vez de un conjunto (set)."
-#. Tag: programlisting
-#: example_weblog.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -67,10 +54,36 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.util.List;\n"
+"\n"
+"public class Blog {\n"
+" private Long _id;\n"
+" private String _name;\n"
+" private List _items;\n"
+"\n"
+" public Long getId() {\n"
+" return _id;\n"
+" }\n"
+" public List getItems() {\n"
+" return _items;\n"
+" }\n"
+" public String getName() {\n"
+" return _name;\n"
+" }\n"
+" public void setId(Long long1) {\n"
+" _id = long1;\n"
+" }\n"
+" public void setItems(List list) {\n"
+" _items = list;\n"
+" }\n"
+" public void setName(String string) {\n"
+" _name = string;\n"
+" }\n"
+"}]]>"
-#. Tag: programlisting
-#: example_weblog.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -116,22 +129,59 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.text.DateFormat;\n"
+"import java.util.Calendar;\n"
+"\n"
+"public class BlogItem {\n"
+" private Long _id;\n"
+" private Calendar _datetime;\n"
+" private String _text;\n"
+" private String _title;\n"
+" private Blog _blog;\n"
+"\n"
+" public Blog getBlog() {\n"
+" return _blog;\n"
+" }\n"
+" public Calendar getDatetime() {\n"
+" return _datetime;\n"
+" }\n"
+" public Long getId() {\n"
+" return _id;\n"
+" }\n"
+" public String getText() {\n"
+" return _text;\n"
+" }\n"
+" public String getTitle() {\n"
+" return _title;\n"
+" }\n"
+" public void setBlog(Blog blog) {\n"
+" _blog = blog;\n"
+" }\n"
+" public void setDatetime(Calendar calendar) {\n"
+" _datetime = calendar;\n"
+" }\n"
+" public void setId(Long long1) {\n"
+" _id = long1;\n"
+" }\n"
+" public void setText(String string) {\n"
+" _text = string;\n"
+" }\n"
+" public void setTitle(String string) {\n"
+" _title = string;\n"
+" }\n"
+"}]]>"
-#. Tag: title
-#: example_weblog.xml:23
-#, no-c-format
+#: index.docbook:23
msgid "Hibernate Mappings"
msgstr "Mapeos de Hibernate"
-#. Tag: para
-#: example_weblog.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "The XML mappings should now be quite straightforward."
msgstr "Los mapeos XML ahora deben ser absolutamente directos."
-#. Tag: programlisting
-#: example_weblog.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -173,10 +223,47 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class\n"
+" name=\"Blog\"\n"
+" table=\"BLOGS\">\n"
+"\n"
+" <id\n"
+" name=\"id\"\n"
+" column=\"BLOG_ID\">\n"
+"\n"
+" <generator class=\"native\"/>\n"
+"\n"
+" </id>\n"
+"\n"
+" <property\n"
+" name=\"name\"\n"
+" column=\"NAME\"\n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+"\n"
+" <bag\n"
+" name=\"items\"\n"
+" inverse=\"true\"\n"
+" order-by=\"DATE_TIME\"\n"
+" cascade=\"all\">\n"
+"\n"
+" <key column=\"BLOG_ID\"/>\n"
+" <one-to-many class=\"BlogItem\"/>\n"
+"\n"
+" </bag>\n"
+"\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: programlisting
-#: example_weblog.xml:31
-#, no-c-format
+#: index.docbook:31
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -222,16 +309,55 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping package=\"eg\">\n"
+"\n"
+" <class\n"
+" name=\"BlogItem\"\n"
+" table=\"BLOG_ITEMS\"\n"
+" dynamic-update=\"true\">\n"
+"\n"
+" <id\n"
+" name=\"id\"\n"
+" column=\"BLOG_ITEM_ID\">\n"
+"\n"
+" <generator class=\"native\"/>\n"
+"\n"
+" </id>\n"
+"\n"
+" <property\n"
+" name=\"title\"\n"
+" column=\"TITLE\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" <property\n"
+" name=\"text\"\n"
+" column=\"TEXT\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" <property\n"
+" name=\"datetime\"\n"
+" column=\"DATE_TIME\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" <many-to-one\n"
+" name=\"blog\"\n"
+" column=\"BLOG_ID\"\n"
+" not-null=\"true\"/>\n"
+"\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: title
-#: example_weblog.xml:36
-#, no-c-format
+#: index.docbook:36
msgid "Hibernate Code"
-msgstr "Código Hibernate"
+msgstr "Código Hibernate"
-#. Tag: para
-#: example_weblog.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"The following class demonstrates some of the kinds of things we can do with "
"these classes, using Hibernate."
@@ -239,9 +365,7 @@
"La siguiente clase demuestra algunos de los tipos de cosas que podemos haces "
"con estas clases, usando Hibernate."
-#. Tag: programlisting
-#: example_weblog.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -482,3 +606,247 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"import java.util.ArrayList;\n"
+"import java.util.Calendar;\n"
+"import java.util.Iterator;\n"
+"import java.util.List;\n"
+"\n"
+"import org.hibernate.HibernateException;\n"
+"import org.hibernate.Query;\n"
+"import org.hibernate.Session;\n"
+"import org.hibernate.SessionFactory;\n"
+"import org.hibernate.Transaction;\n"
+"import org.hibernate.cfg.Configuration;\n"
+"import org.hibernate.tool.hbm2ddl.SchemaExport;\n"
+"\n"
+"public class BlogMain {\n"
+" \n"
+" private SessionFactory _sessions;\n"
+" \n"
+" public void configure() throws HibernateException {\n"
+" _sessions = new Configuration()\n"
+" .addClass(Blog.class)\n"
+" .addClass(BlogItem.class)\n"
+" .buildSessionFactory();\n"
+" }\n"
+" \n"
+" public void exportTables() throws HibernateException {\n"
+" Configuration cfg = new Configuration()\n"
+" .addClass(Blog.class)\n"
+" .addClass(BlogItem.class);\n"
+" new SchemaExport(cfg).create(true, true);\n"
+" }\n"
+" \n"
+" public Blog createBlog(String name) throws HibernateException {\n"
+" \n"
+" Blog blog = new Blog();\n"
+" blog.setName(name);\n"
+" blog.setItems( new ArrayList() );\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" session.persist(blog);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return blog;\n"
+" }\n"
+" \n"
+" public BlogItem createBlogItem(Blog blog, String title, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" BlogItem item = new BlogItem();\n"
+" item.setTitle(title);\n"
+" item.setText(text);\n"
+" item.setBlog(blog);\n"
+" item.setDatetime( Calendar.getInstance() );\n"
+" blog.getItems().add(item);\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" session.update(blog);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return item;\n"
+" }\n"
+" \n"
+" public BlogItem createBlogItem(Long blogid, String title, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" BlogItem item = new BlogItem();\n"
+" item.setTitle(title);\n"
+" item.setText(text);\n"
+" item.setDatetime( Calendar.getInstance() );\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Blog blog = (Blog) session.load(Blog.class, blogid);\n"
+" item.setBlog(blog);\n"
+" blog.getItems().add(item);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return item;\n"
+" }\n"
+" \n"
+" public void updateBlogItem(BlogItem item, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" item.setText(text);\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" session.update(item);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" }\n"
+" \n"
+" public void updateBlogItem(Long itemid, String text)\n"
+" throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" BlogItem item = (BlogItem) session.load(BlogItem.class, "
+"itemid);\n"
+" item.setText(text);\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" }\n"
+" \n"
+" public List listAllBlogNamesAndItemCounts(int max)\n"
+" throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" List result = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Query q = session.createQuery(\n"
+" \"select blog.id, blog.name, count(blogItem) \" +\n"
+" \"from Blog as blog \" +\n"
+" \"left outer join blog.items as blogItem \" +\n"
+" \"group by blog.name, blog.id \" +\n"
+" \"order by max(blogItem.datetime)\"\n"
+" );\n"
+" q.setMaxResults(max);\n"
+" result = q.list();\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return result;\n"
+" }\n"
+" \n"
+" public Blog getBlogAndAllItems(Long blogid)\n"
+" throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" Blog blog = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Query q = session.createQuery(\n"
+" \"from Blog as blog \" +\n"
+" \"left outer join fetch blog.items \" +\n"
+" \"where blog.id = :blogid\"\n"
+" );\n"
+" q.setParameter(\"blogid\", blogid);\n"
+" blog = (Blog) q.uniqueResult();\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return blog;\n"
+" }\n"
+" \n"
+" public List listBlogsAndRecentItems() throws HibernateException {\n"
+" \n"
+" Session session = _sessions.openSession();\n"
+" Transaction tx = null;\n"
+" List result = null;\n"
+" try {\n"
+" tx = session.beginTransaction();\n"
+" Query q = session.createQuery(\n"
+" \"from Blog as blog \" +\n"
+" \"inner join blog.items as blogItem \" +\n"
+" \"where blogItem.datetime > :minDate\"\n"
+" );\n"
+"\n"
+" Calendar cal = Calendar.getInstance();\n"
+" cal.roll(Calendar.MONTH, false);\n"
+" q.setCalendar(\"minDate\", cal);\n"
+" \n"
+" result = q.list();\n"
+" tx.commit();\n"
+" }\n"
+" catch (HibernateException he) {\n"
+" if (tx!=null) tx.rollback();\n"
+" throw he;\n"
+" }\n"
+" finally {\n"
+" session.close();\n"
+" }\n"
+" return result;\n"
+" }\n"
+"}]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/filters.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: filters.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Filtering data"
msgstr "Filtrando datos"
-#. Tag: para
-#: filters.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Hibernate3 provides an innovative new approach to handling data with "
"\"visibility\" rules. A <emphasis>Hibernate filter</emphasis> is a global, "
@@ -30,15 +21,11 @@
"global, con nombre y parametrizado que puede ser habilitado o deshabilitado "
"para una sesión de Hibernate en particular."
-#. Tag: title
-#: filters.xml:14
-#, no-c-format
+#: index.docbook:14
msgid "Hibernate filters"
msgstr "Filtros de Hibernate"
-#. Tag: para
-#: filters.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"Hibernate3 adds the ability to pre-define filter criteria and attach those "
"filters at both a class and a collection level. A filter criteria is the "
@@ -59,9 +46,7 @@
"Los filtros pueden ser usados como vistas de base de datos, pero "
"parametrizados dentro de la aplicación."
-#. Tag: para
-#: filters.xml:26
-#, no-c-format
+#: index.docbook:26
msgid ""
"In order to use filters, they must first be defined and then attached to the "
"appropriate mapping elements. To define a filter, use the <literal><"
@@ -73,24 +58,21 @@
"<literal><filter-def/></literal> dentro de un elemento <literal><"
"hibernate-mapping/></literal>:"
-#. Tag: programlisting
-#: filters.xml:32
-#, no-c-format
+#: index.docbook:32
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
-#: filters.xml:34
-#, no-c-format
+#: index.docbook:34
msgid "Then, this filter can be attached to a class:"
msgstr "Entonces este filtro puede ser unido a una clase:"
-#. Tag: programlisting
-#: filters.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"<![CDATA[<class name=\"myClass\" ...>\n"
" ...\n"
@@ -98,32 +80,33 @@
"\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"myClass\" ...>\n"
+" ...\n"
+" <filter name=\"myFilter\" condition=\":myFilterParam = MY_FILTERED_COLUMN"
+"\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: filters.xml:40
-#, no-c-format
+#: index.docbook:40
msgid "or, to a collection:"
msgstr "o a una colección:"
-#. Tag: programlisting
-#: filters.xml:44
-#, no-c-format
+#: index.docbook:44
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:46
-#, no-c-format
+#: index.docbook:46
msgid "or, even to both (or multiples of each) at the same time."
msgstr "o incluso a ambos (o muchos de cada uno) al mismo tiempo."
-#. Tag: para
-#: filters.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"The methods on <literal>Session</literal> are: <literal>enableFilter(String "
"filterName)</literal>, <literal>getEnabledFilter(String filterName)</"
@@ -143,17 +126,15 @@
"de la interface <literal>Filter</literal>. Usando el filtro simple definido "
"arriba, esto se vería así:"
-#. Tag: programlisting
-#: filters.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
"\"some-value\");]]>"
msgstr ""
+"<![CDATA[session.enableFilter(\"myFilter\").setParameter(\"myFilterParam\", "
+"\"some-value\");]]>"
-#. Tag: para
-#: filters.xml:61
-#, no-c-format
+#: index.docbook:61
msgid ""
"Note that methods on the org.hibernate.Filter interface do allow the method-"
"chaining common to much of Hibernate."
@@ -161,18 +142,14 @@
"Nota que los métodos en la interface org.hibernate.Filter permiten el "
"encadenamiento de métodos común en gran parte de Hibernate."
-#. Tag: para
-#: filters.xml:65
-#, no-c-format
+#: index.docbook:65
msgid ""
"A full example, using temporal data with an effective record date pattern:"
msgstr ""
"Un ejemplo completo, usando datos temporales con un patrón efectivo de "
"fechas de registro:"
-#. Tag: programlisting
-#: filters.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"<![CDATA[<filter-def name=\"effectiveDate\">\n"
" <filter-param name=\"asOfDate\" type=\"date\"/>\n"
@@ -207,10 +184,40 @@
" </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
-#: filters.xml:71
-#, no-c-format
+#: index.docbook:71
msgid ""
"Then, in order to ensure that you always get back currently effective "
"records, simply enable the filter on the session prior to retrieving "
@@ -220,9 +227,7 @@
"actualmente efectivos, simplemente habilita el filtro en la sesión previo a "
"recuperar los datos de empleados:"
-#. Tag: programlisting
-#: filters.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"<![CDATA[Session session = ...;\n"
"session.enabledFilter(\"effectiveDate\").setParameter(\"asOfDate\", new Date"
@@ -233,10 +238,16 @@
" .list();\n"
"]]>"
msgstr ""
+"<![CDATA[Session session = ...;\n"
+"session.enabledFilter(\"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
-#: filters.xml:78
-#, no-c-format
+#: index.docbook:78
msgid ""
"In the HQL above, even though we only explicitly mentioned a salary "
"constraint on the results, because of the enabled filter the query will "
@@ -248,9 +259,7 @@
"consulta sólo devolverá empleados actualmente activos que tengan un salario "
"mayor que un millón de dólares."
-#. Tag: para
-#: filters.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"Note: if you plan on using filters with outer joining (either through HQL or "
"load fetching) be careful of the direction of the condition expression. Its "
@@ -263,32 +272,32 @@
"externa izquierda (left outer joining). En general, coloca el primer "
"parámetro seguido del nombre(s) de columna(s) después del operador."
-#. Tag: para
-#: filters.xml:91
-#, no-c-format
+#: index.docbook:91
msgid ""
"After being defined a filter might be attached to multiple entities and/or "
"collections each with its own condition. That can be tedious when the "
"conditions are the same each time. Thus <literal><filter-def/></"
"literal> allows defining a default condition, either as an attribute or "
"CDATA:"
-msgstr "translator-credits"
+msgstr ""
-#. Tag: programlisting
-#: filters.xml:98
-#, no-c-format
+#: index.docbook:98
msgid ""
"<![CDATA[<filter-def name=\"myFilter\" condition=\"abc > xyz\">...</filter-"
"def>\n"
"<filter-def name=\"myOtherFilter\">abc=xyz</filter-def>]]>"
msgstr ""
-#. Tag: para
-#: filters.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"This default condition will then be used whenever the filter is attached to "
"something without specifying a condition. Note that this means you can give "
"a specific condition as part of the attachment of the filter which overrides "
"the default condition in that particular case."
msgstr ""
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/inheritance_mapping.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,70 +1,48 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: inheritance_mapping.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Inheritance Mapping"
msgstr "Mapeo de Herencia"
-#. Tag: title
-#: inheritance_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "The Three Strategies"
msgstr "Las Tres Estrategias"
-#. Tag: para
-#: inheritance_mapping.xml:10
-#, no-c-format
+#: index.docbook:10
msgid "Hibernate supports the three basic inheritance mapping strategies:"
-msgstr "Hibernate soporta las tres estrategias básicas de mapeo de herencia:"
+msgstr ""
+"Hibernate soporta las tres estrategias básicas de mapeo de herencia:"
-#. Tag: para
-#: inheritance_mapping.xml:16
-#, no-c-format
+#: index.docbook:16
msgid "table per class hierarchy"
-msgstr "tabla por jerarquía de clases"
+msgstr "<para>tabla por jerarquía de clases</para>"
-#. Tag: para
-#: inheritance_mapping.xml:21
-#, fuzzy, no-c-format
+#: index.docbook:21
msgid "<para>table per subclass</para>"
-msgstr "tabla por subclase"
+msgstr "<para>tabla por subclase</para>"
-#. Tag: para
-#: inheritance_mapping.xml:26
-#, no-c-format
+#: index.docbook:26
msgid "table per concrete class"
msgstr "tabla por clase concreta"
-#. Tag: para
-#: inheritance_mapping.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"In addition, Hibernate supports a fourth, slightly different kind of "
"polymorphism:"
msgstr ""
-"En adición, Hibernate soporta un cuarto, ligeramente diferente tipo de "
-"polimorfismo:"
+"En adición, Hibernate soporta un cuarto, ligeramente diferente tipo "
+"de polimorfismo:"
-#. Tag: para
-#: inheritance_mapping.xml:39
-#, no-c-format
+#: index.docbook:39
msgid "implicit polymorphism"
-msgstr "polimorfismo implícito"
+msgstr "polimorfismo implícito"
-#. Tag: para
-#: inheritance_mapping.xml:45
-#, no-c-format
+#: index.docbook:45
msgid ""
"It is possible to use different mapping strategies for different branches of "
"the same inheritance hierarchy, and then make use of implicit polymorphism "
@@ -88,9 +66,7 @@
"when using the extends keyword. The ordering inside a single mapping file "
"still needs to be defined as superclasses before subclasses."
-#. Tag: para
-#: inheritance_mapping.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"It is possible to define <literal>subclass</literal>, <literal>union-"
"subclass</literal>, and <literal>joined-subclass</literal> mappings in "
@@ -103,21 +79,16 @@
"when using the extends keyword. The ordering inside a single mapping file "
"still needs to be defined as superclasses before subclasses."
msgstr ""
-"Es posible usar estrategias de mapeo diferentes para diferentes "
-"ramificaciones de la misma jerarquía de herencia, y entonces usar "
-"polimorfismo implícito para conseguir polimorfismo a través de toda la "
-"jerarquía. Sin embargo, Hibernate no soporta la mezcla de mapeos "
-"<literal><subclass></literal>, y <literal><joined-subclass></"
-"literal> y <literal><union-subclass></literal> bajo el mismo elemento "
-"<literal><class></literal> raíz. Es posible mezclar juntas las "
-"estrategias de tabla por jerarquía y tabla por subclase, bajo el mismo "
-"elemento <literal><class></literal>, combinando los elementos "
-"<literal><subclass></literal> y <literal><join></literal> (ver "
-"debajo)."
+"<![CDATA[\n"
+" <hibernate-mapping>\n"
+" <subclass name=\"DomesticCat\" "
+"extends=\"Cat\" discriminator-value=\"D\">\n"
+" <property name=\"name\" "
+"type=\"string\"/>\n"
+" </subclass>\n"
+" </hibernate-mapping>]]>"
-#. Tag: programlisting
-#: inheritance_mapping.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"<![CDATA[\n"
" <hibernate-mapping>\n"
@@ -127,30 +98,35 @@
" </subclass>\n"
" </hibernate-mapping>]]>"
msgstr ""
+"Es posible usar estrategias de mapeo diferentes para diferentes "
+"ramificaciones de la misma jerarquía de herencia, y entonces usar "
+"polimorfismo implícito para conseguir polimorfismo a través de "
+"toda la jerarquía. Sin embargo, Hibernate no soporta la mezcla de "
+"mapeos <literal><subclass></literal>, y <literal><joined-"
+"subclass></literal> y <literal><union-subclass></literal> bajo el "
+"mismo elemento <literal><class></literal> raíz. Es posible "
+"mezclar juntas las estrategias de tabla por jerarquía y tabla por "
+"subclase, bajo el mismo elemento <literal><class></literal>, "
+"combinando los elementos <literal><subclass></literal> y <literal><"
+"join></literal> (ver debajo)."
-#. Tag: title
-#: inheritance_mapping.xml:74
-#, no-c-format
+#: index.docbook:74
msgid "Table per class hierarchy"
-msgstr "Tabla por jerarquía de clases"
+msgstr "Tabla por jerarquía de clases"
-#. Tag: para
-#: inheritance_mapping.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"Suppose we have an interface <literal>Payment</literal>, with implementors "
"<literal>CreditCardPayment</literal>, <literal>CashPayment</literal>, "
"<literal>ChequePayment</literal>. The table per hierarchy mapping would look "
"like:"
msgstr ""
-"Supón que tenemos una interface <literal>Payment</literal>, con los "
+"Supón que tenemos una interface <literal>Payment</literal>, con los "
"implementadores <literal>CreditCardPayment</literal>, <literal>CashPayment</"
-"literal>, <literal>ChequePayment</literal>. El mapeo de tabla por jerarquía "
-"se vería así:"
+"literal>, <literal>ChequePayment</literal>. El mapeo de tabla por "
+"jerarquía se vería así:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:83
-#, no-c-format
+#: index.docbook:83
msgid ""
"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
@@ -171,35 +147,45 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
+" <property name=\"amount\" column=\"AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
+" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+" ...\n"
+" </subclass>\n"
+" <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
+" ...\n"
+" </subclass>\n"
+" <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
+" ...\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"Exactly one table is required. There is one big limitation of this mapping "
"strategy: columns declared by the subclasses, such as <literal>CCTYPE</"
"literal>, may not have <literal>NOT NULL</literal> constraints."
msgstr ""
-"Se requiere exactamente una tabla. Hay una gran limitación de esta "
+"Se requiere exactamente una tabla. Hay una gran limitación de esta "
"estrategia de mapeo: las columnas declaradas por las subclases, como "
"<literal>CCTYPE</literal>, no pueden tener restricciones <literal>NOT NULL</"
"literal>."
-#. Tag: title
-#: inheritance_mapping.xml:94
-#, no-c-format
+#: index.docbook:94
msgid "Table per subclass"
msgstr "Tabla por subclase"
-#. Tag: para
-#: inheritance_mapping.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "A table per subclass mapping would look like:"
-msgstr "Un mapeo de tabla por sublclase se vería así:"
+msgstr "Un mapeo de tabla por sublclase se vería así:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
@@ -222,10 +208,28 @@
" </joined-subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\" column=\"AMOUNT\"/>\n"
+" ...\n"
+" <joined-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+" <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+" <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"Four tables are required. The three subclass tables have primary key "
"associations to the superclass table (so the relational model is actually a "
@@ -233,17 +237,13 @@
msgstr ""
"Se requieren cuatro tablas. Las tres tablas de subclase tienen asociaciones "
"de clave primaria a la tabla de superclase (de modo que en el modelo "
-"relacional es realmente una asociación uno-a-uno)."
+"relacional es realmente una asociación uno-a-uno)."
-#. Tag: title
-#: inheritance_mapping.xml:111
-#, no-c-format
+#: index.docbook:111
msgid "Table per subclass, using a discriminator"
msgstr "Tabla por subclase, usando un discriminador"
-#. Tag: para
-#: inheritance_mapping.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"Note that Hibernate's implementation of table per subclass requires no "
"discriminator column. Other object/relational mappers use a different "
@@ -254,18 +254,17 @@
"subclass strategy, you may combine the use of <literal><subclass></"
"literal> and <literal><join></literal>, as follow:"
msgstr ""
-"Observa que la implementación de Hibernate de tabla por subclase no requiere "
-"ninguna columna discriminadora. Otros mapeadores objeto/relacional usan una "
-"implementación diferente de tabla por subclase que requiere una columna "
-"discriminadora de tipo en la tabla de superclase. Este enfoque es mucho más "
-"difícil de implementar pero discutiblemente más correcto desde un punto de "
-"vista relacional. Si quisieras usar una columna discriminadora con la "
-"estrategia de tabla por subclase, puedes combinar el uso de <literal><"
-"subclass></literal> y <literal><join></literal>, como sigue:"
+"Observa que la implementación de Hibernate de tabla por subclase no "
+"requiere ninguna columna discriminadora. Otros mapeadores objeto/relacional "
+"usan una implementación diferente de tabla por subclase que requiere "
+"una columna discriminadora de tipo en la tabla de superclase. Este enfoque "
+"es mucho más difícil de implementar pero discutiblemente "
+"más correcto desde un punto de vista relacional. Si quisieras usar "
+"una columna discriminadora con la estrategia de tabla por subclase, puedes "
+"combinar el uso de <literal><subclass></literal> y <literal><"
+"join></literal>, como sigue:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:125
-#, no-c-format
+#: index.docbook:125
msgid ""
"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
@@ -295,38 +294,58 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
+" <property name=\"amount\" column=\"AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
+" <join table=\"CREDIT_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+" <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
+" <join table=\"CASH_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+" <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
+" <join table=\"CHEQUE_PAYMENT\" fetch=\"select\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"The optional <literal>fetch=\"select\"</literal> declaration tells Hibernate "
"not to fetch the <literal>ChequePayment</literal> subclass data using an "
"outer join when querying the superclass."
msgstr ""
-"la declaración opcional <literal>fetch=\"select\"</literal> dice a Hibernate "
-"que no recupere los datos de la subclase <literal>ChequePayment</literal> "
-"usando una unión externa (outer join) al consultar la superclase."
+"la declaración opcional <literal>fetch=\"select\"</literal> dice a "
+"Hibernate que no recupere los datos de la subclase <literal>ChequePayment</"
+"literal> usando una unión externa (outer join) al consultar la "
+"superclase."
-#. Tag: title
-#: inheritance_mapping.xml:136
-#, no-c-format
+#: index.docbook:136
msgid "Mixing table per class hierarchy with table per subclass"
-msgstr "Mezclando tabla por jerarquía de clases con tabla por subclase"
+msgstr "Mezclando tabla por jerarquía de clases con tabla por subclase"
-#. Tag: para
-#: inheritance_mapping.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"You may even mix the table per hierarchy and table per subclass strategies "
"using this approach:"
msgstr ""
-"Puedes incluso mezclar las estrategias de tabla po jerarquía y tabla por "
-"subclase usando este enfoque:"
+"Puedes incluso mezclar las estrategias de tabla po jerarquía y tabla "
+"por subclase usando este enfoque:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
@@ -349,46 +368,58 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\" table=\"PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"PAYMENT_TYPE\" type=\"string\"/>\n"
+" <property name=\"amount\" column=\"AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"CreditCardPayment\" discriminator-value=\"CREDIT\">\n"
+" <join table=\"CREDIT_PAYMENT\">\n"
+" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+" ...\n"
+" </join>\n"
+" </subclass>\n"
+" <subclass name=\"CashPayment\" discriminator-value=\"CASH\">\n"
+" ...\n"
+" </subclass>\n"
+" <subclass name=\"ChequePayment\" discriminator-value=\"CHEQUE\">\n"
+" ...\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"For any of these mapping strategies, a polymorphic association to the root "
"<literal>Payment</literal> class is mapped using <literal><many-to-one>"
"</literal>."
msgstr ""
-"Para cualquiera de estas estrategias de mapeo, una asociación polimórfica a "
-"la clase raíz <literal>Payment</literal> es mapeada usando <literal><many-"
-"to-one></literal>."
+"Para cualquiera de estas estrategias de mapeo, una asociación "
+"polimórfica a la clase raíz <literal>Payment</literal> es "
+"mapeada usando <literal><many-to-one></literal>."
-#. Tag: programlisting
-#: inheritance_mapping.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment"
"\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"payment\" column=\"PAYMENT_ID\" class=\"Payment"
+"\"/>]]>"
-#. Tag: title
-#: inheritance_mapping.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Table per concrete class"
msgstr "Tabla por clase concreta"
-#. Tag: para
-#: inheritance_mapping.xml:158
-#, no-c-format
+#: index.docbook:158
msgid ""
"There are two ways we could go about mapping the table per concrete class "
"strategy. The first is to use <literal><union-subclass></literal>."
msgstr ""
-"Podríamos ir de dos maneras a la estrategia de mapeo de tabla por clase "
-"concreta. La primera es usar <literal><union-subclass></literal>."
+"Podríamos ir de dos maneras a la estrategia de mapeo de tabla por "
+"clase concreta. La primera es usar <literal><union-subclass></literal>."
-#. Tag: programlisting
-#: inheritance_mapping.xml:163
-#, no-c-format
+#: index.docbook:163
msgid ""
"<![CDATA[<class name=\"Payment\">\n"
" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
@@ -408,20 +439,33 @@
" </union-subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Payment\">\n"
+" <id name=\"id\" type=\"long\" column=\"PAYMENT_ID\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" <property name=\"amount\" column=\"AMOUNT\"/>\n"
+" ...\n"
+" <union-subclass name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+" <property name=\"creditCardType\" column=\"CCTYPE\"/>\n"
+" ...\n"
+" </union-subclass>\n"
+" <union-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+" ...\n"
+" </union-subclass>\n"
+" <union-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+" ...\n"
+" </union-subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:165
-#, no-c-format
+#: index.docbook:165
msgid ""
"Three tables are involved for the subclasses. Each table defines columns for "
"all properties of the class, including inherited properties."
msgstr ""
-"Están implicadas tres tablas. Cada tabla define columnas para todas las "
-"propiedades de la clase, inccluyendo las propiedades heredadas."
+"Están implicadas tres tablas. Cada tabla define columnas para todas "
+"las propiedades de la clase, inccluyendo las propiedades heredadas."
-#. Tag: para
-#: inheritance_mapping.xml:170
-#, no-c-format
+#: index.docbook:170
msgid ""
"The limitation of this approach is that if a property is mapped on the "
"superclass, the column name must be the same on all subclass tables. (We "
@@ -429,16 +473,15 @@
"strategy is not allowed in union subclass inheritance, indeed the primary "
"key seed has to be shared accross all unioned subclasses of a hierarchy."
msgstr ""
-"La limitación de este enfoque es que si una propiedad es mapeada en la "
-"superclase, el nombre de columna debe ser el mismo en todas las tablas de "
-"subclase. (Podríamos relajar esto en un lanzamiento futuro de Hibernate.) La "
-"estrategia de generador de indentidad no está permitida en la herencia de "
-"unión de subclase, de hecho la semilla de clave primaria tiene que ser "
-"compartida a través de todas las subclases unidas de una jerarquía."
+"La limitación de este enfoque es que si una propiedad es mapeada en "
+"la superclase, el nombre de columna debe ser el mismo en todas las tablas de "
+"subclase. (Podríamos relajar esto en un lanzamiento futuro de "
+"Hibernate.) La estrategia de generador de indentidad no está "
+"permitida en la herencia de unión de subclase, de hecho la semilla de "
+"clave primaria tiene que ser compartida a través de todas las "
+"subclases unidas de una jerarquía."
-#. Tag: para
-#: inheritance_mapping.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"If your superclass is abstract, map it with <literal>abstract=\"true\"</"
"literal>. Of course, if it is not abstract, an additional table (defaults to "
@@ -450,21 +493,15 @@
"(defaults to <literal>PAYMENT</literal> in the example above) is needed to "
"hold instances of the superclass."
-#. Tag: title
-#: inheritance_mapping.xml:189
-#, no-c-format
+#: index.docbook:189
msgid "Table per concrete class, using implicit polymorphism"
-msgstr "Tabla por clase concreta, usando polimorfismo implícito"
+msgstr "Tabla por clase concreta, usando polimorfismo implícito"
-#. Tag: para
-#: inheritance_mapping.xml:191
-#, no-c-format
+#: index.docbook:191
msgid "An alternative approach is to make use of implicit polymorphism:"
-msgstr "Un enfoque alternativo es hacer uso de polimorfismo implícito:"
+msgstr "Un enfoque alternativo es hacer uso de polimorfismo implícito:"
-#. Tag: programlisting
-#: inheritance_mapping.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
" <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
@@ -490,10 +527,31 @@
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
+" ...\n"
+"</class>\n"
+"\n"
+"<class name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"CASH_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
+" ...\n"
+"</class>\n"
+"\n"
+"<class name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"CHEQUE_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:197
-#, no-c-format
+#: index.docbook:197
msgid ""
"Notice that nowhere do we mention the <literal>Payment</literal> interface "
"explicitly. Also notice that properties of <literal>Payment</literal> are "
@@ -502,38 +560,32 @@
"\"allproperties.xml\"> ]</literal> in the <literal>DOCTYPE</literal> "
"declartion and <literal>&allproperties;</literal> in the mapping)."
msgstr ""
-"Nota que en ningún sitio mencionamos la interface <literal>Payment</literal> "
-"explícitamente. Nota además que las propiedades de <literal>Payment</"
-"literal> son mapeadas en cada una de las subclases. Si quieres evitar "
-"duplicación, considera usar entidades XML. (por ejemplo, <literal>[ <!"
-"ENTITY allproperties SYSTEM \"allproperties.xml\"> ]</literal> en la "
-"declaración <literal>DOCTYPE</literal> y <literal>&allproperties;</"
-"literal> en el mapeo)."
+"Nota que en ningún sitio mencionamos la interface <literal>Payment</"
+"literal> explícitamente. Nota además que las propiedades de "
+"<literal>Payment</literal> son mapeadas en cada una de las subclases. Si "
+"quieres evitar duplicación, considera usar entidades XML. (por "
+"ejemplo, <literal>[ <!ENTITY allproperties SYSTEM \"allproperties.xml"
+"\"> ]</literal> en la declaración <literal>DOCTYPE</literal> y "
+"<literal>&allproperties;</literal> en el mapeo)."
-#. Tag: para
-#: inheritance_mapping.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"The disadvantage of this approach is that Hibernate does not generate SQL "
"<literal>UNION</literal>s when performing polymorphic queries."
msgstr ""
"La desventaja de este enfoque es que Hibernate no genera <literal>UNION</"
-"literal>s de SQL al realizar consultas polimórficas."
+"literal>s de SQL al realizar consultas polimórficas."
-#. Tag: para
-#: inheritance_mapping.xml:212
-#, no-c-format
+#: index.docbook:212
msgid ""
"For this mapping strategy, a polymorphic association to <literal>Payment</"
"literal> is usually mapped using <literal><any></literal>."
msgstr ""
-"Para esta estrategia de mapeo, una asociación polimórfica a "
+"Para esta estrategia de mapeo, una asociación polimórfica a "
"<literal>Payment</literal> es mapeada generalmente usando <literal><"
"any></literal>."
-#. Tag: programlisting
-#: inheritance_mapping.xml:217
-#, no-c-format
+#: index.docbook:217
msgid ""
"<![CDATA[<any name=\"payment\" meta-type=\"string\" id-type=\"long\">\n"
" <meta-value value=\"CREDIT\" class=\"CreditCardPayment\"/>\n"
@@ -543,16 +595,19 @@
" <column name=\"PAYMENT_ID\"/>\n"
"</any>]]>"
msgstr ""
+"<![CDATA[<any name=\"payment\" meta-type=\"string\" id-type=\"long\">\n"
+" <meta-value value=\"CREDIT\" class=\"CreditCardPayment\"/>\n"
+" <meta-value value=\"CASH\" class=\"CashPayment\"/>\n"
+" <meta-value value=\"CHEQUE\" class=\"ChequePayment\"/>\n"
+" <column name=\"PAYMENT_CLASS\"/>\n"
+" <column name=\"PAYMENT_ID\"/>\n"
+"</any>]]>"
-#. Tag: title
-#: inheritance_mapping.xml:222
-#, no-c-format
+#: index.docbook:222
msgid "Mixing implicit polymorphism with other inheritance mappings"
-msgstr "Mezclando polimorfismo implícito con otros mapeos de herencia"
+msgstr "Mezclando polimorfismo implícito con otros mapeos de herencia"
-#. Tag: para
-#: inheritance_mapping.xml:224
-#, no-c-format
+#: index.docbook:224
msgid ""
"There is one further thing to notice about this mapping. Since the "
"subclasses are each mapped in their own <literal><class></literal> "
@@ -561,16 +616,14 @@
"you can still use polymorphic queries against the <literal>Payment</literal> "
"interface.)"
msgstr ""
-"Hay una cosa más por notar acerca de este mapeo. Ya que las subclases se "
-"mapean cada una en su propio elemento <literal><class></literal> (y ya "
-"que <literal>Payment</literal> es sólo una interface), cada una de las "
-"subclases podría ser parte de otra jerarquía de herencia! (Y todavía puedes "
-"seguir usando consultas polimórficas contra la interface <literal>Payment</"
-"literal>.)"
+"Hay una cosa más por notar acerca de este mapeo. Ya que las subclases "
+"se mapean cada una en su propio elemento <literal><class></literal> (y "
+"ya que <literal>Payment</literal> es sólo una interface), cada una de "
+"las subclases podría ser parte de otra jerarquía de herencia! "
+"(Y todavía puedes seguir usando consultas polimórficas contra "
+"la interface <literal>Payment</literal>.)"
-#. Tag: programlisting
-#: inheritance_mapping.xml:232
-#, no-c-format
+#: index.docbook:232
msgid ""
"<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
" <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
@@ -600,10 +653,35 @@
" </joined-subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"CreditCardPayment\" table=\"CREDIT_PAYMENT\">\n"
+" <id name=\"id\" type=\"long\" column=\"CREDIT_PAYMENT_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <discriminator column=\"CREDIT_CARD\" type=\"string\"/>\n"
+" <property name=\"amount\" column=\"CREDIT_AMOUNT\"/>\n"
+" ...\n"
+" <subclass name=\"MasterCardPayment\" discriminator-value=\"MDC\"/>\n"
+" <subclass name=\"VisaPayment\" discriminator-value=\"VISA\"/>\n"
+"</class>\n"
+"\n"
+"<class name=\"NonelectronicTransaction\" table=\"NONELECTRONIC_TXN\">\n"
+" <id name=\"id\" type=\"long\" column=\"TXN_ID\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" ...\n"
+" <joined-subclass name=\"CashPayment\" table=\"CASH_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"amount\" column=\"CASH_AMOUNT\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+" <joined-subclass name=\"ChequePayment\" table=\"CHEQUE_PAYMENT\">\n"
+" <key column=\"PAYMENT_ID\"/>\n"
+" <property name=\"amount\" column=\"CHEQUE_AMOUNT\"/>\n"
+" ...\n"
+" </joined-subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: inheritance_mapping.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"Once again, we don't mention <literal>Payment</literal> explicitly. If we "
"execute a query against the <literal>Payment</literal> interface - for "
@@ -613,233 +691,154 @@
"literal> and <literal>ChequePayment</literal> but not instances of "
"<literal>NonelectronicTransaction</literal>."
msgstr ""
-"Una vez más, no mencionamos a <literal>Payment</literal> explícitamente. Si "
-"ejecutamos una consulta contra la interface <literal>Payment</literal> - por "
-"ejemplo, <literal>from Payment</literal> - Hibernate devuelve "
-"automáticamente instancias de <literal>CreditCardPayment</literal> (y sus "
-"subclases, ya que ellas también implementan <literal>Payment</literal>), "
-"<literal>CashPayment</literal> y <literal>ChequePayment</literal> pero no "
-"instancias de <literal>NonelectronicTransaction</literal>."
+"Una vez más, no mencionamos a <literal>Payment</literal> explí"
+"citamente. Si ejecutamos una consulta contra la interface <literal>Payment</"
+"literal> - por ejemplo, <literal>from Payment</literal> - Hibernate devuelve "
+"automáticamente instancias de <literal>CreditCardPayment</literal> (y "
+"sus subclases, ya que ellas también implementan <literal>Payment</"
+"literal>), <literal>CashPayment</literal> y <literal>ChequePayment</literal> "
+"pero no instancias de <literal>NonelectronicTransaction</literal>."
-#. Tag: title
-#: inheritance_mapping.xml:249
-#, no-c-format
+#: index.docbook:249
msgid "Limitations"
msgstr "Limitaciones"
-#. Tag: para
-#: inheritance_mapping.xml:251
-#, no-c-format
+#: index.docbook:251
msgid ""
"There are certain limitations to the \"implicit polymorphism\" approach to "
"the table per concrete-class mapping strategy. There are somewhat less "
"restrictive limitations to <literal><union-subclass></literal> "
"mappings."
msgstr ""
-"Existen ciertas limitaciones al enfoque de \"polimorfismo implícito\" en la "
-"estrategia de mapeo de tabla por clase concreta. Existen limitaciones algo "
-"menos restrictivas a los mapeos <literal><union-subclass></literal>."
+"Existen ciertas limitaciones al enfoque de \"polimorfismo implícito\" "
+"en la estrategia de mapeo de tabla por clase concreta. Existen limitaciones "
+"algo menos restrictivas a los mapeos <literal><union-subclass></"
+"literal>."
-#. Tag: para
-#: inheritance_mapping.xml:258
-#, no-c-format
+#: index.docbook:258
msgid ""
"The following table shows the limitations of table per concrete-class "
"mappings, and of implicit polymorphism, in Hibernate."
msgstr ""
"La siguiente tabla muestra las limitaciones de mapeos de tabla por clase "
-"concreta, y de polmorfismo implícito, en Hibernate."
+"concreta, y de polmorfismo implícito, en Hibernate."
-#. Tag: title
-#: inheritance_mapping.xml:264
-#, no-c-format
+#: index.docbook:264
msgid "Features of inheritance mappings"
msgstr "Funcionalidades de mapeo de herencia"
-#. Tag: entry
-#: inheritance_mapping.xml:276
-#, no-c-format
+#: index.docbook:276
msgid "Inheritance strategy"
msgstr "Estrategia de herencia"
-#. Tag: entry
-#: inheritance_mapping.xml:277
-#, no-c-format
+#: index.docbook:277
msgid "Polymorphic many-to-one"
-msgstr "muchos-a-uno polimórfica"
+msgstr "muchos-a-uno polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:278
-#, no-c-format
+#: index.docbook:278
msgid "Polymorphic one-to-one"
-msgstr "uno-a-uno polimórfica"
+msgstr "uno-a-uno polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:279
-#, no-c-format
+#: index.docbook:279
msgid "Polymorphic one-to-many"
-msgstr "uno-a-muchos polimórfica"
+msgstr "uno-a-muchos polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:280
-#, no-c-format
+#: index.docbook:280
msgid "Polymorphic many-to-many"
-msgstr "mushos-a-muchos polimórfica"
+msgstr "mushos-a-muchos polimórfica"
-#. Tag: entry
-#: inheritance_mapping.xml:281
-#, no-c-format
+#: index.docbook:281
msgid "Polymorphic <literal>load()/get()</literal>"
-msgstr ""
+msgstr "<literal>load()/get()</literal> polimórficos"
-#. Tag: entry
-#: inheritance_mapping.xml:282
-#, no-c-format
+#: index.docbook:282
msgid "Polymorphic queries"
-msgstr "Consultas polimórficas"
+msgstr "Consultas polimórficas"
-#. Tag: entry
-#: inheritance_mapping.xml:283
-#, no-c-format
+#: index.docbook:283
msgid "Polymorphic joins"
-msgstr "Uniones polimórficas"
+msgstr "Uniones polimórficas"
-#. Tag: entry
-#: inheritance_mapping.xml:284
-#, no-c-format
+#: index.docbook:284
msgid "Outer join fetching"
-msgstr "Recuperación por unión externa (outer join)"
+msgstr "Recuperación por unión externa (outer join)"
-#. Tag: entry
-#: inheritance_mapping.xml:289
-#, no-c-format
+#: index.docbook:289
msgid "table per class-hierarchy"
-msgstr "tabla por jerarquía de clases"
+msgstr "<entry>tabla por jerarquía de clases</entry>"
-#. Tag: literal
-#: inheritance_mapping.xml:290 inheritance_mapping.xml:301
-#: inheritance_mapping.xml:312
-#, no-c-format
+#: index.docbook:290, index.docbook:301, index.docbook:312
msgid "<many-to-one>"
msgstr "<many-to-one>"
-#. Tag: literal
-#: inheritance_mapping.xml:291 inheritance_mapping.xml:302
-#: inheritance_mapping.xml:313
-#, no-c-format
+#: index.docbook:291, index.docbook:302, index.docbook:313
msgid "<one-to-one>"
msgstr "<one-to-one>"
-#. Tag: literal
-#: inheritance_mapping.xml:292 inheritance_mapping.xml:303
-#, no-c-format
+#: index.docbook:292, index.docbook:303
msgid "<one-to-many>"
msgstr "<one-to-many>"
-#. Tag: literal
-#: inheritance_mapping.xml:293 inheritance_mapping.xml:304
-#: inheritance_mapping.xml:315
-#, no-c-format
+#: index.docbook:293, index.docbook:304, index.docbook:315
msgid "<many-to-many>"
msgstr "<many-to-many>"
-#. Tag: literal
-#: inheritance_mapping.xml:294 inheritance_mapping.xml:305
-#: inheritance_mapping.xml:316
-#, no-c-format
+#: index.docbook:294, index.docbook:305, index.docbook:316
msgid "s.get(Payment.class, id)"
msgstr "s.get(Payment.class, id)"
-#. Tag: literal
-#: inheritance_mapping.xml:295 inheritance_mapping.xml:306
-#: inheritance_mapping.xml:317 inheritance_mapping.xml:328
-#, no-c-format
+#: index.docbook:295, index.docbook:306, index.docbook:317, index.docbook:328
msgid "from Payment p"
msgstr "from Payment p"
-#. Tag: literal
-#: inheritance_mapping.xml:296 inheritance_mapping.xml:307
-#: inheritance_mapping.xml:318
-#, no-c-format
+#: index.docbook:296, index.docbook:307, index.docbook:318
msgid "from Order o join o.payment p"
msgstr "from Order o join o.payment p"
-#. Tag: emphasis
-#: inheritance_mapping.xml:297 inheritance_mapping.xml:308
-#: inheritance_mapping.xml:319
-#, no-c-format
+#: index.docbook:297, index.docbook:308, index.docbook:319
msgid "supported"
msgstr "soportada"
-#. Tag: entry
-#: inheritance_mapping.xml:300
-#, fuzzy, no-c-format
+#: index.docbook:300
msgid "<entry>table per subclass</entry>"
-msgstr "tabla por subclase"
+msgstr "<entry>tabla por subclase</entry>"
-#. Tag: entry
-#: inheritance_mapping.xml:311
-#, no-c-format
+#: index.docbook:311
msgid "table per concrete-class (union-subclass)"
msgstr "tabla por clase concreta (union-subclass)"
-#. Tag: entry
-#: inheritance_mapping.xml:314
-#, no-c-format
+#: index.docbook:314
msgid ""
"<literal><one-to-many></literal> (for <literal>inverse=\"true\"</"
"literal> only)"
msgstr ""
+"<literal><one-to-many></literal> (para <literal>inverse=\"true\"</"
+"literal> solamente)"
-#. Tag: entry
-#: inheritance_mapping.xml:322
-#, no-c-format
+#: index.docbook:322
msgid "table per concrete class (implicit polymorphism)"
-msgstr "tabla por clase concreta (polimorfismo implícito)"
+msgstr "tabla por clase concreta (polimorfismo implícito)"
-#. Tag: literal
-#: inheritance_mapping.xml:323
-#, no-c-format
+#: index.docbook:323
msgid "<any>"
msgstr "<any>"
-#. Tag: emphasis
-#: inheritance_mapping.xml:324 inheritance_mapping.xml:325
-#: inheritance_mapping.xml:329 inheritance_mapping.xml:330
-#, fuzzy, no-c-format
+#: index.docbook:324, index.docbook:325, index.docbook:329, index.docbook:330
msgid "not supported"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no soportada\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no soportada\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no suportadas\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"no soportada"
+msgstr "no soportada"
-#. Tag: literal
-#: inheritance_mapping.xml:326
-#, no-c-format
+#: index.docbook:326
msgid "<many-to-any>"
msgstr "<many-to-any>"
-#. Tag: literal
-#: inheritance_mapping.xml:327
-#, no-c-format
+#: index.docbook:327
msgid ""
"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
msgstr ""
"s.createCriteria(Payment.class).add( Restrictions.idEq(id) ).uniqueResult()"
-#~ msgid "load()/get()"
-#~ msgstr "load()/get()"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "Polymorphic <placeholder-1/>"
-#~ msgstr "<placeholder-1/> polimórficos"
-
-#~ msgid "inverse=\"true\""
-#~ msgstr "inverse=\"true\""
-
-#~ msgid "<placeholder-1/> (for <placeholder-2/> only)"
-#~ msgstr "<placeholder-1/> (para <placeholder-2/> solamente)"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/performance.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,78 +1,61 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: performance.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Improving performance"
msgstr "Mejorando el rendimiento"
-#. Tag: title
-#: performance.xml:8
-#, no-c-format
+#: index.docbook:8
msgid "Fetching strategies"
-msgstr "Estrategias de recuperación"
+msgstr "Estrategias de recuperación"
-#. Tag: para
-#: performance.xml:10
-#, no-c-format
+#: index.docbook:10
msgid ""
"A <emphasis>fetching strategy</emphasis> is the strategy Hibernate will use "
"for retrieving associated objects if the application needs to navigate the "
"association. Fetch strategies may be declared in the O/R mapping metadata, "
"or over-ridden by a particular HQL or <literal>Criteria</literal> query."
msgstr ""
-"Una <emphasis>estrategia de recuperación</emphasis> es la estrategia que "
-"usará Hibernate para recuperar los objetos asociados cuando la aplicación "
-"necesite navegar la asociación. Las estrategias de recuperación pueden ser "
-"declaradas en los metadatos de mapeo O/R, o sobrescritas por una consulta "
-"HQL o <literal>Criteria</literal> en particular."
+"Una <emphasis>estrategia de recuperación</emphasis> es la estrategia "
+"que usará Hibernate para recuperar los objetos asociados cuando la "
+"aplicación necesite navegar la asociación. Las estrategias de "
+"recuperación pueden ser declaradas en los metadatos de mapeo O/R, o "
+"sobrescritas por una consulta HQL o <literal>Criteria</literal> en "
+"particular."
-#. Tag: para
-#: performance.xml:17
-#, no-c-format
+#: index.docbook:17
msgid "Hibernate3 defines the following fetching strategies:"
-msgstr "Hibernate3 define las siguientes estrategias de recuperación:"
+msgstr "Hibernate3 define las siguientes estrategias de recuperación:"
-#. Tag: para
-#: performance.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"<emphasis>Join fetching</emphasis> - Hibernate retrieves the associated "
"instance or collection in the same <literal>SELECT</literal>, using an "
"<literal>OUTER JOIN</literal>."
msgstr ""
-"<emphasis>Recuperación por unión (join fetching)</emphasis> - Hibernate "
-"recupera la instancia asociada o colección en la misma <literal>SELECT</"
-"literal>, usando una <literal>OUTER JOIN</literal>."
+"<emphasis>Recuperación por unión (join fetching)</emphasis> - "
+"Hibernate recupera la instancia asociada o colección en la misma "
+"<literal>SELECT</literal>, usando una <literal>OUTER JOIN</literal>."
-#. Tag: para
-#: performance.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"<emphasis>Select fetching</emphasis> - a second <literal>SELECT</literal> is "
"used to retrieve the associated entity or collection. Unless you explicitly "
"disable lazy fetching by specifying <literal>lazy=\"false\"</literal>, this "
"second select will only be executed when you actually access the association."
msgstr ""
-"<emphasis>Recuperación por selección (select fetching)</emphasis> - se usa "
-"una segunda <literal>SELECT</literal> para recuperar la entidad asociada o "
-"colección. A menos que deshabilites explícitamente la recuperación perezosa "
-"especificando <literal>lazy=\"false\"</literal>, la segunda selección sólo "
-"será ejecutada cuando realmente accedas a la asociación."
+"<emphasis>Recuperación por selección (select fetching)</"
+"emphasis> - se usa una segunda <literal>SELECT</literal> para recuperar la "
+"entidad asociada o colección. A menos que deshabilites explí"
+"citamente la recuperación perezosa especificando <literal>lazy=\"false"
+"\"</literal>, la segunda selección sólo será ejecutada "
+"cuando realmente accedas a la asociación."
-#. Tag: para
-#: performance.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"<emphasis>Subselect fetching</emphasis> - a second <literal>SELECT</literal> "
"is used to retrieve the associated collections for all entities retrieved in "
@@ -80,58 +63,52 @@
"specifying <literal>lazy=\"false\"</literal>, this second select will only "
"be executed when you actually access the association."
msgstr ""
-"<emphasis>Recuperación por subselección (subselect fetching)</emphasis> - se "
-"usa una segunda <literal>SELECT</literal> para recuperar las colecciones "
-"asociadas de todas las entidades recuperadas en una consulta o recuperación "
-"previa. A menos que deshabilites explícitamente la recuperación perezosa "
-"especificando <literal>lazy=\"false\"</literal>, esta segunda selección sólo "
-"será ejecutada cuando realmente accedas a la asociación."
+"<emphasis>Recuperación por subselección (subselect fetching)</"
+"emphasis> - se usa una segunda <literal>SELECT</literal> para recuperar las "
+"colecciones asociadas de todas las entidades recuperadas en una consulta o "
+"recuperación previa. A menos que deshabilites explícitamente "
+"la recuperación perezosa especificando <literal>lazy=\"false\"</"
+"literal>, esta segunda selección sólo será ejecutada "
+"cuando realmente accedas a la asociación."
-#. Tag: para
-#: performance.xml:48
-#, no-c-format
+#: index.docbook:48
msgid ""
"<emphasis>Batch fetching</emphasis> - an optimization strategy for select "
"fetching - Hibernate retrieves a batch of entity instances or collections in "
"a single <literal>SELECT</literal>, by specifying a list of primary keys or "
"foreign keys."
msgstr ""
-"<emphasis>Recuperación en lote</emphasis> - una estrategia de optimización "
-"para la recuperación por selección - Hibernate recupera un lote de "
-"instancias de entidad o colecciones en una sola <literal>SELECT</literal>, "
-"especificando una lista de claves primarias o de claves foráneas."
+"<emphasis>Recuperación en lote</emphasis> - una estrategia de "
+"optimización para la recuperación por selección - "
+"Hibernate recupera un lote de instancias de entidad o colecciones en una "
+"sola <literal>SELECT</literal>, especificando una lista de claves primarias "
+"o de claves foráneas."
-#. Tag: para
-#: performance.xml:57
-#, no-c-format
+#: index.docbook:57
msgid "Hibernate also distinguishes between:"
-msgstr "Hibernate también distingue entre:"
+msgstr "Hibernate también distingue entre:"
-#. Tag: para
-#: performance.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"<emphasis>Immediate fetching</emphasis> - an association, collection or "
"attribute is fetched immediately, when the owner is loaded."
msgstr ""
-"<emphasis>Recuperación inmediata</emphasis> - una asociación, colección o "
-"atributo es recuperado inmediatamente, cuando el dueño es cargado."
+"<emphasis>Recuperación inmediata</emphasis> - una asociación, "
+"colección o atributo es recuperado inmediatamente, cuando el "
+"dueño es cargado."
-#. Tag: para
-#: performance.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"<emphasis>Lazy collection fetching</emphasis> - a collection is fetched when "
"the application invokes an operation upon that collection. (This is the "
"default for collections.)"
msgstr ""
-"<emphasis>Recuperación perezosa de colecciones</emphasis> - se recupera una "
-"colección cuando la aplicación invoca una operación sobre la colección. "
-"(Esto es por defecto para las colecciones.)"
+"<emphasis>Recuperación perezosa de colecciones</emphasis> - se "
+"recupera una colección cuando la aplicación invoca una "
+"operación sobre la colección. (Esto es por defecto para las "
+"colecciones.)"
-#. Tag: para
-#: performance.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"<emphasis>\"Extra-lazy\" collection fetching</emphasis> - individual "
"elements of the collection are accessed from the database as needed. "
@@ -143,9 +120,7 @@
"Hibernate tries not to fetch the whole collection into memory unless "
"absolutely needed (suitable for very large collections)"
-#. Tag: para
-#: performance.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"<emphasis>Proxy fetching</emphasis> - a single-valued association is fetched "
"when a method other than the identifier getter is invoked upon the "
@@ -155,9 +130,7 @@
"when a method other than the identifier getter is invoked upon the "
"associated object."
-#. Tag: para
-#: performance.xml:91
-#, no-c-format
+#: index.docbook:91
msgid ""
"<emphasis>\"No-proxy\" fetching</emphasis> - a single-valued association is "
"fetched when the instance variable is accessed. Compared to proxy fetching, "
@@ -166,26 +139,22 @@
"the application. This approach requires buildtime bytecode instrumentation "
"and is rarely necessary."
msgstr ""
-"<emphasis>Recuperación por proxy</emphasis> - se recupera una asociación "
-"monovaluada cuando se invoca un método que no sea el getter del "
-"identificador sobre el objeto asociado."
+"<emphasis>Recuperación por proxy</emphasis> - se recupera una "
+"asociación monovaluada cuando se invoca un método que no sea "
+"el getter del identificador sobre el objeto asociado."
-#. Tag: para
-#: performance.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"<emphasis>Lazy attribute fetching</emphasis> - an attribute or single valued "
"association is fetched when the instance variable is accessed. This approach "
"requires buildtime bytecode instrumentation and is rarely necessary."
msgstr ""
-"<emphasis>Recuperación perezosa de atributos</emphasis> - se recupera un "
-"atributo o una asociación monovaluada cuando se accede a la variable de "
-"instancia (requiere instrumentación del bytecode en tiempo de ejecución). "
-"Este enfoque es raramente necesario."
+"<emphasis>Recuperación perezosa de atributos</emphasis> - se recupera "
+"un atributo o una asociación monovaluada cuando se accede a la "
+"variable de instancia (requiere instrumentación del bytecode en "
+"tiempo de ejecución). Este enfoque es raramente necesario."
-#. Tag: para
-#: performance.xml:110
-#, no-c-format
+#: index.docbook:110
msgid ""
"We have two orthogonal notions here: <emphasis>when</emphasis> is the "
"association fetched, and <emphasis>how</emphasis> is it fetched (what SQL is "
@@ -193,35 +162,31 @@
"performance. We may use <literal>lazy</literal> to define a contract for "
"what data is always available in any detached instance of a particular class."
msgstr ""
-"Aquí tenemos dos nociones ortogonales: <emphasis>cuándo</emphasis> se "
-"recupera la aplicación, y <emphasis>cómo</emphasis> es recuperada (qué SQL "
-"es usado). ¡No las confundas! Usamos <literal>fetch</literal> para afinar el "
-"rendimiento. Podemos usar <literal>lazy</literal> para definir un contrato "
-"sobre qué datos están siempre disponibles en cualquier instancia separada de "
-"una clase en particular."
+"Aquí tenemos dos nociones ortogonales: <emphasis>cuándo</"
+"emphasis> se recupera la aplicación, y <emphasis>cómo</"
+"emphasis> es recuperada (qué SQL es usado). ¡No las confundas! "
+"Usamos <literal>fetch</literal> para afinar el rendimiento. Podemos usar "
+"<literal>lazy</literal> para definir un contrato sobre qué datos "
+"están siempre disponibles en cualquier instancia separada de una "
+"clase en particular."
-#. Tag: title
-#: performance.xml:119
-#, no-c-format
+#: index.docbook:119
msgid "Working with lazy associations"
msgstr "Trabajando con asociaciones perezosas"
-#. Tag: para
-#: performance.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"By default, Hibernate3 uses lazy select fetching for collections and lazy "
"proxy fetching for single-valued associations. These defaults make sense for "
"almost all associations in almost all applications."
msgstr ""
-"Por defecto, Hibernate3 usa una recuperación perezosa por selección para "
-"colecciones y una recuperación por proxy perezosa para asociaciones "
-"monovaluadas. Estas políticas por defecto tienen sentido para casi todas las "
-"asociaciones en casi todas las aplicaciones."
+"Por defecto, Hibernate3 usa una recuperación perezosa por "
+"selección para colecciones y una recuperación por proxy "
+"perezosa para asociaciones monovaluadas. Estas políticas por defecto "
+"tienen sentido para casi todas las asociaciones en casi todas las "
+"aplicaciones."
-#. Tag: para
-#: performance.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"<emphasis>Note:</emphasis> if you set <literal>hibernate."
"default_batch_fetch_size</literal>, Hibernate will use the batch fetch "
@@ -229,25 +194,23 @@
"more granular level)."
msgstr ""
"<emphasis>Nota:</emphasis> si estableces <literal>hibernate."
-"default_batch_fetch_size</literal>, Hibernate usará la optimización de "
-"recuperación en lotes para recuperación perezosa (esta optimización también "
-"puede ser habilitada a un nivel más granularizado)."
+"default_batch_fetch_size</literal>, Hibernate usará la "
+"optimización de recuperación en lotes para recuperación "
+"perezosa (esta optimización también puede ser habilitada a un "
+"nivel más granularizado)."
-#. Tag: para
-#: performance.xml:134
-#, no-c-format
+#: index.docbook:134
msgid ""
"However, lazy fetching poses one problem that you must be aware of. Access "
"to a lazy association outside of the context of an open Hibernate session "
"will result in an exception. For example:"
msgstr ""
-"Sin embargo, la recuperación perezosa plantea un problema del que tienes que "
-"estar al tanto. Acceder a una asociación perezosa fuera del contexto de una "
-"sesión de Hibernate abierta resultará en una excepción. Por ejemplo:"
+"Sin embargo, la recuperación perezosa plantea un problema del que "
+"tienes que estar al tanto. Acceder a una asociación perezosa fuera "
+"del contexto de una sesión de Hibernate abierta resultará en "
+"una excepción. Por ejemplo:"
-#. Tag: programlisting
-#: performance.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"<![CDATA[s = sessions.openSession();\n"
"Transaction tx = s.beginTransaction();\n"
@@ -261,10 +224,19 @@
"\n"
"Integer accessLevel = (Integer) permissions.get(\"accounts\"); // Error!]]>"
msgstr ""
+"<![CDATA[s = sessions.openSession();\n"
+"Transaction tx = s.beginTransaction();\n"
+" \n"
+"User u = (User) s.createQuery(\"from User u where u.name=:userName\")\n"
+" .setString(\"userName\", userName).uniqueResult();\n"
+"Map permissions = u.getPermissions();\n"
+"\n"
+"tx.commit();\n"
+"s.close();\n"
+"\n"
+"Integer accessLevel = (Integer) permissions.get(\"accounts\"); // Error!]]>"
-#. Tag: para
-#: performance.xml:142
-#, no-c-format
+#: index.docbook:142
msgid ""
"Since the permissions collection was not initialized when the "
"<literal>Session</literal> was closed, the collection will not be able to "
@@ -272,15 +244,14 @@
"detached objects</emphasis>. The fix is to move the code that reads from the "
"collection to just before the transaction is committed."
msgstr ""
-"Ya que la colección de permisos no fue inicializada cuando se cerró la "
-"<literal>Session</literal>, la colección no será capaz de cargar su estado. "
-"<emphasis>Hibernate no soporta la inicialización perezosa de objetos "
-"separados</emphasis>. La solución es mover el código que lee de la colección "
-"a justo antes que la transacción sea comprometida."
+"Ya que la colección de permisos no fue inicializada cuando se "
+"cerró la <literal>Session</literal>, la colección no "
+"será capaz de cargar su estado. <emphasis>Hibernate no soporta la "
+"inicialización perezosa de objetos separados</emphasis>. La "
+"solución es mover el código que lee de la colección a "
+"justo antes que la transacción sea comprometida."
-#. Tag: para
-#: performance.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"Alternatively, we could use a non-lazy collection or association, by "
"specifying <literal>lazy=\"false\"</literal> for the association mapping. "
@@ -289,16 +260,15 @@
"in your object model, Hibernate will end up needing to fetch the entire "
"database into memory in every transaction!"
msgstr ""
-"Alternativamente, podríamos usar una colección no perezosa o asociación, "
-"especificando <literal>lazy=\"false\"</literal> para el mapeo de asociación. "
-"Sin embargo, está pensado que la inicialización perezosa sea usada para casi "
-"todas las colecciones y asociaciones. ¡Si defines demasiadas asociaciones no "
-"perezosas en tu modelo de objetos, Hibernate terminará necesitando recuperar "
-"la base de datos entera en cada transacción!"
+"Alternativamente, podríamos usar una colección no perezosa o "
+"asociación, especificando <literal>lazy=\"false\"</literal> para el "
+"mapeo de asociación. Sin embargo, está pensado que la "
+"inicialización perezosa sea usada para casi todas las colecciones y "
+"asociaciones. ¡Si defines demasiadas asociaciones no perezosas en tu "
+"modelo de objetos, Hibernate terminará necesitando recuperar la base "
+"de datos entera en cada transacción!"
-#. Tag: para
-#: performance.xml:159
-#, no-c-format
+#: index.docbook:159
msgid ""
"On the other hand, we often want to choose join fetching (which is non-lazy "
"by nature) instead of select fetching in a particular transaction. We'll now "
@@ -306,33 +276,29 @@
"for choosing a fetch strategy are identical for single-valued associations "
"and collections."
msgstr ""
-"Por otro lado, frecuentemente necesitamos elegir la recuperación por unión "
-"(que es no perezosa por naturaleza) en vez de la recuperación por selección "
-"en una transacción en particular. Veremos ahora cómo personalizar la "
-"estrategia de recuperación. En Hibernate3, los mecanismos para elegir una "
-"estrategia de recuperación son idénticas a las de las asociaciones "
-"monovaluadas y colecciones."
+"Por otro lado, frecuentemente necesitamos elegir la recuperación por "
+"unión (que es no perezosa por naturaleza) en vez de la "
+"recuperación por selección en una transacción en "
+"particular. Veremos ahora cómo personalizar la estrategia de "
+"recuperación. En Hibernate3, los mecanismos para elegir una "
+"estrategia de recuperación son idénticas a las de las "
+"asociaciones monovaluadas y colecciones."
-#. Tag: title
-#: performance.xml:170
-#, no-c-format
+#: index.docbook:170
msgid "Tuning fetch strategies"
-msgstr "Afinando las estrategias de recuperación"
+msgstr "Afinando las estrategias de recuperación"
-#. Tag: para
-#: performance.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"Select fetching (the default) is extremely vulnerable to N+1 selects "
"problems, so we might want to enable join fetching in the mapping document:"
msgstr ""
-"La recuperación por selección (la preestablecida) es extremadamente "
-"vulnerable a problemas de selección N+1, de modo querríamos habilitar la "
-"recuperación por unión (join fetching) en el documento de mapeo:"
+"La recuperación por selección (la preestablecida) es "
+"extremadamente vulnerable a problemas de selección N+1, de modo "
+"querríamos habilitar la recuperación por unión (join "
+"fetching) en el documento de mapeo:"
-#. Tag: programlisting
-#: performance.xml:177
-#, no-c-format
+#: index.docbook:177
msgid ""
"<![CDATA[<set name=\"permissions\" \n"
" fetch=\"join\">\n"
@@ -340,52 +306,46 @@
" <one-to-many class=\"Permission\"/>\n"
"</set]]>"
msgstr ""
+"<![CDATA[<set name=\"permissions\" \n"
+" fetch=\"join\">\n"
+" <key column=\"userId\"/>\n"
+" <one-to-many class=\"Permission\"/>\n"
+"</set]]>"
-#. Tag: programlisting
-#: performance.xml:179
-#, no-c-format
+#: index.docbook:179
msgid "<![CDATA[<many-to-one name=\"mother\" class=\"Cat\" fetch=\"join\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"mother\" class=\"Cat\" fetch=\"join\"/>]]>"
-#. Tag: para
-#: performance.xml:181
-#, no-c-format
+#: index.docbook:181
msgid ""
"The <literal>fetch</literal> strategy defined in the mapping document "
"affects:"
msgstr ""
-"La estrategia de recuperación definida en el documento de mapeo afecta a:"
+"La estrategia de recuperación definida en el documento de mapeo "
+"afecta a:"
-#. Tag: para
-#: performance.xml:187
-#, no-c-format
+#: index.docbook:187
msgid "retrieval via <literal>get()</literal> or <literal>load()</literal>"
msgstr ""
-"las recuperaciones vía <literal>get()</literal> o <literal>load()</literal>"
+"las recuperaciones vía <literal>get()</literal> o <literal>load()</"
+"literal>"
-#. Tag: para
-#: performance.xml:192
-#, no-c-format
+#: index.docbook:192
msgid "retrieval that happens implicitly when an association is navigated"
msgstr ""
-"las recuperaciones que ocurren implícitamente cuando se navega una "
-"asociación (recuperación perezosa)"
+"las recuperaciones que ocurren implícitamente cuando se navega una "
+"asociación (recuperación perezosa)"
-#. Tag: para
-#: performance.xml:197
-#, no-c-format
+#: index.docbook:197
msgid "<literal>Criteria</literal> queries"
msgstr "las consultas de <literal>Criteria</literal>"
-#. Tag: para
-#: performance.xml:202
-#, no-c-format
+#: index.docbook:202
msgid "HQL queries if <literal>subselect</literal> fetching is used"
msgstr "HQL queries if <literal>subselect</literal> fetching is used"
-#. Tag: para
-#: performance.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"No matter what fetching strategy you use, the defined non-lazy graph is "
"guaranteed to be loaded into memory. Note that this might result in several "
@@ -395,9 +355,7 @@
"guaranteed to be loaded into memory. Note that this might result in several "
"immediate selects being used to execute a particular HQL query."
-#. Tag: para
-#: performance.xml:214
-#, no-c-format
+#: index.docbook:214
msgid ""
"Usually, we don't use the mapping document to customize fetching. Instead, "
"we keep the default behavior, and override it for a particular transaction, "
@@ -407,64 +365,57 @@
"<literal>setFetchMode(FetchMode.JOIN)</literal>."
msgstr ""
"Usualmente, no usamos el documento de mapeo para personalizar la "
-"recuperación. En cambio, mantenemos el comportamiento por defecto, y lo "
-"sobrescribimos para una transacción en particular, usando <literal>left join "
-"fetch</literal> en HQL. Esto le dice a Hibernate que recupere la asociación "
-"tempranamente en la primera selección, usando una unión externa. En la API "
-"de consulta de <literal>Criteria</literal>, usarías <literal>setFetchMode"
-"(FetchMode.JOIN)</literal>."
+"recuperación. En cambio, mantenemos el comportamiento por defecto, y "
+"lo sobrescribimos para una transacción en particular, usando "
+"<literal>left join fetch</literal> en HQL. Esto le dice a Hibernate que "
+"recupere la asociación tempranamente en la primera selección, "
+"usando una unión externa. En la API de consulta de <literal>Criteria</"
+"literal>, usarías <literal>setFetchMode(FetchMode.JOIN)</literal>."
-#. Tag: para
-#: performance.xml:223
-#, no-c-format
+#: index.docbook:223
msgid ""
"If you ever feel like you wish you could change the fetching strategy used "
"by <literal>get()</literal> or <literal>load()</literal>, simply use a "
"<literal>Criteria</literal> query, for example:"
msgstr ""
-"Si acaso lo deseases, podrías cambiar la estrategia de recuperación usada "
-"por <literal>get()</literal> or <literal>load()</literal>; simplemente usa "
-"una consulta <literal>Criteria</literal>, por ejemplo:"
+"Si acaso lo deseases, podrías cambiar la estrategia de "
+"recuperación usada por <literal>get()</literal> or <literal>load()</"
+"literal>; simplemente usa una consulta <literal>Criteria</literal>, por "
+"ejemplo:"
-#. Tag: programlisting
-#: performance.xml:229
-#, no-c-format
+#: index.docbook:229
msgid ""
"<![CDATA[User user = (User) session.createCriteria(User.class)\n"
" .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
" .add( Restrictions.idEq(userId) )\n"
" .uniqueResult();]]>"
msgstr ""
+"<![CDATA[User user = (User) session.createCriteria(User.class)\n"
+" .setFetchMode(\"permissions\", FetchMode.JOIN)\n"
+" .add( Restrictions.idEq(userId) )\n"
+" .uniqueResult();]]>"
-#. Tag: para
-#: performance.xml:231
-#, no-c-format
+#: index.docbook:231
msgid ""
"(This is Hibernate's equivalent of what some ORM solutions call a \"fetch "
"plan\".)"
msgstr ""
"(Esto es el equivalente de Hibernate de lo que otras soluciones ORM llaman "
-"un \"plan de recuperación\".)"
+"un \"plan de recuperación\".)"
-#. Tag: para
-#: performance.xml:235
-#, no-c-format
+#: index.docbook:235
msgid ""
"A completely different way to avoid problems with N+1 selects is to use the "
"second-level cache."
msgstr ""
"Una forma completamente diferente de evitar problemas con selecciones N+1 es "
-"usar el caché de segundo nivel."
+"usar el caché de segundo nivel."
-#. Tag: title
-#: performance.xml:243
-#, no-c-format
+#: index.docbook:243
msgid "Single-ended association proxies"
msgstr "Proxies de asociaciones de un solo extremo"
-#. Tag: para
-#: performance.xml:245
-#, no-c-format
+#: index.docbook:245
msgid ""
"Lazy fetching for collections is implemented using Hibernate's own "
"implementation of persistent collections. However, a different mechanism is "
@@ -473,29 +424,27 @@
"proxies for persistent objects using runtime bytecode enhancement (via the "
"excellent CGLIB library)."
msgstr ""
-"La recuperación perezosa de colecciones está implementada usando la "
-"implementación de colecciones persistentes propia de Hibernate. Sin embargo, "
-"se necesita un mecanismo diferente para un comportamiento perezoso en las "
-"asociaciones de un solo extremo. La entidad objetivo de la asociación debe "
-"ser tratada con proxies. Hibernate implementa proxies de inicialización "
-"perezosa para objetos persistentes usando mejora del bytecode en tiempo de "
-"ejecución (por medio de la excelente biblioteca CGLIB)."
+"La recuperación perezosa de colecciones está implementada "
+"usando la implementación de colecciones persistentes propia de "
+"Hibernate. Sin embargo, se necesita un mecanismo diferente para un "
+"comportamiento perezoso en las asociaciones de un solo extremo. La entidad "
+"objetivo de la asociación debe ser tratada con proxies. Hibernate "
+"implementa proxies de inicialización perezosa para objetos "
+"persistentes usando mejora del bytecode en tiempo de ejecución (por "
+"medio de la excelente biblioteca CGLIB)."
-#. Tag: para
-#: performance.xml:253
-#, no-c-format
+#: index.docbook:253
msgid ""
"By default, Hibernate3 generates proxies (at startup) for all persistent "
"classes and uses them to enable lazy fetching of <literal>many-to-one</"
"literal> and <literal>one-to-one</literal> associations."
msgstr ""
"Por defecto, Hibernate3 genera proxies (en el arranque) para todas las "
-"clases persistentes y los usa para habilitar la recuperación perezosa de "
-"asociaciones <literal>muchos-a-uno</literal> y <literal>uno-a-uno</literal>."
+"clases persistentes y los usa para habilitar la recuperación perezosa "
+"de asociaciones <literal>muchos-a-uno</literal> y <literal>uno-a-uno</"
+"literal>."
-#. Tag: para
-#: performance.xml:259
-#, no-c-format
+#: index.docbook:259
msgid ""
"The mapping file may declare an interface to use as the proxy interface for "
"that class, with the <literal>proxy</literal> attribute. By default, "
@@ -507,22 +456,18 @@
"proxy para esa clase, con el atributo <literal>proxy</literal>. Por defecto, "
"Hibernate usa una subclase de la clase. <emphasis>Nota que la clase tratada "
"con proxies debe implementar un constructor por defecto con al menos "
-"visibilidad de paquete. ¡Recomendamos este constructor para todas las clases "
-"persistentes!</emphasis>"
+"visibilidad de paquete. ¡Recomendamos este constructor para todas las "
+"clases persistentes!</emphasis>"
-#. Tag: para
-#: performance.xml:266
-#, no-c-format
+#: index.docbook:266
msgid ""
"There are some gotchas to be aware of when extending this approach to "
"polymorphic classes, eg."
msgstr ""
"Hay algunos puntos a tener en cuenta al extender este enfoque a clases "
-"polimórficas, por ejemplo."
+"polimórficas, por ejemplo."
-#. Tag: programlisting
-#: performance.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
" ......\n"
@@ -531,22 +476,24 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Cat\" proxy=\"Cat\">\n"
+" ......\n"
+" <subclass name=\"DomesticCat\">\n"
+" .....\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"Firstly, instances of <literal>Cat</literal> will never be castable to "
"<literal>DomesticCat</literal>, even if the underlying instance is an "
"instance of <literal>DomesticCat</literal>:"
msgstr ""
-"Primero, las instancias de <literal>Cat</literal> nunca serán objeto de un "
-"cast a <literal>DomesticCat</literal>, incluso aunque la instancia "
+"Primero, las instancias de <literal>Cat</literal> nunca serán objeto "
+"de un cast a <literal>DomesticCat</literal>, incluso aunque la instancia "
"subyacente sea instancia de <literal>DomesticCat</literal>:"
-#. Tag: programlisting
-#: performance.xml:279
-#, no-c-format
+#: index.docbook:279
msgid ""
"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // instantiate a "
"proxy (does not hit the db)\n"
@@ -556,17 +503,20 @@
" ....\n"
"}]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // instantiate a "
+"proxy (does not hit the db)\n"
+"if ( cat.isDomesticCat() ) { // hit the db to initialize "
+"the proxy\n"
+" DomesticCat dc = (DomesticCat) cat; // Error!\n"
+" ....\n"
+"}]]>"
-#. Tag: para
-#: performance.xml:281
-#, no-c-format
+#: index.docbook:281
msgid "Secondly, it is possible to break proxy <literal>==</literal>."
msgstr ""
"Segundo, es posible romper con el operador <literal>==</literal> de un proxy."
-#. Tag: programlisting
-#: performance.xml:285
-#, no-c-format
+#: index.docbook:285
msgid ""
"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // "
"instantiate a Cat proxy\n"
@@ -575,40 +525,40 @@
"DomesticCat proxy!\n"
"System.out.println(cat==dc); // false]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) session.load(Cat.class, id); // "
+"instantiate a Cat proxy\n"
+"DomesticCat dc = \n"
+" (DomesticCat) session.load(DomesticCat.class, id); // acquire new "
+"DomesticCat proxy!\n"
+"System.out.println(cat==dc); // false]]>"
-#. Tag: para
-#: performance.xml:287
-#, no-c-format
+#: index.docbook:287
msgid ""
"However, the situation is not quite as bad as it looks. Even though we now "
"have two references to different proxy objects, the underlying instance will "
"still be the same object:"
msgstr ""
-"Sin embargo, la situación no en absoluta tan mala como parece. Aunque "
+"Sin embargo, la situación no en absoluta tan mala como parece. Aunque "
"tenemos ahora dos referencias a objetos proxy diferentes, la instancia "
-"subyacente será aún el mismo objeto:"
+"subyacente será aún el mismo objeto:"
-#. Tag: programlisting
-#: performance.xml:292
-#, no-c-format
+#: index.docbook:292
msgid ""
"<![CDATA[cat.setWeight(11.0); // hit the db to initialize the proxy\n"
"System.out.println( dc.getWeight() ); // 11.0]]>"
msgstr ""
+"<![CDATA[cat.setWeight(11.0); // hit the db to initialize the proxy\n"
+"System.out.println( dc.getWeight() ); // 11.0]]>"
-#. Tag: para
-#: performance.xml:294
-#, no-c-format
+#: index.docbook:294
msgid ""
"Third, you may not use a CGLIB proxy for a <literal>final</literal> class or "
"a class with any <literal>final</literal> methods."
msgstr ""
"Tercero, no debes usar un proxy CGLIB para una clase <literal>final</"
-"literal> o una clase con algún método <literal>final</literal>."
+"literal> o una clase con algún método <literal>final</literal>."
-#. Tag: para
-#: performance.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"Finally, if your persistent object acquires any resources upon instantiation "
"(eg. in initializers or default constructor), then those resources will also "
@@ -616,13 +566,11 @@
"persistent class."
msgstr ""
"Finalmente, si tu objeto persistente adquiere cualquier recurso bajo "
-"instanciación (por ejemplo, en inicializadores o constructores por defecto), "
-"entonces esos recursos serán adquiridos también por el proxy. La clase del "
-"proxy es una subclase real de la clase persistente."
+"instanciación (por ejemplo, en inicializadores o constructores por "
+"defecto), entonces esos recursos serán adquiridos también por "
+"el proxy. La clase del proxy es una subclase real de la clase persistente."
-#. Tag: para
-#: performance.xml:305
-#, no-c-format
+#: index.docbook:305
msgid ""
"These problems are all due to fundamental limitations in Java's single "
"inheritance model. If you wish to avoid these problems your persistent "
@@ -630,14 +578,12 @@
"You should specify these interfaces in the mapping file. eg."
msgstr ""
"Estos problemas se deben a limitaciones fundamentales en el modelo de "
-"herencia única de Java. Si deseas evitar estos problemas cada una de tus "
-"clases persistentes deben implementar una interface que declare sus métodos "
-"de negocio. Debes especificar estas interfaces en el fichero de mapeo. Por "
-"ejemplo:"
+"herencia única de Java. Si deseas evitar estos problemas cada una de "
+"tus clases persistentes deben implementar una interface que declare sus "
+"métodos de negocio. Debes especificar estas interfaces en el fichero "
+"de mapeo. Por ejemplo:"
-#. Tag: programlisting
-#: performance.xml:311
-#, no-c-format
+#: index.docbook:311
msgid ""
"<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
" ......\n"
@@ -646,10 +592,14 @@
" </subclass>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"CatImpl\" proxy=\"Cat\">\n"
+" ......\n"
+" <subclass name=\"DomesticCatImpl\" proxy=\"DomesticCat\">\n"
+" .....\n"
+" </subclass>\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:313
-#, no-c-format
+#: index.docbook:313
msgid ""
"where <literal>CatImpl</literal> implements the interface <literal>Cat</"
"literal> and <literal>DomesticCatImpl</literal> implements the interface "
@@ -665,40 +615,36 @@
"literal> y <literal>DomesticCat</literal>. (Nota que <literal>list()</"
"literal> usualmente no devuelve proxies.)"
-#. Tag: programlisting
-#: performance.xml:321
-#, no-c-format
+#: index.docbook:321
msgid ""
"<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
"Iterator iter = session.createQuery(\"from CatImpl as cat where cat."
"name='fritz'\").iterate();\n"
"Cat fritz = (Cat) iter.next();]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) session.load(CatImpl.class, catid);\n"
+"Iterator iter = session.createQuery(\"from CatImpl as cat where cat."
+"name='fritz'\").iterate();\n"
+"Cat fritz = (Cat) iter.next();]]>"
-#. Tag: para
-#: performance.xml:323
-#, no-c-format
+#: index.docbook:323
msgid ""
"Relationships are also lazily initialized. This means you must declare any "
"properties to be of type <literal>Cat</literal>, not <literal>CatImpl</"
"literal>."
msgstr ""
-"Las relaciones también son inicializadas perezosamente. Esto significa que "
-"debes declarar cualquier propiedad como de tipo <literal>Cat</literal>, no "
-"<literal>CatImpl</literal>."
+"Las relaciones también son inicializadas perezosamente. Esto "
+"significa que debes declarar cualquier propiedad como de tipo <literal>Cat</"
+"literal>, no <literal>CatImpl</literal>."
-#. Tag: para
-#: performance.xml:328
-#, no-c-format
+#: index.docbook:328
msgid ""
"Certain operations do <emphasis>not</emphasis> require proxy initialization"
msgstr ""
-"Ciertas operaciones <emphasis>no</emphasis> requieren inicialización de "
-"proxies."
+"Ciertas operaciones <emphasis>no</emphasis> requieren inicialización "
+"de proxies."
-#. Tag: para
-#: performance.xml:334
-#, no-c-format
+#: index.docbook:334
msgid ""
"<literal>equals()</literal>, if the persistent class does not override "
"<literal>equals()</literal>"
@@ -706,9 +652,7 @@
"<literal>equals()</literal>, si la clase persistente no sobrescribe "
"<literal>equals()</literal>"
-#. Tag: para
-#: performance.xml:340
-#, no-c-format
+#: index.docbook:340
msgid ""
"<literal>hashCode()</literal>, if the persistent class does not override "
"<literal>hashCode()</literal>"
@@ -716,25 +660,19 @@
"<literal>hashCode()</literal>, si la clase persistente no sobrescribe "
"<literal>hashCode()</literal>"
-#. Tag: para
-#: performance.xml:346
-#, no-c-format
+#: index.docbook:346
msgid "The identifier getter method"
-msgstr "El método getter del identificador"
+msgstr "El método getter del identificador"
-#. Tag: para
-#: performance.xml:352
-#, no-c-format
+#: index.docbook:352
msgid ""
"Hibernate will detect persistent classes that override <literal>equals()</"
"literal> or <literal>hashCode()</literal>."
msgstr ""
-"Hibernate detectará las clase persistentes que sobrescriban <literal>equals()"
-"</literal> o <literal>hashCode()</literal>."
+"Hibernate detectará las clase persistentes que sobrescriban "
+"<literal>equals()</literal> o <literal>hashCode()</literal>."
-#. Tag: para
-#: performance.xml:357
-#, no-c-format
+#: index.docbook:357
msgid ""
"By choosing <literal>lazy=\"no-proxy\"</literal> instead of the default "
"<literal>lazy=\"proxy\"</literal>, we can avoid the problems associated with "
@@ -747,30 +685,24 @@
"instrumentation, and all operations will result in immediate proxy "
"initialization."
-#. Tag: title
-#: performance.xml:367
-#, no-c-format
+#: index.docbook:367
msgid "Initializing collections and proxies"
msgstr "Inicializando colecciones y proxies"
-#. Tag: para
-#: performance.xml:369
-#, no-c-format
+#: index.docbook:369
msgid ""
"A <literal>LazyInitializationException</literal> will be thrown by Hibernate "
"if an uninitialized collection or proxy is accessed outside of the scope of "
"the <literal>Session</literal>, ie. when the entity owning the collection or "
"having the reference to the proxy is in the detached state."
msgstr ""
-"Una <literal>LazyInitializationException</literal> será lanzada por "
-"Hibernate si una colección o proxy sin inicializar es accedido fuera del "
-"ámbito de la <literal>Session</literal>, es decir, cuando la entidad que "
-"posee la colección o que tiene la referencia al proxy esté en el estado "
-"separada."
+"Una <literal>LazyInitializationException</literal> será lanzada por "
+"Hibernate si una colección o proxy sin inicializar es accedido fuera "
+"del ámbito de la <literal>Session</literal>, es decir, cuando la "
+"entidad que posee la colección o que tiene la referencia al proxy "
+"esté en el estado separada."
-#. Tag: para
-#: performance.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"Sometimes we need to ensure that a proxy or collection is initialized before "
"closing the <literal>Session</literal>. Of course, we can alway force "
@@ -778,15 +710,14 @@
"getKittens().size()</literal>, for example. But that is confusing to readers "
"of the code and is not convenient for generic code."
msgstr ""
-"A veces necesitamos asegurarnos que un proxy o colección esté inicializado "
-"antes de cerrar la <literal>Session</literal>. Por supuesto, siempre podemos "
-"forzar la inicialización llamando a <literal>cat.getSex()</literal> o "
-"<literal>cat.getKittens().size()</literal>, por ejemplo. Pero esto es "
-"confuso a lectores del código y no es conveniente para código genérico."
+"A veces necesitamos asegurarnos que un proxy o colección esté "
+"inicializado antes de cerrar la <literal>Session</literal>. Por supuesto, "
+"siempre podemos forzar la inicialización llamando a <literal>cat."
+"getSex()</literal> o <literal>cat.getKittens().size()</literal>, por "
+"ejemplo. Pero esto es confuso a lectores del código y no es "
+"conveniente para código genérico."
-#. Tag: para
-#: performance.xml:382
-#, no-c-format
+#: index.docbook:382
msgid ""
"The static methods <literal>Hibernate.initialize()</literal> and "
"<literal>Hibernate.isInitialized()</literal> provide the application with a "
@@ -796,18 +727,16 @@
"literal> is still open. <literal>Hibernate.initialize( cat.getKittens() )</"
"literal> has a similar effect for the collection of kittens."
msgstr ""
-"Los métodos estáticos <literal>Hibernate.initialize()</literal> y "
-"<literal>Hibernate.isInitialized()</literal> proveen a la aplicación de una "
-"forma conveniente de trabajar con colecciones o proxies inicializados "
-"perezosamente. <literal>Hibernate.initialize(cat)</literal> forzará la "
-"inicialización de un proxy, <literal>cat</literal>, en tanto su "
-"<literal>Session</literal> esté todavía abierta. <literal>Hibernate."
-"initialize( cat.getKittens() )</literal> tiene un efecto similar para la "
-"colección de gatitos."
+"Los métodos estáticos <literal>Hibernate.initialize()</"
+"literal> y <literal>Hibernate.isInitialized()</literal> proveen a la "
+"aplicación de una forma conveniente de trabajar con colecciones o "
+"proxies inicializados perezosamente. <literal>Hibernate.initialize(cat)</"
+"literal> forzará la inicialización de un proxy, <literal>cat</"
+"literal>, en tanto su <literal>Session</literal> esté todavía "
+"abierta. <literal>Hibernate.initialize( cat.getKittens() )</literal> tiene "
+"un efecto similar para la colección de gatitos."
-#. Tag: para
-#: performance.xml:391
-#, no-c-format
+#: index.docbook:391
msgid ""
"Another option is to keep the <literal>Session</literal> open until all "
"needed collections and proxies have been loaded. In some application "
@@ -817,17 +746,17 @@
"<literal>Session</literal> is open when a collection is initialized. There "
"are two basic ways to deal with this issue:"
msgstr ""
-"Otra opción es mantener la <literal>Session</literal> abierta hasta que "
-"todas las colecciones y proxies necesarios hayan sido cargados. En algunas "
-"arquitecturas de aplicación, particularmente en aquellas donde el código que "
-"accede a los datos usando Hibernate, y el código que los usa están en capas "
-"de aplicación diferentes o procesos físicos diferentes, puede ser un "
-"problema asegurar que la <literal>Session</literal> esté abierta cuando se "
-"inicializa una colección. Existen dos formas básicas de tratar este tema:"
+"Otra opción es mantener la <literal>Session</literal> abierta hasta "
+"que todas las colecciones y proxies necesarios hayan sido cargados. En "
+"algunas arquitecturas de aplicación, particularmente en aquellas "
+"donde el código que accede a los datos usando Hibernate, y el "
+"código que los usa están en capas de aplicación "
+"diferentes o procesos físicos diferentes, puede ser un problema "
+"asegurar que la <literal>Session</literal> esté abierta cuando se "
+"inicializa una colección. Existen dos formas básicas de tratar "
+"este tema:"
-#. Tag: para
-#: performance.xml:402
-#, no-c-format
+#: index.docbook:402
msgid ""
"In a web-based application, a servlet filter can be used to close the "
"<literal>Session</literal> only at the very end of a user request, once the "
@@ -839,23 +768,23 @@
"rendering of the view. See the Hibernate Wiki for examples of this \"Open "
"Session in View\" pattern."
msgstr ""
-"En una aplicación basada web, puede usarse un filtro de servlets para cerrar "
-"la <literal>Session</literal> sólo bien al final de una petición de usuario, "
-"una vez que el rendering de la vista esté completa (el patrón "
-"<emphasis>Sesión Abierta en Vista (Open Session in View)</emphasis>). Por "
-"supuesto, estos sitios requieren una fuerte demanda de corrección del manejo "
-"de excepciones de tu infraestructura de aplicación. Es de una importancia "
-"vital que la <literal>Session</literal> esté cerrada y la transacción "
-"terminada antes de volver al usuario, incluso cuando ocurra una excepción "
-"durante el rendering de la página. Para este enfoque, el filtro de servlet "
-"tiene que ser capaz de accceder la <literal>Session</literal>. Recomendamos "
-"que se use una variable <literal>ThreadLocal</literal> para tener la "
-"<literal>Session</literal> actual (ver el capítulo 1, <xref linkend="
-"\"quickstart-playingwithcats\"/>, para una implementación de ejemplo)."
+"En una aplicación basada web, puede usarse un filtro de servlets para "
+"cerrar la <literal>Session</literal> sólo bien al final de una "
+"petición de usuario, una vez que el rendering de la vista esté "
+"completa (el patrón <emphasis>Sesión Abierta en Vista (Open "
+"Session in View)</emphasis>). Por supuesto, estos sitios requieren una "
+"fuerte demanda de corrección del manejo de excepciones de tu "
+"infraestructura de aplicación. Es de una importancia vital que la "
+"<literal>Session</literal> esté cerrada y la transacción "
+"terminada antes de volver al usuario, incluso cuando ocurra una "
+"excepción durante el rendering de la página. Para este "
+"enfoque, el filtro de servlet tiene que ser capaz de accceder la "
+"<literal>Session</literal>. Recomendamos que se use una variable "
+"<literal>ThreadLocal</literal> para tener la <literal>Session</literal> "
+"actual (ver el capítulo 1, <xref linkend=\"quickstart-playingwithcats"
+"\"/>, para una implementación de ejemplo)."
-#. Tag: para
-#: performance.xml:415
-#, no-c-format
+#: index.docbook:415
msgid ""
"In an application with a separate business tier, the business logic must "
"\"prepare\" all collections that will be needed by the web tier before "
@@ -870,23 +799,22 @@
"<emphasis>Command</emphasis> pattern instead of a <emphasis>Session Facade</"
"emphasis>."
msgstr ""
-"En una aplciación con una grada de negocios separada, la lógica de negocio "
-"debe \"preparar\" todas las colecciones que se vayan a necesitar por la "
-"grada web antes de volver. Esto significa que la grada de negocios debe "
-"cargar todos los datos y devolver a la grada de presentación web todos los "
-"datos que se requieran para un caso de uso en particular ya inicializados. "
-"Usualmente, la aplicación llama a <literal>Hibernate.initialize()</literal> "
-"para cada colección que se necesitará en la grada web (esta llamada debe "
-"ocurrir antes que la sesión sea cerrada) o recupera la colección "
-"tempranamente usando una consulta de Hibernate con una cláusula "
-"<literal>FETCH</literal> o una <literal>FetchMode.JOIN</literal> en "
-"<literal>Criteria</literal>. Esto es usualmente más fácil si adoptas el "
-"patrón <emphasis>Comando</emphasis> en vez de un <emphasis>Fachada de "
-"Sesión</emphasis>."
+"En una aplciación con una grada de negocios separada, la ló"
+"gica de negocio debe \"preparar\" todas las colecciones que se vayan a "
+"necesitar por la grada web antes de volver. Esto significa que la grada de "
+"negocios debe cargar todos los datos y devolver a la grada de "
+"presentación web todos los datos que se requieran para un caso de uso "
+"en particular ya inicializados. Usualmente, la aplicación llama a "
+"<literal>Hibernate.initialize()</literal> para cada colección que se "
+"necesitará en la grada web (esta llamada debe ocurrir antes que la "
+"sesión sea cerrada) o recupera la colección tempranamente "
+"usando una consulta de Hibernate con una cláusula <literal>FETCH</"
+"literal> o una <literal>FetchMode.JOIN</literal> en <literal>Criteria</"
+"literal>. Esto es usualmente más fácil si adoptas el "
+"patrón <emphasis>Comando</emphasis> en vez de un <emphasis>Fachada de "
+"Sesión</emphasis>."
-#. Tag: para
-#: performance.xml:430
-#, no-c-format
+#: index.docbook:430
msgid ""
"You may also attach a previously loaded object to a new <literal>Session</"
"literal> with <literal>merge()</literal> or <literal>lock()</literal> before "
@@ -894,69 +822,61 @@
"not, and certainly <emphasis>should</emphasis> not do this automatically, "
"since it would introduce ad hoc transaction semantics!"
msgstr ""
-"Puedes también adjuntar un objeto cargado previamente a una nueva "
+"Puedes también adjuntar un objeto cargado previamente a una nueva "
"<literal>Session</literal> con <literal>merge()</literal> o <literal>lock()</"
"literal> antes de acceder a colecciones no inicializadas (u otros proxies). "
-"¡No, Hibernate no, y ciertamente <emphasis>no debe</emphasis> hacer esto "
-"automáticamente, ya que introduciría semánticas de transacción ad hoc!"
+"¡No, Hibernate no, y ciertamente <emphasis>no debe</emphasis> hacer "
+"esto automáticamente, ya que introduciría semánticas de "
+"transacción ad hoc!"
-#. Tag: para
-#: performance.xml:440
-#, no-c-format
+#: index.docbook:440
msgid ""
"Sometimes you don't want to initialize a large collection, but still need "
"some information about it (like its size) or a subset of the data."
msgstr ""
-"A veces no quieres inicializar una colección grande, pero necesitas aún "
-"alguna informacion sobre ella (como su tamaño) o un subconjunto de los datos."
+"A veces no quieres inicializar una colección grande, pero necesitas "
+"aún alguna informacion sobre ella (como su tamaño) o un "
+"subconjunto de los datos."
-#. Tag: para
-#: performance.xml:445
-#, no-c-format
+#: index.docbook:445
msgid ""
"You can use a collection filter to get the size of a collection without "
"initializing it:"
msgstr ""
-"Puedes usar un filtro de colecciones para obtener el tamaño de una colección "
-"sin inicializarla:"
+"Puedes usar un filtro de colecciones para obtener el tamaño de una "
+"colección sin inicializarla:"
-#. Tag: programlisting
-#: performance.xml:449
-#, no-c-format
+#: index.docbook:449
msgid ""
"<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list"
"().get(0) ).intValue()]]>"
msgstr ""
+"<![CDATA[( (Integer) s.createFilter( collection, \"select count(*)\" ).list"
+"().get(0) ).intValue()]]>"
-#. Tag: para
-#: performance.xml:451
-#, no-c-format
+#: index.docbook:451
msgid ""
"The <literal>createFilter()</literal> method is also used to efficiently "
"retrieve subsets of a collection without needing to initialize the whole "
"collection:"
msgstr ""
-"El método <literal>createFilter()</literal> se usa también para recuperar "
-"eficientemente subconjuntos de una colección sin necesidad de inicializar "
-"toda la colección:"
+"El método <literal>createFilter()</literal> se usa también "
+"para recuperar eficientemente subconjuntos de una colección sin "
+"necesidad de inicializar toda la colección:"
-#. Tag: programlisting
-#: performance.xml:456
-#, no-c-format
+#: index.docbook:456
msgid ""
"<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0)."
"setMaxResults(10).list();]]>"
msgstr ""
+"<![CDATA[s.createFilter( lazyCollection, \"\").setFirstResult(0)."
+"setMaxResults(10).list();]]>"
-#. Tag: title
-#: performance.xml:461
-#, no-c-format
+#: index.docbook:461
msgid "Using batch fetching"
-msgstr "Usando recuperación en lotes"
+msgstr "Usando recuperación en lotes"
-#. Tag: para
-#: performance.xml:463
-#, no-c-format
+#: index.docbook:463
msgid ""
"Hibernate can make efficient use of batch fetching, that is, Hibernate can "
"load several uninitialized proxies if one proxy is accessed (or collections. "
@@ -964,16 +884,14 @@
"There are two ways you can tune batch fetching: on the class and the "
"collection level."
msgstr ""
-"Hibernate puede hacer un uso eficiente de la recuperación en lotes, esto es, "
-"Hibernate puede cargar muchos proxies sin inicializar si se accede a un "
-"proxy (o colecciones). La recuperación en lotes es una optimización de la "
-"estrategia de recuperación por selección perezosa. Hay dos formas en que "
-"puedes afinar la recuperación en lotes: a nivel de la clase o de la "
-"colección."
+"Hibernate puede hacer un uso eficiente de la recuperación en lotes, "
+"esto es, Hibernate puede cargar muchos proxies sin inicializar si se accede "
+"a un proxy (o colecciones). La recuperación en lotes es una "
+"optimización de la estrategia de recuperación por "
+"selección perezosa. Hay dos formas en que puedes afinar la "
+"recuperación en lotes: a nivel de la clase o de la colección."
-#. Tag: para
-#: performance.xml:469
-#, no-c-format
+#: index.docbook:469
msgid ""
"Batch fetching for classes/entities is easier to understand. Imagine you "
"have the following situation at runtime: You have 25 <literal>Cat</literal> "
@@ -986,34 +904,31 @@
"owners. You can tune this behavior by specifying a <literal>batch-size</"
"literal> in the mapping of <literal>Person</literal>:"
msgstr ""
-"La recuperación en lotes para clases/entidades es más fácil de entender. "
-"Imagina que tienes la siguiente situación en tiempo de ejecución: Tienes 25 "
-"instancias de <literal>Cat</literal> cargadas en una <literal>Session</"
-"literal>, cada <literal>Cat</literal> tiene una referencia a su "
-"<literal>owner</literal>, una <literal>Person</literal>. La clase "
-"<literal>Person</literal> está mapeada con un proxy, <literal>lazy=\"true\"</"
-"literal>. Si ahora iteras a través de todos los gatos y llamas a "
-"<literal>getOwner()</literal> para cada uno, Hibernate por defecto ejecutará "
-"25 sentencias <literal>SELECT</literal> para traer los dueños tratados con "
-"proxies. Puedes afinar este comportamiento especificando un <literal>batch-"
-"size</literal> en el mapeo de <literal>Person</literal>:"
+"La recuperación en lotes para clases/entidades es más fá"
+"cil de entender. Imagina que tienes la siguiente situación en tiempo "
+"de ejecución: Tienes 25 instancias de <literal>Cat</literal> cargadas "
+"en una <literal>Session</literal>, cada <literal>Cat</literal> tiene una "
+"referencia a su <literal>owner</literal>, una <literal>Person</literal>. La "
+"clase <literal>Person</literal> está mapeada con un proxy, "
+"<literal>lazy=\"true\"</literal>. Si ahora iteras a través de todos "
+"los gatos y llamas a <literal>getOwner()</literal> para cada uno, Hibernate "
+"por defecto ejecutará 25 sentencias <literal>SELECT</literal> para "
+"traer los dueños tratados con proxies. Puedes afinar este "
+"comportamiento especificando un <literal>batch-size</literal> en el mapeo de "
+"<literal>Person</literal>:"
-#. Tag: programlisting
-#: performance.xml:479
-#, no-c-format
+#: index.docbook:479
msgid "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
-msgstr ""
+msgstr "<![CDATA[<class name=\"Person\" batch-size=\"10\">...</class>]]>"
-#. Tag: para
-#: performance.xml:481
-#, no-c-format
+#: index.docbook:481
msgid ""
"Hibernate will now execute only three queries, the pattern is 10, 10, 5."
-msgstr "Hibernate ahora ejecutará sólo tres consultas, el patrón es 10, 10, 5."
+msgstr ""
+"Hibernate ahora ejecutará sólo tres consultas, el patró"
+"n es 10, 10, 5."
-#. Tag: para
-#: performance.xml:485
-#, no-c-format
+#: index.docbook:485
msgid ""
"You may also enable batch fetching of collections. For example, if each "
"<literal>Person</literal> has a lazy collection of <literal>Cat</literal>s, "
@@ -1023,18 +938,17 @@
"fetching for the <literal>cats</literal> collection in the mapping of "
"<literal>Person</literal>, Hibernate can pre-fetch collections:"
msgstr ""
-"También puedes habilitar la recuperación en lotes para colecciones. Por "
-"ejemplo, si cada <literal>Person</literal> tiene una colección perezosa de "
-"<literal>Cat</literal>s, y hay 10 personas actualmente cargadas en la "
-"<literal>Session</literal>, iterar a través de las 10 personas generará 10 "
-"<literal>SELECT</literal>s, una para cada llamada a <literal>getCats()</"
-"literal>. Si habilitas la recuperación en lotes para la colección de "
-"<literal>cats</literal> en el mapeo de <literal>Person</literal>, Hibernate "
-"puede recuperar por adelantado las colecciones:"
+"También puedes habilitar la recuperación en lotes para "
+"colecciones. Por ejemplo, si cada <literal>Person</literal> tiene una "
+"colección perezosa de <literal>Cat</literal>s, y hay 10 personas "
+"actualmente cargadas en la <literal>Session</literal>, iterar a travé"
+"s de las 10 personas generará 10 <literal>SELECT</literal>s, una para "
+"cada llamada a <literal>getCats()</literal>. Si habilitas la "
+"recuperación en lotes para la colección de <literal>cats</"
+"literal> en el mapeo de <literal>Person</literal>, Hibernate puede recuperar "
+"por adelantado las colecciones:"
-#. Tag: programlisting
-#: performance.xml:494
-#, no-c-format
+#: index.docbook:494
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <set name=\"cats\" batch-size=\"3\">\n"
@@ -1042,64 +956,58 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <set name=\"cats\" batch-size=\"3\">\n"
+" ...\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:496
-#, no-c-format
+#: index.docbook:496
msgid ""
"With a <literal>batch-size</literal> of 3, Hibernate will load 3, 3, 3, 1 "
"collections in four <literal>SELECT</literal>s. Again, the value of the "
"attribute depends on the expected number of uninitialized collections in a "
"particular <literal>Session</literal>."
msgstr ""
-"Con un <literal>batch-size</literal> de 3, Hibernate cargará 3, 3, 3, 1 "
-"colecciones en cuatro <literal>SELECT</literal>s. Una vez más, el valor del "
-"atributo depende del número esperado de colecciones sin inicializar en una "
-"<literal>Session</literal> en particular."
+"Con un <literal>batch-size</literal> de 3, Hibernate cargará 3, 3, 3, "
+"1 colecciones en cuatro <literal>SELECT</literal>s. Una vez más, el "
+"valor del atributo depende del número esperado de colecciones sin "
+"inicializar en una <literal>Session</literal> en particular."
-#. Tag: para
-#: performance.xml:502
-#, no-c-format
+#: index.docbook:502
msgid ""
"Batch fetching of collections is particularly useful if you have a nested "
"tree of items, ie. the typical bill-of-materials pattern. (Although a "
"<emphasis>nested set</emphasis> or a <emphasis>materialized path</emphasis> "
"might be a better option for read-mostly trees.)"
msgstr ""
-"La recuperación de coleccione en lotes es particularmente útil si tienes un "
-"árbol anidado de ítems, es decir, el típico patrón de cuenta de materiales. "
-"(Aunque un <emphasis>conjunto anidado</emphasis> o una <emphasis>ruta "
-"materializada</emphasis> podría ser una mejor opción para árboles que sean "
-"de lectura en la mayoría de los casos.)"
+"La recuperación de coleccione en lotes es particularmente útil "
+"si tienes un árbol anidado de ítems, es decir, el tí"
+"pico patrón de cuenta de materiales. (Aunque un <emphasis>conjunto "
+"anidado</emphasis> o una <emphasis>ruta materializada</emphasis> podrí"
+"a ser una mejor opción para árboles que sean de lectura en la "
+"mayoría de los casos.)"
-#. Tag: title
-#: performance.xml:511
-#, no-c-format
+#: index.docbook:511
msgid "Using subselect fetching"
-msgstr "Usando recuperación por subselección"
+msgstr "Usando recuperación por subselección"
-#. Tag: para
-#: performance.xml:513
-#, no-c-format
+#: index.docbook:513
msgid ""
"If one lazy collection or single-valued proxy has to be fetched, Hibernate "
"loads all of them, re-running the original query in a subselect. This works "
"in the same way as batch-fetching, without the piecemeal loading."
msgstr ""
-"Si una colección perezosa o proxy monovaluado tiene que ser recuperado, "
-"Hibernate los carga a todos, volviendo a ejecutar la consulta original en "
-"una subselección. Esto funciona de la misma forma que la recuperación en "
-"lotes, sin carga fragmentaria."
+"Si una colección perezosa o proxy monovaluado tiene que ser "
+"recuperado, Hibernate los carga a todos, volviendo a ejecutar la consulta "
+"original en una subselección. Esto funciona de la misma forma que la "
+"recuperación en lotes, sin carga fragmentaria."
-#. Tag: title
-#: performance.xml:524
-#, no-c-format
+#: index.docbook:524
msgid "Using lazy property fetching"
-msgstr "Usando recuperación perezosa de propiedades"
+msgstr "Usando recuperación perezosa de propiedades"
-#. Tag: para
-#: performance.xml:526
-#, no-c-format
+#: index.docbook:526
msgid ""
"Hibernate3 supports the lazy fetching of individual properties. This "
"optimization technique is also known as <emphasis>fetch groups</emphasis>. "
@@ -1109,18 +1017,17 @@
"extreme cases, when legacy tables have hundreds of columns and the data "
"model can not be improved."
msgstr ""
-"Hibernate3 soporta la recuperación perezosa de propiedades individuales. "
-"Esta técnica de optimización es también conocida como <emphasis>grupos de "
-"recuperación (fetch groups)</emphasis>. Por favor, nota que éste es "
-"mayormente un aspecto de marketing, ya que en la práctica, optimizar "
-"lecturas de filas es mucho más importante que la optimización de lectura de "
-"columnas. Sin embargo, cargar sólo algunas propiedades de una clase podría "
-"ser útil en casos extremos, cuando tablas heredadas tienen cientos de "
-"columnas y el modelo de datos no puede ser mejorado."
+"Hibernate3 soporta la recuperación perezosa de propiedades "
+"individuales. Esta técnica de optimización es también "
+"conocida como <emphasis>grupos de recuperación (fetch groups)</"
+"emphasis>. Por favor, nota que éste es mayormente un aspecto de "
+"marketing, ya que en la práctica, optimizar lecturas de filas es "
+"mucho más importante que la optimización de lectura de "
+"columnas. Sin embargo, cargar sólo algunas propiedades de una clase "
+"podría ser útil en casos extremos, cuando tablas heredadas "
+"tienen cientos de columnas y el modelo de datos no puede ser mejorado."
-#. Tag: para
-#: performance.xml:535
-#, no-c-format
+#: index.docbook:535
msgid ""
"To enable lazy property loading, set the <literal>lazy</literal> attribute "
"on your particular property mappings:"
@@ -1128,9 +1035,7 @@
"Para habilitar la carga perezosa de propiedades, establece el atributo "
"<literal>lazy</literal> en tus mapeos de propiedades:"
-#. Tag: programlisting
-#: performance.xml:540
-#, no-c-format
+#: index.docbook:540
msgid ""
"<![CDATA[<class name=\"Document\">\n"
" <id name=\"id\">\n"
@@ -1143,29 +1048,35 @@
">\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Document\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"native\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\" length=\"50\"/>\n"
+" <property name=\"summary\" not-null=\"true\" length=\"200\" lazy=\"true"
+"\"/>\n"
+" <property name=\"text\" not-null=\"true\" length=\"2000\" lazy=\"true\"/"
+">\n"
+"</class>]]>"
-#. Tag: para
-#: performance.xml:542
-#, no-c-format
+#: index.docbook:542
msgid ""
"Lazy property loading requires buildtime bytecode instrumentation! If your "
"persistent classes are not enhanced, Hibernate will silently ignore lazy "
"property settings and fall back to immediate fetching."
msgstr ""
-"¡La carga perezosa de propiedades requiere la instrumentación del bytecode "
-"en tiempo de construcción! Si tus clases persistentes no son mejoradas, "
-"Hibernate ignorará silenciosamente la configuración perezosa de propiedades "
-"y caerá en recuperación inmediata."
+"¡La carga perezosa de propiedades requiere la instrumentación "
+"del bytecode en tiempo de construcción! Si tus clases persistentes no "
+"son mejoradas, Hibernate ignorará silenciosamente la "
+"configuración perezosa de propiedades y caerá en "
+"recuperación inmediata."
-#. Tag: para
-#: performance.xml:548
-#, no-c-format
+#: index.docbook:548
msgid "For bytecode instrumentation, use the following Ant task:"
-msgstr "Para la instrumentación del bytecode, usa la siguiente tarea Ant:"
+msgstr ""
+"Para la instrumentación del bytecode, usa la siguiente tarea Ant:"
-#. Tag: programlisting
-#: performance.xml:552
-#, no-c-format
+#: index.docbook:552
msgid ""
"<![CDATA[<target name=\"instrument\" depends=\"compile\">\n"
" <taskdef name=\"instrument\" classname=\"org.hibernate.tool.instrument."
@@ -1182,41 +1093,47 @@
" </instrument>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"instrument\" depends=\"compile\">\n"
+" <taskdef name=\"instrument\" classname=\"org.hibernate.tool.instrument."
+"InstrumentTask\">\n"
+" <classpath path=\"${jar.path}\"/>\n"
+" <classpath path=\"${classes.dir}\"/>\n"
+" <classpath refid=\"lib.class.path\"/>\n"
+" </taskdef>\n"
+"\n"
+" <instrument verbose=\"true\">\n"
+" <fileset dir=\"${testclasses.dir}/org/hibernate/auction/model\">\n"
+" <include name=\"*.class\"/>\n"
+" </fileset>\n"
+" </instrument>\n"
+"</target>]]>"
-#. Tag: para
-#: performance.xml:554
-#, no-c-format
+#: index.docbook:554
msgid ""
"A different (better?) way to avoid unnecessary column reads, at least for "
"read-only transactions is to use the projection features of HQL or Criteria "
"queries. This avoids the need for buildtime bytecode processing and is "
"certainly a prefered solution."
msgstr ""
-"Una forma diferente (¿mejor?) de evitar lecturas innecesarias de columnas, "
-"al menos para transacciones de sólo lectura es usar las funcionalidades de "
-"proyección de consultas HQL o Criteria. Esto evita la necesidad de procesar "
-"el bytecode en tiempo de construcción y ciertamente es una solución "
-"preferida."
+"Una forma diferente (¿mejor?) de evitar lecturas innecesarias de "
+"columnas, al menos para transacciones de sólo lectura es usar las "
+"funcionalidades de proyección de consultas HQL o Criteria. Esto evita "
+"la necesidad de procesar el bytecode en tiempo de construcción y "
+"ciertamente es una solución preferida."
-#. Tag: para
-#: performance.xml:561
-#, no-c-format
+#: index.docbook:561
msgid ""
"You may force the usual eager fetching of properties using <literal>fetch "
"all properties</literal> in HQL."
msgstr ""
-"Puedes forzar la usual recuperación temprana de propiedades usando "
+"Puedes forzar la usual recuperación temprana de propiedades usando "
"<literal>fetch all properties</literal> en HQL."
-#. Tag: title
-#: performance.xml:571
-#, no-c-format
+#: index.docbook:571
msgid "The Second Level Cache"
-msgstr "El Caché de Segundo Nivel"
+msgstr "El Caché de Segundo Nivel"
-#. Tag: para
-#: performance.xml:573
-#, no-c-format
+#: index.docbook:573
msgid ""
"A Hibernate <literal>Session</literal> is a transaction-level cache of "
"persistent data. It is possible to configure a cluster or JVM-level "
@@ -1226,17 +1143,16 @@
"another application (though they may be configured to regularly expire "
"cached data)."
msgstr ""
-"Una <literal>Session</literal> de Hibernate es una caché de datos "
-"persistentes a nivel de transacción. Es posible configurar un cluster o "
-"caché a nivel de JVM (a nivel de <literal>SessionFactory</literal>) sobre "
-"una base de clase-a-clase o colección-a-colección. Puedes incluso enchufar "
-"una caché en cluster. Sé cuidadoso. Las cachés nunca están al tanto de los "
-"cambios hechos por otra aplicación al almacén persistente (aunque pueden ser "
-"configurados para expirar regularmente los datos en caché)."
+"Una <literal>Session</literal> de Hibernate es una caché de datos "
+"persistentes a nivel de transacción. Es posible configurar un cluster "
+"o caché a nivel de JVM (a nivel de <literal>SessionFactory</literal>) "
+"sobre una base de clase-a-clase o colección-a-colección. "
+"Puedes incluso enchufar una caché en cluster. Sé cuidadoso. "
+"Las cachés nunca están al tanto de los cambios hechos por otra "
+"aplicación al almacén persistente (aunque pueden ser "
+"configurados para expirar regularmente los datos en caché)."
-#. Tag: para
-#: performance.xml:581
-#, no-c-format
+#: index.docbook:581
msgid ""
"You have the option to tell Hibernate which caching implementation to use by "
"specifying the name of a class that implements <literal>org.hibernate.cache."
@@ -1248,184 +1164,124 @@
"provider; that is no longer the case as of 3.2."
msgstr ""
"Por defecto, Hibernate usa EHCache para caching a nivel de JVM. (El soporte "
-"a JCS ahora está despreciado y será quitado en una futura versión de "
-"Hibernate.) Puedes elegir una implementación diferente estableciendo el "
-"nombre de una clase que implemente <literal>org.hibernate.cache."
-"CacheProvider</literal> usando la propiedad <literal>hibernate.cache."
-"provider_class</literal>."
+"a JCS ahora está despreciado y será quitado en una futura "
+"versión de Hibernate.) Puedes elegir una implementación "
+"diferente estableciendo el nombre de una clase que implemente <literal>org."
+"hibernate.cache.CacheProvider</literal> usando la propiedad "
+"<literal>hibernate.cache.provider_class</literal>."
-#. Tag: title
-#: performance.xml:592
-#, no-c-format
+#: index.docbook:592
msgid "Cache Providers"
-msgstr "Proveedores de Caché"
+msgstr "Proveedores de Caché"
-#. Tag: entry
-#: performance.xml:601 performance.xml:774
-#, no-c-format
+#: index.docbook:601, index.docbook:774
msgid "Cache"
-msgstr "Caché"
+msgstr "Caché"
-#. Tag: entry
-#: performance.xml:602
-#, no-c-format
+#: index.docbook:602
msgid "Provider class"
msgstr "clase del Provedor"
-#. Tag: entry
-#: performance.xml:603
-#, no-c-format
+#: index.docbook:603
msgid "Type"
msgstr "Tipo"
-#. Tag: entry
-#: performance.xml:604
-#, no-c-format
+#: index.docbook:604
msgid "Cluster Safe"
msgstr "Cluster Seguro"
-#. Tag: entry
-#: performance.xml:605
-#, no-c-format
+#: index.docbook:605
msgid "Query Cache Supported"
-msgstr "Caché de Consultas Soportado"
+msgstr "Caché de Consultas Soportado"
-#. Tag: entry
-#: performance.xml:610 performance.xml:783
-#, no-c-format
+#: index.docbook:610, index.docbook:783
msgid "Hashtable (not intended for production use)"
-msgstr "Hashtable (no pensado para uso en producción)"
+msgstr "Hashtable (no pensado para uso en producción)"
-#. Tag: literal
-#: performance.xml:611
-#, no-c-format
+#: index.docbook:611
msgid "org.hibernate.cache.HashtableCacheProvider"
msgstr "org.hibernate.cache.HashtableCacheProvider"
-#. Tag: entry
-#: performance.xml:612
-#, no-c-format
+#: index.docbook:612
msgid "memory"
msgstr "memoria"
-#. Tag: entry
-#: performance.xml:614 performance.xml:621 performance.xml:628
-#: performance.xml:784 performance.xml:785 performance.xml:786
-#: performance.xml:791 performance.xml:792 performance.xml:793
-#: performance.xml:798 performance.xml:799 performance.xml:800
-#: performance.xml:805 performance.xml:806 performance.xml:812
-#: performance.xml:815
-#, no-c-format
+#: index.docbook:614, index.docbook:621, index.docbook:628, index.docbook:784,
+#: index.docbook:785, index.docbook:786, index.docbook:791, index.docbook:792,
+#: index.docbook:793, index.docbook:798, index.docbook:799, index.docbook:800,
+#: index.docbook:805, index.docbook:806, index.docbook:812, index.docbook:815
msgid "<entry>yes</entry>"
-msgstr ""
+msgstr "sí"
-#. Tag: entry
-#: performance.xml:617 performance.xml:790
-#, no-c-format
+#: index.docbook:617, index.docbook:790
msgid "EHCache"
msgstr "EHCache"
-#. Tag: literal
-#: performance.xml:618
-#, no-c-format
+#: index.docbook:618
msgid "org.hibernate.cache.EhCacheProvider"
msgstr "org.hibernate.cache.EhCacheProvider"
-#. Tag: entry
-#: performance.xml:619 performance.xml:626
-#, no-c-format
+#: index.docbook:619, index.docbook:626
msgid "memory, disk"
msgstr "memoria, disco"
-#. Tag: entry
-#: performance.xml:624 performance.xml:797
-#, no-c-format
+#: index.docbook:624, index.docbook:797
msgid "OSCache"
msgstr "OSCache"
-#. Tag: literal
-#: performance.xml:625
-#, no-c-format
+#: index.docbook:625
msgid "org.hibernate.cache.OSCacheProvider"
msgstr "org.hibernate.cache.OSCacheProvider"
-#. Tag: entry
-#: performance.xml:631 performance.xml:804
-#, no-c-format
+#: index.docbook:631, index.docbook:804
msgid "SwarmCache"
msgstr "SwarmCache"
-#. Tag: literal
-#: performance.xml:632
-#, no-c-format
+#: index.docbook:632
msgid "org.hibernate.cache.SwarmCacheProvider"
msgstr "org.hibernate.cache.SwarmCacheProvider"
-#. Tag: entry
-#: performance.xml:633
-#, no-c-format
+#: index.docbook:633
msgid "clustered (ip multicast)"
msgstr "clusterizado (ip multicast)"
-#. Tag: entry
-#: performance.xml:634
-#, no-c-format
+#: index.docbook:634
msgid "yes (clustered invalidation)"
-msgstr "sí (invalidación en cluster)"
+msgstr "sí (invalidación en cluster)"
-#. Tag: entry
-#: performance.xml:638 performance.xml:811
-#, fuzzy, no-c-format
+#: index.docbook:638, index.docbook:811
msgid "JBoss TreeCache"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"TreeCache de JBoss\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"JBoss TreeCache"
+msgstr "TreeCache de JBoss"
-#. Tag: literal
-#: performance.xml:639
-#, no-c-format
+#: index.docbook:639
msgid "org.hibernate.cache.TreeCacheProvider"
msgstr "org.hibernate.cache.TreeCacheProvider"
-#. Tag: entry
-#: performance.xml:640
-#, no-c-format
+#: index.docbook:640
msgid "clustered (ip multicast), transactional"
msgstr "clusterizado (ip multicast), transaccional"
-#. Tag: entry
-#: performance.xml:641
-#, no-c-format
+#: index.docbook:641
msgid "yes (replication)"
-msgstr "sí (replicación)"
+msgstr "sí (replicación)"
-#. Tag: entry
-#: performance.xml:642
-#, no-c-format
+#: index.docbook:642
msgid "yes (clock sync req.)"
-msgstr "sí (requiere sincronización de reloj)"
+msgstr "sí (requiere sincronización de reloj)"
-#. Tag: title
-#: performance.xml:649
-#, no-c-format
+#: index.docbook:649
msgid "Cache mappings"
-msgstr "Mapeos de caché"
+msgstr "Mapeos de caché"
-#. Tag: para
-#: performance.xml:651
-#, no-c-format
+#: index.docbook:651
msgid ""
"The <literal><cache></literal> element of a class or collection "
"mapping has the following form:"
msgstr ""
"El elemento <literal><cache></literal> de una mapeo de clase o "
-"colección tiene la siguiente forma:"
+"colección tiene la siguiente forma:"
-#. Tag: programlisting
-#: performance.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"<![CDATA[<cache \n"
" usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
@@ -1433,10 +1289,11 @@
" include=\"all|non-lazy\"\n"
"/>]]>"
msgstr ""
+"<![CDATA[<cache \n"
+" usage=\"transactional|read-write|nonstrict-read-write|read-only\"\n"
+"/>]]>"
-#. Tag: para
-#: performance.xml:665
-#, no-c-format
+#: index.docbook:665
msgid ""
"<literal>usage</literal> (required) specifies the caching strategy: "
"<literal>transactional</literal>, <literal>read-write</literal>, "
@@ -1446,9 +1303,7 @@
"<literal>transactional</literal>, <literal>read-write</literal>, "
"<literal>nonstrict-read-write</literal> o <literal>read-only</literal>"
-#. Tag: para
-#: performance.xml:674
-#, no-c-format
+#: index.docbook:674
msgid ""
"<literal>region</literal> (optional, defaults to the class or collection "
"role name) specifies the name of the second level cache region"
@@ -1456,9 +1311,7 @@
"<literal>region</literal> (optional, defaults to the class or collection "
"role name) specifies the name of the second level cache region"
-#. Tag: para
-#: performance.xml:681
-#, no-c-format
+#: index.docbook:681
msgid ""
"<literal>include</literal> (optional, defaults to <literal>all</literal>) "
"<literal>non-lazy</literal> specifies that properties of the entity mapped "
@@ -1470,67 +1323,57 @@
"with <literal>lazy=\"true\"</literal> may not be cached when attribute-level "
"lazy fetching is enabled"
-#. Tag: para
-#: performance.xml:691
-#, no-c-format
+#: index.docbook:691
msgid ""
"Alternatively (preferrably?), you may specify <literal><class-cache></"
"literal> and <literal><collection-cache></literal> elements in "
"<literal>hibernate.cfg.xml</literal>."
msgstr ""
-"Alternativamente (¿preferiblemente?), puedes especificar los elementos "
-"<literal><class-cache></literal> y <literal><collection-cache></"
-"literal> en <literal>hibernate.cfg.xml</literal>."
+"Alternativamente (¿preferiblemente?), puedes especificar los "
+"elementos <literal><class-cache></literal> y <literal><collection-"
+"cache></literal> en <literal>hibernate.cfg.xml</literal>."
-#. Tag: para
-#: performance.xml:696
-#, no-c-format
+#: index.docbook:696
msgid ""
"The <literal>usage</literal> attribute specifies a <emphasis>cache "
"concurrency strategy</emphasis>."
msgstr ""
"El atributo <literal>usage</literal> especifica una <emphasis>estrategia de "
-"concurrencia al caché</emphasis>."
+"concurrencia al caché</emphasis>."
-#. Tag: title
-#: performance.xml:703
-#, no-c-format
+#: index.docbook:703
msgid "Strategy: read only"
-msgstr "Estrategia: sólo lectura (read only)"
+msgstr "Estrategia: sólo lectura (read only)"
-#. Tag: para
-#: performance.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"If your application needs to read but never modify instances of a persistent "
"class, a <literal>read-only</literal> cache may be used. This is the "
"simplest and best performing strategy. It's even perfectly safe for use in a "
"cluster."
msgstr ""
-"Si tu aplicación necesita leer pero nunca modificar las instancias de una "
-"clase persistente, puede usarse un caché <literal>read-only</literal>. Esta "
-"es la mejor y más simple estrategia. Es incluso perfectamente segura de usar "
-"en un cluster."
+"Si tu aplicación necesita leer pero nunca modificar las instancias de "
+"una clase persistente, puede usarse un caché <literal>read-only</"
+"literal>. Esta es la mejor y más simple estrategia. Es incluso "
+"perfectamente segura de usar en un cluster."
-#. Tag: programlisting
-#: performance.xml:711
-#, no-c-format
+#: index.docbook:711
msgid ""
"<![CDATA[<class name=\"eg.Immutable\" mutable=\"false\">\n"
" <cache usage=\"read-only\"/>\n"
" ....\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Immutable\" mutable=\"false\">\n"
+" <cache usage=\"read-only\"/>\n"
+" ....\n"
+"</class>]]>"
-#. Tag: title
-#: performance.xml:717
-#, no-c-format
+#: index.docbook:717
msgid "Strategy: read/write"
msgstr "Estrategia: lectura/escritura (read/write)"
-#. Tag: para
-#: performance.xml:719
-#, no-c-format
+#: index.docbook:719
msgid ""
"If the application needs to update data, a <literal>read-write</literal> "
"cache might be appropriate. This cache strategy should never be used if "
@@ -1544,22 +1387,21 @@
"cache implementation supports locking. The built-in cache providers do "
"<emphasis>not</emphasis>."
msgstr ""
-"Si la aplicación necesita actualizar datos, un caché <literal>read-write</"
-"literal> podría ser apropiado. Esta estrategia de caché nunca debe ser usada "
-"si se requiere nivel de aislamiento serializable de transacciones. Si el "
-"caché es usado en un entorno JTA, debes especificar la propiedad "
-"<literal>hibernate.transaction.manager_lookup_class</literal>, mencionando "
-"una estrategia para obtener el <literal>TransactionManager</literal> de JTA. "
-"En otros entornos, debes asegurarte que la transacción esté completada "
-"cuando se llame a <literal>Session.close()</literal> o <literal>Session."
-"disconnect()</literal>. Si deseas usar esta estrategia en un cluster, debes "
-"asegurarte que la implementación de caché subyacente soporta bloqueos. Los "
-"provedores de caché internos predeterminados <emphasis>no</emphasis> no lo "
-"soportan."
+"Si la aplicación necesita actualizar datos, un caché "
+"<literal>read-write</literal> podría ser apropiado. Esta estrategia "
+"de caché nunca debe ser usada si se requiere nivel de aislamiento "
+"serializable de transacciones. Si el caché es usado en un entorno "
+"JTA, debes especificar la propiedad <literal>hibernate.transaction."
+"manager_lookup_class</literal>, mencionando una estrategia para obtener el "
+"<literal>TransactionManager</literal> de JTA. En otros entornos, debes "
+"asegurarte que la transacción esté completada cuando se llame "
+"a <literal>Session.close()</literal> o <literal>Session.disconnect()</"
+"literal>. Si deseas usar esta estrategia en un cluster, debes asegurarte que "
+"la implementación de caché subyacente soporta bloqueos. Los "
+"provedores de caché internos predeterminados <emphasis>no</emphasis> "
+"no lo soportan."
-#. Tag: programlisting
-#: performance.xml:730
-#, no-c-format
+#: index.docbook:730
msgid ""
"<![CDATA[<class name=\"eg.Cat\" .... >\n"
" <cache usage=\"read-write\"/>\n"
@@ -1570,16 +1412,20 @@
" </set>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"eg.Cat\" .... >\n"
+" <cache usage=\"read-write\"/>\n"
+" ....\n"
+" <set name=\"kittens\" ... >\n"
+" <cache usage=\"read-write\"/>\n"
+" ....\n"
+" </set>\n"
+"</class>]]>"
-#. Tag: title
-#: performance.xml:735
-#, no-c-format
+#: index.docbook:735
msgid "Strategy: nonstrict read/write"
msgstr "Estrategia: lectura/escritura no estricta (nonstrict read/write)"
-#. Tag: para
-#: performance.xml:737
-#, no-c-format
+#: index.docbook:737
msgid ""
"If the application only occasionally needs to update data (ie. if it is "
"extremely unlikely that two transactions would try to update the same item "
@@ -1590,87 +1436,68 @@
"should ensure that the transaction is completed when <literal>Session.close()"
"</literal> or <literal>Session.disconnect()</literal> is called."
msgstr ""
-"Si la aplicación necesita sólo ocasionalmente actualizar datos (es decir, es "
-"extremadamente inprobable que dos transacciones intenten actualizar el mismo "
-"ítem simultáneamente) y no se requiere de un aislamiento de transacciones "
-"estricto, un caché <literal>nonstrict-read-write</literal> podría ser "
-"apropiado. Si se usa el caché en un entorno JTA, debes especificar "
-"<literal>hibernate.transaction.manager_lookup_class</literal>. En otros "
-"entornos, debes asegurarte que la transacción se haya completado cuando se "
-"llame a <literal>Session.close()</literal> o <literal>Session.disconnect()</"
-"literal>."
+"Si la aplicación necesita sólo ocasionalmente actualizar datos "
+"(es decir, es extremadamente inprobable que dos transacciones intenten "
+"actualizar el mismo ítem simultáneamente) y no se requiere de "
+"un aislamiento de transacciones estricto, un caché <literal>nonstrict-"
+"read-write</literal> podría ser apropiado. Si se usa el caché "
+"en un entorno JTA, debes especificar <literal>hibernate.transaction."
+"manager_lookup_class</literal>. En otros entornos, debes asegurarte que la "
+"transacción se haya completado cuando se llame a <literal>Session."
+"close()</literal> o <literal>Session.disconnect()</literal>."
-#. Tag: title
-#: performance.xml:749
-#, no-c-format
+#: index.docbook:749
msgid "Strategy: transactional"
msgstr "Estrategia: transaccional"
-#. Tag: para
-#: performance.xml:751
-#, no-c-format
+#: index.docbook:751
msgid ""
"The <literal>transactional</literal> cache strategy provides support for "
"fully transactional cache providers such as JBoss TreeCache. Such a cache "
"may only be used in a JTA environment and you must specify "
"<literal>hibernate.transaction.manager_lookup_class</literal>."
msgstr ""
-"La estrategia de caché <literal>transactional</literal> brinda soporte a "
-"provedores de cachés completamente transaccionales como TreeCache de JBoss. "
-"Un caché así, puede sólo ser usado en un entorno JTA y debes especificar "
-"<literal>hibernate.transaction.manager_lookup_class</literal>."
+"La estrategia de caché <literal>transactional</literal> brinda "
+"soporte a provedores de cachés completamente transaccionales como "
+"TreeCache de JBoss. Un caché así, puede sólo ser usado "
+"en un entorno JTA y debes especificar <literal>hibernate.transaction."
+"manager_lookup_class</literal>."
-#. Tag: para
-#: performance.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"None of the cache providers support all of the cache concurrency strategies. "
"The following table shows which providers are compatible with which "
"concurrency strategies."
msgstr ""
-"Ninguno de los provedores de caché soporta todas las estrategias de "
-"concurrencia al caché. La siguiente tabla muestra qué provedores son "
-"compatibles con qué estrategias de concurrencia."
+"Ninguno de los provedores de caché soporta todas las estrategias de "
+"concurrencia al caché. La siguiente tabla muestra qué "
+"provedores son compatibles con qué estrategias de concurrencia."
-#. Tag: title
-#: performance.xml:765
-#, no-c-format
+#: index.docbook:765
msgid "Cache Concurrency Strategy Support"
-msgstr "Soporte a Estrategia de Concurrencia a Caché"
+msgstr "Soporte a Estrategia de Concurrencia a Caché"
-#. Tag: entry
-#: performance.xml:775
-#, no-c-format
+#: index.docbook:775
msgid "read-only"
msgstr "read-only"
-#. Tag: entry
-#: performance.xml:776
-#, no-c-format
+#: index.docbook:776
msgid "nonstrict-read-write"
msgstr "nonstrict-read-write"
-#. Tag: entry
-#: performance.xml:777
-#, no-c-format
+#: index.docbook:777
msgid "read-write"
msgstr "read-write"
-#. Tag: entry
-#: performance.xml:778
-#, no-c-format
+#: index.docbook:778
msgid "transactional"
msgstr "transactional"
-#. Tag: title
-#: performance.xml:824
-#, no-c-format
+#: index.docbook:824
msgid "Managing the caches"
-msgstr "Gestionando los cachés"
+msgstr "Gestionando los cachés"
-#. Tag: para
-#: performance.xml:826
-#, no-c-format
+#: index.docbook:826
msgid ""
"Whenever you pass an object to <literal>save()</literal>, <literal>update()</"
"literal> or <literal>saveOrUpdate()</literal> and whenever you retrieve an "
@@ -1683,12 +1510,10 @@
"literal> o <literal>saveOrUpdate()</literal> y siempre que recuperes un "
"objeto usando <literal>load()</literal>, <literal>get()</literal>, "
"<literal>list()</literal>, <literal>iterate()</literal> o <literal>scroll()</"
-"literal>, ese objeto es agregado al caché interno de la <literal>Session</"
-"literal>."
+"literal>, ese objeto es agregado al caché interno de la "
+"<literal>Session</literal>."
-#. Tag: para
-#: performance.xml:833
-#, no-c-format
+#: index.docbook:833
msgid ""
"When <literal>flush()</literal> is subsequently called, the state of that "
"object will be synchronized with the database. If you do not want this "
@@ -1698,15 +1523,13 @@
"cache."
msgstr ""
"Cuando subsecuentemente se llame a <literal>flush()</literal>, el estado de "
-"ese objeto será sincronizado con la base de datos. Si no quieres que ocurra "
-"esta sincronización o si estás procesando un número enorme de objetos y "
-"necesitas gestionar la memoria eficientemente, puede usarse el método "
-"<literal>evict()</literal> para quitar el objeto y sus colecciones del caché "
-"de primer nivel."
+"ese objeto será sincronizado con la base de datos. Si no quieres que "
+"ocurra esta sincronización o si estás procesando un nú"
+"mero enorme de objetos y necesitas gestionar la memoria eficientemente, "
+"puede usarse el método <literal>evict()</literal> para quitar el "
+"objeto y sus colecciones del caché de primer nivel."
-#. Tag: programlisting
-#: performance.xml:841
-#, no-c-format
+#: index.docbook:841
msgid ""
"<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as cat\").scroll"
"(); //a huge result set\n"
@@ -1716,42 +1539,43 @@
" sess.evict(cat);\n"
"}]]>"
msgstr ""
+"<![CDATA[ScrollableResult cats = sess.createQuery(\"from Cat as cat\").scroll"
+"(); //a huge result set\n"
+"while ( cats.next() ) {\n"
+" Cat cat = (Cat) cats.get(0);\n"
+" doSomethingWithACat(cat);\n"
+" sess.evict(cat);\n"
+"}]]>"
-#. Tag: para
-#: performance.xml:843
-#, no-c-format
+#: index.docbook:843
msgid ""
"The <literal>Session</literal> also provides a <literal>contains()</literal> "
"method to determine if an instance belongs to the session cache."
msgstr ""
-"La <literal>Session</literal> también provee un método <literal>contains()</"
-"literal> para determinar si una instancia pertenece al caché de la sesión."
+"La <literal>Session</literal> también provee un método "
+"<literal>contains()</literal> para determinar si una instancia pertenece al "
+"caché de la sesión."
-#. Tag: para
-#: performance.xml:848
-#, no-c-format
+#: index.docbook:848
msgid ""
"To completely evict all objects from the session cache, call "
"<literal>Session.clear()</literal>"
msgstr ""
-"Para desahuciar (evict) todos los objetos del caché de sesión, llama a "
-"<literal>Session.clear()</literal>."
+"Para desahuciar (evict) todos los objetos del caché de sesión, "
+"llama a <literal>Session.clear()</literal>."
-#. Tag: para
-#: performance.xml:852
-#, no-c-format
+#: index.docbook:852
msgid ""
"For the second-level cache, there are methods defined on "
"<literal>SessionFactory</literal> for evicting the cached state of an "
"instance, entire class, collection instance or entire collection role."
msgstr ""
-"Para el caché de segundo nivel, hay métodos definidos en "
-"<literal>SessionFactory</literal> para desahuciar el estado en caché de una "
-"instancia, clase entera, instancia de colección o rol enter de colección."
+"Para el caché de segundo nivel, hay métodos definidos en "
+"<literal>SessionFactory</literal> para desahuciar el estado en caché "
+"de una instancia, clase entera, instancia de colección o rol enter de "
+"colección."
-#. Tag: programlisting
-#: performance.xml:858
-#, no-c-format
+#: index.docbook:858
msgid ""
"<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular Cat\n"
"sessionFactory.evict(Cat.class); //evict all Cats\n"
@@ -1760,126 +1584,114 @@
"sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten "
"collections]]>"
msgstr ""
+"<![CDATA[sessionFactory.evict(Cat.class, catId); //evict a particular Cat\n"
+"sessionFactory.evict(Cat.class); //evict all Cats\n"
+"sessionFactory.evictCollection(\"Cat.kittens\", catId); //evict a particular "
+"collection of kittens\n"
+"sessionFactory.evictCollection(\"Cat.kittens\"); //evict all kitten "
+"collections]]>"
-#. Tag: para
-#: performance.xml:860
-#, no-c-format
+#: index.docbook:860
msgid ""
"The <literal>CacheMode</literal> controls how a particular session interacts "
"with the second-level cache."
msgstr ""
-"El <literal>CacheMode</literal> controla cómo una sesión en particular "
-"interactúa con el caché de segundo nivel."
+"El <literal>CacheMode</literal> controla cómo una sesión en "
+"particular interactúa con el caché de segundo nivel."
-#. Tag: para
-#: performance.xml:867
-#, no-c-format
+#: index.docbook:867
msgid ""
"<literal>CacheMode.NORMAL</literal> - read items from and write items to the "
"second-level cache"
msgstr ""
-"<literal>CacheMode.NORMAL</literal> - lee ítems desde y escribe ítems hacia "
-"el caché de segundo nivel"
+"<literal>CacheMode.NORMAL</literal> - lee ítems desde y escribe "
+"ítems hacia el caché de segundo nivel"
-#. Tag: para
-#: performance.xml:872
-#, no-c-format
+#: index.docbook:872
msgid ""
"<literal>CacheMode.GET</literal> - read items from the second-level cache, "
"but don't write to the second-level cache except when updating data"
msgstr ""
-"<literal>CacheMode.GET</literal> - lee ítems del caché de segundo nivel, "
-"pero no escribe al caché de segundo nivel excepto al actualizar datos"
+"<literal>CacheMode.GET</literal> - lee ítems del caché de "
+"segundo nivel, pero no escribe al caché de segundo nivel excepto al "
+"actualizar datos"
-#. Tag: para
-#: performance.xml:878
-#, no-c-format
+#: index.docbook:878
msgid ""
"<literal>CacheMode.PUT</literal> - write items to the second-level cache, "
"but don't read from the second-level cache"
msgstr ""
-"<literal>CacheMode.PUT</literal> - escribe ítems al caché de segundo nivel, "
-"pero no lee del caché de segundo nivel"
+"<literal>CacheMode.PUT</literal> - escribe ítems al caché de "
+"segundo nivel, pero no lee del caché de segundo nivel"
-#. Tag: para
-#: performance.xml:884
-#, no-c-format
+#: index.docbook:884
msgid ""
"<literal>CacheMode.REFRESH</literal> - write items to the second-level "
"cache, but don't read from the second-level cache, bypass the effect of "
"<literal>hibernate.cache.use_minimal_puts</literal>, forcing a refresh of "
"the second-level cache for all items read from the database"
msgstr ""
-"<literal>CacheMode.REFRESH</literal> - escribe ítems al caché de segundo "
-"nivel, pero no lee del caché de segundo nivel, saltándose el efecto de "
-"<literal>hibernate.cache.use_minimal_puts</literal>, forzando un refresco "
-"del caché de segundo nivel para todos los ítems leídos de la base de datos"
+"<literal>CacheMode.REFRESH</literal> - escribe ítems al caché "
+"de segundo nivel, pero no lee del caché de segundo nivel, saltá"
+"ndose el efecto de <literal>hibernate.cache.use_minimal_puts</literal>, "
+"forzando un refresco del caché de segundo nivel para todos los "
+"ítems leídos de la base de datos"
-#. Tag: para
-#: performance.xml:892
-#, no-c-format
+#: index.docbook:892
msgid ""
"To browse the contents of a second-level or query cache region, use the "
"<literal>Statistics</literal> API:"
msgstr ""
-"Para navegar por los contenidos de una región de caché de segundo nivel o de "
-"consultas, usa la API de <literal>Statistics</literal>:"
+"Para navegar por los contenidos de una región de caché de "
+"segundo nivel o de consultas, usa la API de <literal>Statistics</literal>:"
-#. Tag: programlisting
-#: performance.xml:897
-#, no-c-format
+#: index.docbook:897
msgid ""
"<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
" .getSecondLevelCacheStatistics(regionName)\n"
" .getEntries();]]>"
msgstr ""
+"<![CDATA[Map cacheEntries = sessionFactory.getStatistics()\n"
+" .getSecondLevelCacheStatistics(regionName)\n"
+" .getEntries();]]>"
-#. Tag: para
-#: performance.xml:899
-#, no-c-format
+#: index.docbook:899
msgid ""
"You'll need to enable statistics, and, optionally, force Hibernate to keep "
"the cache entries in a more human-understandable format:"
msgstr ""
-"Necesitarás habilitar las estadísticas y, opcionalmente, forzar a Hibernate "
-"para que guarde las entradas del caché en un formato más entendible por "
-"humanos:"
+"Necesitarás habilitar las estadísticas y, opcionalmente, "
+"forzar a Hibernate para que guarde las entradas del caché en un "
+"formato más entendible por humanos:"
-#. Tag: programlisting
-#: performance.xml:904
-#, no-c-format
+#: index.docbook:904
msgid ""
"<![CDATA[hibernate.generate_statistics true\n"
"hibernate.cache.use_structured_entries true]]>"
msgstr ""
+"<![CDATA[hibernate.generate_statistics true\n"
+"hibernate.cache.use_structured_entries true]]>"
-#. Tag: title
-#: performance.xml:909
-#, no-c-format
+#: index.docbook:909
msgid "The Query Cache"
-msgstr "El Caché de Consultas"
+msgstr "El Caché de Consultas"
-#. Tag: para
-#: performance.xml:911
-#, no-c-format
+#: index.docbook:911
msgid ""
"Query result sets may also be cached. This is only useful for queries that "
"are run frequently with the same parameters. To use the query cache you must "
"first enable it:"
msgstr ""
-"Los conjuntos resultado de consultas también pueden tratarse en caché. Esto "
-"sólo es útil para consultas que se ejecutan frecuentemente con los mismos "
-"parámetros. Para usar el caché de consultas primero debes habilitarlo:"
+"Los conjuntos resultado de consultas también pueden tratarse en "
+"caché. Esto sólo es útil para consultas que se ejecutan "
+"frecuentemente con los mismos parámetros. Para usar el caché "
+"de consultas primero debes habilitarlo:"
-#. Tag: programlisting
-#: performance.xml:916
-#, no-c-format
+#: index.docbook:916
msgid "<![CDATA[hibernate.cache.use_query_cache true]]>"
-msgstr ""
+msgstr "<![CDATA[hibernate.cache.use_query_cache true]]>"
-#. Tag: para
-#: performance.xml:918
-#, no-c-format
+#: index.docbook:918
msgid ""
"This setting causes the creation of two new cache regions - one holding "
"cached query result sets (<literal>org.hibernate.cache.StandardQueryCache</"
@@ -1890,47 +1702,43 @@
"value type. So the query cache should always be used in conjunction with the "
"second-level cache."
msgstr ""
-"Esta configuración causa la creación de dos nuevas regiones de caché - una "
-"teniendo en caché conjuntos resultado de consulta (<literal>org.hibernate."
-"cache.StandardQueryCache</literal>), el otro teniendo timestamps de las "
-"actualizaciones más recientes a tablas consultables (<literal>org.hibernate."
-"cache.UpdateTimestampsCache</literal>). Nota que el caché de consultas no "
-"pone en caché el estado de las entidades reales en el conjunto resultado; "
-"sólo tiene en caché valores indentificadores y resultados de tipo de valor. "
-"De modo que el caché de consultas siempre debe ser usado en conjunción con "
-"el caché de segundo nivel."
+"Esta configuración causa la creación de dos nuevas regiones de "
+"caché - una teniendo en caché conjuntos resultado de consulta "
+"(<literal>org.hibernate.cache.StandardQueryCache</literal>), el otro "
+"teniendo timestamps de las actualizaciones más recientes a tablas "
+"consultables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). "
+"Nota que el caché de consultas no pone en caché el estado de "
+"las entidades reales en el conjunto resultado; sólo tiene en "
+"caché valores indentificadores y resultados de tipo de valor. De modo "
+"que el caché de consultas siempre debe ser usado en conjunción "
+"con el caché de segundo nivel."
-#. Tag: para
-#: performance.xml:928
-#, no-c-format
+#: index.docbook:928
msgid ""
"Most queries do not benefit from caching, so by default queries are not "
"cached. To enable caching, call <literal>Query.setCacheable(true)</literal>. "
"This call allows the query to look for existing cache results or add its "
"results to the cache when it is executed."
msgstr ""
-"La mayoría de consultas no se benefician del tratamiento en caché, de modo "
-"que por defecto las consultas no son tratadas en caché. Para habilitar el "
-"tratamiento en caché, llama a <literal>Query.setCacheable(true)</literal>. "
-"Esta llamada permite a la consulta buscar resultados existentes en caché o "
-"agregar sus resultados al caché cuando se ejecuta."
+"La mayoría de consultas no se benefician del tratamiento en "
+"caché, de modo que por defecto las consultas no son tratadas en "
+"caché. Para habilitar el tratamiento en caché, llama a "
+"<literal>Query.setCacheable(true)</literal>. Esta llamada permite a la "
+"consulta buscar resultados existentes en caché o agregar sus "
+"resultados al caché cuando se ejecuta."
-#. Tag: para
-#: performance.xml:935
-#, no-c-format
+#: index.docbook:935
msgid ""
"If you require fine-grained control over query cache expiration policies, "
"you may specify a named cache region for a particular query by calling "
"<literal>Query.setCacheRegion()</literal>."
msgstr ""
-"Si requieres un control finamente granularizado sobre las políticas de "
-"expiración del caché de consultas, puedes especificar una región de caché "
-"con nombre para una consulta en particular llamando a <literal>Query."
-"setCacheRegion()</literal>."
+"Si requieres un control finamente granularizado sobre las políticas "
+"de expiración del caché de consultas, puedes especificar una "
+"región de caché con nombre para una consulta en particular "
+"llamando a <literal>Query.setCacheRegion()</literal>."
-#. Tag: programlisting
-#: performance.xml:941
-#, no-c-format
+#: index.docbook:941
msgid ""
"<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger "
"= :blogger\")\n"
@@ -1940,10 +1748,15 @@
" .setCacheRegion(\"frontpages\")\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List blogs = sess.createQuery(\"from Blog blog where blog.blogger "
+"= :blogger\")\n"
+" .setEntity(\"blogger\", blogger)\n"
+" .setMaxResults(15)\n"
+" .setCacheable(true)\n"
+" .setCacheRegion(\"frontpages\")\n"
+" .list();]]>"
-#. Tag: para
-#: performance.xml:943
-#, no-c-format
+#: index.docbook:943
msgid ""
"If the query should force a refresh of its query cache region, you should "
"call <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. This is "
@@ -1953,66 +1766,51 @@
"more efficient alternative to eviction of a query cache region via "
"<literal>SessionFactory.evictQueries()</literal>."
msgstr ""
-"Si la consulta debe forzar un refresco de si región del caché de consultas, "
-"debes llamar a <literal>Query.setCacheMode(CacheMode.REFRESH)</literal>. "
-"Esto es particularmente útil en casos donde los datos subyacentes pueden "
-"haber sido actualizados por medio de un proceso separado (es decir, no "
-"modificados a través de Hibernate) y permite a la aplicación refrescar "
-"selectivamente conjuntos resultado de consultas en particular. Esto es una "
-"alternativa más eficient al desahuciamiento de una región del caché de "
-"consultas vía <literal>SessionFactory.evictQueries()</literal>."
+"Si la consulta debe forzar un refresco de si región del caché "
+"de consultas, debes llamar a <literal>Query.setCacheMode(CacheMode.REFRESH)</"
+"literal>. Esto es particularmente útil en casos donde los datos "
+"subyacentes pueden haber sido actualizados por medio de un proceso separado "
+"(es decir, no modificados a través de Hibernate) y permite a la "
+"aplicación refrescar selectivamente conjuntos resultado de consultas "
+"en particular. Esto es una alternativa más eficient al "
+"desahuciamiento de una región del caché de consultas ví"
+"a <literal>SessionFactory.evictQueries()</literal>."
-#. Tag: title
-#: performance.xml:955
-#, no-c-format
+#: index.docbook:955
msgid "Understanding Collection performance"
msgstr "Entendiendo el rendimiento de Colecciones"
-#. Tag: para
-#: performance.xml:957
-#, no-c-format
+#: index.docbook:957
msgid ""
"We've already spent quite some time talking about collections. In this "
"section we will highlight a couple more issues about how collections behave "
"at runtime."
msgstr ""
-"Ya hemos llevado un buen tiempo hablando sobre colecciones. En esta sección "
-"resaltaremos un par de temas más sobre cómo las colecciones se comportan en "
-"tiempo de ejecución."
+"Ya hemos llevado un buen tiempo hablando sobre colecciones. En esta "
+"sección resaltaremos un par de temas más sobre cómo las "
+"colecciones se comportan en tiempo de ejecución."
-#. Tag: title
-#: performance.xml:964
-#, no-c-format
+#: index.docbook:964
msgid "Taxonomy"
msgstr "Taxonomia"
-#. Tag: para
-#: performance.xml:966
-#, no-c-format
+#: index.docbook:966
msgid "Hibernate defines three basic kinds of collections:"
-msgstr "Hibernate define tres tipos básicos de colecciones:"
+msgstr "Hibernate define tres tipos básicos de colecciones:"
-#. Tag: para
-#: performance.xml:970
-#, no-c-format
+#: index.docbook:970
msgid "collections of values"
msgstr "colecciones de valores"
-#. Tag: para
-#: performance.xml:973
-#, no-c-format
+#: index.docbook:973
msgid "one to many associations"
msgstr "asociaciones uno a muchos"
-#. Tag: para
-#: performance.xml:976
-#, no-c-format
+#: index.docbook:976
msgid "many to many associations"
msgstr "asociaciones muchos a muchos"
-#. Tag: para
-#: performance.xml:980
-#, no-c-format
+#: index.docbook:980
msgid ""
"This classification distinguishes the various table and foreign key "
"relationships but does not tell us quite everything we need to know about "
@@ -2021,34 +1819,27 @@
"primary key that is used by Hibernate to update or delete collection rows. "
"This suggests the following classification:"
msgstr ""
-"Esta clasificación distingue las varias tablas y relaciones de clave foránea "
-"pero no nos dice absolutamente todo lo que necesitamos saber sobre el modelo "
-"relacional. Para entender completamente la estructura relacional y las "
-"características de rendimiento, debemos considerar la estructura de la clave "
-"primaria que es usada por Hibernate para actualizar o borrar filas de "
-"colección. Esto sugiere la siguiente clasificación:"
+"Esta clasificación distingue las varias tablas y relaciones de clave "
+"foránea pero no nos dice absolutamente todo lo que necesitamos saber "
+"sobre el modelo relacional. Para entender completamente la estructura "
+"relacional y las características de rendimiento, debemos considerar "
+"la estructura de la clave primaria que es usada por Hibernate para "
+"actualizar o borrar filas de colección. Esto sugiere la siguiente "
+"clasificación:"
-#. Tag: para
-#: performance.xml:991
-#, no-c-format
+#: index.docbook:991
msgid "indexed collections"
msgstr "colecciones indexadas"
-#. Tag: para
-#: performance.xml:994
-#, no-c-format
+#: index.docbook:994
msgid "sets"
msgstr "conjuntos (sets)"
-#. Tag: para
-#: performance.xml:997
-#, no-c-format
+#: index.docbook:997
msgid "bags"
msgstr "bolsas (bags)"
-#. Tag: para
-#: performance.xml:1001
-#, no-c-format
+#: index.docbook:1001
msgid ""
"All indexed collections (maps, lists, arrays) have a primary key consisting "
"of the <literal><key></literal> and <literal><index></literal> "
@@ -2060,12 +1851,10 @@
"primaria consistente de las columnas <literal><key></literal> y "
"<literal><index></literal>. En este caso las actualizaciones de "
"colecciones son usualmente extremadamente eficientes. La clave primaria "
-"puede ser indexada fácilmente y una fila en particular puede ser localizada "
-"cuando Hibernate intenta actualizarla o borrarla."
+"puede ser indexada fácilmente y una fila en particular puede ser "
+"localizada cuando Hibernate intenta actualizarla o borrarla."
-#. Tag: para
-#: performance.xml:1009
-#, no-c-format
+#: index.docbook:1009
msgid ""
"Sets have a primary key consisting of <literal><key></literal> and "
"element columns. This may be less efficient for some types of collection "
@@ -2079,18 +1868,17 @@
msgstr ""
"Los conjuntos (sets) tienen una clave primaria consistente en <literal><"
"key></literal> y columnas de elemento. Esto puede ser menos eficiente "
-"para algunos tipos de elemento de colección, particularmente elementos "
-"compuestos o texto largo, o campos binarios. La base de datos puede no ser "
-"capaz de indexar una clave primaria compleja eficientemente. Por otra parte, "
-"para asociaciones uno a muchos o muchos a muchos, particularmente en el caso "
-"de identificadores sintéticos, es probable que sólo sea tan eficiente. (Nota "
-"al márgen: si quieres que <literal>SchemaExport</literal> realmente cree la "
-"clave primaria de un <literal><set></literal> por ti, debes declarar "
-"todas las columnas como <literal>not-null=\"true\"</literal>.)"
+"para algunos tipos de elemento de colección, particularmente "
+"elementos compuestos o texto largo, o campos binarios. La base de datos "
+"puede no ser capaz de indexar una clave primaria compleja eficientemente. "
+"Por otra parte, para asociaciones uno a muchos o muchos a muchos, "
+"particularmente en el caso de identificadores sintéticos, es probable "
+"que sólo sea tan eficiente. (Nota al márgen: si quieres que "
+"<literal>SchemaExport</literal> realmente cree la clave primaria de un "
+"<literal><set></literal> por ti, debes declarar todas las columnas "
+"como <literal>not-null=\"true\"</literal>.)"
-#. Tag: para
-#: performance.xml:1020
-#, no-c-format
+#: index.docbook:1020
msgid ""
"<literal><idbag></literal> mappings define a surrogate key, so they "
"are always very efficient to update. In fact, they are the best case."
@@ -2099,9 +1887,7 @@
"de modo que siempre resulten eficientes de actualizar. De hecho, son el "
"mejor caso."
-#. Tag: para
-#: performance.xml:1025
-#, no-c-format
+#: index.docbook:1025
msgid ""
"Bags are the worst case. Since a bag permits duplicate element values and "
"has no index column, no primary key may be defined. Hibernate has no way of "
@@ -2110,50 +1896,44 @@
"the collection whenever it changes. This might be very inefficient."
msgstr ""
"Los bags son el peor caso. Ya que un bag permite valores de elementos "
-"duplicados y no tiene ninguna columna índice, no puede definirse ninguna "
-"clave primaria. Hibernate no tiene forma de distinguir entre filas "
+"duplicados y no tiene ninguna columna índice, no puede definirse "
+"ninguna clave primaria. Hibernate no tiene forma de distinguir entre filas "
"duplicadas. Hibernate resuelve este problema quitando completamente (en un "
-"solo <literal>DELETE</literal>) y recreando la colección siempre que cambia. "
-"Esto podría ser muy ineficiente."
+"solo <literal>DELETE</literal>) y recreando la colección siempre que "
+"cambia. Esto podría ser muy ineficiente."
-#. Tag: para
-#: performance.xml:1033
-#, no-c-format
+#: index.docbook:1033
msgid ""
"Note that for a one-to-many association, the \"primary key\" may not be the "
"physical primary key of the database table - but even in this case, the "
"above classification is still useful. (It still reflects how Hibernate "
"\"locates\" individual rows of the collection.)"
msgstr ""
-"Nota que para una asociación uno-a-muchos, la \"clave primaria\" puede no "
-"ser la clave primaria física de la tabla de base de datos; pero incluso en "
-"este caso, la clasificación anterior es útil todavía. (Aún refleja cómo "
-"Hibernate \"localiza\" filas individuales de la colección.)"
+"Nota que para una asociación uno-a-muchos, la \"clave primaria\" "
+"puede no ser la clave primaria física de la tabla de base de datos; "
+"pero incluso en este caso, la clasificación anterior es útil "
+"todavía. (Aún refleja cómo Hibernate \"localiza\" filas "
+"individuales de la colección.)"
-#. Tag: title
-#: performance.xml:1043
-#, no-c-format
+#: index.docbook:1043
msgid ""
"Lists, maps, idbags and sets are the most efficient collections to update"
msgstr ""
-"Las listas, mapas, idbags y conjuntos son las colecciones más eficientes de "
-"actualizar"
+"Las listas, mapas, idbags y conjuntos son las colecciones más "
+"eficientes de actualizar"
-#. Tag: para
-#: performance.xml:1045
-#, no-c-format
+#: index.docbook:1045
msgid ""
"From the discussion above, it should be clear that indexed collections and "
"(usually) sets allow the most efficient operation in terms of adding, "
"removing and updating elements."
msgstr ""
-"Desde la discusión anterior, debe quedar claro que las colecciones indexadas "
-"y (usualmente) los conjuntos permiten la operación más eficiente en términos "
-"de añadir, quitar y actualizar elementos."
+"Desde la discusión anterior, debe quedar claro que las colecciones "
+"indexadas y (usualmente) los conjuntos permiten la operación má"
+"s eficiente en términos de añadir, quitar y actualizar "
+"elementos."
-#. Tag: para
-#: performance.xml:1051
-#, no-c-format
+#: index.docbook:1051
msgid ""
"There is, arguably, one more advantage that indexed collections have over "
"sets for many to many associations or collections of values. Because of the "
@@ -2163,18 +1943,16 @@
"<literal>DELETE</literal> (of individual rows). Once again, this "
"consideration does not apply to one to many associations."
msgstr ""
-"Hay, discutiblemente, una ventaja más que las colecciones indexadas tienen "
-"sobre otros conjuntos para las asociaciones muchos a muchos o colecciones de "
-"valores. Debido a la estructura de un <literal>Set</literal>, Hibernate ni "
-"siquiera actualiza una fila con <literal>UPDATE</literal> cuando se \"cambia"
-"\" un elemento. Los cambios a un <literal>Set</literal> siempre funcionan "
-"por medio de <literal>INSERT</literal> y <literal>DELETE</literal> (de filas "
-"individuales). Una vez más, esta consideración no se aplica a las "
-"asociaciones uno a muchos."
+"Hay, discutiblemente, una ventaja más que las colecciones indexadas "
+"tienen sobre otros conjuntos para las asociaciones muchos a muchos o "
+"colecciones de valores. Debido a la estructura de un <literal>Set</literal>, "
+"Hibernate ni siquiera actualiza una fila con <literal>UPDATE</literal> "
+"cuando se \"cambia\" un elemento. Los cambios a un <literal>Set</literal> "
+"siempre funcionan por medio de <literal>INSERT</literal> y <literal>DELETE</"
+"literal> (de filas individuales). Una vez más, esta "
+"consideración no se aplica a las asociaciones uno a muchos."
-#. Tag: para
-#: performance.xml:1060
-#, no-c-format
+#: index.docbook:1060
msgid ""
"After observing that arrays cannot be lazy, we would conclude that lists, "
"maps and idbags are the most performant (non-inverse) collection types, with "
@@ -2182,16 +1960,15 @@
"collection in Hibernate applications. This is because the \"set\" semantics "
"are most natural in the relational model."
msgstr ""
-"Después de observar que los arrays no pueden ser perezosos, podríamos "
-"concluir que las listas, mapas e idbags son los tipos más eficientes de "
-"colecciones (no inversas), con los conjuntos (sets) no muy por detrás. Se "
-"espera que los sets sean el tipo más común de colección en las aplicaciones "
-"de Hibernate. Esto es debido a que la semántica de los sets es la más "
-"natural en el modelo relacional."
+"Después de observar que los arrays no pueden ser perezosos, "
+"podríamos concluir que las listas, mapas e idbags son los tipos "
+"más eficientes de colecciones (no inversas), con los conjuntos (sets) "
+"no muy por detrás. Se espera que los sets sean el tipo más "
+"común de colección en las aplicaciones de Hibernate. Esto es "
+"debido a que la semántica de los sets es la más natural en el "
+"modelo relacional."
-#. Tag: para
-#: performance.xml:1068
-#, no-c-format
+#: index.docbook:1068
msgid ""
"However, in well-designed Hibernate domain models, we usually see that most "
"collections are in fact one-to-many associations with <literal>inverse=\"true"
@@ -2199,22 +1976,20 @@
"one end of the association, and so considerations of collection update "
"performance simply do not apply."
msgstr ""
-"Sin embargo, en modelos de dominio de Hibernate bien dieñados, usualmente "
-"vemos que la mayoría de las colecciones son de hecho asociaciones uno-a-"
-"muchos con <literal>inverse=\"true\"</literal>. Para estas asociaciones, la "
-"actualización es manejada por el extremo muchos-a-uno de la asociación, y "
-"las consideraciones de este tipo sobre el rendimiento de actualización de "
-"colecciones simplemente no se aplican."
+"Sin embargo, en modelos de dominio de Hibernate bien dieñados, "
+"usualmente vemos que la mayoría de las colecciones son de hecho "
+"asociaciones uno-a-muchos con <literal>inverse=\"true\"</literal>. Para "
+"estas asociaciones, la actualización es manejada por el extremo "
+"muchos-a-uno de la asociación, y las consideraciones de este tipo "
+"sobre el rendimiento de actualización de colecciones simplemente no "
+"se aplican."
-#. Tag: title
-#: performance.xml:1078
-#, no-c-format
+#: index.docbook:1078
msgid "Bags and lists are the most efficient inverse collections"
-msgstr "Los Bags y las listas son las colecciones inversas más eficientes"
+msgstr ""
+"Los Bags y las listas son las colecciones inversas más eficientes"
-#. Tag: para
-#: performance.xml:1080
-#, no-c-format
+#: index.docbook:1080
msgid ""
"Just before you ditch bags forever, there is a particular case in which bags "
"(and also lists) are much more performant than sets. For a collection with "
@@ -2227,18 +2002,17 @@
"much faster."
msgstr ""
"Justo antes que tires a la zanja los bags para siempre, hay un caso en "
-"particular en el que los bags son muchos más eficientes que los conjuntos. "
-"Para una colección con <literal>inverse=\"true\"</literal> (el idioma "
-"estándar de relaciones uno-a-muchos bidireccionales, por ejemplo) ¡podemos "
-"añadir elementos a un bag o lista sin necesidad de inicializar (fetch) los "
-"elementos del bag! Esto se debe a que <literal>Collection.add()</literal> o "
-"<literal>Collection.addAll()</literal> siempre deben devolver true para un "
-"bag o <literal>List</literal> (no como un <literal>Set</literal>). Esto "
-"puede hacer el siguiente código común mucho más rápido."
+"particular en el que los bags son muchos más eficientes que los "
+"conjuntos. Para una colección con <literal>inverse=\"true\"</literal> "
+"(el idioma estándar de relaciones uno-a-muchos bidireccionales, por "
+"ejemplo) ¡podemos añadir elementos a un bag o lista sin "
+"necesidad de inicializar (fetch) los elementos del bag! Esto se debe a que "
+"<literal>Collection.add()</literal> o <literal>Collection.addAll()</literal> "
+"siempre deben devolver true para un bag o <literal>List</literal> (no como "
+"un <literal>Set</literal>). Esto puede hacer el siguiente código "
+"común mucho más rápido."
-#. Tag: programlisting
-#: performance.xml:1090
-#, no-c-format
+#: index.docbook:1090
msgid ""
"<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
"Child c = new Child();\n"
@@ -2246,16 +2020,17 @@
"p.getChildren().add(c); //no need to fetch the collection!\n"
"sess.flush();]]>"
msgstr ""
+"<![CDATA[Parent p = (Parent) sess.load(Parent.class, id);\n"
+" Child c = new Child();\n"
+" c.setParent(p);\n"
+" p.getChildren().add(c); //no need to fetch the collection!\n"
+" sess.flush();]]>"
-#. Tag: title
-#: performance.xml:1095
-#, no-c-format
+#: index.docbook:1095
msgid "One shot delete"
msgstr "Borrado de un solo tiro"
-#. Tag: para
-#: performance.xml:1097
-#, no-c-format
+#: index.docbook:1097
msgid ""
"Occasionally, deleting collection elements one by one can be extremely "
"inefficient. Hibernate isn't completely stupid, so it knows not to do that "
@@ -2263,68 +2038,60 @@
"</literal>, for example). In this case, Hibernate will issue a single "
"<literal>DELETE</literal> and we are done!"
msgstr ""
-"Ocasionalmente, borrar los elementos de una colección uno a uno puede ser "
-"extremadamente ineficiente. Hibernate no es completamente estúpido, de modo "
-"que sabe no hacer eso, en el caso de una colección nueva-vacía (si has "
-"llamado a <literal>list.clear()</literal>, por ejemplo). En este caso, "
-"Hibernate publicará una sola <literal>DELETE</literal>, ¡y listo!"
+"Ocasionalmente, borrar los elementos de una colección uno a uno puede "
+"ser extremadamente ineficiente. Hibernate no es completamente estú"
+"pido, de modo que sabe no hacer eso, en el caso de una colección "
+"nueva-vacía (si has llamado a <literal>list.clear()</literal>, por "
+"ejemplo). En este caso, Hibernate publicará una sola <literal>DELETE</"
+"literal>, ¡y listo!"
-#. Tag: para
-#: performance.xml:1104
-#, no-c-format
+#: index.docbook:1104
msgid ""
"Suppose we add a single element to a collection of size twenty and then "
"remove two elements. Hibernate will issue one <literal>INSERT</literal> "
"statement and two <literal>DELETE</literal> statements (unless the "
"collection is a bag). This is certainly desirable."
msgstr ""
-"Supón que añadimos un solo elemento a una colección de tamaño veinte y luego "
-"quitamos dos elementos. Hibernate publicará una sentencia <literal>INSERT</"
-"literal> y dos sentencias <literal>DELETE</literal> (a menos que la "
-"colección sea un bag). Esto es ciertamente deseable."
+"Supón que añadimos un solo elemento a una colección de "
+"tamaño veinte y luego quitamos dos elementos. Hibernate "
+"publicará una sentencia <literal>INSERT</literal> y dos sentencias "
+"<literal>DELETE</literal> (a menos que la colección sea un bag). Esto "
+"es ciertamente deseable."
-#. Tag: para
-#: performance.xml:1110
-#, no-c-format
+#: index.docbook:1110
msgid ""
"However, suppose that we remove eighteen elements, leaving two and then add "
"thee new elements. There are two possible ways to proceed"
msgstr ""
-"Sin embargo, supón que quitamos dieciocho elementos, dejando dos y luego "
-"añadimos tres nuevos elementos. Hay dos formas posibles de proceder"
+"Sin embargo, supón que quitamos dieciocho elementos, dejando dos y "
+"luego añadimos tres nuevos elementos. Hay dos formas posibles de "
+"proceder"
-#. Tag: para
-#: performance.xml:1117
-#, no-c-format
+#: index.docbook:1117
msgid "delete eighteen rows one by one and then insert three rows"
msgstr "borrar dieciocho filas una a una y luego insertar tres filas"
-#. Tag: para
-#: performance.xml:1120
-#, no-c-format
+#: index.docbook:1120
msgid ""
"remove the whole collection (in one SQL <literal>DELETE</literal>) and "
"insert all five current elements (one by one)"
msgstr ""
-"quitar toda la colección (en un solo <literal>DELETE</literal> de SQL) e "
-"insertar todos los cinco elementos actuales (uno a uno)"
+"quitar toda la colección (en un solo <literal>DELETE</literal> de "
+"SQL) e insertar todos los cinco elementos actuales (uno a uno)"
-#. Tag: para
-#: performance.xml:1125
-#, no-c-format
+#: index.docbook:1125
msgid ""
"Hibernate isn't smart enough to know that the second option is probably "
"quicker in this case. (And it would probably be undesirable for Hibernate to "
"be that smart; such behaviour might confuse database triggers, etc.)"
msgstr ""
"Hibernate no es lo suficientemente inteligente para saber que la segunda "
-"opción es probablemente más rápida en este caso. (Y que sería probablemente "
-"indeseable para Hibernate ser tan inteligente; este comportamiento podría "
-"confundir a disparadores de base de datos, etc.)"
+"opción es probablemente más rápida en este caso. (Y que "
+"sería probablemente indeseable para Hibernate ser tan inteligente; "
+"este comportamiento podría confundir a disparadores de base de datos, "
+"etc.)"
-#. Tag: para
-#: performance.xml:1131
-#, no-c-format
+#: index.docbook:1131
msgid ""
"Fortunately, you can force this behaviour (ie. the second strategy) at any "
"time by discarding (ie. dereferencing) the original collection and returning "
@@ -2333,13 +2100,11 @@
msgstr ""
"Afortunadamente, puedes forzar este comportamiento (es decir, la segunda "
"estrategia) en cualquier momento descartando (es decir, desreferenciando) la "
-"colección original y devolviendo una colección nuevamente instanciada con "
-"todos los elementos actuales. Esto puede ser muy útil y potente de vez en "
-"cuando."
+"colección original y devolviendo una colección nuevamente "
+"instanciada con todos los elementos actuales. Esto puede ser muy útil "
+"y potente de vez en cuando."
-#. Tag: para
-#: performance.xml:1137
-#, no-c-format
+#: index.docbook:1137
msgid ""
"Of course, one-shot-delete does not apply to collections mapped "
"<literal>inverse=\"true\"</literal>."
@@ -2347,62 +2112,51 @@
"Por supuesto, el borrado-de-un-solo-tiro no se aplica a colecciones mapeadas "
"<literal>inverse=\"true\"</literal>."
-#. Tag: title
-#: performance.xml:1146
-#, no-c-format
+#: index.docbook:1146
msgid "Monitoring performance"
msgstr "Monitoreando el rendimiento"
-#. Tag: para
-#: performance.xml:1148
-#, no-c-format
+#: index.docbook:1148
msgid ""
"Optimization is not much use without monitoring and access to performance "
"numbers. Hibernate provides a full range of figures about its internal "
"operations. Statistics in Hibernate are available per "
"<literal>SessionFactory</literal>."
msgstr ""
-"La optimización no es de mucho uso sin el monitoreo y el acceso a números de "
-"rendimiento. Hibernate provee un rango completo de figuras sobre sus "
-"operaciones internas. Las estadísticas en Hibernate están disponibles por "
-"<literal>SessionFactory</literal>."
+"La optimización no es de mucho uso sin el monitoreo y el acceso a "
+"números de rendimiento. Hibernate provee un rango completo de figuras "
+"sobre sus operaciones internas. Las estadísticas en Hibernate "
+"están disponibles por <literal>SessionFactory</literal>."
-#. Tag: title
-#: performance.xml:1155
-#, no-c-format
+#: index.docbook:1155
msgid "Monitoring a SessionFactory"
msgstr "Monitoreando una SessionFactory"
-#. Tag: para
-#: performance.xml:1157
-#, no-c-format
+#: index.docbook:1157
msgid ""
"You can access <literal>SessionFactory</literal> metrics in two ways. Your "
"first option is to call <literal>sessionFactory.getStatistics()</literal> "
"and read or display the <literal>Statistics</literal> yourself."
msgstr ""
-"Puedes acceder a las métricas de <literal>SessionFactory</literal> de dos "
-"formas. Tu primera opción es llamar a <literal>sessionFactory.getStatistics()"
-"</literal> y leer o mostrar por pantalla la <literal>Statistics</literal> "
-"por ti mismo."
+"Puedes acceder a las métricas de <literal>SessionFactory</literal> de "
+"dos formas. Tu primera opción es llamar a <literal>sessionFactory."
+"getStatistics()</literal> y leer o mostrar por pantalla la "
+"<literal>Statistics</literal> por ti mismo."
-#. Tag: para
-#: performance.xml:1163
-#, no-c-format
+#: index.docbook:1163
msgid ""
"Hibernate can also use JMX to publish metrics if you enable the "
"<literal>StatisticsService</literal> MBean. You may enable a single MBean "
"for all your <literal>SessionFactory</literal> or one per factory. See the "
"following code for minimalistic configuration examples:"
msgstr ""
-"Hibernate puede también usar JMX para publicar las métricas si habilitas el "
-"MBean <literal>StatisticsService</literal>. Puede habilitar un solo MBean "
-"para todas tus <literal>SessionFactory</literal> o una por fábrica. Mira el "
-"siguiente código para ejemplos de configuración minimalistas:"
+"Hibernate puede también usar JMX para publicar las métricas si "
+"habilitas el MBean <literal>StatisticsService</literal>. Puede habilitar un "
+"solo MBean para todas tus <literal>SessionFactory</literal> o una por "
+"fábrica. Mira el siguiente código para ejemplos de "
+"configuración minimalistas:"
-#. Tag: programlisting
-#: performance.xml:1170
-#, no-c-format
+#: index.docbook:1170
msgid ""
"<![CDATA[// MBean service registration for a specific SessionFactory\n"
"Hashtable tb = new Hashtable();\n"
@@ -2415,10 +2169,18 @@
"SessionFactory\n"
"server.registerMBean(stats, on); // Register the Mbean on the server]]>"
msgstr ""
+"<![CDATA[// MBean service registration for a specific SessionFactory\n"
+"Hashtable tb = new Hashtable();\n"
+"tb.put(\"type\", \"statistics\");\n"
+"tb.put(\"sessionFactory\", \"myFinancialApp\");\n"
+"ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
+"\n"
+"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
+"stats.setSessionFactory(sessionFactory); // Bind the stats to a "
+"SessionFactory\n"
+"server.registerMBean(stats, on); // Register the Mbean on the server]]>"
-#. Tag: programlisting
-#: performance.xml:1173
-#, no-c-format
+#: index.docbook:1173
msgid ""
"<![CDATA[// MBean service registration for all SessionFactory's\n"
"Hashtable tb = new Hashtable();\n"
@@ -2429,10 +2191,16 @@
"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
"server.registerMBean(stats, on); // Register the MBean on the server]]>"
msgstr ""
+"<![CDATA[// MBean service registration for all SessionFactory's\n"
+"Hashtable tb = new Hashtable();\n"
+"tb.put(\"type\", \"statistics\");\n"
+"tb.put(\"sessionFactory\", \"all\");\n"
+"ObjectName on = new ObjectName(\"hibernate\", tb); // MBean object name\n"
+"\n"
+"StatisticsService stats = new StatisticsService(); // MBean implementation\n"
+"server.registerMBean(stats, on); // Register the MBean on the server]]>"
-#. Tag: para
-#: performance.xml:1175
-#, no-c-format
+#: index.docbook:1175
msgid ""
"TODO: This doesn't make sense: In the first case, we retrieve and use the "
"MBean directly. In the second one, we must give the JNDI name in which the "
@@ -2441,104 +2209,87 @@
msgstr ""
"POR HACER: Esto no tiene sentido: En el primer caso, recuperamos y usamos el "
"MBean directamente. En el segundo, debemos proporcionar el nombre JNDI en el "
-"que se guarda la fábrica de sesiones antes de usarlo. Usa "
+"que se guarda la fábrica de sesiones antes de usarlo. Usa "
"<literal>hibernateStatsBean.setSessionFactoryJNDIName(\"my/JNDI/Name\")</"
"literal>"
-#. Tag: para
-#: performance.xml:1180
-#, no-c-format
+#: index.docbook:1180
msgid ""
"You can (de)activate the monitoring for a <literal>SessionFactory</literal>"
msgstr ""
"Puedes (des)activar el monitoreo de una <literal>SessionFactory</literal>"
-#. Tag: para
-#: performance.xml:1185
-#, no-c-format
+#: index.docbook:1185
msgid ""
"at configuration time, set <literal>hibernate.generate_statistics</literal> "
"to <literal>false</literal>"
msgstr ""
-"en tiempo de configuración, establece <literal>hibernate."
+"en tiempo de configuración, establece <literal>hibernate."
"generate_statistics</literal> a <literal>false</literal>"
-#. Tag: para
-#: performance.xml:1192
-#, no-c-format
+#: index.docbook:1192
msgid ""
"at runtime: <literal>sf.getStatistics().setStatisticsEnabled(true)</literal> "
"or <literal>hibernateStatsBean.setStatisticsEnabled(true)</literal>"
msgstr ""
-"en tiempo de ejecución: <literal>sf.getStatistics().setStatisticsEnabled"
-"(true)</literal> o <literal>hibernateStatsBean.setStatisticsEnabled(true)</"
-"literal>"
+"en tiempo de ejecución: <literal>sf.getStatistics()."
+"setStatisticsEnabled(true)</literal> o <literal>hibernateStatsBean."
+"setStatisticsEnabled(true)</literal>"
-#. Tag: para
-#: performance.xml:1199
-#, no-c-format
+#: index.docbook:1199
msgid ""
"Statistics can be reset programatically using the <literal>clear()</literal> "
"method. A summary can be sent to a logger (info level) using the "
"<literal>logSummary()</literal> method."
msgstr ""
-"Las estadísticas pueden ser reajustadas programáticamente usando el método "
-"<literal>clear()</literal>. Puede enviarse un resumen a un logger (nivel "
-"info) usando el método <literal>logSummary()</literal>."
+"Las estadísticas pueden ser reajustadas programáticamente "
+"usando el método <literal>clear()</literal>. Puede enviarse un "
+"resumen a un logger (nivel info) usando el método <literal>logSummary"
+"()</literal>."
-#. Tag: title
-#: performance.xml:1208
-#, no-c-format
+#: index.docbook:1208
msgid "Metrics"
-msgstr "Métricas"
+msgstr "Métricas"
-#. Tag: para
-#: performance.xml:1210
-#, no-c-format
+#: index.docbook:1210
msgid ""
"Hibernate provides a number of metrics, from very basic to the specialized "
"information only relevant in certain scenarios. All available counters are "
"described in the <literal>Statistics</literal> interface API, in three "
"categories:"
msgstr ""
-"Hibernate provee un número de métricas, desde información muy básica a la "
-"especializada sólo relevante en ciertos escenarios. Todos los contadores "
-"disponibles se describen en la API de la interface <literal>Statistics</"
-"literal>, en tres categorías:"
+"Hibernate provee un número de métricas, desde informació"
+"n muy básica a la especializada sólo relevante en ciertos "
+"escenarios. Todos los contadores disponibles se describen en la API de la "
+"interface <literal>Statistics</literal>, en tres categorías:"
-#. Tag: para
-#: performance.xml:1217
-#, no-c-format
+#: index.docbook:1217
msgid ""
"Metrics related to the general <literal>Session</literal> usage, such as "
"number of open sessions, retrieved JDBC connections, etc."
msgstr ""
-"Métricas relacionadas al uso general de <literal>Session</literal> usage, "
-"tales como número de sesiones abiertas, conexiones JDBC recuperadas, etc,"
+"Métricas relacionadas al uso general de <literal>Session</literal> "
+"usage, tales como número de sesiones abiertas, conexiones JDBC "
+"recuperadas, etc,"
-#. Tag: para
-#: performance.xml:1223
-#, no-c-format
+#: index.docbook:1223
msgid ""
"Metrics related to he entities, collections, queries, and caches as a whole "
"(aka global metrics),"
msgstr ""
-"Métricas relacionadas a las entidades, colecciones, consultas, y cachés como "
-"un todo. (también conocidas como métricas globales)."
+"Métricas relacionadas a las entidades, colecciones, consultas, y "
+"cachés como un todo. (también conocidas como métricas "
+"globales)."
-#. Tag: para
-#: performance.xml:1229
-#, no-c-format
+#: index.docbook:1229
msgid ""
"Detailed metrics related to a particular entity, collection, query or cache "
"region."
msgstr ""
-"Métricas detalladas relacionadas a una entidad, colección, consulta o región "
-"de caché en particular."
+"Métricas detalladas relacionadas a una entidad, colección, "
+"consulta o región de caché en particular."
-#. Tag: para
-#: performance.xml:1236
-#, no-c-format
+#: index.docbook:1236
msgid ""
"For exampl,e you can check the cache hit, miss, and put ratio of entities, "
"collections and queries, and the average time a query needs. Beware that the "
@@ -2546,16 +2297,15 @@
"tied to the JVM precision, on some platforms this might even only be "
"accurate to 10 seconds."
msgstr ""
-"Por ejemplo, puedes comprobar el acceso, pérdida, y radio de colocación de "
-"entidades, colecciones y consultas en el caché, y el tiempo promedio que "
-"necesita una consulta. Ten en cuenta que el número de milisegundos está "
-"sujeto a aproximación en Java. Hibernate está pegado a la precisión de la "
-"JVM, en algunas plataformas esto podría incuso ser tener sólo una exactitud "
-"de 10 segundos."
+"Por ejemplo, puedes comprobar el acceso, pérdida, y radio de "
+"colocación de entidades, colecciones y consultas en el caché, "
+"y el tiempo promedio que necesita una consulta. Ten en cuenta que el "
+"número de milisegundos está sujeto a aproximación en "
+"Java. Hibernate está pegado a la precisión de la JVM, en "
+"algunas plataformas esto podría incuso ser tener sólo una "
+"exactitud de 10 segundos."
-#. Tag: para
-#: performance.xml:1243
-#, no-c-format
+#: index.docbook:1243
msgid ""
"Simple getters are used to access the global metrics (i.e. not tied to a "
"particular entity, collection, cache region, etc.). You can access the "
@@ -2567,20 +2317,19 @@
"literal> API Javadoc for more information. The following code shows a simple "
"example:"
msgstr ""
-"Se usan getters simples para acceder a las métricas globales (es decir, no "
-"pegadas a una entidad, colección, región de caché, etc, en particular). "
-"Puedes acceder a las métricas de una entidad, colección, región de caché en "
-"particular a través de su nombre, y a través de su representación HQL o SQL "
-"para las consultas. Por favor refiérete al Javadoc de la API de "
-"<literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
+"Se usan getters simples para acceder a las métricas globales (es "
+"decir, no pegadas a una entidad, colección, región de "
+"caché, etc, en particular). Puedes acceder a las métricas de "
+"una entidad, colección, región de caché en particular a "
+"través de su nombre, y a través de su representación "
+"HQL o SQL para las consultas. Por favor refiérete al Javadoc de la "
+"API de <literal>Statistics</literal>, <literal>EntityStatistics</literal>, "
"<literal>CollectionStatistics</literal>, "
"<literal>SecondLevelCacheStatistics</literal>, y <literal>QueryStatistics</"
-"literal> para más información. El siguiente código muestra un ejemplo "
-"sencillo:"
+"literal> para más información. El siguiente código "
+"muestra un ejemplo sencillo:"
-#. Tag: programlisting
-#: performance.xml:1253
-#, no-c-format
+#: index.docbook:1253
msgid ""
"<![CDATA[Statistics stats = HibernateUtil.sessionFactory.getStatistics();\n"
"\n"
@@ -2599,10 +2348,24 @@
" + entityStats.getDeleteCount();\n"
"log.info(Cat.class.getName() + \" changed \" + changes + \"times\" );]]>"
msgstr ""
+"<![CDATA[Statistics stats = HibernateUtil.sessionFactory.getStatistics();\n"
+"\n"
+"double queryCacheHitCount = stats.getQueryCacheHitCount();\n"
+"double queryCacheMissCount = stats.getQueryCacheMissCount();\n"
+"double queryCacheHitRatio =\n"
+" queryCacheHitCount / (queryCacheHitCount + queryCacheMissCount);\n"
+"\n"
+"log.info(\"Query Hit ratio:\" + queryCacheHitRatio);\n"
+"\n"
+"EntityStatistics entityStats =\n"
+" stats.getEntityStatistics( Cat.class.getName() );\n"
+"long changes =\n"
+" entityStats.getInsertCount()\n"
+" + entityStats.getUpdateCount()\n"
+" + entityStats.getDeleteCount();\n"
+"log.info(Cat.class.getName() + \" changed \" + changes + \"times\" );]]>"
-#. Tag: para
-#: performance.xml:1255
-#, no-c-format
+#: index.docbook:1255
msgid ""
"To work on all entities, collections, queries and region caches, you can "
"retrieve the list of names of entities, collections, queries and region "
@@ -2611,11 +2374,14 @@
"literal>, and <literal>getSecondLevelCacheRegionNames()</literal>."
msgstr ""
"Para trabajar sobre todas las entidades, colecciones, consultas y regiones "
-"de cachés, puedes recuperar la lista de nombres de entidades, colecciones, "
-"consultas y regiones de cachés con los siguientes métodos: "
-"<literal>getQueries()</literal>, <literal>getEntityNames()</literal>, "
-"<literal>getCollectionRoleNames()</literal>, y "
+"de cachés, puedes recuperar la lista de nombres de entidades, "
+"colecciones, consultas y regiones de cachés con los siguientes "
+"métodos: <literal>getQueries()</literal>, <literal>getEntityNames()</"
+"literal>, <literal>getCollectionRoleNames()</literal>, y "
"<literal>getSecondLevelCacheRegionNames()</literal>."
-#~ msgid "yes"
-#~ msgstr "sí"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/persistent_classes.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,39 +1,28 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: persistent_classes.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Persistent Classes"
msgstr "Clases Persistentes"
-#. Tag: para
-#: persistent_classes.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Persistent classes are classes in an application that implement the entities "
"of the business problem (e.g. Customer and Order in an E-commerce "
"application). Not all instances of a persistent class are considered to be "
"in the persistent state - an instance may instead be transient or detached."
msgstr ""
-"Clases presistentes son clases en una aplicación que implementan las "
+"Clases presistentes son clases en una aplicación que implementan las "
"entidades del problema de negocio (por ejemplo, Customer y Order en una "
-"aplicación de comercio electrónico). No todas las instancias de una clase "
-"persistente se considera que estén en el estado persistente, una instancia "
-"puede en cambio ser transitoria o estar separada."
+"aplicación de comercio electrónico). No todas las instancias "
+"de una clase persistente se considera que estén en el estado "
+"persistente, una instancia puede en cambio ser transitoria o estar separada."
-#. Tag: para
-#: persistent_classes.xml:14
-#, no-c-format
+#: index.docbook:14
msgid ""
"Hibernate works best if these classes follow some simple rules, also known "
"as the Plain Old Java Object (POJO) programming model. However, none of "
@@ -42,29 +31,24 @@
"in other ways: using trees of <literal>Map</literal> instances, for example."
msgstr ""
"Hibernate funciona mejor si las clases siguen algunas simples reglas, "
-"también conocidas como el modelo de programación de Viejas Clases Java "
-"Planas (Plain Old Java Object o POJO). Sin embargo, ninguna de estas reglas "
-"son requerimientos rígidos. En cambio, Hibernate3 asume muy poco acerca de "
-"la naturaleza de tus objetos persistentes. Puedes expresar un modelo de "
-"dominio en otras formas: usando árboles de instancias de <literal>Map</"
-"literal>, por ejemplo."
+"también conocidas como el modelo de programación de Viejas "
+"Clases Java Planas (Plain Old Java Object o POJO). Sin embargo, ninguna de "
+"estas reglas son requerimientos rígidos. En cambio, Hibernate3 asume "
+"muy poco acerca de la naturaleza de tus objetos persistentes. Puedes "
+"expresar un modelo de dominio en otras formas: usando árboles de "
+"instancias de <literal>Map</literal>, por ejemplo."
-#. Tag: title
-#: persistent_classes.xml:23
-#, no-c-format
+#: index.docbook:23
msgid "A simple POJO example"
msgstr "Un ejemplo simple de POJO"
-#. Tag: para
-#: persistent_classes.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "Most Java applications require a persistent class representing felines."
msgstr ""
-"La mayoría de aplicaciones Java requieren una clase representando felinos."
+"La mayoría de aplicaciones Java requieren una clase representando "
+"felinos."
-#. Tag: programlisting
-#: persistent_classes.xml:29
-#, no-c-format
+#: index.docbook:29
msgid ""
"<![CDATA[package eg;\n"
"import java.util.Set;\n"
@@ -145,22 +129,94 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"import java.util.Set;\n"
+"import java.util.Date;\n"
+"\n"
+"public class Cat {\n"
+" private Long id; // identifier\n"
+"\n"
+" private Date birthdate;\n"
+" private Color color;\n"
+" private char sex;\n"
+" private float weight;\n"
+" private int litterId;\n"
+"\n"
+" private Cat mother;\n"
+" private Set kittens = new HashSet();\n"
+"\n"
+" private void setId(Long id) {\n"
+" this.id=id;\n"
+" }\n"
+" public Long getId() {\n"
+" return id;\n"
+" }\n"
+"\n"
+" void setBirthdate(Date date) {\n"
+" birthdate = date;\n"
+" }\n"
+" public Date getBirthdate() {\n"
+" return birthdate;\n"
+" }\n"
+"\n"
+" void setWeight(float weight) {\n"
+" this.weight = weight;\n"
+" }\n"
+" public float getWeight() {\n"
+" return weight;\n"
+" }\n"
+"\n"
+" public Color getColor() {\n"
+" return color;\n"
+" }\n"
+" void setColor(Color color) {\n"
+" this.color = color;\n"
+" }\n"
+"\n"
+" void setSex(char sex) {\n"
+" this.sex=sex;\n"
+" }\n"
+" public char getSex() {\n"
+" return sex;\n"
+" }\n"
+"\n"
+" void setLitterId(int id) {\n"
+" this.litterId = id;\n"
+" }\n"
+" public int getLitterId() {\n"
+" return litterId;\n"
+" }\n"
+"\n"
+" void setMother(Cat mother) {\n"
+" this.mother = mother;\n"
+" }\n"
+" public Cat getMother() {\n"
+" return mother;\n"
+" }\n"
+" void setKittens(Set kittens) {\n"
+" this.kittens = kittens;\n"
+" }\n"
+" public Set getKittens() {\n"
+" return kittens;\n"
+" }\n"
+" \n"
+" // addKitten not needed by Hibernate\n"
+" public void addKitten(Cat kitten) {\n"
+" kitten.setMother(this);\n"
+" kitten.setLitterId( kittens.size() ); \n"
+" kittens.add(kitten);\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: persistent_classes.xml:31
-#, no-c-format
+#: index.docbook:31
msgid "There are four main rules to follow here:"
-msgstr "Aquí hay cuatro reglas principales a seguir:"
+msgstr "Aquí hay cuatro reglas principales a seguir:"
-#. Tag: title
-#: persistent_classes.xml:37
-#, no-c-format
+#: index.docbook:37
msgid "Implement a no-argument constructor"
msgstr "Implementa un constructor sin argumentos"
-#. Tag: para
-#: persistent_classes.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"<literal>Cat</literal> has a no-argument constructor. All persistent classes "
"must have a default constructor (which may be non-public) so that Hibernate "
@@ -171,20 +227,17 @@
msgstr ""
"<literal>Cat</literal> tiene un contructor sin argumentos. Todas las clases "
"persistentes deben tener un constructor por defecto (que puede no ser "
-"público) de modo que Hibernate pueda instanciarlas usando "
+"público) de modo que Hibernate pueda instanciarlas usando "
"<literal>Constructor.newInstance()</literal>. Recomendamos fuertemente tener "
"un constructor por defecto con al menos visibilidad de <emphasis>package</"
-"emphasis> para la generación de proxies en tiempo de ejecución en Hibernate."
+"emphasis> para la generación de proxies en tiempo de ejecución "
+"en Hibernate."
-#. Tag: title
-#: persistent_classes.xml:49
-#, no-c-format
+#: index.docbook:49
msgid "Provide an identifier property (optional)"
msgstr "Provee una propiedad identificadora (opcional)"
-#. Tag: para
-#: persistent_classes.xml:51
-#, no-c-format
+#: index.docbook:51
msgid ""
"<literal>Cat</literal> has a property called <literal>id</literal>. This "
"property maps to the primary key column of a database table. The property "
@@ -196,16 +249,15 @@
msgstr ""
"<literal>Cat</literal> tiene una propiedad llamada <literal>id</literal>. "
"Esta propiedad mapea a la columna clave primaria de la tabla de base de "
-"datos. La propiedad podría llamarse cualquierCosa, y su tipo podría haber "
-"sido cualquier tipo primitivo, cualquier tipo de \"envoltura\" primitivo, "
-"<literal>java.lang.String</literal> o <literal>java.util.Date</literal>. (Si "
-"tu tabla de base de datos heredada tiene claves compuestas, puedes incluso "
-"usar una clase definida por el usuario con propiedades de estos tipos, ver "
-"la sección sobre identificadores compuestos luego.)"
+"datos. La propiedad podría llamarse cualquierCosa, y su tipo "
+"podría haber sido cualquier tipo primitivo, cualquier tipo de "
+"\"envoltura\" primitivo, <literal>java.lang.String</literal> o <literal>java."
+"util.Date</literal>. (Si tu tabla de base de datos heredada tiene claves "
+"compuestas, puedes incluso usar una clase definida por el usuario con "
+"propiedades de estos tipos, ver la sección sobre identificadores "
+"compuestos luego.)"
-#. Tag: para
-#: persistent_classes.xml:60
-#, no-c-format
+#: index.docbook:60
msgid ""
"The identifier property is strictly optional. You can leave them off and let "
"Hibernate keep track of object identifiers internally. We do not recommend "
@@ -215,106 +267,85 @@
"dejar que Hibernate siga internamente la pista de los identificadores del "
"objeto. Sin embargo, no recomendamos esto."
-#. Tag: para
-#: persistent_classes.xml:65
-#, no-c-format
+#: index.docbook:65
msgid ""
"In fact, some functionality is available only to classes which declare an "
"identifier property:"
msgstr ""
-"De hecho, alguna funcionalidad está disponible sólo para clases que declaran "
-"una propiedad identificadora:"
+"De hecho, alguna funcionalidad está disponible sólo para "
+"clases que declaran una propiedad identificadora:"
-#. Tag: para
-#: persistent_classes.xml:72
-#, fuzzy, no-c-format
+#: index.docbook:72
msgid ""
"Transitive reattachment for detached objects (cascade update or cascade "
"merge) - see"
msgstr ""
-"Reasociación transitiva de objetos separados (actualizaciones o fusiones en "
-"cascada) - ver <xref linkend=\"objectstate-transitive\"/>"
+"Reasociación transitiva de objetos separados (actualizaciones o "
+"fusiones en cascada) - ver"
-#. Tag: literal
-#: persistent_classes.xml:79
-#, no-c-format
+#: index.docbook:79
msgid "Session.saveOrUpdate()"
msgstr "Session.saveOrUpdate()"
-#. Tag: literal
-#: persistent_classes.xml:84
-#, no-c-format
+#: index.docbook:84
msgid "Session.merge()"
msgstr "Session.merge()"
-#. Tag: para
-#: persistent_classes.xml:89
-#, no-c-format
+#: index.docbook:89
msgid ""
"We recommend you declare consistently-named identifier properties on "
"persistent classes. We further recommend that you use a nullable (ie. non-"
"primitive) type."
msgstr ""
"Recomendamos que declares propiedades identificadoras nombradas-"
-"consistentemente en clases persistentes. Mas aún, recomendamos que uses un "
-"tipo nulable (es decir, no primitivo)."
+"consistentemente en clases persistentes. Mas aún, recomendamos que "
+"uses un tipo nulable (es decir, no primitivo)."
-#. Tag: title
-#: persistent_classes.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "Prefer non-final classes (optional)"
msgstr "Prefiere las clases no finales (opcional)"
-#. Tag: para
-#: persistent_classes.xml:97
-#, no-c-format
+#: index.docbook:97
msgid ""
"A central feature of Hibernate, <emphasis>proxies</emphasis>, depends upon "
"the persistent class being either non-final, or the implementation of an "
"interface that declares all public methods."
msgstr ""
"Un aspecto central de Hibernate, <emphasis>proxies</emphasis>, depende de "
-"que las clases persistentes sean ya no finales, o sean ya la implementación "
-"de una interface que declare todos los métodos públicos."
+"que las clases persistentes sean ya no finales, o sean ya la "
+"implementación de una interface que declare todos los métodos "
+"públicos."
-#. Tag: para
-#: persistent_classes.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"You can persist <literal>final</literal> classes that do not implement an "
"interface with Hibernate, but you won't be able to use proxies for lazy "
"association fetching - which will limit your options for performance tuning."
msgstr ""
"Puedes persistir con Hibernate clases <literal>final</literal> que no "
-"implementen una interface, pero no serás capaz de usar proxies para "
-"recuperación perezosa de asociaciones, lo que limitará tus opciones para "
-"afinar el rendimiento."
+"implementen una interface, pero no serás capaz de usar proxies para "
+"recuperación perezosa de asociaciones, lo que limitará tus "
+"opciones para afinar el rendimiento."
-#. Tag: para
-#: persistent_classes.xml:107
-#, no-c-format
+#: index.docbook:107
msgid ""
"You should also avoid declaring <literal>public final</literal> methods on "
"the 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>."
msgstr ""
-"Debes también evitar declarar métodos <literal>public final</literal> en "
-"clases non-final. Si quieres usar una clase con un método <literal>public "
-"final</literal>, debes deshabilitar explícitamente el uso de proxies "
-"estableciendo <literal>lazy=\"false\"</literal>."
+"Debes también evitar declarar métodos <literal>public final</"
+"literal> en clases non-final. Si quieres usar una clase con un método "
+"<literal>public final</literal>, debes deshabilitar explícitamente el "
+"uso de proxies estableciendo <literal>lazy=\"false\"</literal>."
-#. Tag: title
-#: persistent_classes.xml:115
-#, no-c-format
+#: index.docbook:115
msgid "Declare accessors and mutators for persistent fields (optional)"
msgstr ""
-"Declara métodos de acceso y modificación para los campos persistentes "
-"(opcional)"
+"Declara métodos de acceso y modificación para los campos "
+"persistentes (opcional)"
-#. Tag: para
-#: persistent_classes.xml:117
-#, no-c-format
+#: index.docbook:117
msgid ""
"<literal>Cat</literal> declares accessor methods for all its persistent "
"fields. Many other ORM tools directly persist instance variables. We believe "
@@ -325,36 +356,30 @@
"literal>. You may switch to direct field access for particular properties, "
"if needed."
msgstr ""
-"<literal>Cat</literal> declara métodos de acceso para todos sus campos "
-"persistente. Muchas otras herramientas ORM persisten directamente variables "
-"de instancia. Creemos que es mejor proveer una indirección entre el esquema "
-"relacional y las estructuras internas de la clase. Por defecto, Hibernate "
-"persiste propiedades del estilo JavaBeans, y reconoce nombres de método de "
-"la forma <literal>getFoo</literal>, <literal>isFoo</literal> y "
-"<literal>setFoo</literal>. Puedes cambiar a acceso directo a campos para "
-"propiedades en particular, de ser necesario."
+"<literal>Cat</literal> declara métodos de acceso para todos sus "
+"campos persistente. Muchas otras herramientas ORM persisten directamente "
+"variables de instancia. Creemos que es mejor proveer una indirección "
+"entre el esquema relacional y las estructuras internas de la clase. Por "
+"defecto, Hibernate persiste propiedades del estilo JavaBeans, y reconoce "
+"nombres de método de la forma <literal>getFoo</literal>, "
+"<literal>isFoo</literal> y <literal>setFoo</literal>. Puedes cambiar a "
+"acceso directo a campos para propiedades en particular, de ser necesario."
-#. Tag: para
-#: persistent_classes.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"Properties need <emphasis>not</emphasis> be declared public - Hibernate can "
"persist a property with a default, <literal>protected</literal> or "
"<literal>private</literal> get / set pair."
msgstr ""
-"Las propiedades <emphasis>no</emphasis> necesitan ser declaradas públicas. "
-"Hibernate puede persistir una propiedad con un par get / set "
+"Las propiedades <emphasis>no</emphasis> necesitan ser declaradas pú"
+"blicas. Hibernate puede persistir una propiedad con un par get / set "
"<literal>protected</literal> o <literal>private</literal>."
-#. Tag: title
-#: persistent_classes.xml:138
-#, no-c-format
+#: index.docbook:138
msgid "Implementing inheritance"
msgstr "Implementando herencia"
-#. Tag: para
-#: persistent_classes.xml:140
-#, no-c-format
+#: index.docbook:140
msgid ""
"A subclass must also observe the first and second rules. It inherits its "
"identifier property from the superclass, <literal>Cat</literal>."
@@ -362,9 +387,7 @@
"Una subclase puede a su vez observar la primera y segunda regla. Hereda su "
"propiedad identificadora de la superclase, <literal>Cat</literal>."
-#. Tag: programlisting
-#: persistent_classes.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"<![CDATA[package eg;\n"
"\n"
@@ -379,28 +402,34 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[package eg;\n"
+"\n"
+"public class DomesticCat extends Cat {\n"
+" private String name;\n"
+"\n"
+" public String getName() {\n"
+" return name;\n"
+" }\n"
+" protected void setName(String name) {\n"
+" this.name=name;\n"
+" }\n"
+"}]]>"
-#. Tag: title
-#: persistent_classes.xml:149
-#, no-c-format
+#: index.docbook:149
msgid ""
"Implementing <literal>equals()</literal> and <literal>hashCode()</literal>"
msgstr ""
"Implementando <literal>equals()</literal> y <literal>hashCode()</literal>"
-#. Tag: para
-#: persistent_classes.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"You have to override the <literal>equals()</literal> and <literal>hashCode()"
"</literal> methods if you"
msgstr ""
-"Tienes que sobrescribir los métodos <literal>equals()</literal> y "
+"Tienes que sobrescribir los métodos <literal>equals()</literal> y "
"<literal>hashCode()</literal> si :"
-#. Tag: para
-#: persistent_classes.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"intend to put instances of persistent classes in a <literal>Set</literal> "
"(the recommended way to represent many-valued associations) <emphasis>and</"
@@ -410,15 +439,11 @@
"(la forma recomendada de representar asociaciones multivaluadas) "
"<emphasis>y</emphasis>"
-#. Tag: para
-#: persistent_classes.xml:164
-#, no-c-format
+#: index.docbook:164
msgid "intend to use reattachment of detached instances"
-msgstr "piensas usar reasociación de instancias separadas."
+msgstr "piensas usar reasociación de instancias separadas."
-#. Tag: para
-#: persistent_classes.xml:170
-#, no-c-format
+#: index.docbook:170
msgid ""
"Hibernate guarantees equivalence of persistent identity (database row) and "
"Java identity only inside a particular session scope. So as soon as we mix "
@@ -427,15 +452,13 @@
"semantics for <literal>Set</literal>s."
msgstr ""
"Hibernate garantiza la equivalencia de identidad persistente (fila de base "
-"de datos) y identidad Java sólo dentro del ámbito de una sesión en "
-"particular. De modo que en el momento que mezclamos instancias recuperadas "
-"en sesiones diferentes, debemos implementar <literal>equals()</literal> y "
-"<literal>hashCode()</literal> si deseamos tener una semántica significativa "
-"de <literal>Set</literal>s."
+"de datos) y identidad Java sólo dentro del ámbito de una "
+"sesión en particular. De modo que en el momento que mezclamos "
+"instancias recuperadas en sesiones diferentes, debemos implementar "
+"<literal>equals()</literal> y <literal>hashCode()</literal> si deseamos "
+"tener una semántica significativa de <literal>Set</literal>s."
-#. Tag: para
-#: persistent_classes.xml:178
-#, no-c-format
+#: index.docbook:178
msgid ""
"The most obvious way is to implement <literal>equals()</literal>/"
"<literal>hashCode()</literal> by comparing the identifier value of both "
@@ -453,26 +476,25 @@
"is not a Hibernate issue, but normal Java semantics of object identity and "
"equality."
msgstr ""
-"La forma más obvia es implementar <literal>equals()</literal>/"
+"La forma más obvia es implementar <literal>equals()</literal>/"
"<literal>hashCode()</literal> comparando el valor identificador de ambos "
"objetos. Si el valor es el mismo, ambos deben ser la misma fila de base de "
"datos, por lo tanto son iguales (si ambos son agregados a un <literal>Set</"
-"literal>, sólo tendremos un elemento en el <literal>Set</literal>). "
+"literal>, sólo tendremos un elemento en el <literal>Set</literal>). "
"Desafortunadamente, no podemos usar este enfoque con identificadores "
-"generados! Hibernate sólo asignará valores identificadores a objetos que son "
-"persistentes, una instancia recién creada no tendrá ningún valor "
-"identificador! Además, si una instancia no está salvada y está actualmente "
-"en un <literal>Set</literal>, salvarla asignará un valor identificador al "
+"generados! Hibernate sólo asignará valores identificadores a "
+"objetos que son persistentes, una instancia recién creada no "
+"tendrá ningún valor identificador! Además, si una "
+"instancia no está salvada y está actualmente en un "
+"<literal>Set</literal>, salvarla asignará un valor identificador al "
"objeto. Si <literal>equals()</literal> and <literal>hashCode()</literal> "
-"están basados en el valor identificador, el código hash podría cambiar, "
-"rompiendo el contrato de <literal>Set</literal>. Ver el sitio web de "
-"Hibernate para una discusión completa de este problema. Observa que esto no "
-"es una incidencia de Hibernate, sino la semántica normal de Java de "
-"identidad de objeto e igualdad."
+"están basados en el valor identificador, el código hash "
+"podría cambiar, rompiendo el contrato de <literal>Set</literal>. Ver "
+"el sitio web de Hibernate para una discusión completa de este "
+"problema. Observa que esto no es una incidencia de Hibernate, sino la "
+"semántica normal de Java de identidad de objeto e igualdad."
-#. Tag: para
-#: persistent_classes.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"We recommend implementing <literal>equals()</literal> and <literal>hashCode()"
"</literal> using <emphasis>Business key equality</emphasis>. Business key "
@@ -482,14 +504,13 @@
msgstr ""
"Recomendamos implementar <literal>equals()</literal> y <literal>hashCode()</"
"literal> usando <emphasis>igualdad de clave de negocio (Business key "
-"equality)</emphasis>. Igualdad de clave de negocio significa que el método "
-"<literal>equals()</literal> compara sólo las propiedades que forman la clave "
-"de negocio, una clave que podría identificar nuestra instancia en el mundo "
-"real (una clave candidata <emphasis>natural</emphasis>):"
+"equality)</emphasis>. Igualdad de clave de negocio significa que el mé"
+"todo <literal>equals()</literal> compara sólo las propiedades que "
+"forman la clave de negocio, una clave que podría identificar nuestra "
+"instancia en el mundo real (una clave candidata <emphasis>natural</"
+"emphasis>):"
-#. Tag: programlisting
-#: persistent_classes.xml:200
-#, no-c-format
+#: index.docbook:200
msgid ""
"<![CDATA[public class Cat {\n"
"\n"
@@ -515,40 +536,55 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[public class Cat {\n"
+"\n"
+" ...\n"
+" public boolean equals(Object other) {\n"
+" if (this == other) return true;\n"
+" if ( !(other instanceof Cat) ) return false;\n"
+"\n"
+" final Cat cat = (Cat) other;\n"
+"\n"
+" if ( !cat.getLitterId().equals( getLitterId() ) ) return false;\n"
+" if ( !cat.getMother().equals( getMother() ) ) return false;\n"
+"\n"
+" return true;\n"
+" }\n"
+"\n"
+" public int hashCode() {\n"
+" int result;\n"
+" result = getMother().hashCode();\n"
+" result = 29 * result + getLitterId();\n"
+" return result;\n"
+" }\n"
+"\n"
+"}]]>"
-#. Tag: para
-#: persistent_classes.xml:202
-#, no-c-format
+#: index.docbook:202
msgid ""
"Note that a business key does not have to be as solid as a database primary "
"key candidate (see <xref linkend=\"transactions-basics-identity\"/>). "
"Immutable or unique properties are usually good candidates for a business "
"key."
msgstr ""
-"Nota que una clave de negocio no tiene que ser tan sólida como una clave "
-"primaria candidata de base de datos (ver <xref linkend=\"transactions-basics-"
-"identity\"/>). Las propiedades inmutables o únicas son usualmente buenas "
-"candidatas para una clave de negocio."
+"Nota que una clave de negocio no tiene que ser tan sólida como una "
+"clave primaria candidata de base de datos (ver <xref linkend=\"transactions-"
+"basics-identity\"/>). Las propiedades inmutables o únicas son "
+"usualmente buenas candidatas para una clave de negocio."
-#. Tag: title
-#: persistent_classes.xml:212
-#, no-c-format
+#: index.docbook:212
msgid "Dynamic models"
-msgstr "Modelos dinámicos"
+msgstr "Modelos dinámicos"
-#. Tag: emphasis
-#: persistent_classes.xml:215
-#, no-c-format
+#: index.docbook:215
msgid ""
"Note that the following features are currently considered experimental and "
"may change in the near future."
msgstr ""
-"Ten en cuenta que las siguientes funcionalidades están consideradas "
+"Ten en cuenta que las siguientes funcionalidades están consideradas "
"actualmente experimentales y pueden cambiar en el futuro cercano."
-#. Tag: para
-#: persistent_classes.xml:219
-#, no-c-format
+#: index.docbook:219
msgid ""
"Persistent entities don't necessarily have to be represented as POJO classes "
"or as JavaBean objects at runtime. Hibernate also supports dynamic models "
@@ -557,15 +593,14 @@
"write persistent classes, only mapping files."
msgstr ""
"Las entidades persistentes no necesariamente tienen que estar representadas "
-"como clases POJO o como objetos JavaBean en tiempo de ejecución. Hibernate "
-"soporta además modelos dinámicos (usando <literal>Map</literal>s de "
-"<literal>Map</literal>s en tiempo de ejecución) y la representación de "
-"entidades como árboles de DOM4J. Con este enfoque no escribes clases "
-"persistentes, sólo ficheros de mapeo."
+"como clases POJO o como objetos JavaBean en tiempo de ejecución. "
+"Hibernate soporta además modelos dinámicos (usando "
+"<literal>Map</literal>s de <literal>Map</literal>s en tiempo de "
+"ejecución) y la representación de entidades como á"
+"rboles de DOM4J. Con este enfoque no escribes clases persistentes, só"
+"lo ficheros de mapeo."
-#. Tag: para
-#: persistent_classes.xml:227
-#, no-c-format
+#: index.docbook:227
msgid ""
"By default, Hibernate works in normal POJO mode. You may set a default "
"entity representation mode for a particular <literal>SessionFactory</"
@@ -573,27 +608,23 @@
"option (see <xref linkend=\"configuration-optional-properties\"/>."
msgstr ""
"Por defecto, Hibernate funciona en modo POJO normal. Puedes establecer una "
-"representación de entidad por defecto para una <literal>SessionFactory</"
-"literal> en particular usando la opción de configuración "
-"<literal>default_entity_mode</literal> (ver <xref linkend=\"configuration-"
-"optional-properties\"/>)."
+"representación de entidad por defecto para una "
+"<literal>SessionFactory</literal> en particular usando la opción de "
+"configuración <literal>default_entity_mode</literal> (ver <xref "
+"linkend=\"configuration-optional-properties\"/>)."
-#. Tag: para
-#: persistent_classes.xml:234
-#, no-c-format
+#: index.docbook:234
msgid ""
"The following examples demonstrates the representation using <literal>Map</"
"literal>s. First, in the mapping file, an <literal>entity-name</literal> has "
"to be declared instead of (or in addition to) a class name:"
msgstr ""
-"Los siguientes ejemplos demuestran la representación usando <literal>Map</"
-"literal>s. Primero, en el fichero de mapeo, tiene que declararse un "
-"<literal>entity-name</literal> en vez de (o como agregado a) un nombre de "
-"clase:"
+"Los siguientes ejemplos demuestran la representación usando "
+"<literal>Map</literal>s. Primero, en el fichero de mapeo, tiene que "
+"declararse un <literal>entity-name</literal> en vez de (o como agregado a) "
+"un nombre de clase:"
-#. Tag: programlisting
-#: persistent_classes.xml:240
-#, no-c-format
+#: index.docbook:240
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -629,34 +660,62 @@
" \n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class entity-name=\"Customer\">\n"
+"\n"
+" <id name=\"id\"\n"
+" type=\"long\"\n"
+" column=\"ID\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+"\n"
+" <property name=\"name\"\n"
+" column=\"NAME\"\n"
+" type=\"string\"/>\n"
+"\n"
+" <property name=\"address\"\n"
+" column=\"ADDRESS\"\n"
+" type=\"string\"/>\n"
+"\n"
+" <many-to-one name=\"organization\"\n"
+" column=\"ORGANIZATION_ID\"\n"
+" class=\"Organization\"/>\n"
+"\n"
+" <bag name=\"orders\"\n"
+" inverse=\"true\"\n"
+" lazy=\"false\"\n"
+" cascade=\"all\">\n"
+" <key column=\"CUSTOMER_ID\"/>\n"
+" <one-to-many class=\"Order\"/>\n"
+" </bag>\n"
+"\n"
+" </class>\n"
+" \n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: persistent_classes.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"Note that even though associations are declared using target class names, "
"the target type of an associations may also be a dynamic entity instead of a "
"POJO."
msgstr ""
"Ten en cuenta que aunque las asociaciones se declaran usando nombres de "
-"clase objetivo, el tipo objetivo de una asociación puede ser además una "
-"entidad dinámica en vez de un POJO."
+"clase objetivo, el tipo objetivo de una asociación puede ser "
+"además una entidad dinámica en vez de un POJO."
-#. Tag: para
-#: persistent_classes.xml:249
-#, no-c-format
+#: index.docbook:249
msgid ""
"After setting the default entity mode to <literal>dynamic-map</literal> for "
"the <literal>SessionFactory</literal>, we can at runtime work with "
"<literal>Map</literal>s of <literal>Map</literal>s:"
msgstr ""
-"Después de establecer el modo de entidad por defecto a <literal>dynamic-map</"
-"literal> para la <literal>SessionFactory</literal>, podemos trabajar en "
-"tiempo de ejecución con <literal>Map</literal>s de <literal>Map</literal>s:"
+"Después de establecer el modo de entidad por defecto a "
+"<literal>dynamic-map</literal> para la <literal>SessionFactory</literal>, "
+"podemos trabajar en tiempo de ejecución con <literal>Map</literal>s "
+"de <literal>Map</literal>s:"
-#. Tag: programlisting
-#: persistent_classes.xml:255
-#, no-c-format
+#: index.docbook:255
msgid ""
"<![CDATA[Session s = openSession();\n"
"Transaction tx = s.beginTransaction();\n"
@@ -680,10 +739,29 @@
"tx.commit();\n"
"s.close();]]>"
msgstr ""
+"<![CDATA[Session s = openSession();\n"
+"Transaction tx = s.beginTransaction();\n"
+"Session s = openSession();\n"
+"\n"
+"// Create a customer\n"
+"Map david = new HashMap();\n"
+"david.put(\"name\", \"David\");\n"
+"\n"
+"// Create an organization\n"
+"Map foobar = new HashMap();\n"
+"foobar.put(\"name\", \"Foobar Inc.\");\n"
+"\n"
+"// Link both\n"
+"david.put(\"organization\", foobar);\n"
+"\n"
+"// Save both\n"
+"s.save(\"Customer\", david);\n"
+"s.save(\"Organization\", foobar);\n"
+"\n"
+"tx.commit();\n"
+"s.close();]]>"
-#. Tag: para
-#: persistent_classes.xml:257
-#, no-c-format
+#: index.docbook:257
msgid ""
"The advantages of a dynamic mapping are quick turnaround time for "
"prototyping without the need for entity class implementation. However, you "
@@ -692,27 +770,23 @@
"can easily be normalized and sound, allowing to add a proper domain model "
"implementation on top later on."
msgstr ""
-"Las ventajas de un mapeo dinámico es rápido tiempo de ciclo de prototipado "
-"sin la necesidad de implementación de clases de entidad. Sin embargo, "
-"pierdes chequeo de tipos en tiempo de compilación y muy probablemente "
-"tratarás con muchas excepciones en tiempo de ejecución. Gracias al mapeo de "
-"Hibernate, el esquema de base de datos puede estar facilmente sano y "
-"normalizado, permitiendo agregar una implementación apropiada del modelo de "
-"dominio más tarde."
+"Las ventajas de un mapeo dinámico es rápido tiempo de ciclo de "
+"prototipado sin la necesidad de implementación de clases de entidad. "
+"Sin embargo, pierdes chequeo de tipos en tiempo de compilación y muy "
+"probablemente tratarás con muchas excepciones en tiempo de "
+"ejecución. Gracias al mapeo de Hibernate, el esquema de base de datos "
+"puede estar facilmente sano y normalizado, permitiendo agregar una "
+"implementación apropiada del modelo de dominio más tarde."
-#. Tag: para
-#: persistent_classes.xml:265
-#, no-c-format
+#: index.docbook:265
msgid ""
"Entity representation modes can also be set on a per <literal>Session</"
"literal> basis:"
msgstr ""
-"Los modos de representación de entidad pueden ser establecidos por "
+"Los modos de representación de entidad pueden ser establecidos por "
"<literal>Session</literal>:"
-#. Tag: programlisting
-#: persistent_classes.xml:270
-#, no-c-format
+#: index.docbook:270
msgid ""
"<![CDATA[Session dynamicSession = pojoSession.getSession(EntityMode.MAP);\n"
"\n"
@@ -727,10 +801,20 @@
"// Continue on pojoSession\n"
"]]>"
msgstr ""
+"<![CDATA[Session dynamicSession = pojoSession.getSession(EntityMode.MAP);\n"
+"\n"
+"// Create a customer\n"
+"Map david = new HashMap();\n"
+"david.put(\"name\", \"David\");\n"
+"dynamicSession.save(\"Customer\", david);\n"
+"...\n"
+"dynamicSession.flush();\n"
+"dynamicSession.close()\n"
+"...\n"
+"// Continue on pojoSession\n"
+"]]>"
-#. Tag: para
-#: persistent_classes.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"Please note that the call to <literal>getSession()</literal> using an "
"<literal>EntityMode</literal> is on the <literal>Session</literal> API, not "
@@ -742,33 +826,28 @@
"primary unit of work."
msgstr ""
"Por favor, ten en cuenta que la llamada a <literal>getSession()</literal> "
-"usando un <literal>EntityMode</literal> está en la API de <literal>Session</"
-"literal>, no en la de <literal>SessionFactory</literal>. De esta forma, la "
-"nueva <literal>Session</literal> comparte la conexión JDBC, transacción y "
-"otra información de contexto. Esto significa que no tienes que llamar a "
-"<literal>flush()</literal> ni a <literal>close()</literal> en la "
-"<literal>Session</literal> secundaria, y tembién dejar el manejo de la "
-"transacción y de la conexión a la unidad de trabajo primaria."
+"usando un <literal>EntityMode</literal> está en la API de "
+"<literal>Session</literal>, no en la de <literal>SessionFactory</literal>. "
+"De esta forma, la nueva <literal>Session</literal> comparte la conexió"
+"n JDBC, transacción y otra información de contexto. Esto "
+"significa que no tienes que llamar a <literal>flush()</literal> ni a "
+"<literal>close()</literal> en la <literal>Session</literal> secundaria, y "
+"tembién dejar el manejo de la transacción y de la "
+"conexión a la unidad de trabajo primaria."
-#. Tag: para
-#: persistent_classes.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"More information about the XML representation capabilities can be found in "
"<xref linkend=\"xml\"/>."
msgstr ""
-"Puede encontrarse más información sobre las capacidades de representación "
-"XML en <xref linkend=\"xml\"/>."
+"Puede encontrarse más información sobre las capacidades de "
+"representación XML en <xref linkend=\"xml\"/>."
-#. Tag: title
-#: persistent_classes.xml:291
-#, no-c-format
+#: index.docbook:291
msgid "Tuplizers"
msgstr "UNTRANSLATED!!! Tuplizers"
-#. Tag: para
-#: persistent_classes.xml:293
-#, no-c-format
+#: index.docbook:293
msgid ""
"<literal>org.hibernate.tuple.Tuplizer</literal>, and its sub-interfaces, are "
"responsible for managing a particular representation of a piece of data, "
@@ -800,9 +879,7 @@
"managing the above mentioned contracts in regards to entities, while "
"<literal>ComponentTuplizer</literal>s do the same for components."
-#. Tag: para
-#: persistent_classes.xml:308
-#, no-c-format
+#: index.docbook:308
msgid ""
"Users may also plug in their own tuplizers. Perhaps you require that a "
"<literal>java.util.Map</literal> implementation other than <literal>java."
@@ -822,9 +899,7 @@
"component mapping they are meant to manage. Going back to the example of our "
"customer entity:"
-#. Tag: programlisting
-#: persistent_classes.xml:317
-#, no-c-format
+#: index.docbook:317
msgid ""
"<![CDATA[<hibernate-mapping>\n"
" <class entity-name=\"Customer\">\n"
@@ -862,12 +937,57 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+" <class entity-name=\"Customer\">\n"
+" <!--\n"
+" Override the dynamic-map entity-"
+"mode\n"
+" tuplizer for the customer entity\n"
+" -->\n"
+" <tuplizer entity-mode=\"dynamic-map\"\n"
+" class=\"CustomMapTuplizerImpl"
+"\"/>\n"
+" \n"
+" <id name=\"id\" type=\"long\" column=\"ID"
+"\">\n"
+" <generator class=\"sequence\"/>\n"
+" </id>\n"
+" \n"
+" <!-- other properties -->\n"
+" ...\n"
+" </class>\n"
+" </hibernate-mapping>\n"
+" \n"
+" \n"
+" public class CustomMapTuplizerImpl\n"
+" extends org.hibernate.tuple.entity."
+"DynamicMapEntityTuplizer {\n"
+" // override the buildInstantiator() method to plug in "
+"our custom map...\n"
+" protected final Instantiator buildInstantiator(\n"
+" org.hibernate.mapping.PersistentClass mappingInfo) {\n"
+" return new CustomMapInstantiator( mappingInfo );\n"
+" }\n"
+" \n"
+" private static final class CustomMapInstantiator\n"
+" extends org.hibernate.tuple.DynamicMapInstantitor {\n"
+" // override the generateMap() method to return our "
+"custom map...\n"
+" protected final Map generateMap() {\n"
+" return new CustomMap();\n"
+" }\n"
+" }\n"
+" }]]>"
-#. Tag: para
-#: persistent_classes.xml:322
-#, no-c-format
+#: index.docbook:322
msgid ""
"TODO: Document user-extension framework in the property and proxy packages"
msgstr ""
"PORHACER: Documentar el framework de extensiones del usuario en los paquetes "
"de propiedad y proxies."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/preface.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: preface.xml:21
-#, no-c-format
+#: index.docbook:21
msgid "Preface"
msgstr "Prefacio"
-#. Tag: para
-#: preface.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"Working with object-oriented software and a relational database can be "
"cumbersome and time consuming in today's enterprise environments. Hibernate "
@@ -28,30 +19,26 @@
"based schema."
msgstr ""
"Trabajar con software orientado a objetos y una base de datos relacional "
-"puede ser incómodo y consumir tiempo en los entornos de empresa de hoy. "
-"Hibernate es una herramienta de mapeo objeto/relacional para entornos Java. "
-"El término mapeo objeto/relacional (MOR) hace referencia a la técnica de "
-"mapear una representación de datos desde un modelo de objetos a un modelo de "
-"datos relacional con un esquema basado en SQL."
+"puede ser incómodo y consumir tiempo en los entornos de empresa de "
+"hoy. Hibernate es una herramienta de mapeo objeto/relacional para entornos "
+"Java. El término mapeo objeto/relacional (MOR) hace referencia a la "
+"técnica de mapear una representación de datos desde un modelo "
+"de objetos a un modelo de datos relacional con un esquema basado en SQL."
-#. Tag: para
-#: preface.xml:31
-#, no-c-format
+#: index.docbook:31
msgid ""
"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 "
"query and retrieval facilities and can significantly reduce development time "
"otherwise spent with manual data handling in SQL and JDBC."
msgstr ""
-"Hibernate no sólo se encarga de mapear de clases Java a tablas de base de "
-"datos (y de tipos de datos de Java a tipos de datos SQL), sino que también "
-"provee facilidades de consulta y recuperación de datos y puede reducir "
-"significativamente el tiempo de desarrollo que de otra forma se gasta en el "
-"manejo de los datos en SQL y JDBC."
+"Hibernate no sólo se encarga de mapear de clases Java a tablas de "
+"base de datos (y de tipos de datos de Java a tipos de datos SQL), sino que "
+"también provee facilidades de consulta y recuperación de datos "
+"y puede reducir significativamente el tiempo de desarrollo que de otra forma "
+"se gasta en el manejo de los datos en SQL y JDBC."
-#. Tag: para
-#: preface.xml:38
-#, no-c-format
+#: index.docbook:38
msgid ""
"Hibernates goal is to relieve the developer from 95 percent of common data "
"persistence related programming tasks. Hibernate may not be the best "
@@ -63,18 +50,17 @@
"translation from a tabular representation to a graph of objects."
msgstr ""
"La meta de Hibernate es relevar al desarrollador del 95 por ciento de las "
-"tareas comunes relacionadas a la programación de la persistencia de los "
-"datos. Hibernate puede no ser la mejor solución para aplicaciones que usan "
-"solamente procedimientos almacenados para implementar la lógica de negocio "
-"en la base de datos, es mas útil con modelos de dominio orientados a objetos "
-"y lógica de negocio en middle-tier basada en Java. Sin embargo, Hibernate "
-"ciertamente puede ayudarte a quitar o encapsular código SQL específico de "
-"vendedor y ayudará con la tarea común de traducción de resultados desde una "
-"representación tabular a un grafo de objetos."
+"tareas comunes relacionadas a la programación de la persistencia de "
+"los datos. Hibernate puede no ser la mejor solución para aplicaciones "
+"que usan solamente procedimientos almacenados para implementar la ló"
+"gica de negocio en la base de datos, es mas útil con modelos de "
+"dominio orientados a objetos y lógica de negocio en middle-tier "
+"basada en Java. Sin embargo, Hibernate ciertamente puede ayudarte a quitar o "
+"encapsular código SQL específico de vendedor y ayudará "
+"con la tarea común de traducción de resultados desde una "
+"representación tabular a un grafo de objetos."
-#. Tag: para
-#: preface.xml:48
-#, no-c-format
+#: index.docbook:48
msgid ""
"If you are new to Hibernate and Object/Relational Mapping or even Java, "
"please follow these steps:"
@@ -82,9 +68,7 @@
"Si eres nuevo en Hibernate y lo del Mapeo Objeto/Relacional o incluso en "
"Java, sigue por favor estos pasos:"
-#. Tag: para
-#: preface.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"Read <xref linkend=\"tutorial\"/> for a tutorial with step-by-step "
"instructions. The source code for the tutorial is included in the "
@@ -93,9 +77,7 @@
"Lee <xref linkend=\"quickstart\"/> para un tutorial de 30 minutos, usando "
"Tomcat."
-#. Tag: para
-#: preface.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"Read <xref linkend=\"architecture\"/> to understand the environments where "
"Hibernate can be used."
@@ -103,9 +85,7 @@
"Lee <xref linkend=\"architecture\"/> para entender los entornos en los que "
"puede ser usado Hibernate."
-#. Tag: para
-#: preface.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"Have a look at the <literal>eg/</literal> directory in the Hibernate "
"distribution, it contains a simple standalone application. Copy your JDBC "
@@ -114,17 +94,15 @@
"From a command prompt in the distribution directory, type <literal>ant eg</"
"literal> (using Ant), or under Windows, type <literal>build eg</literal>."
msgstr ""
-"Dale una mirada al directorio <literal>eg/</literal> en la distribución de "
-"Hibernate, contiene una aplicación independiente simple. Copia tu driver "
-"JDBC al directorio <literal>lib/</literal> y edita <literal>etc/hibernate."
-"properties</literal>, especificando los valores correctos para tu base de "
-"datos. Desde línea de comandos en el directorio de la distribución, tipea "
-"<literal>ant eg</literal> (usando Ant), o bajo Windows, tipea <literal>build "
-"eg</literal>."
+"Dale una mirada al directorio <literal>eg/</literal> en la distribució"
+"n de Hibernate, contiene una aplicación independiente simple. Copia "
+"tu driver JDBC al directorio <literal>lib/</literal> y edita <literal>etc/"
+"hibernate.properties</literal>, especificando los valores correctos para tu "
+"base de datos. Desde línea de comandos en el directorio de la "
+"distribución, tipea <literal>ant eg</literal> (usando Ant), o bajo "
+"Windows, tipea <literal>build eg</literal>."
-#. Tag: para
-#: preface.xml:80
-#, no-c-format
+#: index.docbook:80
msgid ""
"Use this reference documentation as your primary source of information. "
"Consider reading <emphasis>Java Persistence with Hibernate</emphasis> "
@@ -133,22 +111,19 @@
"caveatemptor.hibernate.org and download the example application for Java "
"Persistence with Hibernate."
msgstr ""
-"Usa esta documentación de referencia como tu fuente de información primaria. "
-"Ten en consideración leer <emphasis>Java Persistence with Hibernate</"
-"emphasis> (http://www.manning.com/bauer2) si necesitas mas ayuda con el "
-"diseño de aplicaciones o si prefieres un tutorial paso a paso. Visita "
-"también http://caveatemptor.hibernate.org y descarga la aplicación de "
-"ejemplo para Java Persistence with Hibernate."
+"Usa esta documentación de referencia como tu fuente de "
+"información primaria. Ten en consideración leer <emphasis>Java "
+"Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2) si "
+"necesitas mas ayuda con el diseño de aplicaciones o si prefieres un "
+"tutorial paso a paso. Visita también http://caveatemptor.hibernate."
+"org y descarga la aplicación de ejemplo para Java Persistence with "
+"Hibernate."
-#. Tag: para
-#: preface.xml:90
-#, no-c-format
+#: index.docbook:90
msgid "FAQs are answered on the Hibernate website."
msgstr "Los FAQs son respondidos en el sitio web de Hibernate."
-#. Tag: para
-#: preface.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"Third party demos, examples, and tutorials are linked on the Hibernate "
"website."
@@ -156,21 +131,17 @@
"En el sitio web de Hibernate hay enlaces a demos de terceros, ejemplos y "
"tutoriales."
-#. Tag: para
-#: preface.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"The Community Area on the Hibernate website is a good resource for design "
"patterns and various integration solutions (Tomcat, JBoss AS, Struts, EJB, "
"etc.)."
msgstr ""
"El Area de Comunidad en el sitio web de Hibernate es una buena fuente de "
-"patrones de diseño y varias soluciones de integración (Tomcat, JBoss, "
-"Struts, EJB, etc.)."
+"patrones de diseño y varias soluciones de integración (Tomcat, "
+"JBoss, Struts, EJB, etc.)."
-#. Tag: para
-#: preface.xml:109
-#, no-c-format
+#: index.docbook:109
msgid ""
"If you have questions, use the user forum linked on the Hibernate website. "
"We also provide a JIRA issue trackings system for bug reports and feature "
@@ -179,15 +150,13 @@
"documentation into your language, contact us on the developer mailing list."
msgstr ""
"Si tienes preguntas, usa el foro de usuarios enlazado en el sitio web de "
-"Hibernate. También proveemos un sistema de seguimiento JIRA para reportes de "
-"defectos y peticiones de nuevas características. Si estas interesado en el "
-"desarrollo de Hibernate, únete a la lista de correo de desarrolladores. Si "
-"estas interesado en traducir esta documentación a tu lenguaje, contáctanos "
-"en la lista de correo de desarrolladores."
+"Hibernate. También proveemos un sistema de seguimiento JIRA para "
+"reportes de defectos y peticiones de nuevas características. Si estas "
+"interesado en el desarrollo de Hibernate, únete a la lista de correo "
+"de desarrolladores. Si estas interesado en traducir esta documentació"
+"n a tu lenguaje, contáctanos en la lista de correo de desarrolladores."
-#. Tag: para
-#: preface.xml:117
-#, no-c-format
+#: index.docbook:117
msgid ""
"Commercial development support, production support, and training for "
"Hibernate is available through JBoss Inc. (see http://www.hibernate.org/"
@@ -195,7 +164,14 @@
"critical component of the JBoss Enterprise Middleware System (JEMS) suite of "
"products."
msgstr ""
-"A través de JBoss Inc. (see http://www.hibernate.org/SupportTraining/) hay "
-"disponibilidad de soporte comercial de desarrollo, soporte de producción y "
-"entrenamiento en Hibernate. Hibernate es un proyecto de la suite de "
-"productos de código abierto JBoss Professional."
+"A través de JBoss Inc. (see http://www.hibernate.org/"
+"SupportTraining/) hay disponibilidad de soporte comercial de desarrollo, "
+"soporte de producción y entrenamiento en Hibernate. Hibernate es un "
+"proyecto de la suite de productos de código abierto JBoss "
+"Professional."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_criteria.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,38 +1,25 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: query_criteria.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Criteria Queries"
msgstr "Consultas por Criterios"
-#. Tag: para
-#: query_criteria.xml:7
-#, no-c-format
+#: index.docbook:7
msgid "Hibernate features an intuitive, extensible criteria query API."
msgstr ""
-"Acompaña a Hibernate una API de consultas por criterios intuitiva y "
+"Acompaña a Hibernate una API de consultas por criterios intuitiva y "
"extensible."
-#. Tag: title
-#: query_criteria.xml:12
-#, no-c-format
+#: index.docbook:12
msgid "Creating a <literal>Criteria</literal> instance"
msgstr "Creando una instancia de <literal>Criteria</literal>"
-#. Tag: para
-#: query_criteria.xml:14
-#, no-c-format
+#: index.docbook:14
msgid ""
"The interface <literal>org.hibernate.Criteria</literal> represents a query "
"against a particular persistent class. The <literal>Session</literal> is a "
@@ -40,26 +27,23 @@
msgstr ""
"La interface <literal>org.hibernate.Criteria</literal> representa una "
"consulta contra una clase persistente en particular. La <literal>Session</"
-"literal> es una fábrica de instancias de <literal>Criteria</literal>."
+"literal> es una fábrica de instancias de <literal>Criteria</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:20
-#, no-c-format
+#: index.docbook:20
msgid ""
"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
"crit.setMaxResults(50);\n"
"List cats = crit.list();]]>"
msgstr ""
+"<![CDATA[Criteria crit = sess.createCriteria(Cat.class);\n"
+"crit.setMaxResults(50);\n"
+"List cats = crit.list();]]>"
-#. Tag: title
-#: query_criteria.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "Narrowing the result set"
msgstr "Estrechando el conjunto resultado"
-#. Tag: para
-#: query_criteria.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"An individual query criterion is an instance of the interface <literal>org."
"hibernate.criterion.Criterion</literal>. The class <literal>org.hibernate."
@@ -68,28 +52,27 @@
msgstr ""
"Un criterio individual de consulta es una instancia de la interface "
"<literal>org.hibernate.criterion.Criterion</literal>. La clase <literal>org."
-"hibernate.criterion.Restrictions</literal> define métodos de fábrica para "
-"obtener ciertos tipos prefabricados de <literal>Criterion</literal>."
+"hibernate.criterion.Restrictions</literal> define métodos de fá"
+"brica para obtener ciertos tipos prefabricados de <literal>Criterion</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:35
-#, no-c-format
+#: index.docbook:35
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
" .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
+" .add( Restrictions.between(\"weight\", minWeight, maxWeight) )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:37
-#, no-c-format
+#: index.docbook:37
msgid "Restrictions may be grouped logically."
-msgstr "Las restricciones pueden ser agrupadas lógicamente."
+msgstr "Las restricciones pueden ser agrupadas lógicamente."
-#. Tag: programlisting
-#: query_criteria.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
@@ -99,10 +82,15 @@
" ) )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.in( \"name\", new String[] { \"Fritz\", \"Izi\", \"Pk"
@@ -115,10 +103,18 @@
" ) )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:45
-#, no-c-format
+#: index.docbook:45
msgid ""
"There are quite a range of built-in criterion types (<literal>Restrictions</"
"literal> subclasses), but one that is especially useful lets you specify SQL "
@@ -128,29 +124,27 @@
"<literal>Restrictions</literal>), pero uno que es especialmente útil te deja "
"especificar SQL directamente."
-#. Tag: programlisting
-#: query_criteria.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.sqlRestriction(\"lower({alias}.name) like lower(?)\", "
"\"Fritz%\", Hibernate.STRING) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.sql(\"lower({alias}.name) like lower(?)\", \"Fritz%"
+"\", Hibernate.STRING) )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"The <literal>{alias}</literal> placeholder with be replaced by the row alias "
"of the queried entity."
msgstr ""
-"El sitio <literal>{alias}</literal> será remplazado por el alias de fila de "
-"la entidad consultada."
+"El sitio <literal>{alias}</literal> será remplazado por el alias de "
+"fila de la entidad consultada."
-#. Tag: para
-#: query_criteria.xml:57
-#, no-c-format
+#: index.docbook:57
msgid ""
"An alternative approach to obtaining a criterion is to get it from a "
"<literal>Property</literal> instance. You can create a <literal>Property</"
@@ -160,9 +154,7 @@
"de <literal>Property</literal>. Puedes crear una <literal>Property</literal> "
"llamando a <literal>Property.forName()</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"<![CDATA[\n"
"Property age = Property.forName(\"age\");\n"
@@ -177,16 +169,24 @@
"\"Pk\" } ) )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: title
-#: query_criteria.xml:68
-#, no-c-format
+#: index.docbook:68
msgid "Ordering the results"
msgstr "Ordenando los resultados"
-#. Tag: para
-#: query_criteria.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"You may order the results using <literal>org.hibernate.criterion.Order</"
"literal>."
@@ -194,9 +194,7 @@
"Puedes ordenar los resultados usando <literal>org.hibernate.criterion.Order</"
"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"F%\")\n"
@@ -205,10 +203,14 @@
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Property.forName(\"name\").like(\"F%\") )\n"
@@ -217,26 +219,27 @@
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: title
-#: query_criteria.xml:81
-#, no-c-format
+#: index.docbook:81
msgid "Associations"
msgstr "Asociaciones"
-#. Tag: para
-#: query_criteria.xml:83
-#, no-c-format
+#: index.docbook:83
msgid ""
"You may easily specify constraints upon related entities by navigating "
"associations using <literal>createCriteria()</literal>."
msgstr ""
-"Puedes especificar fácilmente restricciones sobre las entidades relacionadas "
-"al navegar asociaciones usando <literal>createCriteria()</literal>."
+"Puedes especificar fácilmente restricciones sobre las entidades "
+"relacionadas al navegar asociaciones usando <literal>createCriteria()</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:88
-#, no-c-format
+#: index.docbook:88
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"F%\") )\n"
@@ -244,10 +247,13 @@
" .add( Restrictions.like(\"name\", \"F%\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .add( Restrictions.like(\"name\", \"F%\")\n"
+" .createCriteria(\"kittens\")\n"
+" .add( Restrictions.like(\"name\", \"F%\")\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:90
-#, no-c-format
+#: index.docbook:90
msgid ""
"note that the second <literal>createCriteria()</literal> returns a new "
"instance of <literal>Criteria</literal>, which refers to the elements of the "
@@ -255,17 +261,13 @@
msgstr ""
"nota que el segundo <literal>createCriteria()</literal> devuelve una nueva "
"instancia de <literal>Criteria</literal>, que hace referencia a los "
-"elementos de la colección <literal>kittens</literal>."
+"elementos de la colección <literal>kittens</literal>."
-#. Tag: para
-#: query_criteria.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "The following, alternate form is useful in certain circumstances."
msgstr "La siguiente forma alternativa es útil en ciertas circunstancias."
-#. Tag: programlisting
-#: query_criteria.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .createAlias(\"kittens\", \"kt\")\n"
@@ -273,10 +275,13 @@
" .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .createAlias(\"kittens\", \"kt\")\n"
+" .createAlias(\"mate\", \"mt\")\n"
+" .add( Restrictions.eqProperty(\"kt.name\", \"mt.name\") )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:102
-#, no-c-format
+#: index.docbook:102
msgid ""
"(<literal>createAlias()</literal> does not create a new instance of "
"<literal>Criteria</literal>.)"
@@ -284,24 +289,20 @@
"(<literal>createAlias()</literal> no crea una nueva instancia de "
"<literal>Criteria</literal>.)"
-#. Tag: para
-#: query_criteria.xml:107
-#, no-c-format
+#: index.docbook:107
msgid ""
"Note that the kittens collections held by the <literal>Cat</literal> "
"instances returned by the previous two queries are <emphasis>not</emphasis> "
"pre-filtered by the criteria! If you wish to retrieve just the kittens that "
"match the criteria, you must use a <literal>ResultTransformer</literal>."
msgstr ""
-"¡Observa que las colecciones de gatitos tenidas por las instancias de "
+"¡Observa que las colecciones de gatitos tenidas por las instancias de "
"<literal>Cat</literal> devueltas por las dos consultas previas <emphasis>no</"
-"emphasis> están prefiltradas por los criterios! Si deseas recuperar sólo los "
-"gatitos que emparejen los criterios, debes usar <literal>returnMaps()</"
-"literal>."
+"emphasis> están prefiltradas por los criterios! Si deseas recuperar "
+"sólo los gatitos que emparejen los criterios, debes usar "
+"<literal>returnMaps()</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:114
-#, no-c-format
+#: index.docbook:114
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .createCriteria(\"kittens\", \"kt\")\n"
@@ -315,26 +316,32 @@
" Cat kitten = (Cat) map.get(\"kt\");\n"
"}]]>"
msgstr ""
+"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
+" .createCriteria(\"kittens\", \"kt\")\n"
+" .add( Restrictions.eq(\"name\", \"F%\") )\n"
+" .returnMaps()\n"
+" .list();\n"
+"Iterator iter = cats.iterator();\n"
+"while ( iter.hasNext() ) {\n"
+" Map map = (Map) iter.next();\n"
+" Cat cat = (Cat) map.get(Criteria.ROOT_ALIAS);\n"
+" Cat kitten = (Cat) map.get(\"kt\");\n"
+"}]]>"
-#. Tag: title
-#: query_criteria.xml:119
-#, no-c-format
+#: index.docbook:119
msgid "Dynamic association fetching"
-msgstr "Recuperación dinámica de asociaciones"
+msgstr "Recuperación dinámica de asociaciones"
-#. Tag: para
-#: query_criteria.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"You may specify association fetching semantics at runtime using "
"<literal>setFetchMode()</literal>."
msgstr ""
-"Puedes especificar la semántica de recuperación de asociaciones en tiempo de "
-"ejecución usando <literal>setFetchMode()</literal>."
+"Puedes especificar la semántica de recuperación de "
+"asociaciones en tiempo de ejecución usando <literal>setFetchMode()</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[List cats = sess.createCriteria(Cat.class)\n"
" .add( Restrictions.like(\"name\", \"Fritz%\") )\n"
@@ -342,28 +349,27 @@
" .setFetchMode(\"kittens\", FetchMode.EAGER)\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"This query will fetch both <literal>mate</literal> and <literal>kittens</"
"literal> by outer join. See <xref linkend=\"performance-fetching\"/> for "
"more information."
msgstr ""
-"Esta consulta recuperará tanto <literal>mate</literal> como "
-"<literal>kittens</literal> por unión exterior (outer join). Ver <xref "
-"linkend=\"performance-fetching\"/> para más información."
+"Esta consulta recuperará tanto <literal>mate</literal> como "
+"<literal>kittens</literal> por unión exterior (outer join). Ver <xref "
+"linkend=\"performance-fetching\"/> para más información."
-#. Tag: title
-#: query_criteria.xml:136
-#, no-c-format
+#: index.docbook:136
msgid "Example queries"
msgstr "Consultas por ejemplos"
-#. Tag: para
-#: query_criteria.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"The class <literal>org.hibernate.criterion.Example</literal> allows you to "
"construct a query criterion from a given instance."
@@ -371,9 +377,7 @@
"La clase <literal>org.hibernate.criterion.Example</literal> te permite "
"construir un criterio de consulta a partir de una instancia dada."
-#. Tag: programlisting
-#: query_criteria.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"<![CDATA[Cat cat = new Cat();\n"
"cat.setSex('F');\n"
@@ -382,26 +386,27 @@
" .add( Example.create(cat) )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"Version properties, identifiers and associations are ignored. By default, "
"null valued properties are excluded."
msgstr ""
-"Las propiedades de versión, los identificadores y las asociaciones son "
-"ignorados. Por defecto, las propiedades valuadas a nulo son excluídas."
+"Las propiedades de versión, los identificadores y las asociaciones "
+"son ignorados. Por defecto, las propiedades valuadas a nulo son excluí"
+"das."
-#. Tag: para
-#: query_criteria.xml:150
-#, no-c-format
+#: index.docbook:150
msgid "You can adjust how the <literal>Example</literal> is applied."
-msgstr "Puedes ajustar cómo se aplica el <literal>Example</literal>."
+msgstr "Puedes ajustar cómo se aplica el <literal>Example</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:154
-#, no-c-format
+#: index.docbook:154
msgid ""
"<![CDATA[Example example = Example.create(cat)\n"
" .excludeZeroes() //exclude zero valued properties\n"
@@ -413,17 +418,22 @@
" .add(example)\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "You can even use examples to place criteria upon associated objects."
msgstr ""
"Puedes incluso usar ejemplos para colocar criterios sobre objetos asociados."
-#. Tag: programlisting
-#: query_criteria.xml:160
-#, no-c-format
+#: index.docbook:160
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .add( Example.create(cat) )\n"
@@ -431,38 +441,40 @@
" .add( Example.create( cat.getMate() ) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .add( Example.create(cat) )\n"
+" .createCriteria(\"mate\")\n"
+" .add( Example.create( cat.getMate() ) )\n"
+" .list();]]>"
-#. Tag: title
-#: query_criteria.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "Projections, aggregation and grouping"
-msgstr "Proyecciones, agregación y agrupamiento"
+msgstr "Proyecciones, agregación y agrupamiento"
-#. Tag: para
-#: query_criteria.xml:166
-#, no-c-format
+#: index.docbook:166
msgid ""
"The class <literal>org.hibernate.criterion.Projections</literal> is a "
"factory for <literal>Projection</literal> instances. We apply a projection "
"to a query by calling <literal>setProjection()</literal>."
msgstr ""
"La clase <literal>org.hibernate.criterion.Projections</literal> es una "
-"fábrica de instancias de <literal>Projection</literal>. Aplicamos una "
-"proyección a una consulta llamando a <literal>setProjection()</literal>."
+"fábrica de instancias de <literal>Projection</literal>. Aplicamos una "
+"proyección a una consulta llamando a <literal>setProjection()</"
+"literal>."
-#. Tag: programlisting
-#: query_criteria.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.rowCount() )\n"
" .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.rowCount() )\n"
+" .add( Restrictions.eq(\"color\", Color.BLACK) )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
@@ -473,35 +485,37 @@
" )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:176
-#, no-c-format
+#: index.docbook:176
msgid ""
"There is no explicit \"group by\" necessary in a criteria query. Certain "
"projection types are defined to be <emphasis>grouping projections</"
"emphasis>, which also appear in the SQL <literal>group by</literal> clause."
msgstr ""
-"No es necesario ningún \"group by\" explícito en una consulta por criterios. "
-"Ciertos tipos de proyecciones son definidos para ser <emphasis>proyecciones "
-"agrupadas</emphasis>, que además aparecen en la cláusula SQL <literal>group "
-"by</literal>."
+"No es necesario ningún \"group by\" explícito en una consulta por "
+"criterios. Ciertos tipos de proyecciones son definidos para ser "
+"<emphasis>proyecciones agrupadas</emphasis>, que además aparecen en "
+"la cláusula SQL <literal>group by</literal>."
-#. Tag: para
-#: query_criteria.xml:182
-#, no-c-format
+#: index.docbook:182
msgid ""
"An alias may optionally be assigned to a projection, so that the projected "
"value may be referred to in restrictions or orderings. Here are two "
"different ways to do this:"
msgstr ""
-"Puede opcionalmente asignarse un alias a una proyección, de modo que el "
-"valor proyectado pueda ser referido en restricciones u ordenamientos. Aquí "
-"hay dos formas diferentes de hacer esto:"
+"Puede opcionalmente asignarse un alias a una proyección, de modo que "
+"el valor proyectado pueda ser referido en restricciones u ordenamientos. "
+"Aquí hay dos formas diferentes de hacer esto:"
-#. Tag: programlisting
-#: query_criteria.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.alias( Projections.groupProperty(\"color\"), "
@@ -509,34 +523,37 @@
" .addOrder( Order.asc(\"colr\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.alias( Projections.groupProperty(\"color\"), "
+"\"colr\" ) )\n"
+" .addOrder( Order.asc(\"colr\") )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:190
-#, no-c-format
+#: index.docbook:190
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
" .addOrder( Order.asc(\"colr\") )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Projections.groupProperty(\"color\").as(\"colr\") )\n"
+" .addOrder( Order.asc(\"colr\") )\n"
+" .list();]]>"
-#. Tag: para
-#: query_criteria.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"The <literal>alias()</literal> and <literal>as()</literal> methods simply "
"wrap a projection instance in another, aliased, instance of "
"<literal>Projection</literal>. As a shortcut, you can assign an alias when "
"you add the projection to a projection list:"
msgstr ""
-"Los métodos <literal>alias()</literal> y <literal>as()</literal> simplemente "
-"envuelven una instancia de proyección en otra instancia de "
-"<literal>Projection</literal> con alias. Como un atajo, puedes asignar un "
-"alias cuando agregas la proyección a una lista de proyecciones:"
+"Los métodos <literal>alias()</literal> y <literal>as()</literal> "
+"simplemente envuelven una instancia de proyección en otra instancia "
+"de <literal>Projection</literal> con alias. Como un atajo, puedes asignar un "
+"alias cuando agregas la proyección a una lista de proyecciones:"
-#. Tag: programlisting
-#: query_criteria.xml:199
-#, no-c-format
+#: index.docbook:199
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
@@ -549,10 +566,18 @@
" .addOrder( Order.desc(\"avgWeight\") )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:201
-#, no-c-format
+#: index.docbook:201
msgid ""
"<![CDATA[List results = session.createCriteria(Domestic.class, \"cat\")\n"
" .createAlias(\"kittens\", \"kit\")\n"
@@ -564,30 +589,37 @@
" .addOrder( Order.asc(\"kitName\") )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:203
-#, no-c-format
+#: index.docbook:203
msgid ""
"You can also use <literal>Property.forName()</literal> to express "
"projections:"
msgstr ""
-"Puedes también usar <literal>Property.forName()</literal> para expresar "
-"proyecciones:"
+"Puedes también usar <literal>Property.forName()</literal> para "
+"expresar proyecciones:"
-#. Tag: programlisting
-#: query_criteria.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Property.forName(\"name\") )\n"
" .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List results = session.createCriteria(Cat.class)\n"
+" .setProjection( Property.forName(\"name\") )\n"
+" .add( Property.forName(\"color\").eq(Color.BLACK) )\n"
+" .list();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:209
-#, no-c-format
+#: index.docbook:209
msgid ""
"<![CDATA[List results = session.createCriteria(Cat.class)\n"
" .setProjection( Projections.projectionList()\n"
@@ -600,28 +632,32 @@
" .addOrder( Order.desc(\"avgWeight\") )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: title
-#: query_criteria.xml:214
-#, no-c-format
+#: index.docbook:214
msgid "Detached queries and subqueries"
msgstr "Consultas y subconsultas separadas"
-#. Tag: para
-#: query_criteria.xml:215
-#, no-c-format
+#: index.docbook:215
msgid ""
"The <literal>DetachedCriteria</literal> class lets you create a query "
"outside the scope of a session, and then later execute it using some "
"arbitrary <literal>Session</literal>."
msgstr ""
"La clase <literal>DetachedCriteria</literal> te deja crear una consulta "
-"fuera del ámbito de una sesión, y entonces ejecutarla luego usando alguna "
-"<literal>Session</literal> arbitraria."
+"fuera del ámbito de una sesión, y entonces ejecutarla luego "
+"usando alguna <literal>Session</literal> arbitraria."
-#. Tag: programlisting
-#: query_criteria.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"<![CDATA[DetachedCriteria query = DetachedCriteria.forClass(Cat.class)\n"
" .add( Property.forName(\"sex\").eq('F') );\n"
@@ -633,22 +669,28 @@
"txn.commit();\n"
"session.close();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:222
-#, no-c-format
+#: index.docbook:222
msgid ""
"A <literal>DetachedCriteria</literal> may also be used to express a "
"subquery. Criterion instances involving subqueries may be obtained via "
"<literal>Subqueries</literal> or <literal>Property</literal>."
msgstr ""
-"También una <literal>DetachedCriteria</literal> puede usarse para expresar "
-"una subconsulta. Las instancias de Criterion implicando subconsultas pueden "
-"obtenerse vía <literal>Subqueries</literal> o <literal>Property</literal>."
+"También una <literal>DetachedCriteria</literal> puede usarse para "
+"expresar una subconsulta. Las instancias de Criterion implicando "
+"subconsultas pueden obtenerse vía <literal>Subqueries</literal> o "
+"<literal>Property</literal>."
-#. Tag: programlisting
-#: query_criteria.xml:228
-#, no-c-format
+#: index.docbook:228
msgid ""
"<![CDATA[DetachedCriteria avgWeight = DetachedCriteria.forClass(Cat.class)\n"
" .setProjection( Property.forName(\"weight\").avg() );\n"
@@ -656,10 +698,13 @@
" .add( Property.forName(\"weight\").gt(avgWeight) )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: programlisting
-#: query_criteria.xml:230
-#, no-c-format
+#: index.docbook:230
msgid ""
"<![CDATA[DetachedCriteria weights = DetachedCriteria.forClass(Cat.class)\n"
" .setProjection( Property.forName(\"weight\") );\n"
@@ -667,16 +712,17 @@
" .add( Subqueries.geAll(\"weight\", weights) )\n"
" .list();]]>"
msgstr ""
+"<![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();]]>"
-#. Tag: para
-#: query_criteria.xml:232
-#, no-c-format
+#: index.docbook:232
msgid "Even correlated subqueries are possible:"
msgstr "Incluso son posibles las subconsultas correlacionadas:"
-#. Tag: programlisting
-#: query_criteria.xml:236
-#, no-c-format
+#: index.docbook:236
msgid ""
"<![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat."
"class, \"cat2\")\n"
@@ -686,16 +732,19 @@
" .add( Property.forName(\"weight\").gt(avgWeightForSex) )\n"
" .list();]]>"
msgstr ""
+"<![CDATA[DetachedCriteria avgWeightForSex = DetachedCriteria.forClass(Cat."
+"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();]]>"
-#. Tag: title
-#: query_criteria.xml:245
-#, no-c-format
+#: index.docbook:245
msgid "Queries by natural identifier"
msgstr "Consultas por identificador natural"
-#. Tag: para
-#: query_criteria.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"For most queries, including criteria queries, the query cache is not very "
"efficient, because query cache invalidation occurs too frequently. However, "
@@ -704,27 +753,25 @@
"applications, this kind of query occurs frequently. The criteria API "
"provides special provision for this use case."
msgstr ""
-"Para la mayoría de consultas, incluyendo las consultas por criterios, el "
-"caché de consulta no es muy eficiente, debido a que la invalidación del "
-"caché de consulta ocurre demasiado frecuentemente. Sin embargo, hay un tipo "
-"especial de consulta donde podemos optimizar el algoritmo de invalidación de "
-"caché: búsquedas por una clave natural constante. En algunas aplicaciones, "
-"este tipo de consulta, ocurre frecuentemente. La API de criterios brinda "
-"especial provisión para este caso de uso."
+"Para la mayoría de consultas, incluyendo las consultas por criterios, "
+"el caché de consulta no es muy eficiente, debido a que la "
+"invalidación del caché de consulta ocurre demasiado "
+"frecuentemente. Sin embargo, hay un tipo especial de consulta donde podemos "
+"optimizar el algoritmo de invalidación de caché: búsquedas por "
+"una clave natural constante. En algunas aplicaciones, este tipo de consulta, "
+"ocurre frecuentemente. La API de criterios brinda especial provisión "
+"para este caso de uso."
-#. Tag: para
-#: query_criteria.xml:255
-#, no-c-format
+#: index.docbook:255
msgid ""
"First, you should map the natural key of your entity using <literal><"
"natural-id></literal>, and enable use of the second-level cache."
msgstr ""
"Primero, debes mapear la clave natural de tu entidad usando <literal><"
-"natural-id></literal>, y habilitar el uso del caché de segundo nivel."
+"natural-id></literal>, y habilitar el uso del caché de segundo "
+"nivel."
-#. Tag: programlisting
-#: query_criteria.xml:260
-#, no-c-format
+#: index.docbook:260
msgid ""
"<![CDATA[<class name=\"User\">\n"
" <cache usage=\"read-write\"/>\n"
@@ -738,36 +785,39 @@
" <property name=\"password\"/>\n"
"</class>]]>"
msgstr ""
+"<![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>]]>"
-#. Tag: para
-#: query_criteria.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"Note that this functionality is not intended for use with entities with "
"<emphasis>mutable</emphasis> natural keys."
msgstr ""
-"Nota que esta funcionalidad no está pensada para uso con entidades con "
-"claves naturales <emphasis>mutable</emphasis>."
+"Nota que esta funcionalidad no está pensada para uso con entidades "
+"con claves naturales <emphasis>mutable</emphasis>."
-#. Tag: para
-#: query_criteria.xml:267
-#, no-c-format
+#: index.docbook:267
msgid "Next, enable the Hibernate query cache."
-msgstr "Seguido, habilita el caché de consulta de Hibernate."
+msgstr "Seguido, habilita el caché de consulta de Hibernate."
-#. Tag: para
-#: query_criteria.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"Now, <literal>Restrictions.naturalId()</literal> allows us to make use of "
"the more efficient cache algorithm."
msgstr ""
"Ahora, <literal>Restrictions.naturalId()</literal> nos permite hacer uso de "
-"el algoritmo de caché más eficiente."
+"el algoritmo de caché más eficiente."
-#. Tag: programlisting
-#: query_criteria.xml:276
-#, no-c-format
+#: index.docbook:276
msgid ""
"<![CDATA[session.createCriteria(User.class)\n"
" .add( Restrictions.naturalId()\n"
@@ -776,3 +826,15 @@
" ).setCacheable(true)\n"
" .uniqueResult();]]>"
msgstr ""
+"<![CDATA[session.createCriteria(User.class)\n"
+" .add( Restrictions.naturalId()\n"
+" .set(\"name\", \"gavin\")\n"
+" .set(\"org\", \"hb\") \n"
+" ).setCacheable(true)\n"
+" .uniqueResult();]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_hql.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,44 +1,32 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: query_hql.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "HQL: The Hibernate Query Language"
msgstr "HQL: El Lenguaje de Consulta de Hibernate"
-#. Tag: para
-#: query_hql.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Hibernate is equipped with an extremely powerful query language that (quite "
"intentionally) looks very much like SQL. But don't be fooled by the syntax; "
"HQL is fully object-oriented, understanding notions like inheritence, "
"polymorphism and association."
msgstr ""
-"Hibernate está equipado con un lenguaje de consulta extremadamente potente "
-"que (intencionalmente en absoluto) se parece muchísimo a SQL. Pero no te "
-"engañes por la sintaxis; HQL es completamente orientado a objetos, "
-"entendiendo nociones como herencia, polimorfismo y asociación."
+"Hibernate está equipado con un lenguaje de consulta extremadamente "
+"potente que (intencionalmente en absoluto) se parece muchísimo a SQL. "
+"Pero no te engañes por la sintaxis; HQL es completamente orientado a "
+"objetos, entendiendo nociones como herencia, polimorfismo y asociació"
+"n."
-#. Tag: title
-#: query_hql.xml:14
-#, no-c-format
+#: index.docbook:14
msgid "Case Sensitivity"
-msgstr "Sensibilidad a Mayúsculas"
+msgstr "Sensibilidad a Mayúsculas"
-#. Tag: para
-#: query_hql.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"Queries are case-insensitive, except for names of Java classes and "
"properties. So <literal>SeLeCT</literal> is the same as <literal>sELEct</"
@@ -46,46 +34,37 @@
"eg.FOO</literal> is not <literal>org.hibernate.eg.Foo</literal> and "
"<literal>foo.barSet</literal> is not <literal>foo.BARSET</literal>."
msgstr ""
-"Las consultas son insensibles a mayúsculas, excepto para nombres de clases "
-"Java y propiedades. De modo que <literal>SeLeCT</literal> es lo mismo que "
-"<literal>sELEct</literal> e igual a <literal>SELECT</literal>, pero "
+"Las consultas son insensibles a mayúsculas, excepto para nombres de "
+"clases Java y propiedades. De modo que <literal>SeLeCT</literal> es lo mismo "
+"que <literal>sELEct</literal> e igual a <literal>SELECT</literal>, pero "
"<literal>org.hibernate.eg.FOO</literal> no lo es a <literal>org.hibernate.eg."
"Foo</literal> y <literal>foo.barSet</literal> no es igual a <literal>foo."
"BARSET</literal>."
-#. Tag: para
-#: query_hql.xml:27
-#, no-c-format
+#: index.docbook:27
msgid ""
"This manual uses lowercase HQL keywords. Some users find queries with "
"uppercase keywords more readable, but we find this convention ugly when "
"embedded in Java code."
msgstr ""
-"Este manual usa palabras clave HQL en minúsculas. Algunos usuarios "
-"encuentran las consultas con palabras clave en mayúsculas más leíbles, pero "
-"encontramos esta convención fea cuando se encaja en código Java."
+"Este manual usa palabras clave HQL en minúsculas. Algunos usuarios "
+"encuentran las consultas con palabras clave en mayúsculas más "
+"leíbles, pero encontramos esta convención fea cuando se encaja "
+"en código Java."
-#. Tag: title
-#: query_hql.xml:35
-#, no-c-format
+#: index.docbook:35
msgid "The from clause"
-msgstr "La cláusula from"
+msgstr "La cláusula from"
-#. Tag: para
-#: query_hql.xml:37
-#, no-c-format
+#: index.docbook:37
msgid "The simplest possible Hibernate query is of the form:"
-msgstr "La consulta más simple posible de Hibernate es de la forma:"
+msgstr "La consulta más simple posible de Hibernate es de la forma:"
-#. Tag: programlisting
-#: query_hql.xml:41
-#, no-c-format
+#: index.docbook:41
msgid "<![CDATA[from eg.Cat]]>"
-msgstr ""
+msgstr "<![CDATA[from eg.Cat]]>"
-#. Tag: para
-#: query_hql.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"which simply returns all instances of the class <literal>eg.Cat</literal>. "
"We don't usually need to qualify the class name, since <literal>auto-import</"
@@ -93,156 +72,121 @@
msgstr ""
"que simplemente devuelve todas las instancias de la clase <literal>eg.Cat</"
"literal>. Usualmente no necesitamos cualificar el nombre de la clase, ya que "
-"<literal>auto-import</literal> está por defecto. De modo que casi siempre "
-"escribimos solamente:"
+"<literal>auto-import</literal> está por defecto. De modo que casi "
+"siempre escribimos solamente:"
-#. Tag: programlisting
-#: query_hql.xml:49
-#, no-c-format
+#: index.docbook:49
msgid "<![CDATA[from Cat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat]]>"
-#. Tag: para
-#: query_hql.xml:51
-#, no-c-format
+#: index.docbook:51
msgid ""
"Most of the time, you will need to assign an <emphasis>alias</emphasis>, "
"since you will want to refer to the <literal>Cat</literal> in other parts of "
"the query."
msgstr ""
-"La mayoría del tiempo, necesitarás asignar un <emphasis>alias</emphasis>, ya "
-"que querrás referirte al <literal>Cat</literal> en otras partes de la "
-"consulta."
+"La mayoría del tiempo, necesitarás asignar un <emphasis>alias</"
+"emphasis>, ya que querrás referirte al <literal>Cat</literal> en "
+"otras partes de la consulta."
-#. Tag: programlisting
-#: query_hql.xml:57 query_hql.xml:372
-#, no-c-format
+#: index.docbook:57, index.docbook:372
msgid "<![CDATA[from Cat as cat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat]]>"
-#. Tag: para
-#: query_hql.xml:59
-#, no-c-format
+#: index.docbook:59
msgid ""
"This query assigns the alias <literal>cat</literal> to <literal>Cat</"
"literal> instances, so we could use that alias later in the query. The "
"<literal>as</literal> keyword is optional; we could also write:"
msgstr ""
"Esta consulta asigna el alias <literal>cat</literal> a las instancias de "
-"<literal>Cat</literal>, de modo que podríamos usar ese alias luego en la "
-"consulta. La palabra clave <literal>as</literal> es opcional; también "
-"podríamos escribir:"
+"<literal>Cat</literal>, de modo que podríamos usar ese alias luego en "
+"la consulta. La palabra clave <literal>as</literal> es opcional; "
+"también podríamos escribir:"
-#. Tag: programlisting
-#: query_hql.xml:65
-#, no-c-format
+#: index.docbook:65
msgid "<![CDATA[from Cat cat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:67
-#, no-c-format
+#: index.docbook:67
msgid ""
"Multiple classes may appear, resulting in a cartesian product or \"cross\" "
"join."
msgstr ""
-"Pueden aparecer múltiples clases, resultando en un producto cartesiano o "
-"unión \"cruzada\" (cross join)."
+"Pueden aparecer múltiples clases, resultando en un producto "
+"cartesiano o unión \"cruzada\" (cross join)."
-#. Tag: programlisting
-#: query_hql.xml:71
-#, no-c-format
+#: index.docbook:71
msgid "<![CDATA[from Formula, Parameter]]>"
-msgstr ""
+msgstr "<![CDATA[from Formula, Parameter]]>"
-#. Tag: programlisting
-#: query_hql.xml:72
-#, no-c-format
+#: index.docbook:72
msgid "<![CDATA[from Formula as form, Parameter as param]]>"
-msgstr ""
+msgstr "<![CDATA[from Formula as form, Parameter as param]]>"
-#. Tag: para
-#: query_hql.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"It is considered good practice to name query aliases using an initial "
"lowercase, consistent with Java naming standards for local variables (eg. "
"<literal>domesticCat</literal>)."
msgstr ""
-"Se considera buena práctica el nombrar los alias de consulta usando una "
-"inicial en minúsculas, consistente con los estándares de nombrado de Java "
-"para variables locales (por ejemplo, <literal>domesticCat</literal>)."
+"Se considera buena práctica el nombrar los alias de consulta usando "
+"una inicial en minúsculas, consistente con los estándares de "
+"nombrado de Java para variables locales (por ejemplo, <literal>domesticCat</"
+"literal>)."
-#. Tag: title
-#: query_hql.xml:83
-#, no-c-format
+#: index.docbook:83
msgid "Associations and joins"
msgstr "Asociaciones y uniones (joins)"
-#. Tag: para
-#: query_hql.xml:85
-#, no-c-format
+#: index.docbook:85
msgid ""
"We may also assign aliases to associated entities, or even to elements of a "
"collection of values, using a <literal>join</literal>."
msgstr ""
-"Podemos también asignar aliases a entidades asociadas, e incluso a elementos "
-"de una colección de valores, usando una <literal>join</literal>."
+"Podemos también asignar aliases a entidades asociadas, e incluso a "
+"elementos de una colección de valores, usando una <literal>join</"
+"literal>."
-#. Tag: programlisting
-#: query_hql.xml:90
-#, no-c-format
+#: index.docbook:90
msgid ""
"<![CDATA[from Cat as cat\n"
" inner join cat.mate as mate\n"
" left outer join cat.kittens as kitten]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" inner join cat.mate as mate\n"
+" left outer join cat.kittens as kitten]]>"
-#. Tag: programlisting
-#: query_hql.xml:92
-#, no-c-format
+#: index.docbook:92
msgid "<![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat left join cat.mate.kittens as kittens]]>"
-#. Tag: programlisting
-#: query_hql.xml:94
-#, no-c-format
+#: index.docbook:94
msgid "<![CDATA[from Formula form full join form.parameter param]]>"
-msgstr ""
+msgstr "<![CDATA[from Formula form full join form.parameter param]]>"
-#. Tag: para
-#: query_hql.xml:96
-#, no-c-format
+#: index.docbook:96
msgid "The supported join types are borrowed from ANSI SQL"
msgstr "Los tipos de join soportados son prestados de ANSI SQL"
-#. Tag: literal
-#: query_hql.xml:103
-#, no-c-format
+#: index.docbook:103
msgid "inner join"
msgstr "inner join"
-#. Tag: literal
-#: query_hql.xml:108
-#, no-c-format
+#: index.docbook:108
msgid "left outer join"
msgstr "left outer join"
-#. Tag: literal
-#: query_hql.xml:113
-#, no-c-format
+#: index.docbook:113
msgid "right outer join"
msgstr "right outer join"
-#. Tag: para
-#: query_hql.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "<literal>full join</literal> (not usually useful)"
-msgstr "<literal>full join</literal> (no útil usualmente)"
+msgstr "<literal>full join</literal> (no útil usualmente)"
-#. Tag: para
-#: query_hql.xml:123
-#, no-c-format
+#: index.docbook:123
msgid ""
"The <literal>inner join</literal>, <literal>left outer join</literal> and "
"<literal>right outer join</literal> constructs may be abbreviated."
@@ -250,37 +194,35 @@
"Las construcciones <literal>inner join</literal>, <literal>left outer join</"
"literal> y <literal>right outer join</literal> pueden ser abreviadas."
-#. Tag: programlisting
-#: query_hql.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<![CDATA[from Cat as cat\n"
" join cat.mate as mate\n"
" left join cat.kittens as kitten]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" join cat.mate as mate\n"
+" left join cat.kittens as kitten]]>"
-#. Tag: para
-#: query_hql.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"You may supply extra join conditions using the HQL <literal>with</literal> "
"keyword."
msgstr ""
-"Puedes proveer condiciones de unión extra usando la palabra clave "
+"Puedes proveer condiciones de unión extra usando la palabra clave "
"<literal>with</literal> de HQL."
-#. Tag: programlisting
-#: query_hql.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[from Cat as cat\n"
" left join cat.kittens as kitten\n"
" with kitten.bodyWeight > 10.0]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" left join cat.kittens as kitten \n"
+" with kitten.bodyWeight > 10.0]]>"
-#. Tag: para
-#: query_hql.xml:137
-#, no-c-format
+#: index.docbook:137
msgid ""
"In addition, a \"fetch\" join allows associations or collections of values "
"to be initialized along with their parent objects, using a single select. "
@@ -289,25 +231,25 @@
"associations and collections. See <xref linkend=\"performance-fetching\"/> "
"for more information."
msgstr ""
-"En adición, un \"fetch\" join permite a las asociaciones o colecciones de "
-"valores ser inicializadas junto a sus objetos padres, usando una sola "
-"selección. Esto es particularmente útil en el case de una colección. "
-"Efectivamente sobrescribe el outer join y las declaraciones perezosas (lazy) "
-"del fichero de mapeo para asociaciones y colecciones. Ver <xref linkend="
-"\"performance-fetching\"/> para más información."
+"En adición, un \"fetch\" join permite a las asociaciones o "
+"colecciones de valores ser inicializadas junto a sus objetos padres, usando "
+"una sola selección. Esto es particularmente útil en el case de "
+"una colección. Efectivamente sobrescribe el outer join y las "
+"declaraciones perezosas (lazy) del fichero de mapeo para asociaciones y "
+"colecciones. Ver <xref linkend=\"performance-fetching\"/> para más "
+"información."
-#. Tag: programlisting
-#: query_hql.xml:145
-#, no-c-format
+#: index.docbook:145
msgid ""
"<![CDATA[from Cat as cat\n"
" inner join fetch cat.mate\n"
" left join fetch cat.kittens]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" inner join fetch cat.mate\n"
+" left join fetch cat.kittens]]>"
-#. Tag: para
-#: query_hql.xml:147
-#, no-c-format
+#: index.docbook:147
msgid ""
"A fetch join does not usually need to assign an alias, because the "
"associated objects should not be used in the <literal>where</literal> clause "
@@ -316,26 +258,27 @@
"object. The only reason we might need an alias is if we are recursively join "
"fetching a further collection:"
msgstr ""
-"Usualmente a un fetch join no se necesita asignársele un alias, porque los "
-"objetos asociados no deben ser usados en la cláusula <literal>where</"
-"literal> (ni en cualquier otra cláusula). Además, los objetos asociados no "
-"son devueltos directamente en los resultados de consulta. En cambio, pueden "
-"ser accedidos vía el objeto padre. La única razón por la que necesitaríamos "
-"un alias es estamos uniendo recursivamente otra colección:"
+"Usualmente a un fetch join no se necesita asignársele un alias, "
+"porque los objetos asociados no deben ser usados en la cláusula "
+"<literal>where</literal> (ni en cualquier otra cláusula). Ademá"
+"s, los objetos asociados no son devueltos directamente en los resultados de "
+"consulta. En cambio, pueden ser accedidos vía el objeto padre. La "
+"única razón por la que necesitaríamos un alias es "
+"estamos uniendo recursivamente otra colección:"
-#. Tag: programlisting
-#: query_hql.xml:155
-#, no-c-format
+#: index.docbook:155
msgid ""
"<![CDATA[from Cat as cat\n"
" inner join fetch cat.mate\n"
" left join fetch cat.kittens child\n"
" left join fetch child.kittens]]>"
msgstr ""
+"<![CDATA[from Cat as cat \n"
+" inner join fetch cat.mate\n"
+" left join fetch cat.kittens child\n"
+" left join fetch child.kittens]]>"
-#. Tag: para
-#: query_hql.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"Note that the <literal>fetch</literal> construct may not be used in queries "
"called using <literal>iterate()</literal> (though <literal>scroll()</"
@@ -352,55 +295,48 @@
"join fetch</literal> and <literal>right join fetch</literal> are not "
"meaningful."
msgstr ""
-"Nota que la construcción <literal>fetch</literal> no puede usarse en "
+"Nota que la construcción <literal>fetch</literal> no puede usarse en "
"consultas llamadas usando <literal>scroll()</literal> o <literal>iterate()</"
"literal>. Ni debe usarse <literal>fetch</literal> junto con "
"<literal>setMaxResults()</literal> o <literal>setFirstResult()</literal>. "
-"Tampoco puede usarse <literal>fetch</literal> junto a una condición "
+"Tampoco puede usarse <literal>fetch</literal> junto a una condición "
"<literal>with</literal> ad hoc. Es posible crear un producto cartesiano "
-"trayendo por join más de una colección en una colección, así que ten cuidado "
-"en este caso. Traer por join múltiples roles de colección también da a veces "
-"resultados inesperados para mapeos de bag, así que sé cuidadoso sobre cómo "
+"trayendo por join más de una colección en una colecció"
+"n, así que ten cuidado en este caso. Traer por join múltiples "
+"roles de colección también da a veces resultados inesperados "
+"para mapeos de bag, así que sé cuidadoso sobre cómo "
"formular tus consultas en este caso. Finalmente, nota que <literal>full join "
"fetch</literal> y <literal>right join fetch</literal> no son significativos."
-#. Tag: para
-#: query_hql.xml:172
-#, no-c-format
+#: index.docbook:172
msgid ""
"If you are using property-level lazy fetching (with bytecode "
"instrumentation), it is possible to force Hibernate to fetch the lazy "
"properties immediately (in the first query) using <literal>fetch all "
"properties</literal>."
msgstr ""
-"Si estás usando recuperación perezosa a nivel de propiedad (con "
-"instrumentación de bytecode), es posible forzar a Hibernate a traer las "
-"propiedades perezosas inmediatamente (en la primera consulta) usando "
-"<literal>fetch all properties</literal>."
+"Si estás usando recuperación perezosa a nivel de propiedad "
+"(con instrumentación de bytecode), es posible forzar a Hibernate a "
+"traer las propiedades perezosas inmediatamente (en la primera consulta) "
+"usando <literal>fetch all properties</literal>."
-#. Tag: programlisting
-#: query_hql.xml:178
-#, no-c-format
+#: index.docbook:178
msgid "<![CDATA[from Document fetch all properties order by name]]>"
-msgstr ""
+msgstr "<![CDATA[from Document fetch all properties order by name]]>"
-#. Tag: programlisting
-#: query_hql.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%"
"cats%']]>"
msgstr ""
+"<![CDATA[from Document doc fetch all properties where lower(doc.name) like '%"
+"cats%']]>"
-#. Tag: title
-#: query_hql.xml:184
-#, no-c-format
+#: index.docbook:184
msgid "Forms of join syntax"
msgstr "UNTRANSLATED!!! Forms of join syntax"
-#. Tag: para
-#: query_hql.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"HQL supports two forms of association joining: <literal>implicit</literal> "
"and <literal>explicit</literal>."
@@ -408,9 +344,7 @@
"HQL supports two forms of association joining: <literal>implicit</literal> "
"and <literal>explicit</literal>."
-#. Tag: para
-#: query_hql.xml:190
-#, no-c-format
+#: index.docbook:190
msgid ""
"The queries shown in the previous section all use the <literal>explicit</"
"literal> form where the join keyword is explicitly used in the from clause. "
@@ -420,9 +354,7 @@
"literal> form where the join keyword is explicitly used in the from clause. "
"This is the recommended form."
-#. Tag: para
-#: query_hql.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"The <literal>implicit</literal> form does not use the join keyword. Instead, "
"the associations are \"dereferenced\" using dot-notation. <literal>implicit</"
@@ -434,21 +366,15 @@
"literal> joins can appear in any of the HQL clauses. <literal>implicit</"
"literal> join result in inner joins in the resulting SQL statement."
-#. Tag: programlisting
-#: query_hql.xml:202
-#, no-c-format
+#: index.docbook:202
msgid "<![CDATA[from Cat as cat where cat.mate.name like '%s%']]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat where cat.mate.name like '%s%']]>"
-#. Tag: title
-#: query_hql.xml:206
-#, no-c-format
+#: index.docbook:206
msgid "Refering to identifier property"
msgstr "Refering to identifier property"
-#. Tag: para
-#: query_hql.xml:208
-#, no-c-format
+#: index.docbook:208
msgid ""
"There are, generally speaking, 2 ways to refer to an entity's identifier "
"property:"
@@ -456,9 +382,7 @@
"There are, generally speaking, 2 ways to refer to an entity's identifier "
"property:"
-#. Tag: para
-#: query_hql.xml:213
-#, no-c-format
+#: index.docbook:213
msgid ""
"The special property (lowercase) <literal>id</literal> may be used to "
"reference the identifier property of an entity <emphasis>provided that "
@@ -468,9 +392,7 @@
"reference the identifier property of an entity <emphasis>provided that "
"entity does not define a non-identifier property named id</emphasis>."
-#. Tag: para
-#: query_hql.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"If the entity defines a named identifier property, you may use that property "
"name."
@@ -478,9 +400,7 @@
"If the entity defines a named identifier property, you may use that property "
"name."
-#. Tag: para
-#: query_hql.xml:226
-#, no-c-format
+#: index.docbook:226
msgid ""
"References to composite identifier properties follow the same naming rules. "
"If the entity has a non-identifier property named id, the composite "
@@ -494,9 +414,7 @@
"the special <literal>id</literal> property can be used to rerference the "
"identifier property."
-#. Tag: para
-#: query_hql.xml:233
-#, fuzzy, no-c-format
+#: index.docbook:233
msgid ""
"Note: this has changed significantly starting in version 3.2.2. In previous "
"versions, <literal>id</literal> <emphasis>always</emphasis> referred to the "
@@ -505,56 +423,47 @@
"could never be referenced in Hibernate queries."
msgstr ""
"Note: this has changed significantly starting in version 3.2.2. In previous "
-"versions, <literal>id</literal><emphasis>always</emphasis> referred to the "
+"versions, <literal>id</literal> <emphasis>always</emphasis> referred to the "
"identifier property no matter what its actual name. A ramification of that "
"decision was that non-identifier properties named <literal>id</literal> "
"could never be referenced in Hibernate queries."
-#. Tag: title
-#: query_hql.xml:242
-#, no-c-format
+#: index.docbook:242
msgid "The select clause"
-msgstr "La cláusula select"
+msgstr "La cláusula select"
-#. Tag: para
-#: query_hql.xml:244
-#, no-c-format
+#: index.docbook:244
msgid ""
"The <literal>select</literal> clause picks which objects and properties to "
"return in the query result set. Consider:"
msgstr ""
-"La cláusula <literal>select</literal> escoge qué objetos y propiedades "
-"devolver in el conjunto resultado de la consulta. Considera:"
+"La cláusula <literal>select</literal> escoge qué objetos y "
+"propiedades devolver in el conjunto resultado de la consulta. Considera:"
-#. Tag: programlisting
-#: query_hql.xml:249
-#, no-c-format
+#: index.docbook:249
msgid ""
"<![CDATA[select mate\n"
"from Cat as cat\n"
" inner join cat.mate as mate]]>"
msgstr ""
+"<![CDATA[select mate \n"
+"from Cat as cat \n"
+" inner join cat.mate as mate]]>"
-#. Tag: para
-#: query_hql.xml:251
-#, no-c-format
+#: index.docbook:251
msgid ""
"The query will select <literal>mate</literal>s of other <literal>Cat</"
"literal>s. Actually, you may express this query more compactly as:"
msgstr ""
-"La consulta seleccionará <literal>mate</literal>s de otros <literal>Cat</"
-"literal>s. Realmente, puedes expresar esta consulta en un forma más compacta "
-"como:"
+"La consulta seleccionará <literal>mate</literal>s de otros "
+"<literal>Cat</literal>s. Realmente, puedes expresar esta consulta en un "
+"forma más compacta como:"
-#. Tag: programlisting
-#: query_hql.xml:256
-#, no-c-format
+#: index.docbook:256
msgid "<![CDATA[select cat.mate from Cat cat]]>"
-msgstr ""
+msgstr "<![CDATA[select cat.mate from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:258
-#, no-c-format
+#: index.docbook:258
msgid ""
"Queries may return properties of any value type including properties of "
"component type:"
@@ -562,75 +471,71 @@
"Las consultas pueden devolver propiedades de cualquier tipo de valor "
"incluyendo propiedades de tipo componente:"
-#. Tag: programlisting
-#: query_hql.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"<![CDATA[select cat.name from DomesticCat cat\n"
"where cat.name like 'fri%']]>"
msgstr ""
+"<![CDATA[select cat.name from DomesticCat cat\n"
+"where cat.name like 'fri%']]>"
-#. Tag: programlisting
-#: query_hql.xml:264
-#, no-c-format
+#: index.docbook:264
msgid "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-msgstr ""
+msgstr "<![CDATA[select cust.name.firstName from Customer as cust]]>"
-#. Tag: para
-#: query_hql.xml:266
-#, no-c-format
+#: index.docbook:266
msgid ""
"Queries may return multiple objects and/or properties as an array of type "
"<literal>Object[]</literal>,"
msgstr ""
-"Las consultas pueden devolver múltiples objetos y/o propiedades como un "
-"array de tipo <literal>Object[]</literal>,"
+"Las consultas pueden devolver múltiples objetos y/o propiedades como "
+"un array de tipo <literal>Object[]</literal>,"
-#. Tag: programlisting
-#: query_hql.xml:271
-#, no-c-format
+#: index.docbook:271
msgid ""
"<![CDATA[select mother, offspr, mate.name\n"
"from DomesticCat as mother\n"
" inner join mother.mate as mate\n"
" left outer join mother.kittens as offspr]]>"
msgstr ""
+"<![CDATA[select mother, offspr, mate.name \n"
+"from DomesticCat as mother\n"
+" inner join mother.mate as mate\n"
+" left outer join mother.kittens as offspr]]>"
-#. Tag: para
-#: query_hql.xml:273
-#, no-c-format
+#: index.docbook:273
msgid "or as a <literal>List</literal>,"
msgstr "o como una <literal>List</literal>,"
-#. Tag: programlisting
-#: query_hql.xml:277
-#, no-c-format
+#: index.docbook:277
msgid ""
"<![CDATA[select new list(mother, offspr, mate.name)\n"
"from DomesticCat as mother\n"
" inner join mother.mate as mate\n"
" left outer join mother.kittens as offspr]]>"
msgstr ""
+"<![CDATA[select new list(mother, offspr, mate.name)\n"
+"from DomesticCat as mother\n"
+" inner join mother.mate as mate\n"
+" left outer join mother.kittens as offspr]]>"
-#. Tag: para
-#: query_hql.xml:279
-#, no-c-format
+#: index.docbook:279
msgid "or as an actual typesafe Java object,"
msgstr "o como un objeto real Java de tipo seguro,"
-#. Tag: programlisting
-#: query_hql.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"<![CDATA[select new Family(mother, mate, offspr)\n"
"from DomesticCat as mother\n"
" join mother.mate as mate\n"
" left join mother.kittens as offspr]]>"
msgstr ""
+"<![CDATA[select new Family(mother, mate, offspr)\n"
+"from DomesticCat as mother\n"
+" join mother.mate as mate\n"
+" left join mother.kittens as offspr]]>"
-#. Tag: para
-#: query_hql.xml:285
-#, no-c-format
+#: index.docbook:285
msgid ""
"assuming that the class <literal>Family</literal> has an appropriate "
"constructor."
@@ -638,161 +543,138 @@
"asumiendo que la clase <literal>Family</literal> tiene un constructor "
"apropiado."
-#. Tag: para
-#: query_hql.xml:289
-#, no-c-format
+#: index.docbook:289
msgid ""
"You may assign aliases to selected expressions using <literal>as</literal>:"
msgstr ""
"Puedes asignar aliases para seleccionar expresiones usando <literal>as</"
"literal>:"
-#. Tag: programlisting
-#: query_hql.xml:293
-#, no-c-format
+#: index.docbook:293
msgid ""
"<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as "
"n\n"
"from Cat cat]]>"
msgstr ""
+"<![CDATA[select max(bodyWeight) as max, min(bodyWeight) as min, count(*) as "
+"n\n"
+"from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:295
-#, no-c-format
+#: index.docbook:295
msgid ""
"This is most useful when used together with <literal>select new map</"
"literal>:"
msgstr ""
-"Esto es lo más útil cuando se usa junto con <literal>select new map</"
-"literal>:"
+"Esto es lo más útil cuando se usa junto con <literal>select "
+"new map</literal>:"
-#. Tag: programlisting
-#: query_hql.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, "
"count(*) as n )\n"
"from Cat cat]]>"
msgstr ""
+"<![CDATA[select new map( max(bodyWeight) as max, min(bodyWeight) as min, "
+"count(*) as n )\n"
+"from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:301
-#, no-c-format
+#: index.docbook:301
msgid ""
"This query returns a <literal>Map</literal> from aliases to selected values."
msgstr ""
"Esta consulta devuelve un <literal>Map</literal> de aliases a valores "
"seleccionados."
-#. Tag: title
-#: query_hql.xml:308
-#, no-c-format
+#: index.docbook:308
msgid "Aggregate functions"
-msgstr "Funciones de agregación"
+msgstr "Funciones de agregación"
-#. Tag: para
-#: query_hql.xml:310
-#, no-c-format
+#: index.docbook:310
msgid ""
"HQL queries may even return the results of aggregate functions on properties:"
msgstr ""
"Las consultas HQL pueden incluso devolver resultados de funciones de "
-"agregación sobre propiedades:"
+"agregación sobre propiedades:"
-#. Tag: programlisting
-#: query_hql.xml:314
-#, no-c-format
+#: index.docbook:314
msgid ""
"<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count"
"(cat)\n"
"from Cat cat]]>"
msgstr ""
+"<![CDATA[select avg(cat.weight), sum(cat.weight), max(cat.weight), count"
+"(cat)\n"
+"from Cat cat]]>"
-#. Tag: para
-#: query_hql.xml:325
-#, no-c-format
+#: index.docbook:325
msgid "The supported aggregate functions are"
-msgstr "Las funciones de agregación soportadas son"
+msgstr "Las funciones de agregación soportadas son"
-#. Tag: literal
-#: query_hql.xml:332
-#, no-c-format
+#: index.docbook:332
msgid "avg(...), sum(...), min(...), max(...)"
msgstr "avg(...), sum(...), min(...), max(...)"
-#. Tag: literal
-#: query_hql.xml:337
-#, no-c-format
+#: index.docbook:337
msgid "count(*)"
msgstr "count(*)"
-#. Tag: literal
-#: query_hql.xml:342
-#, no-c-format
+#: index.docbook:342
msgid "count(...), count(distinct ...), count(all...)"
msgstr "count(...), count(distinct ...), count(all...)"
-#. Tag: para
-#: query_hql.xml:347
-#, no-c-format
+#: index.docbook:347
msgid ""
"You may use arithmetic operators, concatenation, and recognized SQL "
"functions in the select clause:"
msgstr ""
-"Puedes usar operadores aritméticos, concatenación, y funciones SQL "
-"reconocidas en la cláusula select:"
+"Puedes usar operadores aritméticos, concatenación, y funciones "
+"SQL reconocidas en la cláusula select:"
-#. Tag: programlisting
-#: query_hql.xml:352
-#, no-c-format
+#: index.docbook:352
msgid ""
"<![CDATA[select cat.weight + sum(kitten.weight)\n"
"from Cat cat\n"
" join cat.kittens kitten\n"
"group by cat.id, cat.weight]]>"
msgstr ""
+"<![CDATA[select cat.weight + sum(kitten.weight) \n"
+"from Cat cat \n"
+" join cat.kittens kitten\n"
+"group by cat.id, cat.weight]]>"
-#. Tag: programlisting
-#: query_hql.xml:354
-#, no-c-format
+#: index.docbook:354
msgid ""
"<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
msgstr ""
+"<![CDATA[select firstName||' '||initial||' '||upper(lastName) from Person]]>"
-#. Tag: para
-#: query_hql.xml:356
-#, no-c-format
+#: index.docbook:356
msgid ""
"The <literal>distinct</literal> and <literal>all</literal> keywords may be "
"used and have the same semantics as in SQL."
msgstr ""
"Las palabras clave <literal>distinct</literal> y <literal>all</literal> "
-"pueden ser usadas y tienen las misma semántica que en SQL."
+"pueden ser usadas y tienen las misma semántica que en SQL."
-#. Tag: programlisting
-#: query_hql.xml:361
-#, no-c-format
+#: index.docbook:361
msgid ""
"<![CDATA[select distinct cat.name from Cat cat\n"
"\n"
"select count(distinct cat.name), count(cat) from Cat cat]]>"
msgstr ""
+"<![CDATA[select distinct cat.name from Cat cat\n"
+"\n"
+"select count(distinct cat.name), count(cat) from Cat cat]]>"
-#. Tag: title
-#: query_hql.xml:366
-#, no-c-format
+#: index.docbook:366
msgid "Polymorphic queries"
-msgstr "Consultas polimórficas"
+msgstr "Consultas polimórficas"
-#. Tag: para
-#: query_hql.xml:368
-#, no-c-format
+#: index.docbook:368
msgid "A query like:"
msgstr "Una consulta como:"
-#. Tag: para
-#: query_hql.xml:374
-#, no-c-format
+#: index.docbook:374
msgid ""
"returns instances not only of <literal>Cat</literal>, but also of subclasses "
"like <literal>DomesticCat</literal>. Hibernate queries may name "
@@ -801,101 +683,83 @@
"that extend that class or implement the interface. The following query would "
"return all persistent objects:"
msgstr ""
-"devuelve instancias no sólo de <literal>Cat</literal>, sino también de "
-"subclases como <literal>DomesticCat</literal>. Las consultas de Hibernate "
-"pueden mencionar <emphasis>cualquier</emphasis> clase o interface Java en la "
-"cláusula <literal>from</literal>. La consulta devolverá instancias de todas "
-"las clases persistentes que extiendan esa clase o implementen la interface. "
-"La siguiente consulta devolvería todos los objetos persistentes."
+"devuelve instancias no sólo de <literal>Cat</literal>, sino "
+"también de subclases como <literal>DomesticCat</literal>. Las "
+"consultas de Hibernate pueden mencionar <emphasis>cualquier</emphasis> clase "
+"o interface Java en la cláusula <literal>from</literal>. La consulta "
+"devolverá instancias de todas las clases persistentes que extiendan "
+"esa clase o implementen la interface. La siguiente consulta devolverí"
+"a todos los objetos persistentes."
-#. Tag: programlisting
-#: query_hql.xml:382
-#, no-c-format
+#: index.docbook:382
msgid "<![CDATA[from java.lang.Object o]]>"
-msgstr ""
+msgstr "<![CDATA[from java.lang.Object o]]>"
-#. Tag: para
-#: query_hql.xml:384
-#, no-c-format
+#: index.docbook:384
msgid ""
"The interface <literal>Named</literal> might be implemented by various "
"persistent classes:"
msgstr ""
-"La interface <literal>Named</literal> podría ser implementada por varias "
-"clases persistentes:"
+"La interface <literal>Named</literal> podría ser implementada por "
+"varias clases persistentes:"
-#. Tag: programlisting
-#: query_hql.xml:389
-#, no-c-format
+#: index.docbook:389
msgid "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-msgstr ""
+msgstr "<![CDATA[from Named n, Named m where n.name = m.name]]>"
-#. Tag: para
-#: query_hql.xml:391
-#, no-c-format
+#: index.docbook:391
msgid ""
"Note that these last two queries will require more than one SQL "
"<literal>SELECT</literal>. This means that the <literal>order by</literal> "
"clause does not correctly order the whole result set. (It also means you "
"can't call these queries using <literal>Query.scroll()</literal>.)"
msgstr ""
-"Nota que estas dos últimas consultas requerirán más de un <literal>SELECT</"
-"literal> SQL. Esto significa que la cláusula <literal>order by</literal> no "
-"ordenará correctamente todo el conjunto resultado. (Significa además que no "
-"puedes llamar estas consulta usando <literal>Query.scroll()</literal>.)"
+"Nota que estas dos últimas consultas requerirán más de "
+"un <literal>SELECT</literal> SQL. Esto significa que la cláusula "
+"<literal>order by</literal> no ordenará correctamente todo el "
+"conjunto resultado. (Significa además que no puedes llamar estas "
+"consulta usando <literal>Query.scroll()</literal>.)"
-#. Tag: title
-#: query_hql.xml:400
-#, no-c-format
+#: index.docbook:400
msgid "The where clause"
-msgstr "La cláusula where"
+msgstr "La cláusula where"
-#. Tag: para
-#: query_hql.xml:402
-#, no-c-format
+#: index.docbook:402
msgid ""
"The <literal>where</literal> clause allows you to narrow the list of "
"instances returned. If no alias exists, you may refer to properties by name:"
msgstr ""
-"La cláusula where te permite estrechar la lista de instancias devueltas. Si "
-"no existe ningún alias. puedes referirte a las propiedades por nombre:"
+"La cláusula where te permite estrechar la lista de instancias "
+"devueltas. Si no existe ningún alias. puedes referirte a las "
+"propiedades por nombre:"
-#. Tag: programlisting
-#: query_hql.xml:407
-#, no-c-format
+#: index.docbook:407
msgid "<![CDATA[from Cat where name='Fritz']]>"
-msgstr ""
+msgstr "<![CDATA[from Cat where name='Fritz']]>"
-#. Tag: para
-#: query_hql.xml:409
-#, no-c-format
+#: index.docbook:409
msgid "If there is an alias, use a qualified property name:"
msgstr "Si existe un alias, usan un nombre cualificado de propiedad:"
-#. Tag: programlisting
-#: query_hql.xml:413
-#, no-c-format
+#: index.docbook:413
msgid "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-msgstr ""
+msgstr "<![CDATA[from Cat as cat where cat.name='Fritz']]>"
-#. Tag: para
-#: query_hql.xml:415
-#, no-c-format
+#: index.docbook:415
msgid "returns instances of <literal>Cat</literal> named 'Fritz'."
msgstr "devuelve las instancias de <literal>Cat</literal> llamadas 'Fritz'."
-#. Tag: programlisting
-#: query_hql.xml:419
-#, no-c-format
+#: index.docbook:419
msgid ""
"<![CDATA[select foo\n"
"from Foo foo, Bar bar\n"
"where foo.startDate = bar.date]]>"
msgstr ""
+"<![CDATA[select foo \n"
+"from Foo foo, Bar bar\n"
+"where foo.startDate = bar.date]]>"
-#. Tag: para
-#: query_hql.xml:421
-#, no-c-format
+#: index.docbook:421
msgid ""
"will return all instances of <literal>Foo</literal> for which there exists "
"an instance of <literal>bar</literal> with a <literal>date</literal> "
@@ -903,100 +767,88 @@
"<literal>Foo</literal>. Compound path expressions make the <literal>where</"
"literal> clause extremely powerful. Consider:"
msgstr ""
-"devolverá todas las instancias de <literal>Foo</literal> para las cuales "
-"exista una instancia de <literal>bar</literal> con una propiedad "
+"devolverá todas las instancias de <literal>Foo</literal> para las "
+"cuales exista una instancia de <literal>bar</literal> con una propiedad "
"<literal>date</literal> igual a la propiedad <literal>startDate</literal> "
"del <literal>Foo</literal>. Las expresiones de ruta compuestas hacen la "
-"cláusula <literal>where</literal> extremadamente potente. Considera:"
+"cláusula <literal>where</literal> extremadamente potente. Considera:"
-#. Tag: programlisting
-#: query_hql.xml:430
-#, no-c-format
+#: index.docbook:430
msgid "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.mate.name is not null]]>"
-#. Tag: para
-#: query_hql.xml:432
-#, no-c-format
+#: index.docbook:432
msgid ""
"This query translates to an SQL query with a table (inner) join. If you were "
"to write something like"
msgstr ""
-"Esta consulta se traduce en una consulta SQL con una unión de tabla "
+"Esta consulta se traduce en una consulta SQL con una unión de tabla "
"(interna). Si fueses a escribir algo como"
-#. Tag: programlisting
-#: query_hql.xml:437
-#, no-c-format
+#: index.docbook:437
msgid ""
"<![CDATA[from Foo foo\n"
"where foo.bar.baz.customer.address.city is not null]]>"
msgstr ""
+"<![CDATA[from Foo foo \n"
+"where foo.bar.baz.customer.address.city is not null]]>"
-#. Tag: para
-#: query_hql.xml:439
-#, no-c-format
+#: index.docbook:439
msgid ""
"you would end up with a query that would require four table joins in SQL."
msgstr ""
-"terminarías con una consulta que requeriría cuatro uniones de tablas en SQL."
+"terminarías con una consulta que requeriría cuatro uniones de "
+"tablas en SQL."
-#. Tag: para
-#: query_hql.xml:443
-#, no-c-format
+#: index.docbook:443
msgid ""
"The <literal>=</literal> operator may be used to compare not only "
"properties, but also instances:"
msgstr ""
-"El operador <literal>=</literal> puede ser usado para comparar no sólo "
-"propiedades, sino también instancias:"
+"El operador <literal>=</literal> puede ser usado para comparar no só"
+"lo propiedades, sino también instancias:"
-#. Tag: programlisting
-#: query_hql.xml:448
-#, no-c-format
+#: index.docbook:448
msgid "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat, Cat rival where cat.mate = rival.mate]]>"
-#. Tag: programlisting
-#: query_hql.xml:450
-#, no-c-format
+#: index.docbook:450
msgid ""
"<![CDATA[select cat, mate\n"
"from Cat cat, Cat mate\n"
"where cat.mate = mate]]>"
msgstr ""
+"<![CDATA[select cat, mate \n"
+"from Cat cat, Cat mate\n"
+"where cat.mate = mate]]>"
-#. Tag: para
-#: query_hql.xml:452
-#, no-c-format
+#: index.docbook:452
msgid ""
"The special property (lowercase) <literal>id</literal> may be used to "
"reference the unique identifier of an object. See <xref linkend=\"queryhql-"
"identifier-property\"/> for more information."
msgstr ""
-"La propiedad especial (en minúsculas) <literal>id</literal> puede ser usada "
-"para referenciar el identificador único de un objeto. (También puedes usar "
-"su nombre de propiedad.)"
+"La propiedad especial (en minúsculas) <literal>id</literal> puede ser "
+"usada para referenciar el identificador único de un objeto. "
+"(También puedes usar su nombre de propiedad.)"
-#. Tag: programlisting
-#: query_hql.xml:458
-#, no-c-format
+#: index.docbook:458
msgid ""
"<![CDATA[from Cat as cat where cat.id = 123\n"
"\n"
"from Cat as cat where cat.mate.id = 69]]>"
msgstr ""
+"<![CDATA[from Cat as cat where cat.id = 123\n"
+"\n"
+"from Cat as cat where cat.mate.id = 69]]>"
-#. Tag: para
-#: query_hql.xml:460
-#, no-c-format
+#: index.docbook:460
msgid "The second query is efficient. No table join is required!"
msgstr ""
-"La segunda consulta es eficiente. ¡No se requiere ninguna unión de tablas!"
+"La segunda consulta es eficiente. ¡No se requiere ninguna unió"
+"n de tablas!"
-#. Tag: para
-#: query_hql.xml:464
-#, no-c-format
+#: index.docbook:464
msgid ""
"Properties of composite identifiers may also be used. Suppose "
"<literal>Person</literal> has a composite identifier consisting of "
@@ -1004,38 +856,38 @@
"<xref linkend=\"queryhql-identifier-property\"/> for more information "
"regarding referencing identifier properties."
msgstr ""
-"También pueden ser usadas las propiedades de identificadores compuestos. "
-"Supón que <literal>Person</literal> tiene un identificador compuesto "
-"consistente en <literal>country</literal> y <literal>medicareNumber</"
-"literal>."
+"También pueden ser usadas las propiedades de identificadores "
+"compuestos. Supón que <literal>Person</literal> tiene un "
+"identificador compuesto consistente en <literal>country</literal> y "
+"<literal>medicareNumber</literal>."
-#. Tag: programlisting
-#: query_hql.xml:471
-#, no-c-format
+#: index.docbook:471
msgid ""
"<![CDATA[from bank.Person person\n"
"where person.id.country = 'AU'\n"
" and person.id.medicareNumber = 123456]]>"
msgstr ""
+"<![CDATA[from bank.Person person\n"
+"where person.id.country = 'AU' \n"
+" and person.id.medicareNumber = 123456]]>"
-#. Tag: programlisting
-#: query_hql.xml:473
-#, no-c-format
+#: index.docbook:473
msgid ""
"<![CDATA[from bank.Account account\n"
"where account.owner.id.country = 'AU'\n"
" and account.owner.id.medicareNumber = 123456]]>"
msgstr ""
+"<![CDATA[from bank.Account account\n"
+"where account.owner.id.country = 'AU' \n"
+" and account.owner.id.medicareNumber = 123456]]>"
-#. Tag: para
-#: query_hql.xml:475
-#, no-c-format
+#: index.docbook:475
msgid "Once again, the second query requires no table join."
-msgstr "Una vez más, la segunda consulta no requiere ninguna unión de tablas."
+msgstr ""
+"Una vez más, la segunda consulta no requiere ninguna unión de "
+"tablas."
-#. Tag: para
-#: query_hql.xml:479
-#, no-c-format
+#: index.docbook:479
msgid ""
"Likewise, the special property <literal>class</literal> accesses the "
"discriminator value of an instance in the case of polymorphic persistence. A "
@@ -1043,33 +895,25 @@
"discriminator value."
msgstr ""
"Asimismo, la propiedad especial <literal>class</literal> acccede al valor "
-"discriminador de una instancia en el caso de persistencia polimórfica. Un "
-"nombre de clase Java embebido en la cláusula where será traducido a su valor "
-"discriminador."
+"discriminador de una instancia en el caso de persistencia polimó"
+"rfica. Un nombre de clase Java embebido en la cláusula where "
+"será traducido a su valor discriminador."
-#. Tag: programlisting
-#: query_hql.xml:485
-#, no-c-format
+#: index.docbook:485
msgid "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.class = DomesticCat]]>"
-#. Tag: para
-#: query_hql.xml:487
-#, no-c-format
+#: index.docbook:487
msgid ""
"You may also use components or composite user types, or properties of said "
"component types. See <xref linkend=\"queryhql-components\"/> for more "
"details."
msgstr ""
-"Puedes también especificar propiedades de componentes o tipos compuestos de "
-"usuario (y de componentes de componentes, etc). Nunca intentes usar una "
-"expresión de ruta que termine en una propiedad de tipo componente (al "
-"contrario de una propiedad de un componente). Por ejemplo, si <literal>store."
-"owner</literal> es una entidad con un componente <literal>address</literal>"
+"You may also use components or composite user types, or properties of said "
+"component types. See <xref linkend=\"queryhql-components\"/> for more "
+"details."
-#. Tag: para
-#: query_hql.xml:492
-#, no-c-format
+#: index.docbook:492
msgid ""
"An \"any\" type has the special properties <literal>id</literal> and "
"<literal>class</literal>, allowing us to express a join in the following way "
@@ -1077,77 +921,62 @@
"<literal><any></literal>)."
msgstr ""
"Un tipo \"any\" tiene las propiedades especiales <literal>id</literal> y "
-"<literal>class</literal>, permiténdonos expresar un join en la siguiente "
-"forma (donde <literal>AuditLog.item</literal> es una propiedad mapeada con "
-"<literal><any></literal>)."
+"<literal>class</literal>, permiténdonos expresar un join en la "
+"siguiente forma (donde <literal>AuditLog.item</literal> es una propiedad "
+"mapeada con <literal><any></literal>)."
-#. Tag: programlisting
-#: query_hql.xml:498
-#, no-c-format
+#: index.docbook:498
msgid ""
"<![CDATA[from AuditLog log, Payment payment\n"
"where log.item.class = 'Payment' and log.item.id = payment.id]]>"
msgstr ""
+"<![CDATA[from AuditLog log, Payment payment \n"
+"where log.item.class = 'Payment' and log.item.id = payment.id]]>"
-#. Tag: para
-#: query_hql.xml:500
-#, no-c-format
+#: index.docbook:500
msgid ""
"Notice that <literal>log.item.class</literal> and <literal>payment.class</"
"literal> would refer to the values of completely different database columns "
"in the above query."
msgstr ""
"Nota que <literal>log.item.class</literal> y <literal>payment.class</"
-"literal> harían referencia a los valores de columnas de base de datos "
+"literal> harían referencia a los valores de columnas de base de datos "
"completamente diferentes en la consulta anterior."
-#. Tag: title
-#: query_hql.xml:508
-#, no-c-format
+#: index.docbook:508
msgid "Expressions"
msgstr "Expresiones"
-#. Tag: para
-#: query_hql.xml:510
-#, no-c-format
+#: index.docbook:510
msgid ""
"Expressions allowed in the <literal>where</literal> clause include most of "
"the kind of things you could write in SQL:"
msgstr ""
-"Las expresiones permitidas en la cláusula <literal>where</literal> incluyen "
-"la mayoría del tipo de cosas que podrías escribir en SQL:"
+"Las expresiones permitidas en la cláusula <literal>where</literal> "
+"incluyen la mayoría del tipo de cosas que podrías escribir en "
+"SQL:"
-#. Tag: para
-#: query_hql.xml:517
-#, no-c-format
+#: index.docbook:517
msgid "mathematical operators <literal>+, -, *, /</literal>"
-msgstr "operadores matemáticos <literal>+, -, *, /</literal>"
+msgstr "operadores matemáticos <literal>+, -, *, /</literal>"
-#. Tag: para
-#: query_hql.xml:522
-#, no-c-format
+#: index.docbook:522
msgid ""
"binary comparison operators <literal>=, >=, <=, <>, !=, like</"
"literal>"
msgstr ""
-"operadores de comparación binarios <literal>=, >=, <=, <>, !=, "
-"like</literal>"
+"operadores de comparación binarios <literal>=, >=, <=, <"
+">, !=, like</literal>"
-#. Tag: para
-#: query_hql.xml:527
-#, no-c-format
+#: index.docbook:527
msgid "logical operations <literal>and, or, not</literal>"
-msgstr "operadores lógicos <literal>and, or, not</literal>"
+msgstr "operadores lógicos <literal>and, or, not</literal>"
-#. Tag: para
-#: query_hql.xml:532
-#, no-c-format
+#: index.docbook:532
msgid "Parentheses <literal>( )</literal>, indicating grouping"
-msgstr "Paréntesis <literal>( )</literal>, indicando agrupación"
+msgstr "Paréntesis <literal>( )</literal>, indicando agrupación"
-#. Tag: para
-#: query_hql.xml:537
-#, no-c-format
+#: index.docbook:537
msgid ""
"<literal>in</literal>, <literal>not in</literal>, <literal>between</"
"literal>, <literal>is null</literal>, <literal>is not null</literal>, "
@@ -1159,9 +988,7 @@
"<literal>is empty</literal>, <literal>is not empty</literal>, "
"<literal>member of</literal> y <literal>not member of</literal>"
-#. Tag: para
-#: query_hql.xml:550
-#, no-c-format
+#: index.docbook:550
msgid ""
"\"Simple\" case, <literal>case ... when ... then ... else ... end</literal>, "
"and \"searched\" case, <literal>case when ... then ... else ... end</literal>"
@@ -1169,19 +996,15 @@
"Caso \"simple\", <literal>case ... when ... then ... else ... end</literal>, "
"y caso \"buscado\", <literal>case when ... then ... else ... end</literal>"
-#. Tag: para
-#: query_hql.xml:556
-#, no-c-format
+#: index.docbook:556
msgid ""
"string concatenation <literal>...||...</literal> or <literal>concat(...,...)"
"</literal>"
msgstr ""
-"concatenación de cadenas <literal>...||...</literal> o <literal>concat"
+"concatenación de cadenas <literal>...||...</literal> o <literal>concat"
"(...,...)</literal>"
-#. Tag: para
-#: query_hql.xml:561
-#, no-c-format
+#: index.docbook:561
msgid ""
"<literal>current_date()</literal>, <literal>current_time()</literal>, "
"<literal>current_timestamp()</literal>"
@@ -1189,9 +1012,7 @@
"<literal>current_date()</literal>, <literal>current_time()</literal>, "
"<literal>current_timestamp()</literal>"
-#. Tag: para
-#: query_hql.xml:567
-#, no-c-format
+#: index.docbook:567
msgid ""
"<literal>second(...)</literal>, <literal>minute(...)</literal>, <literal>hour"
"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
@@ -1201,37 +1022,29 @@
"(...)</literal>, <literal>day(...)</literal>, <literal>month(...)</literal>, "
"<literal>year(...)</literal>,"
-#. Tag: para
-#: query_hql.xml:574
-#, no-c-format
+#: index.docbook:574
msgid ""
"Any function or operator defined by EJB-QL 3.0: <literal>substring(), trim"
"(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), mod()"
"</literal>"
msgstr ""
-"Cualquier función u operador definido por EJB-QL 3.0: <literal>substring(), "
-"trim(), lower(), upper(), length(), locate(), abs(), sqrt(), bit_length(), "
-"mod()</literal>"
+"Cualquier función u operador definido por EJB-QL 3.0: "
+"<literal>substring(), trim(), lower(), upper(), length(), locate(), abs(), "
+"sqrt(), bit_length(), mod()</literal>"
-#. Tag: para
-#: query_hql.xml:580
-#, no-c-format
+#: index.docbook:580
msgid "<literal>coalesce()</literal> and <literal>nullif()</literal>"
msgstr "<literal>coalesce()</literal> y <literal>nullif()</literal>"
-#. Tag: para
-#: query_hql.xml:585
-#, no-c-format
+#: index.docbook:585
msgid ""
"<literal>str()</literal> for converting numeric or temporal values to a "
"readable string"
msgstr ""
-"<literal>str()</literal> para convertir valores numéricos o temporales a una "
-"cadena legible."
+"<literal>str()</literal> para convertir valores numéricos o "
+"temporales a una cadena legible."
-#. Tag: para
-#: query_hql.xml:591
-#, no-c-format
+#: index.docbook:591
msgid ""
"<literal>cast(... as ...)</literal>, where the second argument is the name "
"of a Hibernate type, and <literal>extract(... from ...)</literal> if ANSI "
@@ -1243,19 +1056,15 @@
"<literal>cast()</literal> y <literal>extract()</literal> fuesen soportados "
"por la base de datos subyacente."
-#. Tag: para
-#: query_hql.xml:599
-#, no-c-format
+#: index.docbook:599
msgid ""
"the HQL <literal>index()</literal> function, that applies to aliases of a "
"joined indexed collection"
msgstr ""
-"la función <literal>index()</literal> de HQL, que se aplica a alias de una "
-"colección indexada unida."
+"la función <literal>index()</literal> de HQL, que se aplica a alias "
+"de una colección indexada unida."
-#. Tag: para
-#: query_hql.xml:605
-#, no-c-format
+#: index.docbook:605
msgid ""
"HQL functions that take collection-valued path expressions: <literal>size(), "
"minelement(), maxelement(), minindex(), maxindex()</literal>, along with the "
@@ -1269,37 +1078,29 @@
"<literal>indices</literal> que pueden ser cuantificadas usando "
"<literal>some, all, exists, any, in</literal>."
-#. Tag: para
-#: query_hql.xml:613
-#, no-c-format
+#: index.docbook:613
msgid ""
"Any database-supported SQL scalar function like <literal>sign()</literal>, "
"<literal>trunc()</literal>, <literal>rtrim()</literal>, <literal>sin()</"
"literal>"
msgstr ""
-"Cualquier función escalar SQL soportada por la base de datos como "
+"Cualquier función escalar SQL soportada por la base de datos como "
"<literal>sign()</literal>, <literal>trunc()</literal>, <literal>rtrim()</"
"literal>, <literal>sin()</literal>"
-#. Tag: para
-#: query_hql.xml:619
-#, no-c-format
+#: index.docbook:619
msgid "JDBC-style positional parameters <literal>?</literal>"
-msgstr "parámetros posicionales JDBC <literal>?</literal>"
+msgstr "parámetros posicionales JDBC <literal>?</literal>"
-#. Tag: para
-#: query_hql.xml:624
-#, no-c-format
+#: index.docbook:624
msgid ""
"named parameters <literal>:name</literal>, <literal>:start_date</literal>, "
"<literal>:x1</literal>"
msgstr ""
-"parámetros con nombre <literal>:name</literal>, <literal>:start_date</"
+"parámetros con nombre <literal>:name</literal>, <literal>:start_date</"
"literal>, <literal>:x1</literal>"
-#. Tag: para
-#: query_hql.xml:629
-#, no-c-format
+#: index.docbook:629
msgid ""
"SQL literals <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E"
"+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
@@ -1307,60 +1108,48 @@
"literales SQL <literal>'foo'</literal>, <literal>69</literal>, <literal>6.66E"
"+2</literal>, <literal>'1970-01-01 10:00:01.0'</literal>"
-#. Tag: para
-#: query_hql.xml:635
-#, no-c-format
+#: index.docbook:635
msgid ""
"Java <literal>public static final</literal> constants <literal>eg.Color."
"TABBY</literal>"
msgstr ""
-"constantes Java <literal>public static final</literal><literal>eg.Color."
+"constantes Java <literal>public static final</literal> <literal>eg.Color."
"TABBY</literal>"
-#. Tag: para
-#: query_hql.xml:641
-#, no-c-format
+#: index.docbook:641
msgid ""
"<literal>in</literal> and <literal>between</literal> may be used as follows:"
msgstr ""
"<literal>in</literal> y <literal>between</literal> pueden usarse como sigue:"
-#. Tag: programlisting
-#: query_hql.xml:645
-#, no-c-format
+#: index.docbook:645
msgid "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
-msgstr ""
+msgstr "<![CDATA[from DomesticCat cat where cat.name between 'A' and 'B']]>"
-#. Tag: programlisting
-#: query_hql.xml:647
-#, no-c-format
+#: index.docbook:647
msgid ""
"<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
msgstr ""
+"<![CDATA[from DomesticCat cat where cat.name in ( 'Foo', 'Bar', 'Baz' )]]>"
-#. Tag: para
-#: query_hql.xml:649
-#, no-c-format
+#: index.docbook:649
msgid "and the negated forms may be written"
msgstr "y pueden escribirse las formas negadas"
-#. Tag: programlisting
-#: query_hql.xml:653
-#, no-c-format
+#: index.docbook:653
msgid "<![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]>"
msgstr ""
+"<![CDATA[from DomesticCat cat where cat.name not between 'A' and 'B']]>"
-#. Tag: programlisting
-#: query_hql.xml:655
-#, no-c-format
+#: index.docbook:655
msgid ""
"<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]"
">"
msgstr ""
+"<![CDATA[from DomesticCat cat where cat.name not in ( 'Foo', 'Bar', 'Baz' )]]"
+">"
-#. Tag: para
-#: query_hql.xml:657
-#, no-c-format
+#: index.docbook:657
msgid ""
"Likewise, <literal>is null</literal> and <literal>is not null</literal> may "
"be used to test for null values."
@@ -1368,67 +1157,54 @@
"Asimismo, <literal>is null</literal> y <literal>is not null</literal> pueden "
"ser usadas para comprobar valores nulos."
-#. Tag: para
-#: query_hql.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"Booleans may be easily used in expressions by declaring HQL query "
"substitutions in Hibernate configuration:"
msgstr ""
-"Los booleanos pueden ser fácilmente usados en expresiones declarando "
-"substituciones de consulta HQL en la configuración de Hibernate:"
+"Los booleanos pueden ser fácilmente usados en expresiones declarando "
+"substituciones de consulta HQL en la configuración de Hibernate:"
-#. Tag: programlisting
-#: query_hql.xml:667
-#, no-c-format
+#: index.docbook:667
msgid ""
"<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</"
"property>]]>"
msgstr ""
+"<![CDATA[<property name=\"hibernate.query.substitutions\">true 1, false 0</"
+"property>]]>"
-#. Tag: para
-#: query_hql.xml:669
-#, no-c-format
+#: index.docbook:669
msgid ""
"This will replace the keywords <literal>true</literal> and <literal>false</"
"literal> with the literals <literal>1</literal> and <literal>0</literal> in "
"the translated SQL from this HQL:"
msgstr ""
-"Esto remplazará las palabras clave <literal>true</literal> y <literal>false</"
-"literal> con los literales <literal>1</literal> y <literal>0</literal> en el "
-"SQL traducido de este HQL:"
+"Esto remplazará las palabras clave <literal>true</literal> y "
+"<literal>false</literal> con los literales <literal>1</literal> y "
+"<literal>0</literal> en el SQL traducido de este HQL:"
-#. Tag: programlisting
-#: query_hql.xml:674
-#, no-c-format
+#: index.docbook:674
msgid "<![CDATA[from Cat cat where cat.alive = true]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.alive = true]]>"
-#. Tag: para
-#: query_hql.xml:676
-#, no-c-format
+#: index.docbook:676
msgid ""
"You may test the size of a collection with the special property "
"<literal>size</literal>, or the special <literal>size()</literal> function."
msgstr ""
-"Puedes comprobar el tamaño de una colección con la propiedad especial "
-"<literal>size</literal>, o la función especial <literal>size()</literal>."
+"Puedes comprobar el tamaño de una colección con la propiedad "
+"especial <literal>size</literal>, o la función especial <literal>size"
+"()</literal>."
-#. Tag: programlisting
-#: query_hql.xml:681
-#, no-c-format
+#: index.docbook:681
msgid "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where cat.kittens.size > 0]]>"
-#. Tag: programlisting
-#: query_hql.xml:683
-#, no-c-format
+#: index.docbook:683
msgid "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where size(cat.kittens) > 0]]>"
-#. Tag: para
-#: query_hql.xml:685
-#, no-c-format
+#: index.docbook:685
msgid ""
"For indexed collections, you may refer to the minimum and maximum indices "
"using <literal>minindex</literal> and <literal>maxindex</literal> functions. "
@@ -1436,82 +1212,68 @@
"of basic type using the <literal>minelement</literal> and "
"<literal>maxelement</literal> functions."
msgstr ""
-"Para colecciones indexadas, puedes referirte a los índices máximo y mínimo "
-"usando las funciones <literal>minindex</literal> y <literal>maxindex</"
-"literal>. Similarmente, puedes referirte a los elementos máximo y mínimo de "
-"una colección de tipo básico usando las funciones <literal>minelement</"
-"literal> y <literal>maxelement</literal>."
+"Para colecciones indexadas, puedes referirte a los índices má"
+"ximo y mínimo usando las funciones <literal>minindex</literal> y "
+"<literal>maxindex</literal>. Similarmente, puedes referirte a los elementos "
+"máximo y mínimo de una colección de tipo básico "
+"usando las funciones <literal>minelement</literal> y <literal>maxelement</"
+"literal>."
-#. Tag: programlisting
-#: query_hql.xml:693
-#, no-c-format
+#: index.docbook:693
msgid ""
"<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
msgstr ""
+"<![CDATA[from Calendar cal where maxelement(cal.holidays) > current_date]]>"
-#. Tag: programlisting
-#: query_hql.xml:695
-#, no-c-format
+#: index.docbook:695
msgid "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
-msgstr ""
+msgstr "<![CDATA[from Order order where maxindex(order.items) > 100]]>"
-#. Tag: programlisting
-#: query_hql.xml:697
-#, no-c-format
+#: index.docbook:697
msgid "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
-msgstr ""
+msgstr "<![CDATA[from Order order where minelement(order.items) > 10000]]>"
-#. Tag: para
-#: query_hql.xml:699
-#, no-c-format
+#: index.docbook:699
msgid ""
"The SQL functions <literal>any, some, all, exists, in</literal> are "
"supported when passed the element or index set of a collection "
"(<literal>elements</literal> and <literal>indices</literal> functions) or "
"the result of a subquery (see below)."
msgstr ""
-"Las funciones SQL <literal>any, some, all, exists, in</literal> están "
-"soportadas cuando se les pasa el conjunto de elementos o índices de una "
-"colección (funciones <literal>elements</literal> y <literal>indices</"
-"literal>) o el resultado de una subconsulta (ver debajo)."
+"Las funciones SQL <literal>any, some, all, exists, in</literal> están "
+"soportadas cuando se les pasa el conjunto de elementos o índices de "
+"una colección (funciones <literal>elements</literal> y "
+"<literal>indices</literal>) o el resultado de una subconsulta (ver debajo)."
-#. Tag: programlisting
-#: query_hql.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"<![CDATA[select mother from Cat as mother, Cat as kit\n"
"where kit in elements(foo.kittens)]]>"
msgstr ""
+"<![CDATA[select mother from Cat as mother, Cat as kit\n"
+"where kit in elements(foo.kittens)]]>"
-#. Tag: programlisting
-#: query_hql.xml:707
-#, no-c-format
+#: index.docbook:707
msgid ""
"<![CDATA[select p from NameList list, Person p\n"
"where p.name = some elements(list.names)]]>"
msgstr ""
+"<![CDATA[select p from NameList list, Person p\n"
+"where p.name = some elements(list.names)]]>"
-#. Tag: programlisting
-#: query_hql.xml:709
-#, no-c-format
+#: index.docbook:709
msgid "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-msgstr ""
+msgstr "<![CDATA[from Cat cat where exists elements(cat.kittens)]]>"
-#. Tag: programlisting
-#: query_hql.xml:711
-#, no-c-format
+#: index.docbook:711
msgid "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-msgstr ""
+msgstr "<![CDATA[from Player p where 3 > all elements(p.scores)]]>"
-#. Tag: programlisting
-#: query_hql.xml:713
-#, no-c-format
+#: index.docbook:713
msgid "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
-msgstr ""
+msgstr "<![CDATA[from Show show where 'fizard' in indices(show.acts)]]>"
-#. Tag: para
-#: query_hql.xml:715
-#, no-c-format
+#: index.docbook:715
msgid ""
"Note that these constructs - <literal>size</literal>, <literal>elements</"
"literal>, <literal>indices</literal>, <literal>minindex</literal>, "
@@ -1522,115 +1284,104 @@
"Nota que estas construcciones - <literal>size</literal>, <literal>elements</"
"literal>, <literal>indices</literal>, <literal>minindex</literal>, "
"<literal>maxindex</literal>, <literal>minelement</literal>, "
-"<literal>maxelement</literal> - pueden ser usadas solamente en la cláusula "
-"where en Hibernate3."
+"<literal>maxelement</literal> - pueden ser usadas solamente en la clá"
+"usula where en Hibernate3."
-#. Tag: para
-#: query_hql.xml:722
-#, no-c-format
+#: index.docbook:722
msgid ""
"Elements of indexed collections (arrays, lists, maps) may be referred to by "
"index (in a where clause only):"
msgstr ""
"Los elementos de colecciones indexadas (arrays, listas, mapas) pueden ser "
-"referidos por índice (en una cláusula where solamente):"
+"referidos por índice (en una cláusula where solamente):"
-#. Tag: programlisting
-#: query_hql.xml:727
-#, no-c-format
+#: index.docbook:727
msgid "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-msgstr ""
+msgstr "<![CDATA[from Order order where order.items[0].id = 1234]]>"
-#. Tag: programlisting
-#: query_hql.xml:729
-#, no-c-format
+#: index.docbook:729
msgid ""
"<![CDATA[select person from Person person, Calendar calendar\n"
"where calendar.holidays['national day'] = person.birthDay\n"
" and person.nationality.calendar = calendar]]>"
msgstr ""
+"<![CDATA[select person from Person person, Calendar calendar\n"
+"where calendar.holidays['national day'] = person.birthDay\n"
+" and person.nationality.calendar = calendar]]>"
-#. Tag: programlisting
-#: query_hql.xml:731
-#, no-c-format
+#: index.docbook:731
msgid ""
"<![CDATA[select item from Item item, Order order\n"
"where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]"
">"
msgstr ""
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]"
+">"
-#. Tag: programlisting
-#: query_hql.xml:733
-#, no-c-format
+#: index.docbook:733
msgid ""
"<![CDATA[select item from Item item, Order order\n"
"where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
msgstr ""
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ maxindex(order.items) ] = item and order.id = 11]]>"
-#. Tag: para
-#: query_hql.xml:735
-#, no-c-format
+#: index.docbook:735
msgid ""
"The expression inside <literal>[]</literal> may even be an arithmetic "
"expression."
msgstr ""
-"La expresión dentro de <literal>[]</literal> puede incluso ser una expresión "
-"aritmética."
+"La expresión dentro de <literal>[]</literal> puede incluso ser una "
+"expresión aritmética."
-#. Tag: programlisting
-#: query_hql.xml:739
-#, no-c-format
+#: index.docbook:739
msgid ""
"<![CDATA[select item from Item item, Order order\n"
"where order.items[ size(order.items) - 1 ] = item]]>"
msgstr ""
+"<![CDATA[select item from Item item, Order order\n"
+"where order.items[ size(order.items) - 1 ] = item]]>"
-#. Tag: para
-#: query_hql.xml:741
-#, no-c-format
+#: index.docbook:741
msgid ""
"HQL also provides the built-in <literal>index()</literal> function, for "
"elements of a one-to-many association or collection of values."
msgstr ""
-"HQL provee además el función prefabricada <literal>index()</literal>, para "
-"elementos de una asociación uno-a-muchos o colección de valores."
+"HQL provee además el función prefabricada <literal>index()</"
+"literal>, para elementos de una asociación uno-a-muchos o "
+"colección de valores."
-#. Tag: programlisting
-#: query_hql.xml:746
-#, no-c-format
+#: index.docbook:746
msgid ""
"<![CDATA[select item, index(item) from Order order\n"
" join order.items item\n"
"where index(item) < 5]]>"
msgstr ""
+"<![CDATA[select item, index(item) from Order order \n"
+" join order.items item\n"
+"where index(item) < 5]]>"
-#. Tag: para
-#: query_hql.xml:748
-#, no-c-format
+#: index.docbook:748
msgid "Scalar SQL functions supported by the underlying database may be used"
msgstr ""
"Pueden usarse las funciones SQL escalares soportadas por la base de datos "
"subyacente"
-#. Tag: programlisting
-#: query_hql.xml:752
-#, no-c-format
+#: index.docbook:752
msgid "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
-msgstr ""
+msgstr "<![CDATA[from DomesticCat cat where upper(cat.name) like 'FRI%']]>"
-#. Tag: para
-#: query_hql.xml:754
-#, no-c-format
+#: index.docbook:754
msgid ""
"If you are not yet convinced by all this, think how much longer and less "
"readable the following query would be in SQL:"
msgstr ""
-"Si aún no estás convencido de todo esto, piensa cuánto más largo y menos "
-"leíble sería la siguiente consulta en SQL:"
+"Si aún no estás convencido de todo esto, piensa cuánto "
+"más largo y menos leíble sería la siguiente consulta en "
+"SQL:"
-#. Tag: programlisting
-#: query_hql.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"<![CDATA[select cust\n"
"from Product prod,\n"
@@ -1640,16 +1391,19 @@
" and store.location.name in ( 'Melbourne', 'Sydney' )\n"
" and prod = all elements(cust.currentOrder.lineItems)]]>"
msgstr ""
+"<![CDATA[select cust\n"
+"from Product prod,\n"
+" Store store\n"
+" inner join store.customers cust\n"
+"where prod.name = 'widget'\n"
+" and store.location.name in ( 'Melbourne', 'Sydney' )\n"
+" and prod = all elements(cust.currentOrder.lineItems)]]>"
-#. Tag: para
-#: query_hql.xml:761
-#, no-c-format
+#: index.docbook:761
msgid "<emphasis>Hint:</emphasis> something like"
msgstr "<emphasis>Ayuda:</emphasis> algo como"
-#. Tag: programlisting
-#: query_hql.xml:765
-#, no-c-format
+#: index.docbook:765
msgid ""
"<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust."
"current_order\n"
@@ -1670,16 +1424,30 @@
" AND cust.current_order = o.id\n"
" )]]>"
msgstr ""
+"<![CDATA[SELECT cust.name, cust.address, cust.phone, cust.id, cust."
+"current_order\n"
+"FROM customers cust,\n"
+" stores store,\n"
+" locations loc,\n"
+" store_customers sc,\n"
+" product prod\n"
+"WHERE prod.name = 'widget'\n"
+" AND store.loc_id = loc.id\n"
+" AND loc.name IN ( 'Melbourne', 'Sydney' )\n"
+" AND sc.store_id = store.id\n"
+" AND sc.cust_id = cust.id\n"
+" AND prod.id = ALL(\n"
+" SELECT item.prod_id\n"
+" FROM line_items item, orders o\n"
+" WHERE item.order_id = o.id\n"
+" AND cust.current_order = o.id\n"
+" )]]>"
-#. Tag: title
-#: query_hql.xml:770
-#, no-c-format
+#: index.docbook:770
msgid "The order by clause"
-msgstr "La cláusula order by"
+msgstr "La cláusula order by"
-#. Tag: para
-#: query_hql.xml:772
-#, no-c-format
+#: index.docbook:772
msgid ""
"The list returned by a query may be ordered by any property of a returned "
"class or components:"
@@ -1687,17 +1455,15 @@
"La lista devuelta por una consulta puede ser ordenada por cualquier "
"propiedad de una clase devuelta o componentes:"
-#. Tag: programlisting
-#: query_hql.xml:776
-#, no-c-format
+#: index.docbook:776
msgid ""
"<![CDATA[from DomesticCat cat\n"
"order by cat.name asc, cat.weight desc, cat.birthdate]]>"
msgstr ""
+"<![CDATA[from DomesticCat cat\n"
+"order by cat.name asc, cat.weight desc, cat.birthdate]]>"
-#. Tag: para
-#: query_hql.xml:778
-#, no-c-format
+#: index.docbook:778
msgid ""
"The optional <literal>asc</literal> or <literal>desc</literal> indicate "
"ascending or descending order respectively."
@@ -1705,15 +1471,11 @@
"Los <literal>asc</literal> o <literal>desc</literal> opcionales indican "
"ordenamiento ascendente o descendente respectivamente."
-#. Tag: title
-#: query_hql.xml:785
-#, no-c-format
+#: index.docbook:785
msgid "The group by clause"
-msgstr "La cláusula group by"
+msgstr "La cláusula group by"
-#. Tag: para
-#: query_hql.xml:787
-#, no-c-format
+#: index.docbook:787
msgid ""
"A query that returns aggregate values may be grouped by any property of a "
"returned class or components:"
@@ -1721,55 +1483,55 @@
"Una consulta que devuelve valores agregados puede ser agrupada por cualquier "
"propiedad de una clase devuelta o componentes:"
-#. Tag: programlisting
-#: query_hql.xml:791
-#, no-c-format
+#: index.docbook:791
msgid ""
"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
"from Cat cat\n"
"group by cat.color]]>"
msgstr ""
+"<![CDATA[select cat.color, sum(cat.weight), count(cat) \n"
+"from Cat cat\n"
+"group by cat.color]]>"
-#. Tag: programlisting
-#: query_hql.xml:793
-#, no-c-format
+#: index.docbook:793
msgid ""
"<![CDATA[select foo.id, avg(name), max(name)\n"
"from Foo foo join foo.names name\n"
"group by foo.id]]>"
msgstr ""
+"<![CDATA[select foo.id, avg(name), max(name) \n"
+"from Foo foo join foo.names name\n"
+"group by foo.id]]>"
-#. Tag: para
-#: query_hql.xml:795
-#, no-c-format
+#: index.docbook:795
msgid "A <literal>having</literal> clause is also allowed."
-msgstr "Se permite también una cláusula <literal>having</literal>."
+msgstr ""
+"Se permite también una cláusula <literal>having</literal>."
-#. Tag: programlisting
-#: query_hql.xml:799
-#, no-c-format
+#: index.docbook:799
msgid ""
"<![CDATA[select cat.color, sum(cat.weight), count(cat)\n"
"from Cat cat\n"
"group by cat.color\n"
"having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
msgstr ""
+"<![CDATA[select cat.color, sum(cat.weight), count(cat) \n"
+"from Cat cat\n"
+"group by cat.color \n"
+"having cat.color in (eg.Color.TABBY, eg.Color.BLACK)]]>"
-#. Tag: para
-#: query_hql.xml:801
-#, no-c-format
+#: index.docbook:801
msgid ""
"SQL functions and aggregate functions are allowed in the <literal>having</"
"literal> and <literal>order by</literal> clauses, if supported by the "
"underlying database (eg. not in MySQL)."
msgstr ""
-"Las funciones y funciones de agregación SQL están permitidas en las "
-"cláusulas <literal>having</literal> y <literal>order by</literal>, si están "
-"soportadas por la base de datos subyacente (por ejemplo, no en MySQL)."
+"Las funciones y funciones de agregación SQL están permitidas "
+"en las cláusulas <literal>having</literal> y <literal>order by</"
+"literal>, si están soportadas por la base de datos subyacente (por "
+"ejemplo, no en MySQL)."
-#. Tag: programlisting
-#: query_hql.xml:807
-#, no-c-format
+#: index.docbook:807
msgid ""
"<![CDATA[select cat\n"
"from Cat cat\n"
@@ -1778,10 +1540,14 @@
"having avg(kitten.weight) > 100\n"
"order by count(kitten) asc, sum(kitten.weight) desc]]>"
msgstr ""
+"<![CDATA[select cat\n"
+"from Cat cat\n"
+" join cat.kittens kitten\n"
+"group by cat\n"
+"having avg(kitten.weight) > 100\n"
+"order by count(kitten) asc, sum(kitten.weight) desc]]>"
-#. Tag: para
-#: query_hql.xml:809
-#, no-c-format
+#: index.docbook:809
msgid ""
"Note that neither the <literal>group by</literal> clause nor the "
"<literal>order by</literal> clause may contain arithmetic expressions. Also "
@@ -1790,18 +1556,15 @@
"literal> are non-aggregated. You have to list all non-aggregated properties "
"explicitly."
msgstr ""
-"Nota que ni la cláusula <literal>group by</literal> ni la cláusula "
-"<literal>order by</literal> pueden contener expresiones aritméticas."
+"Nota que ni la cláusula <literal>group by</literal> ni la clá"
+"usula <literal>order by</literal> pueden contener expresiones aritmé"
+"ticas."
-#. Tag: title
-#: query_hql.xml:821
-#, no-c-format
+#: index.docbook:821
msgid "Subqueries"
msgstr "Subconsultas"
-#. Tag: para
-#: query_hql.xml:823
-#, no-c-format
+#: index.docbook:823
msgid ""
"For databases that support subselects, Hibernate supports subqueries within "
"queries. A subquery must be surrounded by parentheses (often by an SQL "
@@ -1810,68 +1573,75 @@
msgstr ""
"Para bases de datos que soportan subconsultas, Hibernate soporta "
"subconsultas dentro de consultas. Una subconsulta debe ser encerrada entre "
-"paréntesis (frecuentemente por una llamada a una función de agregación SQL). "
-"Incluso se permiten subconsultas correlacionadas (subconsultas que hacen "
-"referencia a un alias en la consulta exterior)."
+"paréntesis (frecuentemente por una llamada a una función de "
+"agregación SQL). Incluso se permiten subconsultas correlacionadas "
+"(subconsultas que hacen referencia a un alias en la consulta exterior)."
-#. Tag: programlisting
-#: query_hql.xml:829
-#, no-c-format
+#: index.docbook:829
msgid ""
"<![CDATA[from Cat as fatcat\n"
"where fatcat.weight > (\n"
" select avg(cat.weight) from DomesticCat cat\n"
")]]>"
msgstr ""
+"<![CDATA[from Cat as fatcat\n"
+" where fatcat.weight > (\n"
+" select avg(cat.weight) from DomesticCat cat\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:831
-#, no-c-format
+#: index.docbook:831
msgid ""
"<![CDATA[from DomesticCat as cat\n"
"where cat.name = some (\n"
" select name.nickName from Name as name\n"
")]]>"
msgstr ""
+"<![CDATA[from DomesticCat as cat\n"
+" where cat.name = some (\n"
+" select name.nickName from Name as "
+"name\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:833
-#, no-c-format
+#: index.docbook:833
msgid ""
"<![CDATA[from Cat as cat\n"
"where not exists (\n"
" from Cat as mate where mate.mate = cat\n"
")]]>"
msgstr ""
+"<![CDATA[from Cat as cat\n"
+" where not exists (\n"
+" from Cat as mate where mate.mate = "
+"cat\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:835
-#, no-c-format
+#: index.docbook:835
msgid ""
"<![CDATA[from DomesticCat as cat\n"
"where cat.name not in (\n"
" select name.nickName from Name as name\n"
")]]>"
msgstr ""
+"<![CDATA[from DomesticCat as cat\n"
+" where cat.name not in (\n"
+" select name.nickName from Name as "
+"name\n"
+" )]]>"
-#. Tag: programlisting
-#: query_hql.xml:837
-#, no-c-format
+#: index.docbook:837
msgid ""
"<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
"from Cat as cat]]>"
msgstr ""
+"<![CDATA[select cat.id, (select max(kit.weight) from cat.kitten kit)\n"
+" from Cat as cat]]>"
-#. Tag: para
-#: query_hql.xml:839
-#, no-c-format
+#: index.docbook:839
msgid "Note that HQL subqueries may occur only in the select or where clauses."
msgstr ""
"Note that HQL subqueries may occur only in the select or where clauses."
-#. Tag: para
-#: query_hql.xml:843
-#, no-c-format
+#: index.docbook:843
msgid ""
"Note that subqueries can also utilize <literal>row value constructor</"
"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
@@ -1879,15 +1649,11 @@
"Note that subqueries can also utilize <literal>row value constructor</"
"literal> syntax. See <xref linkend=\"queryhql-tuple\"/> for more details."
-#. Tag: title
-#: query_hql.xml:851
-#, no-c-format
+#: index.docbook:851
msgid "HQL examples"
msgstr "Ejemplos de HQL"
-#. Tag: para
-#: query_hql.xml:853
-#, no-c-format
+#: index.docbook:853
msgid ""
"Hibernate queries can be quite powerful and complex. In fact, the power of "
"the query language is one of Hibernate's main selling points. Here are some "
@@ -1896,13 +1662,12 @@
msgstr ""
"Las consultas de Hibernate pueden ser abolutamente potentes y complejas, De "
"hecho, el poder del lenguaje de consulta es uno de los puntos principales de "
-"venta de Hibernate. He aquí algunos consultas de ejemplo muy similares a "
-"consultas que he usado en un proyecto reciente. ¡Nota que la mayoría de las "
-"consultas que escribirás som mucho más simples que estas!"
+"venta de Hibernate. He aquí algunos consultas de ejemplo muy "
+"similares a consultas que he usado en un proyecto reciente. ¡Nota que "
+"la mayoría de las consultas que escribirás som mucho má"
+"s simples que estas!"
-#. Tag: para
-#: query_hql.xml:859
-#, no-c-format
+#: index.docbook:859
msgid ""
"The following query returns the order id, number of items and total value of "
"the order for all unpaid orders for a particular customer and given minimum "
@@ -1912,17 +1677,16 @@
"literal>, <literal>CATALOG</literal> and <literal>PRICE</literal> tables has "
"four inner joins and an (uncorrelated) subselect."
msgstr ""
-"La siguiente consulta devuelve el order id, número de items y valor total de "
-"la orden para todas las ordenes inpagas de un cliente en particular y valor "
-"total mínimo dados, ordenando los resultados por valor total. Al determinar "
-"los precios, usa el catálogo actual. La consulta SQL resultante, contra las "
-"tablas <literal>ORDER</literal>, <literal>ORDER_LINE</literal>, "
-"<literal>PRODUCT</literal>, <literal>CATALOG</literal> and <literal>PRICE</"
-"literal> tiene cuatro joins interiores y una subselect (no correlacionada)."
+"La siguiente consulta devuelve el order id, número de items y valor "
+"total de la orden para todas las ordenes inpagas de un cliente en particular "
+"y valor total mínimo dados, ordenando los resultados por valor total. "
+"Al determinar los precios, usa el catálogo actual. La consulta SQL "
+"resultante, contra las tablas <literal>ORDER</literal>, <literal>ORDER_LINE</"
+"literal>, <literal>PRODUCT</literal>, <literal>CATALOG</literal> and "
+"<literal>PRICE</literal> tiene cuatro joins interiores y una subselect (no "
+"correlacionada)."
-#. Tag: programlisting
-#: query_hql.xml:868
-#, no-c-format
+#: index.docbook:868
msgid ""
"<![CDATA[select order.id, sum(price.amount), count(item)\n"
"from Order as order\n"
@@ -1943,20 +1707,35 @@
"having sum(price.amount) > :minAmount\n"
"order by sum(price.amount) desc]]>"
msgstr ""
+"<![CDATA[select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+" join order.lineItems as item\n"
+" join item.product as product,\n"
+" Catalog as catalog\n"
+" join catalog.prices as price\n"
+"where order.paid = false\n"
+" and order.customer = :customer\n"
+" and price.product = product\n"
+" and catalog.effectiveDate < sysdate\n"
+" and catalog.effectiveDate >= all (\n"
+" select cat.effectiveDate \n"
+" from Catalog as cat\n"
+" where cat.effectiveDate < sysdate\n"
+" )\n"
+"group by order\n"
+"having sum(price.amount) > :minAmount\n"
+"order by sum(price.amount) desc]]>"
-#. Tag: para
-#: query_hql.xml:870
-#, no-c-format
+#: index.docbook:870
msgid ""
"What a monster! Actually, in real life, I'm not very keen on subqueries, so "
"my query was really more like this:"
msgstr ""
-"¡Qué monstruo! Realmente, en la vida real, no estoy muy afilado en "
-"subconsultas, de modo que mi consulta fue realmente algo como esto:"
+"¡Qué monstruo! Realmente, en la vida real, no estoy muy "
+"afilado en subconsultas, de modo que mi consulta fue realmente algo como "
+"esto:"
-#. Tag: programlisting
-#: query_hql.xml:875
-#, no-c-format
+#: index.docbook:875
msgid ""
"<![CDATA[select order.id, sum(price.amount), count(item)\n"
"from Order as order\n"
@@ -1972,10 +1751,21 @@
"having sum(price.amount) > :minAmount\n"
"order by sum(price.amount) desc]]>"
msgstr ""
+"<![CDATA[select order.id, sum(price.amount), count(item)\n"
+"from Order as order\n"
+" join order.lineItems as item\n"
+" join item.product as product,\n"
+" Catalog as catalog\n"
+" join catalog.prices as price\n"
+"where order.paid = false\n"
+" and order.customer = :customer\n"
+" and price.product = product\n"
+" and catalog = :currentCatalog\n"
+"group by order\n"
+"having sum(price.amount) > :minAmount\n"
+"order by sum(price.amount) desc]]>"
-#. Tag: para
-#: query_hql.xml:877
-#, no-c-format
+#: index.docbook:877
msgid ""
"The next query counts the number of payments in each status, excluding all "
"payments in the <literal>AWAITING_APPROVAL</literal> status where the most "
@@ -1984,16 +1774,14 @@
"<literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> and "
"<literal>PAYMENT_STATUS_CHANGE</literal> tables."
msgstr ""
-"La próxima consulta cuenta el número de pagos en cada estado, excluyendo "
-"todos los pagos en el estado <literal>AWAITING_APPROVAL</literal> donde el "
-"estado más reciente fue hecho por el usuario actual. Se traduce en una "
-"consulta SQL con dos joins interiores y una subselect correlacionada contra "
-"las tablas <literal>PAYMENT</literal>, <literal>PAYMENT_STATUS</literal> y "
-"<literal>PAYMENT_STATUS_CHANGE</literal>."
+"La próxima consulta cuenta el número de pagos en cada estado, "
+"excluyendo todos los pagos en el estado <literal>AWAITING_APPROVAL</literal> "
+"donde el estado más reciente fue hecho por el usuario actual. Se "
+"traduce en una consulta SQL con dos joins interiores y una subselect "
+"correlacionada contra las tablas <literal>PAYMENT</literal>, "
+"<literal>PAYMENT_STATUS</literal> y <literal>PAYMENT_STATUS_CHANGE</literal>."
-#. Tag: programlisting
-#: query_hql.xml:885
-#, no-c-format
+#: index.docbook:885
msgid ""
"<![CDATA[select count(payment), status.name\n"
"from Payment as payment\n"
@@ -2011,21 +1799,32 @@
"group by status.name, status.sortOrder\n"
"order by status.sortOrder]]>"
msgstr ""
+"<![CDATA[select count(payment), status.name \n"
+"from Payment as payment \n"
+" join payment.currentStatus as status\n"
+" join payment.statusChanges as statusChange\n"
+"where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
+" or (\n"
+" statusChange.timeStamp = ( \n"
+" select max(change.timeStamp) \n"
+" from PaymentStatusChange change \n"
+" where change.payment = payment\n"
+" )\n"
+" and statusChange.user <> :currentUser\n"
+" )\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder]]>"
-#. Tag: para
-#: query_hql.xml:887
-#, no-c-format
+#: index.docbook:887
msgid ""
"If I would have mapped the <literal>statusChanges</literal> collection as a "
"list, instead of a set, the query would have been much simpler to write."
msgstr ""
-"Si hubiese mapeado la colección <literal>statusChanges</literal> como una "
-"lista, en vez de un conjunto, la consulta habría sido mucho más simple de "
-"escribir."
+"Si hubiese mapeado la colección <literal>statusChanges</literal> como "
+"una lista, en vez de un conjunto, la consulta habría sido mucho "
+"más simple de escribir."
-#. Tag: programlisting
-#: query_hql.xml:892
-#, no-c-format
+#: index.docbook:892
msgid ""
"<![CDATA[select count(payment), status.name\n"
"from Payment as payment\n"
@@ -2036,10 +1835,16 @@
"group by status.name, status.sortOrder\n"
"order by status.sortOrder]]>"
msgstr ""
+"<![CDATA[select count(payment), status.name \n"
+"from Payment as payment\n"
+" join payment.currentStatus as status\n"
+"where payment.status.name <> PaymentStatus.AWAITING_APPROVAL\n"
+" or payment.statusChanges[ maxIndex(payment.statusChanges) ].user <> :"
+"currentUser\n"
+"group by status.name, status.sortOrder\n"
+"order by status.sortOrder]]>"
-#. Tag: para
-#: query_hql.xml:894
-#, no-c-format
+#: index.docbook:894
msgid ""
"The next query uses the MS SQL Server <literal>isNull()</literal> function "
"to return all the accounts and unpaid payments for the organization to which "
@@ -2049,17 +1854,15 @@
"<literal>ACCOUNT_TYPE</literal>, <literal>ORGANIZATION</literal> and "
"<literal>ORG_USER</literal> tables."
msgstr ""
-"La próxima consulta usa la función <literal>isNull()</literal> de MS SQL "
-"Server para devolver todas las cuentas y pagos inpagos de la organización a "
-"la que pertenece el usuario actual. Se traduce en una consulta SQL con tres "
-"joins interiores, un join exterior y una subconsulta contra las tablas "
-"<literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, "
+"La próxima consulta usa la función <literal>isNull()</literal> "
+"de MS SQL Server para devolver todas las cuentas y pagos inpagos de la "
+"organización a la que pertenece el usuario actual. Se traduce en una "
+"consulta SQL con tres joins interiores, un join exterior y una subconsulta "
+"contra las tablas <literal>ACCOUNT</literal>, <literal>PAYMENT</literal>, "
"<literal>PAYMENT_STATUS</literal>, <literal>ACCOUNT_TYPE</literal>, "
"<literal>ORGANIZATION</literal> y <literal>ORG_USER</literal>."
-#. Tag: programlisting
-#: query_hql.xml:903
-#, no-c-format
+#: index.docbook:903
msgid ""
"<![CDATA[select account, payment\n"
"from Account as account\n"
@@ -2069,19 +1872,22 @@
"PaymentStatus.UNPAID)\n"
"order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
msgstr ""
+"<![CDATA[select account, payment\n"
+"from Account as account\n"
+" left outer join account.payments as payment\n"
+"where :currentUser in elements(account.holder.users)\n"
+" and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
-#. Tag: para
-#: query_hql.xml:905
-#, no-c-format
+#: index.docbook:905
msgid ""
"For some databases, we would need to do away with the (correlated) subselect."
msgstr ""
-"Para algunas bases de datos, necesitaríamos eliminar la subselect "
+"Para algunas bases de datos, necesitaríamos eliminar la subselect "
"(correlacionada)."
-#. Tag: programlisting
-#: query_hql.xml:909
-#, no-c-format
+#: index.docbook:909
msgid ""
"<![CDATA[select account, payment\n"
"from Account as account\n"
@@ -2092,16 +1898,20 @@
"PaymentStatus.UNPAID)\n"
"order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
msgstr ""
+"<![CDATA[select account, payment\n"
+"from Account as account\n"
+" join account.holder.users as user\n"
+" left outer join account.payments as payment\n"
+"where :currentUser = user\n"
+" and PaymentStatus.UNPAID = isNull(payment.currentStatus.name, "
+"PaymentStatus.UNPAID)\n"
+"order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>"
-#. Tag: title
-#: query_hql.xml:914
-#, no-c-format
+#: index.docbook:914
msgid "Bulk update and delete"
msgstr "Sentencias UPDATE y DELETE masivas"
-#. Tag: para
-#: query_hql.xml:916
-#, no-c-format
+#: index.docbook:916
msgid ""
"HQL now supports <literal>update</literal>, <literal>delete</literal> and "
"<literal>insert ... select ...</literal> statements. See <xref linkend="
@@ -2110,40 +1920,32 @@
"HQL soporta ahora sentencias UPDATE y DELETE en HQL. Ver <xref linkend="
"\"batch-direct\"/> para detalles."
-#. Tag: title
-#: query_hql.xml:924
-#, no-c-format
+#: index.docbook:924
msgid "Tips & Tricks"
msgstr "Consejos y Trucos"
-#. Tag: para
-#: query_hql.xml:926
-#, no-c-format
+#: index.docbook:926
msgid ""
"You can count the number of query results without actually returning them:"
msgstr ""
-"Puedes contar el número de resultados de una consulta sin devolverlos "
+"Puedes contar el número de resultados de una consulta sin devolverlos "
"realmente:"
-#. Tag: programlisting
-#: query_hql.xml:930
-#, no-c-format
+#: index.docbook:930
msgid ""
"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
"iterate().next() ).intValue()]]>"
msgstr ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
+"iterate().next() ).intValue()]]>"
-#. Tag: para
-#: query_hql.xml:932
-#, no-c-format
+#: index.docbook:932
msgid "To order a result by the size of a collection, use the following query:"
msgstr ""
-"Para ordenar un resultado por el tamaño de una colección, usa la siguiente "
-"consulta:"
+"Para ordenar un resultado por el tamaño de una colección, usa "
+"la siguiente consulta:"
-#. Tag: programlisting
-#: query_hql.xml:936
-#, no-c-format
+#: index.docbook:936
msgid ""
"<![CDATA[select usr.id, usr.name\n"
"from User as usr\n"
@@ -2151,32 +1953,30 @@
"group by usr.id, usr.name\n"
"order by count(msg)]]>"
msgstr ""
+"<![CDATA[select usr.id, usr.name\n"
+"from User as usr \n"
+" left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"order by count(msg)]]>"
-#. Tag: para
-#: query_hql.xml:938
-#, no-c-format
+#: index.docbook:938
msgid ""
"If your database supports subselects, you can place a condition upon "
"selection size in the where clause of your query:"
msgstr ""
-"Si tu base de datos soporta subselects, puedes colocar una condición sobre "
-"el tamaño de selección en la cláusula where de tu consulta:"
+"Si tu base de datos soporta subselects, puedes colocar una condición "
+"sobre el tamaño de selección en la cláusula where de tu "
+"consulta:"
-#. Tag: programlisting
-#: query_hql.xml:943
-#, no-c-format
+#: index.docbook:943
msgid "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-msgstr ""
+msgstr "<![CDATA[from User usr where size(usr.messages) >= 1]]>"
-#. Tag: para
-#: query_hql.xml:945
-#, no-c-format
+#: index.docbook:945
msgid "If your database doesn't support subselects, use the following query:"
msgstr "Si tu base de datos no soporta subselects, usa la siguiente consulta:"
-#. Tag: programlisting
-#: query_hql.xml:949
-#, no-c-format
+#: index.docbook:949
msgid ""
"<![CDATA[select usr.id, usr.name\n"
"from User usr.name\n"
@@ -2184,20 +1984,22 @@
"group by usr.id, usr.name\n"
"having count(msg) >= 1]]>"
msgstr ""
+"<![CDATA[select usr.id, usr.name\n"
+"from User usr.name\n"
+" join usr.messages msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) >= 1]]>"
-#. Tag: para
-#: query_hql.xml:951
-#, no-c-format
+#: index.docbook:951
msgid ""
"As this solution can't return a <literal>User</literal> with zero messages "
"because of the inner join, the following form is also useful:"
msgstr ""
-"Como esta solución no puede devolver un <literal>User</literal> con cero "
-"mensajes debido a la unión interior, la siguiente forma es también útil:"
+"Como esta solución no puede devolver un <literal>User</literal> con "
+"cero mensajes debido a la unión interior, la siguiente forma es "
+"también útil:"
-#. Tag: programlisting
-#: query_hql.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"<![CDATA[select usr.id, usr.name\n"
"from User as usr\n"
@@ -2205,28 +2007,31 @@
"group by usr.id, usr.name\n"
"having count(msg) = 0]]>"
msgstr ""
+"<![CDATA[select usr.id, usr.name\n"
+"from User as usr\n"
+" left join usr.messages as msg\n"
+"group by usr.id, usr.name\n"
+"having count(msg) = 0]]>"
-#. Tag: para
-#: query_hql.xml:958
-#, no-c-format
+#: index.docbook:958
msgid "Properties of a JavaBean can be bound to named query parameters:"
msgstr ""
-"Las propiedades de un JavaBean pueden ser ligadas al parámetros de consulta "
-"con nombre:"
+"Las propiedades de un JavaBean pueden ser ligadas al parámetros de "
+"consulta con nombre:"
-#. Tag: programlisting
-#: query_hql.xml:962
-#, no-c-format
+#: index.docbook:962
msgid ""
"<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name "
"and foo.size=:size\");\n"
"q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
"List foos = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = s.createQuery(\"from foo Foo as foo where foo.name=:name "
+"and foo.size=:size\");\n"
+"q.setProperties(fooBean); // fooBean has getName() and getSize()\n"
+"List foos = q.list();]]>"
-#. Tag: para
-#: query_hql.xml:964
-#, no-c-format
+#: index.docbook:964
msgid ""
"Collections are pageable by using the <literal>Query</literal> interface "
"with a filter:"
@@ -2234,9 +2039,7 @@
"Las colecciones son paginables usando la interface <literal>Query</literal> "
"con un filtro:"
-#. Tag: programlisting
-#: query_hql.xml:968
-#, no-c-format
+#: index.docbook:968
msgid ""
"<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial "
"filter\n"
@@ -2244,121 +2047,106 @@
"q.setFirstResult(PAGE_SIZE * pageNumber);\n"
"List page = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = s.createFilter( collection, \"\" ); // the trivial "
+"filter\n"
+"q.setMaxResults(PAGE_SIZE);\n"
+"q.setFirstResult(PAGE_SIZE * pageNumber);\n"
+"List page = q.list();]]>"
-#. Tag: para
-#: query_hql.xml:970
-#, no-c-format
+#: index.docbook:970
msgid "Collection elements may be ordered or grouped using a query filter:"
msgstr ""
-"Los elementos de colección pueden ser ordenados o agrupados usando un filtro "
-"de consulta:"
+"Los elementos de colección pueden ser ordenados o agrupados usando un "
+"filtro de consulta:"
-#. Tag: programlisting
-#: query_hql.xml:974
-#, no-c-format
+#: index.docbook:974
msgid ""
"<![CDATA[Collection orderedCollection = s.filter( collection, \"order by "
"this.amount\" );\n"
"Collection counts = s.filter( collection, \"select this.type, count(this) "
"group by this.type\" );]]>"
msgstr ""
+"<![CDATA[Collection orderedCollection = s.filter( collection, \"order by "
+"this.amount\" );\n"
+"Collection counts = s.filter( collection, \"select this.type, count(this) "
+"group by this.type\" );]]>"
-#. Tag: para
-#: query_hql.xml:976
-#, no-c-format
+#: index.docbook:976
msgid "You can find the size of a collection without initializing it:"
-msgstr "Puedes hallar el tamaño de una colección sin inicializarla:"
+msgstr ""
+"Puedes hallar el tamaño de una colección sin inicializarla:"
-#. Tag: programlisting
-#: query_hql.xml:980
-#, no-c-format
+#: index.docbook:980
msgid ""
"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
"iterate().next() ).intValue();]]>"
msgstr ""
+"<![CDATA[( (Integer) session.createQuery(\"select count(*) from ....\")."
+"iterate().next() ).intValue();]]>"
-#. Tag: title
-#: query_hql.xml:985
-#, no-c-format
+#: index.docbook:985
msgid "Components"
-msgstr "translator-credits"
+msgstr "UNTRANSLATED! Components"
-#. Tag: para
-#: query_hql.xml:987
-#, no-c-format
+#: index.docbook:987
msgid ""
"Components might be used in just about every way that simple value types can "
"be used in HQL queries. They can appear in the <literal>select</literal> "
"clause:"
msgstr ""
+"Components might be used in just about every way that simple value types can "
+"be used in HQL queries. They can appear in the <literal>select</literal> "
+"clause:"
-#. Tag: programlisting
-#: query_hql.xml:992 query_hql.xml:1038
-#, no-c-format
+#: index.docbook:992, index.docbook:1038
msgid "<![CDATA[select p.name from from Person p]]>"
-msgstr ""
+msgstr "<![CDATA[select p.name from from Person p]]>"
-#. Tag: programlisting
-#: query_hql.xml:993
-#, no-c-format
+#: index.docbook:993
msgid "<![CDATA[select p.name.first from from Person p]]>"
-msgstr ""
+msgstr "<![CDATA[select p.name.first from from Person p]]>"
-#. Tag: para
-#: query_hql.xml:995
-#, no-c-format
+#: index.docbook:995
msgid ""
"where the Person's name property is a component. Components can also be used "
"in the <literal>where</literal> clause:"
msgstr ""
+"where the Person's name property is a component. Components can also be used "
+"in the <literal>where</literal> clause:"
-#. Tag: programlisting
-#: query_hql.xml:1000
-#, no-c-format
+#: index.docbook:1000
msgid "<![CDATA[from from Person p where p.name = :name]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p where p.name = :name]]>"
-#. Tag: programlisting
-#: query_hql.xml:1001
-#, no-c-format
+#: index.docbook:1001
msgid "<![CDATA[from from Person p where p.name.first = :firstName]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p where p.name.first = :firstName]]>"
-#. Tag: para
-#: query_hql.xml:1003
-#, no-c-format
+#: index.docbook:1003
msgid "Components can also be used in the <literal>order by</literal> clause:"
-msgstr ""
+msgstr "Components can also be used in the <literal>order by</literal> clause:"
-#. Tag: programlisting
-#: query_hql.xml:1007
-#, no-c-format
+#: index.docbook:1007
msgid "<![CDATA[from from Person p order by p.name]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p order by p.name]]>"
-#. Tag: programlisting
-#: query_hql.xml:1008
-#, no-c-format
+#: index.docbook:1008
msgid "<![CDATA[from from Person p order by p.name.first]]>"
-msgstr ""
+msgstr "<![CDATA[from from Person p order by p.name.first]]>"
-#. Tag: para
-#: query_hql.xml:1010
-#, no-c-format
+#: index.docbook:1010
msgid ""
"Another common use of components is in <link linkend=\"queryhql-tuple\">row "
"value constructors</link>."
msgstr ""
+"Another common use of components is in <link linkend=\"queryhql-tuple\">row "
+"value constructors</link>."
-#. Tag: title
-#: query_hql.xml:1016
-#, no-c-format
+#: index.docbook:1016
msgid "Row value constructor syntax"
-msgstr ""
+msgstr "Row value constructor syntax"
-#. Tag: para
-#: query_hql.xml:1018
-#, no-c-format
+#: index.docbook:1018
msgid ""
"HQL supports the use of ANSI SQL <literal>row value constructor</literal> "
"syntax (sometimes called <literal>tuple</literal> syntax), even though the "
@@ -2366,61 +2154,77 @@
"referring to multi-valued comparisons, typically associated with components. "
"Consider an entity Person which defines a name component:"
msgstr ""
+"HQL supports the use of ANSI SQL <literal>row value constructor</literal> "
+"syntax (sometimes called <literal>tuple</literal> syntax), even though the "
+"underlying database may not support that notion. Here we are generally "
+"referring to multi-valued comparisons, typically associated with components. "
+"Consider an entity Person which defines a name component:"
-#. Tag: programlisting
-#: query_hql.xml:1025
-#, no-c-format
+#: index.docbook:1025
msgid ""
"<![CDATA[from Person p where p.name.first='John' and p.name."
"last='Jingleheimer-Schmidt']]>"
msgstr ""
+"<![CDATA[from Person p where p.name.first='John' and p.name."
+"last='Jingleheimer-Schmidt']]>"
-#. Tag: para
-#: query_hql.xml:1027
-#, no-c-format
+#: index.docbook:1027
msgid ""
"That's valid syntax, although a little verbose. It be nice to make this a "
"bit more concise and use <literal>row value constructor</literal> syntax:"
msgstr ""
+"That's valid syntax, although a little verbose. It be nice to make this a "
+"bit more concise and use <literal>row value constructor</literal> syntax:"
-#. Tag: programlisting
-#: query_hql.xml:1032
-#, no-c-format
+#: index.docbook:1032
msgid "<![CDATA[from Person p where p.name=('John', 'Jingleheimer-Schmidt')]]>"
msgstr ""
+"<![CDATA[from Person p where p.name=('John', 'Jingleheimer-Schmidt')]]>"
-#. Tag: para
-#: query_hql.xml:1034
-#, no-c-format
+#: index.docbook:1034
msgid ""
"It can also be useful to specify this in the <literal>select</literal> "
"clause:"
msgstr ""
+"It can also be useful to specify this in the <literal>select</literal> "
+"clause:"
-#. Tag: para
-#: query_hql.xml:1040
-#, no-c-format
+#: index.docbook:1040
msgid ""
"Another time using <literal>row value constructor</literal> syntax can be "
"beneficial is when using subqueries needing to compare against multiple "
"values:"
msgstr ""
+"Another time using <literal>row value constructor</literal> syntax can be "
+"beneficial is when using subqueries needing to compare against multiple "
+"values:"
-#. Tag: programlisting
-#: query_hql.xml:1045
-#, no-c-format
+#: index.docbook:1045
msgid ""
"<![CDATA[from Cat as cat\n"
"where not ( cat.name, cat.color ) in (\n"
" select cat.name, cat.color from DomesticCat cat\n"
")]]>"
msgstr ""
+"<![CDATA[from Cat as cat\n"
+" where not ( cat.name, cat.color ) "
+"in (\n"
+" select cat.name, cat.color from "
+"DomesticCat cat\n"
+" )]]>"
-#. Tag: para
-#: query_hql.xml:1047
-#, no-c-format
+#: index.docbook:1047
msgid ""
"One thing to consider when deciding if you want to use this syntax is that "
"the query will be dependent upon the ordering of the component sub-"
"properties in the metadata."
msgstr ""
+"One thing to consider when deciding if you want to use this syntax is that "
+"the query will be dependent upon the ordering of the component sub-"
+"properties in the metadata."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/query_sql.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: query_sql.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Native SQL"
msgstr "SQL Nativo"
-#. Tag: para
-#: query_sql.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"You may also express queries in the native SQL dialect of your database. "
"This is useful if you want to utilize database specific features such as "
@@ -26,32 +17,27 @@
"provides a clean migration path from a direct SQL/JDBC based application to "
"Hibernate."
msgstr ""
-"Puedes también expresar consultas en el dialecto SQL nativo de tu base de "
-"datos. Esto es útil si quieres utilizar aspectos específicos de base de "
-"datos tal como consejos (hints) de consulta o la palabra clave "
-"<literal>CONNECT</literal> en Oracle. Provee además una clara ruta de "
-"migración desde una aplicación basada en SQL/JDBC directo a Hibernate."
+"Puedes también expresar consultas en el dialecto SQL nativo de tu "
+"base de datos. Esto es útil si quieres utilizar aspectos especí"
+"ficos de base de datos tal como consejos (hints) de consulta o la palabra "
+"clave <literal>CONNECT</literal> en Oracle. Provee además una clara "
+"ruta de migración desde una aplicación basada en SQL/JDBC "
+"directo a Hibernate."
-#. Tag: para
-#: query_sql.xml:13
-#, no-c-format
+#: index.docbook:13
msgid ""
"Hibernate3 allows you to specify handwritten SQL (including stored "
"procedures) for all create, update, delete, and load operations."
msgstr ""
"Hibernate3 te permite especificar SQL escrito a mano (incluyendo "
-"procedimientos almacenados) para todas las operaciones de creación, "
-"actualización, borrado y carga."
+"procedimientos almacenados) para todas las operaciones de creación, "
+"actualización, borrado y carga."
-#. Tag: title
-#: query_sql.xml:17
-#, no-c-format
+#: index.docbook:17
msgid "Using a <literal>SQLQuery</literal>"
msgstr "Using a <literal>SQLQuery</literal>"
-#. Tag: para
-#: query_sql.xml:19
-#, no-c-format
+#: index.docbook:19
msgid ""
"Execution of native SQL queries is controlled via the <literal>SQLQuery</"
"literal> interface, which is obtained by calling <literal>Session."
@@ -63,30 +49,26 @@
"createSQLQuery()</literal>. The following describes how to use this API for "
"querying."
-#. Tag: title
-#: query_sql.xml:25
-#, no-c-format
+#: index.docbook:25
msgid "Scalar queries"
msgstr "Scalar queries"
-#. Tag: para
-#: query_sql.xml:27
-#, no-c-format
+#: index.docbook:27
msgid "The most basic SQL query is to get a list of scalars (values)."
msgstr "The most basic SQL query is to get a list of scalars (values)."
-#. Tag: programlisting
-#: query_sql.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").list();\n"
+" sess."
+"createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").list();\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"These will both return a List of Object arrays (Object[]) with scalar values "
"for each column in the CATS table. Hibernate will use ResultSetMetadata to "
@@ -96,9 +78,7 @@
"for each column in the CATS table. Hibernate will use ResultSetMetadata to "
"deduce the actual order and types of the returned scalar values."
-#. Tag: para
-#: query_sql.xml:37
-#, no-c-format
+#: index.docbook:37
msgid ""
"To avoid the overhead of using <literal>ResultSetMetadata</literal> or "
"simply to be more explicit in what is returned one can use <literal>addScalar"
@@ -108,9 +88,7 @@
"simply to be more explicit in what is returned one can use <literal>addScalar"
"()</literal>."
-#. Tag: programlisting
-#: query_sql.xml:41
-#, no-c-format
+#: index.docbook:41
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
" .addScalar(\"ID\", Hibernate.LONG)\n"
@@ -118,28 +96,28 @@
" .addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" ."
+"addScalar(\"ID\", Hibernate.LONG)\n"
+" ."
+"addScalar(\"NAME\", Hibernate.STRING)\n"
+" ."
+"addScalar(\"BIRTHDATE\", Hibernate.DATE)\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:43 query_sql.xml:89 query_sql.xml:170 query_sql.xml:321
-#, no-c-format
+#: index.docbook:43, index.docbook:89, index.docbook:170, index.docbook:321
msgid "This query specified:"
msgstr "This query specified:"
-#. Tag: para
-#: query_sql.xml:47 query_sql.xml:93 query_sql.xml:325
-#, no-c-format
+#: index.docbook:47, index.docbook:93, index.docbook:325
msgid "the SQL query string"
msgstr "the SQL query string"
-#. Tag: para
-#: query_sql.xml:51
-#, no-c-format
+#: index.docbook:51
msgid "the columns and types to return"
msgstr "the columns and types to return"
-#. Tag: para
-#: query_sql.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"This will still return Object arrays, but now it will not use "
"<literal>ResultSetMetdata</literal> but will instead explicitly get the ID, "
@@ -155,9 +133,7 @@
"be returned, even though the query is using <literal>*</literal> and could "
"return more than the three listed columns."
-#. Tag: para
-#: query_sql.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"It is possible to leave out the type information for all or some of the "
"scalars."
@@ -165,9 +141,7 @@
"It is possible to leave out the type information for all or some of the "
"scalars."
-#. Tag: programlisting
-#: query_sql.xml:66
-#, no-c-format
+#: index.docbook:66
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
" .addScalar(\"ID\", Hibernate.LONG)\n"
@@ -175,10 +149,16 @@
" .addScalar(\"BIRTHDATE\")\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\")\n"
+" ."
+"addScalar(\"ID\", Hibernate.LONG)\n"
+" ."
+"addScalar(\"NAME\")\n"
+" ."
+"addScalar(\"BIRTHDATE\")\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:68
-#, no-c-format
+#: index.docbook:68
msgid ""
"This is essentially the same query as before, but now "
"<literal>ResultSetMetaData</literal> is used to decide the type of NAME and "
@@ -188,9 +168,7 @@
"<literal>ResultSetMetaData</literal> is used to decide the type of NAME and "
"BIRTHDATE where as the type of ID is explicitly specified."
-#. Tag: para
-#: query_sql.xml:72
-#, no-c-format
+#: index.docbook:72
msgid ""
"How the java.sql.Types returned from ResultSetMetaData is mapped to "
"Hibernate types is controlled by the Dialect. If a specific type is not "
@@ -202,15 +180,11 @@
"mapped or does not result in the expected type it is possible to customize "
"it via calls to <literal>registerHibernateType</literal> in the Dialect."
-#. Tag: title
-#: query_sql.xml:80
-#, no-c-format
+#: index.docbook:80
msgid "Entity queries"
msgstr "Entity queries"
-#. Tag: para
-#: query_sql.xml:82
-#, no-c-format
+#: index.docbook:82
msgid ""
"The above queries were all about returning scalar values, basically "
"returning the \"raw\" values from the resultset. The following shows how to "
@@ -222,25 +196,24 @@
"get entity objects from a native sql query via <literal>addEntity()</"
"literal>."
-#. Tag: programlisting
-#: query_sql.xml:87
-#, no-c-format
+#: index.docbook:87
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").addEntity(Cat.class);\n"
"sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").addEntity(Cat."
"class);\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT * FROM CATS\").addEntity(Cat.class);\n"
+" sess."
+"createSQLQuery(\"SELECT ID, NAME, BIRTHDATE FROM CATS\").addEntity(Cat."
+"class);\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:97
-#, no-c-format
+#: index.docbook:97
msgid "the entity returned by the query"
msgstr "the entity returned by the query"
-#. Tag: para
-#: query_sql.xml:101
-#, no-c-format
+#: index.docbook:101
msgid ""
"Assuming that Cat is mapped as a class with the columns ID, NAME and "
"BIRTHDATE the above queries will both return a List where each element is a "
@@ -250,9 +223,7 @@
"BIRTHDATE the above queries will both return a List where each element is a "
"Cat entity."
-#. Tag: para
-#: query_sql.xml:105
-#, no-c-format
+#: index.docbook:105
msgid ""
"If the entity is mapped with a <literal>many-to-one</literal> to another "
"entity it is required to also return this when performing the native query, "
@@ -268,30 +239,25 @@
"but we prefer to be explicit as in the following example for a <literal>many-"
"to-one</literal> to a <literal>Dog</literal>:"
-#. Tag: programlisting
-#: query_sql.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS"
"\").addEntity(Cat.class);\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, DOG_ID FROM CATS"
+"\").addEntity(Cat.class);\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:115
-#, no-c-format
+#: index.docbook:115
msgid "This will allow cat.getDog() to function properly."
msgstr "This will allow cat.getDog() to function properly."
-#. Tag: title
-#: query_sql.xml:119
-#, no-c-format
+#: index.docbook:119
msgid "Handling associations and collections"
msgstr "Handling associations and collections"
-#. Tag: para
-#: query_sql.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"It is possible to eagerly join in the <literal>Dog</literal> to avoid the "
"possible extra roundtrip for initializing the proxy. This is done via the "
@@ -303,9 +269,7 @@
"<literal>addJoin()</literal> method, which allows you to join in an "
"association or collection."
-#. Tag: programlisting
-#: query_sql.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, "
"D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
@@ -313,10 +277,15 @@
" .addJoin(\"cat.dog\");\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT c.ID, NAME, BIRTHDATE, DOG_ID, D_ID, "
+"D_NAME FROM CATS c, DOGS d WHERE c.DOG_ID = d.D_ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addJoin(\"cat.dog\");\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"In this example the returned <literal>Cat</literal>'s will have their "
"<literal>dog</literal> property fully initialized without any extra "
@@ -332,9 +301,7 @@
"the same eager joining for collections, e.g. if the <literal>Cat</literal> "
"had a one-to-many to <literal>Dog</literal> instead."
-#. Tag: programlisting
-#: query_sql.xml:136
-#, no-c-format
+#: index.docbook:136
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, "
"CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
@@ -342,10 +309,15 @@
" .addJoin(\"cat.dogs\");\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT ID, NAME, BIRTHDATE, D_ID, D_NAME, "
+"CAT_ID FROM CATS c, DOGS d WHERE c.ID = d.CAT_ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addJoin(\"cat.dogs\");\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"At this stage we are reaching the limits of what is possible with native "
"queries without starting to enhance the sql queries to make them usable in "
@@ -357,15 +329,11 @@
"Hibernate; the problems starts to arise when returning multiple entities of "
"the same type or when the default alias/column names are not enough."
-#. Tag: title
-#: query_sql.xml:146
-#, no-c-format
+#: index.docbook:146
msgid "Returning multiple entities"
msgstr "Returning multiple entities"
-#. Tag: para
-#: query_sql.xml:148
-#, no-c-format
+#: index.docbook:148
msgid ""
"Until now the result set column names are assumed to be the same as the "
"column names specified in the mapping document. This can be problematic for "
@@ -377,9 +345,7 @@
"SQL queries which join multiple tables, since the same column names may "
"appear in more than one table."
-#. Tag: para
-#: query_sql.xml:153
-#, no-c-format
+#: index.docbook:153
msgid ""
"Column alias injection is needed in the following query (which most likely "
"will fail):"
@@ -387,9 +353,7 @@
"Column alias injection is needed in the following query (which most likely "
"will fail):"
-#. Tag: programlisting
-#: query_sql.xml:156
-#, no-c-format
+#: index.docbook:156
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.* FROM CATS c, CATS m WHERE c."
"MOTHER_ID = c.ID\")\n"
@@ -397,10 +361,15 @@
" .addEntity(\"mother\", Cat.class)\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT c.*, m.* FROM CATS c, CATS m WHERE c."
+"MOTHER_ID = c.ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addEntity(\"mother\", Cat.class)\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:158
-#, no-c-format
+#: index.docbook:158
msgid ""
"The intention for this query is to return two Cat instances per row, a cat "
"and its mother. This will fail since there is a conflict of names since they "
@@ -416,15 +385,11 @@
"which are not equal to the columns specificed in the mappings (\"ID\" and "
"\"NAME\")."
-#. Tag: para
-#: query_sql.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "The following form is not vulnerable to column name duplication:"
msgstr "The following form is not vulnerable to column name duplication:"
-#. Tag: programlisting
-#: query_sql.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*} FROM CATS c, CATS "
"m WHERE c.MOTHER_ID = c.ID\")\n"
@@ -432,10 +397,15 @@
" .addEntity(\"mother\", Cat.class)\n"
"]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT {cat.*}, {mother.*} FROM CATS c, CATS "
+"m WHERE c.MOTHER_ID = c.ID\")\n"
+" ."
+"addEntity(\"cat\", Cat.class)\n"
+" ."
+"addEntity(\"mother\", Cat.class)\n"
+" ]]>"
-#. Tag: para
-#: query_sql.xml:174
-#, no-c-format
+#: index.docbook:174
msgid ""
"the SQL query string, with placeholders for Hibernate to inject column "
"aliases"
@@ -443,15 +413,11 @@
"the SQL query string, with placeholders for Hibernate to inject column "
"aliases"
-#. Tag: para
-#: query_sql.xml:179
-#, no-c-format
+#: index.docbook:179
msgid "the entities returned by the query"
msgstr "the entities returned by the query"
-#. Tag: para
-#: query_sql.xml:183
-#, no-c-format
+#: index.docbook:183
msgid ""
"The {cat.*} and {mother.*} notation used above is a shorthand for \"all "
"properties\". Alternatively, you may list the columns explicity, but even in "
@@ -471,9 +437,7 @@
"metadata. Notice that we may even use the property aliases in the where "
"clause if we like."
-#. Tag: programlisting
-#: query_sql.xml:192
-#, no-c-format
+#: index.docbook:192
msgid ""
"<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" + \n"
" \"BIRTHDATE as {c.birthDate}, MOTHER_ID as {c.mother}, {mother.*} "
@@ -485,16 +449,25 @@
" .addEntity(\"mother\", Cat.class).list()\n"
"]]>"
msgstr ""
+"<![CDATA[String sql = \"SELECT ID as {c.id}, NAME as {c.name}, \" + \n"
+" \"BIRTHDATE as {c."
+"birthDate}, MOTHER_ID as {c.mother}, {mother.*} \" +\n"
+" \"FROM CAT_LOG c, "
+"CAT_LOG m WHERE {c.mother} = c.ID\";\n"
+" \n"
+" List loggedCats = sess."
+"createSQLQuery(sql)\n"
+" .addEntity(\"cat\", Cat."
+"class)\n"
+" .addEntity(\"mother\", "
+"Cat.class).list()\n"
+" ]]>"
-#. Tag: title
-#: query_sql.xml:195
-#, no-c-format
+#: index.docbook:195
msgid "Alias and property references"
msgstr "Alias and property references"
-#. Tag: para
-#: query_sql.xml:197
-#, no-c-format
+#: index.docbook:197
msgid ""
"For most cases the above alias injection is needed, but for queries relating "
"to more complex mappings like composite properties, inheritance "
@@ -506,9 +479,7 @@
"discriminators, collections etc. there are some specific aliases to use to "
"allow Hibernate to inject the proper aliases."
-#. Tag: para
-#: query_sql.xml:202
-#, no-c-format
+#: index.docbook:202
msgid ""
"The following table shows the different possibilities of using the alias "
"injection. Note: the alias names in the result are examples, each alias will "
@@ -518,213 +489,143 @@
"injection. Note: the alias names in the result are examples, each alias will "
"have a unique and probably different name when used."
-#. Tag: title
-#: query_sql.xml:208
-#, no-c-format
+#: index.docbook:208
msgid "Alias injection names"
msgstr "Alias injection names"
-#. Tag: entry
-#: query_sql.xml:219
-#, no-c-format
+#: index.docbook:219
msgid "Description"
msgstr "Description"
-#. Tag: entry
-#: query_sql.xml:221
-#, no-c-format
+#: index.docbook:221
msgid "Syntax"
msgstr "Syntax"
-#. Tag: entry
-#: query_sql.xml:223
-#, no-c-format
+#: index.docbook:223
msgid "Example"
msgstr "Example"
-#. Tag: entry
-#: query_sql.xml:229
-#, no-c-format
+#: index.docbook:229
msgid "A simple property"
msgstr "A simple property"
-#. Tag: literal
-#: query_sql.xml:231
-#, no-c-format
+#: index.docbook:231
msgid "{[aliasname].[propertyname]"
msgstr "{[aliasname].[propertyname]"
-#. Tag: literal
-#: query_sql.xml:233
-#, no-c-format
+#: index.docbook:233
msgid "A_NAME as {item.name}"
msgstr "A_NAME as {item.name}"
-#. Tag: entry
-#: query_sql.xml:237
-#, no-c-format
+#: index.docbook:237
msgid "A composite property"
msgstr "A composite property"
-#. Tag: literal
-#: query_sql.xml:239
-#, no-c-format
+#: index.docbook:239
msgid "{[aliasname].[componentname].[propertyname]}"
msgstr "{[aliasname].[componentname].[propertyname]}"
-#. Tag: literal
-#: query_sql.xml:241
-#, no-c-format
+#: index.docbook:241
msgid "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
msgstr "CURRENCY as {item.amount.currency}, VALUE as {item.amount.value}"
-#. Tag: entry
-#: query_sql.xml:246
-#, no-c-format
+#: index.docbook:246
msgid "Discriminator of an entity"
msgstr "Discriminator of an entity"
-#. Tag: literal
-#: query_sql.xml:248
-#, no-c-format
+#: index.docbook:248
msgid "{[aliasname].class}"
msgstr "{[aliasname].class}"
-#. Tag: literal
-#: query_sql.xml:250
-#, no-c-format
+#: index.docbook:250
msgid "DISC as {item.class}"
msgstr "DISC as {item.class}"
-#. Tag: entry
-#: query_sql.xml:254
-#, no-c-format
+#: index.docbook:254
msgid "All properties of an entity"
msgstr "All properties of an entity"
-#. Tag: literal
-#: query_sql.xml:256 query_sql.xml:304
-#, no-c-format
+#: index.docbook:256, index.docbook:304
msgid "{[aliasname].*}"
msgstr "{[aliasname].*}"
-#. Tag: literal
-#: query_sql.xml:258
-#, no-c-format
+#: index.docbook:258
msgid "{item.*}"
msgstr "{item.*}"
-#. Tag: entry
-#: query_sql.xml:262
-#, no-c-format
+#: index.docbook:262
msgid "A collection key"
msgstr "A collection key"
-#. Tag: literal
-#: query_sql.xml:264
-#, no-c-format
+#: index.docbook:264
msgid "{[aliasname].key}"
msgstr "{[aliasname].key}"
-#. Tag: literal
-#: query_sql.xml:266
-#, no-c-format
+#: index.docbook:266
msgid "ORGID as {coll.key}"
msgstr "ORGID as {coll.key}"
-#. Tag: entry
-#: query_sql.xml:270
-#, no-c-format
+#: index.docbook:270
msgid "The id of an collection"
msgstr "The id of an collection"
-#. Tag: literal
-#: query_sql.xml:272
-#, no-c-format
+#: index.docbook:272
msgid "{[aliasname].id}"
msgstr "{[aliasname].id}"
-#. Tag: literal
-#: query_sql.xml:274
-#, no-c-format
+#: index.docbook:274
msgid "EMPID as {coll.id}"
msgstr "EMPID as {coll.id}"
-#. Tag: entry
-#: query_sql.xml:278
-#, no-c-format
+#: index.docbook:278
msgid "The element of an collection"
msgstr "The element of an collection"
-#. Tag: literal
-#: query_sql.xml:280
-#, no-c-format
+#: index.docbook:280
msgid "{[aliasname].element}"
msgstr "{[aliasname].element}"
-#. Tag: literal
-#: query_sql.xml:282
-#, no-c-format
+#: index.docbook:282
msgid "XID as {coll.element}"
msgstr "XID as {coll.element}"
-#. Tag: entry
-#: query_sql.xml:286
-#, no-c-format
+#: index.docbook:286
msgid "roperty of the element in the collection"
msgstr "roperty of the element in the collection"
-#. Tag: literal
-#: query_sql.xml:288
-#, no-c-format
+#: index.docbook:288
msgid "{[aliasname].element.[propertyname]}"
msgstr "{[aliasname].element.[propertyname]}"
-#. Tag: literal
-#: query_sql.xml:290
-#, no-c-format
+#: index.docbook:290
msgid "NAME as {coll.element.name}"
msgstr "NAME as {coll.element.name}"
-#. Tag: entry
-#: query_sql.xml:294
-#, no-c-format
+#: index.docbook:294
msgid "All properties of the element in the collection"
msgstr "All properties of the element in the collection"
-#. Tag: literal
-#: query_sql.xml:296
-#, no-c-format
+#: index.docbook:296
msgid "{[aliasname].element.*}"
msgstr "{[aliasname].element.*}"
-#. Tag: literal
-#: query_sql.xml:298
-#, no-c-format
+#: index.docbook:298
msgid "{coll.element.*}"
msgstr "{coll.element.*}"
-#. Tag: entry
-#: query_sql.xml:302
-#, no-c-format
+#: index.docbook:302
msgid "All properties of the the collection"
msgstr "All properties of the the collection"
-#. Tag: literal
-#: query_sql.xml:306
-#, no-c-format
+#: index.docbook:306
msgid "{coll.*}"
msgstr "{coll.*}"
-#. Tag: title
-#: query_sql.xml:315
-#, no-c-format
+#: index.docbook:315
msgid "Returning non-managed entities"
msgstr "Returning non-managed entities"
-#. Tag: para
-#: query_sql.xml:317
-#, no-c-format
+#: index.docbook:317
msgid ""
"It is possible to apply a ResultTransformer to native sql queries. Allowing "
"it to e.g. return non-managed entities."
@@ -732,23 +633,20 @@
"It is possible to apply a ResultTransformer to native sql queries. Allowing "
"it to e.g. return non-managed entities."
-#. Tag: programlisting
-#: query_sql.xml:319
-#, no-c-format
+#: index.docbook:319
msgid ""
"<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
" .setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
msgstr ""
+"<![CDATA[sess.createSQLQuery(\"SELECT NAME, BIRTHDATE FROM CATS\")\n"
+" ."
+"setResultTransformer(Transformers.aliasToBean(CatDTO.class))]]>"
-#. Tag: para
-#: query_sql.xml:329
-#, no-c-format
+#: index.docbook:329
msgid "a result transformer"
msgstr "a result transformer"
-#. Tag: para
-#: query_sql.xml:333
-#, no-c-format
+#: index.docbook:333
msgid ""
"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 "
@@ -758,15 +656,11 @@
"been instantiated and injected the values of NAME and BIRTHNAME into its "
"corresponding properties or fields."
-#. Tag: title
-#: query_sql.xml:340
-#, no-c-format
+#: index.docbook:340
msgid "Handling inheritance"
msgstr "Handling inheritance"
-#. Tag: para
-#: query_sql.xml:342
-#, no-c-format
+#: index.docbook:342
msgid ""
"Native sql queries which query for entities that is mapped as part of an "
"inheritance must include all properties for the baseclass and all it "
@@ -776,21 +670,15 @@
"inheritance must include all properties for the baseclass and all it "
"subclasses."
-#. Tag: title
-#: query_sql.xml:348
-#, no-c-format
+#: index.docbook:348
msgid "Parameters"
msgstr "Parameters"
-#. Tag: para
-#: query_sql.xml:350
-#, no-c-format
+#: index.docbook:350
msgid "Native sql queries support positional as well as named parameters:"
msgstr "Native sql queries support positional as well as named parameters:"
-#. Tag: programlisting
-#: query_sql.xml:353
-#, no-c-format
+#: index.docbook:353
msgid ""
"<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME "
"like ?\").addEntity(Cat.class);\n"
@@ -800,16 +688,22 @@
"addEntity(Cat.class);\n"
"List pusList = query.setString(\"name\", \"Pus%\").list(); ]]>"
msgstr ""
+"<![CDATA[Query query = sess.createSQLQuery(\"SELECT * FROM CATS WHERE NAME "
+"like ?\").addEntity(Cat.class);\n"
+" List pusList = query."
+"setString(0, \"Pus%\").list();\n"
+" \n"
+" query = sess."
+"createSQLQuery(\"SELECT * FROM CATS WHERE NAME like :name\").addEntity(Cat."
+"class);\n"
+" List pusList = query."
+"setString(\"name\", \"Pus%\").list(); ]]>"
-#. Tag: title
-#: query_sql.xml:361
-#, no-c-format
+#: index.docbook:361
msgid "Named SQL queries"
msgstr "Consultas SQL con nombre"
-#. Tag: para
-#: query_sql.xml:363
-#, no-c-format
+#: index.docbook:363
msgid ""
"Named SQL queries may be defined in the mapping document and called in "
"exactly the same way as a named HQL query. In this case, we do "
@@ -820,9 +714,7 @@
"En este caso, <emphasis>no</emphasis> necesitamos llamar a <literal>addEntity"
"()</literal>."
-#. Tag: programlisting
-#: query_sql.xml:368
-#, no-c-format
+#: index.docbook:368
msgid ""
"<![CDATA[<sql-query name=\"persons\">\n"
" <return alias=\"person\" class=\"eg.Person\"/>\n"
@@ -833,20 +725,28 @@
" WHERE person.NAME LIKE :namePattern\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"persons\">\n"
+" <return alias=\"person\" class=\"eg.Person\"/>\n"
+" SELECT person.NAME AS {person.name},\n"
+" person.AGE AS {person.age},\n"
+" person.SEX AS {person.sex}\n"
+" FROM PERSON person \n"
+" WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
-#. Tag: programlisting
-#: query_sql.xml:370
-#, no-c-format
+#: index.docbook:370
msgid ""
"<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
" .setString(\"namePattern\", namePattern)\n"
" .setMaxResults(50)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List people = sess.getNamedQuery(\"persons\")\n"
+" .setString(\"namePattern\", namePattern)\n"
+" .setMaxResults(50)\n"
+" .list();]]>"
-#. Tag: para
-#: query_sql.xml:372
-#, no-c-format
+#: index.docbook:372
msgid ""
"The <literal><return-join></literal> and <literal><load-"
"collection></literal> elements are used to join associations and define "
@@ -856,9 +756,7 @@
"collection></literal> se usan para unir asociaciones y definir consultas "
"que inicialicen colecciones, respectivamente."
-#. Tag: programlisting
-#: query_sql.xml:377
-#, no-c-format
+#: index.docbook:377
msgid ""
"<![CDATA[<sql-query name=\"personsWith\">\n"
" <return alias=\"person\" class=\"eg.Person\"/>\n"
@@ -876,10 +774,23 @@
" WHERE person.NAME LIKE :namePattern\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"personsWith\">\n"
+" <return alias=\"person\" class=\"eg.Person\"/>\n"
+" <return-join alias=\"address\" property=\"person.mailingAddress\"/>\n"
+" SELECT person.NAME AS {person.name},\n"
+" person.AGE AS {person.age},\n"
+" person.SEX AS {person.sex},\n"
+" address.STREET AS {address.street},\n"
+" address.CITY AS {address.city},\n"
+" address.STATE AS {address.state},\n"
+" address.ZIP AS {address.zip}\n"
+" FROM PERSON person \n"
+" JOIN ADDRESS address\n"
+" ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
+" WHERE person.NAME LIKE :namePattern\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:379
-#, no-c-format
+#: index.docbook:379
msgid ""
"A named SQL query may return a scalar value. You must declare the column "
"alias and Hibernate type using the <literal><return-scalar></literal> "
@@ -889,9 +800,7 @@
"especificar el alias de columna y tipo Hibernate usando el elementp "
"<literal><return-scalar></literal>:"
-#. Tag: programlisting
-#: query_sql.xml:383
-#, no-c-format
+#: index.docbook:383
msgid ""
"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
" <return-scalar column=\"name\" type=\"string\"/>\n"
@@ -901,10 +810,15 @@
" FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
+" <return-scalar column=\"name\" type=\"string\"/>\n"
+" <return-scalar column=\"age\" type=\"long\"/>\n"
+" SELECT p.NAME AS name,\n"
+" p.AGE AS age,\n"
+" FROM PERSON p WHERE p.NAME LIKE 'Hiber%'\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:385
-#, no-c-format
+#: index.docbook:385
msgid ""
"You can externalize the resultset mapping informations in a <literal><"
"resultset></literal> element to either reuse them accross several named "
@@ -914,9 +828,7 @@
"resultset></literal> element to either reuse them accross several named "
"queries or through the <literal>setResultSetMapping()</literal> API."
-#. Tag: programlisting
-#: query_sql.xml:390
-#, no-c-format
+#: index.docbook:390
msgid ""
"<![CDATA[<resultset name=\"personAddress\">\n"
" <return alias=\"person\" class=\"eg.Person\"/>\n"
@@ -937,10 +849,27 @@
" WHERE person.NAME LIKE :namePattern\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<resultset name=\"personAddress\">\n"
+" <return alias=\"person\" class=\"eg.Person\"/>\n"
+" <return-join alias=\"address\" property=\"person."
+"mailingAddress\"/>\n"
+" </resultset>\n"
+" \n"
+" <sql-query name=\"personsWith\" resultset-ref=\"personAddress\">\n"
+" SELECT person.NAME AS {person.name},\n"
+" person.AGE AS {person.age},\n"
+" person.SEX AS {person.sex},\n"
+" address.STREET AS {address.street},\n"
+" address.CITY AS {address.city},\n"
+" address.STATE AS {address.state},\n"
+" address.ZIP AS {address.zip}\n"
+" FROM PERSON person\n"
+" JOIN ADDRESS address\n"
+" ON person.ID = address.PERSON_ID AND address.TYPE='MAILING'\n"
+" WHERE person.NAME LIKE :namePattern\n"
+" </sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:392
-#, no-c-format
+#: index.docbook:392
msgid ""
"You can alternatively use the resultset mapping information in your hbm "
"files directly in java code."
@@ -948,9 +877,7 @@
"You can alternatively use the resultset mapping information in your hbm "
"files directly in java code."
-#. Tag: programlisting
-#: query_sql.xml:395
-#, no-c-format
+#: index.docbook:395
msgid ""
"<![CDATA[List cats = sess.createSQLQuery(\n"
" \"select {cat.*}, {kitten.*} from cats cat, cats kitten where kitten."
@@ -959,30 +886,31 @@
" .setResultSetMapping(\"catAndKitten\")\n"
" .list();]]>"
msgstr ""
+"<![CDATA[List cats = sess.createSQLQuery(\n"
+" \"select {cat.*}, {kitten.*} from cats cat, "
+"cats kitten where kitten.mother = cat.id\"\n"
+" )\n"
+" .setResultSetMapping(\"catAndKitten\")\n"
+" .list();]]>"
-#. Tag: title
-#: query_sql.xml:398
-#, no-c-format
+#: index.docbook:398
msgid "Using return-property to explicitly specify column/alias names"
msgstr ""
-"Usando return-property para especificar explícitamente nombres de columna/"
-"alias"
+"Usando return-property para especificar explícitamente nombres de "
+"columna/alias"
-#. Tag: para
-#: query_sql.xml:401
-#, no-c-format
+#: index.docbook:401
msgid ""
"With <literal><return-property></literal> you can explicitly tell "
"Hibernate what column aliases to use, instead of using the <literal>{}</"
"literal>-syntax to let Hibernate inject its own aliases."
msgstr ""
-"Con <literal><return-property></literal> puedes decirle explícitamente "
-"a Hibernate qué alias de columna usar, en vez de usar la sintáxis <literal>{}"
-"</literal> para dejar que Hibernate inyecte sus propios alias."
+"Con <literal><return-property></literal> puedes decirle explí"
+"citamente a Hibernate qué alias de columna usar, en vez de usar la "
+"sintáxis <literal>{}</literal> para dejar que Hibernate inyecte sus "
+"propios alias."
-#. Tag: programlisting
-#: query_sql.xml:406
-#, no-c-format
+#: index.docbook:406
msgid ""
"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
" <return alias=\"person\" class=\"eg.Person\">\n"
@@ -997,22 +925,31 @@
"</sql-query>\n"
"]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"mySqlQuery\">\n"
+" <return alias=\"person\" class=\"eg.Person\">\n"
+" <return-property name=\"name\" column=\"myName\"/>\n"
+" <return-property name=\"age\" column=\"myAge\"/>\n"
+" <return-property name=\"sex\" column=\"mySex\"/>\n"
+" </return>\n"
+" SELECT person.NAME AS myName,\n"
+" person.AGE AS myAge,\n"
+" person.SEX AS mySex,\n"
+" FROM PERSON person WHERE person.NAME LIKE :name\n"
+"</sql-query>\n"
+"]]>"
-#. Tag: para
-#: query_sql.xml:408
-#, no-c-format
+#: index.docbook:408
msgid ""
"<literal><return-property></literal> also works with multiple columns. "
"This solves a limitation with the <literal>{}</literal>-syntax which can not "
"allow fine grained control of multi-column properties."
msgstr ""
-"<literal><return-property></literal> también trabaja con múltiples "
-"columnas. Esto resuelve una limitación de la sintáxis <literal>{}</literal>, "
-"la cual no puede permitir un control fino de propiedades multi-columna."
+"<literal><return-property></literal> también trabaja con "
+"múltiples columnas. Esto resuelve una limitación de la "
+"sintáxis <literal>{}</literal>, la cual no puede permitir un control "
+"fino de propiedades multi-columna."
-#. Tag: programlisting
-#: query_sql.xml:413
-#, no-c-format
+#: index.docbook:413
msgid ""
"<![CDATA[<sql-query name=\"organizationCurrentEmployments\">\n"
" <return alias=\"emp\" class=\"Employment\">\n"
@@ -1030,23 +967,34 @@
" ORDER BY STARTDATE ASC\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"organizationCurrentEmployments\">\n"
+" <return alias=\"emp\" class=\"Employment\"> \n"
+" <return-property name=\"salary\"> \n"
+" <return-column name=\"VALUE\"/>\n"
+" <return-column name=\"CURRENCY\"/> \n"
+" </return-property>\n"
+" <return-property name=\"endDate\" column=\"myEndDate\"/>\n"
+" </return>\n"
+" SELECT EMPLOYEE AS {emp.employee}, EMPLOYER AS {emp.employer}, \n"
+" STARTDATE AS {emp.startDate}, ENDDATE AS {emp.endDate},\n"
+" REGIONCODE as {emp.regionCode}, EID AS {emp.id}, VALUE, CURRENCY\n"
+" FROM EMPLOYMENT\n"
+" WHERE EMPLOYER = :id AND ENDDATE IS NULL\n"
+" ORDER BY STARTDATE ASC\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:415
-#, no-c-format
+#: index.docbook:415
msgid ""
"Notice that in this example we used <literal><return-property></"
"literal> in combination with the <literal>{}</literal>-syntax for injection. "
"Allowing users to choose how they want to refer column and properties."
msgstr ""
"Nota que en este ejemplo hemos usado <literal><return-property></"
-"literal> en combinación con la sintáxis <literal>{}</literal> para "
-"inyección, permitiendo a los usuarios elejir cómo quieren referirse a las "
-"columnas y propiedades."
+"literal> en combinación con la sintáxis <literal>{}</literal> "
+"para inyección, permitiendo a los usuarios elejir cómo quieren "
+"referirse a las columnas y propiedades."
-#. Tag: para
-#: query_sql.xml:420
-#, no-c-format
+#: index.docbook:420
msgid ""
"If your mapping has a discriminator you must use <literal><return-"
"discriminator></literal> to specify the discriminator column."
@@ -1054,15 +1002,11 @@
"Si tu mapeo tiene un discriminador debes usar <literal><return-"
"discriminator></literal> para especificar la columna discriminadora."
-#. Tag: title
-#: query_sql.xml:426
-#, no-c-format
+#: index.docbook:426
msgid "Using stored procedures for querying"
msgstr "Usando procedimientos almacenados para consultar"
-#. Tag: para
-#: query_sql.xml:428
-#, no-c-format
+#: index.docbook:428
msgid ""
"Hibernate 3 introduces support for queries via stored procedures and "
"functions. Most of the following documentation is equivalent for both. The "
@@ -1070,14 +1014,13 @@
"to be able to work with Hibernate. An example of such a stored function in "
"Oracle 9 and higher is as follows:"
msgstr ""
-"Hibernate3 introduce soporte para consultas vía procedimientos almacenados. "
-"Los procedimientos almacenados deben devolver un conjunto resultado como el "
-"primer parámetro de salida para ser capaces de funcionar con Hibernate. Un "
-"ejemplo de uno procedimiento almacenado en Oracle 9 o superior es así:"
+"Hibernate3 introduce soporte para consultas vía procedimientos "
+"almacenados. Los procedimientos almacenados deben devolver un conjunto "
+"resultado como el primer parámetro de salida para ser capaces de "
+"funcionar con Hibernate. Un ejemplo de uno procedimiento almacenado en "
+"Oracle 9 o superior es así:"
-#. Tag: programlisting
-#: query_sql.xml:434
-#, no-c-format
+#: index.docbook:434
msgid ""
"<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments\n"
" RETURN SYS_REFCURSOR\n"
@@ -1092,18 +1035,26 @@
" RETURN st_cursor;\n"
" END;]]>"
msgstr ""
+"<![CDATA[CREATE OR REPLACE FUNCTION selectAllEmployments \n"
+" RETURN SYS_REFCURSOR \n"
+"AS \n"
+" st_cursor SYS_REFCURSOR; \n"
+"BEGIN \n"
+" OPEN st_cursor FOR \n"
+" SELECT EMPLOYEE, EMPLOYER, \n"
+" STARTDATE, ENDDATE, \n"
+" REGIONCODE, EID, VALUE, CURRENCY \n"
+" FROM EMPLOYMENT; \n"
+" RETURN st_cursor; \n"
+" END;]]>"
-#. Tag: para
-#: query_sql.xml:436
-#, no-c-format
+#: index.docbook:436
msgid "To use this query in Hibernate you need to map it via a named query."
msgstr ""
"Para usar esta consulta en Hibernate necesitas mapearla por medio de una "
"consulta con nombre."
-#. Tag: programlisting
-#: query_sql.xml:439
-#, no-c-format
+#: index.docbook:439
msgid ""
"<![CDATA[<sql-query name=\"selectAllEmployees_SP\" callable=\"true\">\n"
" <return alias=\"emp\" class=\"Employment\">\n"
@@ -1121,28 +1072,40 @@
" { ? = call selectAllEmployments() }\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"selectAllEmployees_SP\" callable=\"true\">\n"
+" <return alias=\"emp\" class=\"Employment\">\n"
+" <return-property name=\"employee\" column=\"EMPLOYEE\"/>\n"
+" <return-property name=\"employer\" column=\"EMPLOYER\"/"
+"> \n"
+" <return-property name=\"startDate\" column=\"STARTDATE\"/>\n"
+" <return-property name=\"endDate\" column=\"ENDDATE\"/> \n"
+" <return-property name=\"regionCode\" column=\"REGIONCODE\"/"
+"> \n"
+" <return-property name=\"id\" column=\"EID\"/"
+"> \n"
+" <return-property name=\"salary\"> \n"
+" <return-column name=\"VALUE\"/>\n"
+" <return-column name=\"CURRENCY\"/> \n"
+" </return-property>\n"
+" </return>\n"
+" { ? = call selectAllEmployments() }\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:441
-#, no-c-format
+#: index.docbook:441
msgid ""
"Notice stored procedures currently only return scalars and entities. "
"<literal><return-join></literal> and <literal><load-collection></"
"literal> are not supported."
msgstr ""
-"Nota que los procedimientos almacenados sólo devuelven escalares y "
-"entidades. No están soportados <literal><return-join></literal> y "
-"<literal><load-collection></literal>."
+"Nota que los procedimientos almacenados sólo devuelven escalares y "
+"entidades. No están soportados <literal><return-join></literal> "
+"y <literal><load-collection></literal>."
-#. Tag: title
-#: query_sql.xml:446
-#, no-c-format
+#: index.docbook:446
msgid "Rules/limitations for using stored procedures"
msgstr "Reglas/limitaciones para usar procedimientos almacenados"
-#. Tag: para
-#: query_sql.xml:448
-#, no-c-format
+#: index.docbook:448
msgid ""
"To use stored procedures with Hibernate the procedures/functions have to "
"follow some rules. If they do not follow those rules they are not usable "
@@ -1153,14 +1116,13 @@
msgstr ""
"Para usar procedimientos almacenados con Hibernate los procedimientos tienen "
"que seguir algunas reglas. Si no siguen esas reglas no son usables por "
-"Hibernate. Si aún quisieras usar estos procedimientos tendrías que "
-"ejecutarlos por medio de <literal>session.connection()</literal>. Las reglas "
-"son diferentes para cada base de datos, ya que los vendedores de base de "
-"datos tienen diferentes semánticas/sintáxis de procedimientos almacenados."
+"Hibernate. Si aún quisieras usar estos procedimientos tendrías "
+"que ejecutarlos por medio de <literal>session.connection()</literal>. Las "
+"reglas son diferentes para cada base de datos, ya que los vendedores de base "
+"de datos tienen diferentes semánticas/sintáxis de "
+"procedimientos almacenados."
-#. Tag: para
-#: query_sql.xml:455
-#, no-c-format
+#: index.docbook:455
msgid ""
"Stored procedure queries can't be paged with <literal>setFirstResult()/"
"setMaxResults()</literal>."
@@ -1168,27 +1130,21 @@
"Las consultas de procedimientos almacenados no pueden ser paginadas con "
"<literal>setFirstResult()/setMaxResults()</literal>."
-#. Tag: para
-#: query_sql.xml:458
-#, no-c-format
+#: index.docbook:458
msgid ""
"Recommended call form is standard SQL92: <literal>{ ? = call functionName"
"(<parameters>) }</literal> or <literal>{ ? = call procedureName(<"
"parameters>}</literal>. Native call syntax is not supported."
msgstr "Para Oracle se aplican las siguientes reglas:"
-#. Tag: para
-#: query_sql.xml:463
-#, no-c-format
+#: index.docbook:463
msgid "For Oracle the following rules apply:"
msgstr ""
"El procedimiento debe devolver un conjunto resultado. Esto se hace "
"devolviendo un <literal>SYS_REFCURSOR</literal> en Oracle 9 o 10. En Oracle "
"necesitas definir un tipo <literal>REF CURSOR</literal>."
-#. Tag: para
-#: query_sql.xml:467
-#, no-c-format
+#: index.docbook:467
msgid ""
"A function must return a result set. The first parameter of a procedure must "
"be an <literal>OUT</literal> that returns a result set. This is done by "
@@ -1197,18 +1153,14 @@
"literature."
msgstr ""
"La forma recomendada es <literal>{ ? = call procName(<parameters>) }</"
-"literal> o <literal>{ ? = call procName }</literal> (esto es más una regla "
-"de Oracle que una regla de Hibernate)."
+"literal> o <literal>{ ? = call procName }</literal> (esto es más una "
+"regla de Oracle que una regla de Hibernate)."
-#. Tag: para
-#: query_sql.xml:476
-#, no-c-format
+#: index.docbook:476
msgid "For Sybase or MS SQL server the following rules apply:"
msgstr "Para Sybase o MS SQL server se aplican las siguientes reglas:"
-#. Tag: para
-#: query_sql.xml:480
-#, no-c-format
+#: index.docbook:480
msgid ""
"The procedure must return a result set. Note that since these servers can/"
"will return multiple result sets and update counts, Hibernate will iterate "
@@ -1216,30 +1168,25 @@
"value. Everything else will be discarded."
msgstr ""
"El procedimiento debe devolver un conjunto resultado. Nota que ya que estos "
-"servidores pueden y devolverán múltiples conjuntos resultados y cuentas de "
-"actualización, Hibernate iterará los resultados y tomará el primer resultado "
-"que sea un conjunto resultado como su valor a devolver. Todo lo demás será "
-"descartado."
+"servidores pueden y devolverán múltiples conjuntos resultados "
+"y cuentas de actualización, Hibernate iterará los resultados y "
+"tomará el primer resultado que sea un conjunto resultado como su "
+"valor a devolver. Todo lo demás será descartado."
-#. Tag: para
-#: query_sql.xml:488
-#, no-c-format
+#: index.docbook:488
msgid ""
"If you can enable <literal>SET NOCOUNT ON</literal> in your procedure it "
"will probably be more efficient, but this is not a requirement."
msgstr ""
-"Si habilitas <literal>SET NOCOUNT ON</literal> en tu procedimiento será "
-"probablemente más eficiente, pero esto no es un requerimiento."
+"Si habilitas <literal>SET NOCOUNT ON</literal> en tu procedimiento "
+"será probablemente más eficiente, pero esto no es un "
+"requerimiento."
-#. Tag: title
-#: query_sql.xml:498
-#, no-c-format
+#: index.docbook:498
msgid "Custom SQL for create, update and delete"
msgstr "SQL personalizado para crear, actualizar y borrar"
-#. Tag: para
-#: query_sql.xml:500
-#, no-c-format
+#: index.docbook:500
msgid ""
"Hibernate3 can use custom SQL statements for create, update, and delete "
"operations. The class and collection persisters in Hibernate already contain "
@@ -1251,13 +1198,11 @@
"Hibernate3 puede usar sentencias SQL personalizadas para las operaciones de "
"crear, actualizar y borrar. Los persistidores de clases y colecciones en "
"Hibernate ya contienen un conjunto de cadenas generadas en tiempo de "
-"configuración (insertsql, deletesql, updatesql, etc.). Las etiquetas de "
-"mapeo <literal><sql-insert></literal>, <literal><sql-delete></"
+"configuración (insertsql, deletesql, updatesql, etc.). Las etiquetas "
+"de mapeo <literal><sql-insert></literal>, <literal><sql-delete></"
"literal>, y <literal><sql-update></literal> sobrescriben estas cadenas:"
-#. Tag: programlisting
-#: query_sql.xml:508
-#, no-c-format
+#: index.docbook:508
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\">\n"
@@ -1270,32 +1215,37 @@
" <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"/>\n"
+" <sql-insert>INSERT INTO PERSON (NAME, ID) VALUES ( UPPER(?), ? )</sql-"
+"insert>\n"
+" <sql-update>UPDATE PERSON SET NAME=UPPER(?) WHERE ID=?</sql-update>\n"
+" <sql-delete>DELETE FROM PERSON WHERE ID=?</sql-delete>\n"
+"</class>]]>"
-#. Tag: para
-#: query_sql.xml:510
-#, no-c-format
+#: index.docbook:510
msgid ""
"The SQL is directly executed in your database, so you are free to use any "
"dialect you like. This will of course reduce the portability of your mapping "
"if you use database specific SQL."
msgstr ""
"El SQL se ejecuta directamente en tu base de datos, de modo que eres libre "
-"de usar cualquier dialecto que quieras. Esto reducirá, por supuesto, la "
-"portabilidad de tu mapeo si usas SQL específico de la base de datos."
+"de usar cualquier dialecto que quieras. Esto reducirá, por supuesto, "
+"la portabilidad de tu mapeo si usas SQL específico de la base de "
+"datos."
-#. Tag: para
-#: query_sql.xml:514
-#, no-c-format
+#: index.docbook:514
msgid ""
"Stored procedures are supported if the <literal>callable</literal> attribute "
"is set:"
msgstr ""
-"Los procedimientos almacenados son soportados si está establecido el "
+"Los procedimientos almacenados son soportados si está establecido el "
"atributo <literal>callable</literal>:"
-#. Tag: programlisting
-#: query_sql.xml:517
-#, no-c-format
+#: index.docbook:517
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\">\n"
@@ -1308,20 +1258,26 @@
"update>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"/>\n"
+" <sql-insert callable=\"true\">{call createPerson (?, ?)}</sql-insert>\n"
+" <sql-delete callable=\"true\">{? = call deletePerson (?)}</sql-delete>\n"
+" <sql-update callable=\"true\">{? = call updatePerson (?, ?)}</sql-"
+"update>\n"
+"</class>]]>"
-#. Tag: para
-#: query_sql.xml:519
-#, no-c-format
+#: index.docbook:519
msgid ""
"The order of the positional parameters are currently vital, as they must be "
"in the same sequence as Hibernate expects them."
msgstr ""
-"El orden de los parámetros posicionales son actualmente vitales, ya que "
-"deben estar en la misma secuencia en que las espera Hibernate."
+"El orden de los parámetros posicionales son actualmente vitales, ya "
+"que deben estar en la misma secuencia en que las espera Hibernate."
-#. Tag: para
-#: query_sql.xml:522
-#, no-c-format
+#: index.docbook:522
msgid ""
"You can see the expected order by enabling debug logging for the "
"<literal>org.hibernate.persister.entity</literal> level. With this level "
@@ -1330,16 +1286,15 @@
"include your custom SQL in the mapping files as that will override the "
"Hibernate generated static sql.)"
msgstr ""
-"Puedes ver el orden esperado habilitando el registro de depuración para el "
-"nivel <literal>org.hibernate.persister.entity</literal>. Con este nivel "
-"habilitado, Hibernate imprimirá el SQL estático que se usa para crear, "
-"actualizar, borrar, etc. las entidades. (Para ver la secuencia esperada, "
-"recuerda no incluir tu SQL personalizado en los ficheros de mapeo ya que "
-"sobrescribirán el sql estático generado por Hibernate.)"
+"Puedes ver el orden esperado habilitando el registro de depuración "
+"para el nivel <literal>org.hibernate.persister.entity</literal>. Con este "
+"nivel habilitado, Hibernate imprimirá el SQL estático que se "
+"usa para crear, actualizar, borrar, etc. las entidades. (Para ver la "
+"secuencia esperada, recuerda no incluir tu SQL personalizado en los ficheros "
+"de mapeo ya que sobrescribirán el sql estático generado por "
+"Hibernate.)"
-#. Tag: para
-#: query_sql.xml:529
-#, no-c-format
+#: index.docbook:529
msgid ""
"The stored procedures are in most cases (read: better do it than not) "
"required to return the number of rows inserted/updated/deleted, as Hibernate "
@@ -1347,16 +1302,15 @@
"registers the first statement parameter as a numeric output parameter for "
"the CUD operations:"
msgstr ""
-"Los procedimientos almacenados son, en la mayoría de los casos (léase, mejor "
-"hacerlo que no hacerlo), obligados a devolver el número de filas insertadas/"
-"actualizadas/borradas, ya que Hibernate tiene algunas comprobaciones en "
-"tiempo de ejecución del éxito de la sentencia. Hibernate siempre registra el "
-"primer parámetro de la sentencia como un parámetro de salida numérico para "
-"las operaciones CUD:"
+"Los procedimientos almacenados son, en la mayoría de los casos "
+"(léase, mejor hacerlo que no hacerlo), obligados a devolver el "
+"número de filas insertadas/actualizadas/borradas, ya que Hibernate "
+"tiene algunas comprobaciones en tiempo de ejecución del éxito "
+"de la sentencia. Hibernate siempre registra el primer parámetro de la "
+"sentencia como un parámetro de salida numérico para las "
+"operaciones CUD:"
-#. Tag: programlisting
-#: query_sql.xml:535
-#, no-c-format
+#: index.docbook:535
msgid ""
"<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN "
"VARCHAR2)\n"
@@ -1373,24 +1327,32 @@
"\n"
"END updatePerson;]]>"
msgstr ""
+"<![CDATA[CREATE OR REPLACE FUNCTION updatePerson (uid IN NUMBER, uname IN "
+"VARCHAR2)\n"
+" RETURN NUMBER IS\n"
+"BEGIN\n"
+"\n"
+" update PERSON\n"
+" set\n"
+" NAME = uname,\n"
+" where\n"
+" ID = uid;\n"
+"\n"
+" return SQL%ROWCOUNT;\n"
+"\n"
+"END updatePerson;]]>"
-#. Tag: title
-#: query_sql.xml:539
-#, no-c-format
+#: index.docbook:539
msgid "Custom SQL for loading"
msgstr "SQL personalizado para carga"
-#. Tag: para
-#: query_sql.xml:541
-#, no-c-format
+#: index.docbook:541
msgid "You may also declare your own SQL (or HQL) queries for entity loading:"
msgstr ""
-"Puedes también declarar tu propias consultas SQL (o HQL) para cargar "
+"Puedes también declarar tu propias consultas SQL (o HQL) para cargar "
"entidades:"
-#. Tag: programlisting
-#: query_sql.xml:544
-#, no-c-format
+#: index.docbook:544
msgid ""
"<![CDATA[<sql-query name=\"person\">\n"
" <return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/>\n"
@@ -1400,21 +1362,24 @@
" FOR UPDATE\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"person\">\n"
+" <return alias=\"pers\" class=\"Person\" lock-mode=\"upgrade\"/>\n"
+" SELECT NAME AS {pers.name}, ID AS {pers.id} \n"
+" FROM PERSON \n"
+" WHERE ID=? \n"
+" FOR UPDATE\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:546
-#, no-c-format
+#: index.docbook:546
msgid ""
"This is just a named query declaration, as discussed earlier. You may "
"reference this named query in a class mapping:"
msgstr ""
-"Esto es sólo una declaración de consulta con nombrem como se ha discutido "
-"anteriormente. Puedes hacer referencia a esta consulta con nombre en un "
-"mapeo de clase:"
+"Esto es sólo una declaración de consulta con nombrem como se "
+"ha discutido anteriormente. Puedes hacer referencia a esta consulta con "
+"nombre en un mapeo de clase:"
-#. Tag: programlisting
-#: query_sql.xml:549
-#, no-c-format
+#: index.docbook:549
msgid ""
"<![CDATA[<class name=\"Person\">\n"
" <id name=\"id\">\n"
@@ -1424,22 +1389,23 @@
" <loader query-ref=\"person\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Person\">\n"
+" <id name=\"id\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"name\" not-null=\"true\"/>\n"
+" <loader query-ref=\"person\"/>\n"
+"</class>]]>"
-#. Tag: para
-#: query_sql.xml:551
-#, no-c-format
+#: index.docbook:551
msgid "This even works with stored procedures."
msgstr "Esto incluso funciona con procedimientos almacenados."
-#. Tag: para
-#: query_sql.xml:553
-#, no-c-format
+#: index.docbook:553
msgid "You may even define a query for collection loading:"
msgstr "Puedes incluso definit una consulta para la carga de colecciones:"
-#. Tag: programlisting
-#: query_sql.xml:555
-#, no-c-format
+#: index.docbook:555
msgid ""
"<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
" <key/>\n"
@@ -1447,10 +1413,13 @@
" <loader query-ref=\"employments\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"employments\" inverse=\"true\">\n"
+" <key/>\n"
+" <one-to-many class=\"Employment\"/>\n"
+" <loader query-ref=\"employments\"/>\n"
+"</set>]]>"
-#. Tag: programlisting
-#: query_sql.xml:557
-#, no-c-format
+#: index.docbook:557
msgid ""
"<![CDATA[<sql-query name=\"employments\">\n"
" <load-collection alias=\"emp\" role=\"Person.employments\"/>\n"
@@ -1460,20 +1429,23 @@
" ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"employments\">\n"
+" <load-collection alias=\"emp\" role=\"Person.employments\"/>\n"
+" SELECT {emp.*}\n"
+" FROM EMPLOYMENT emp\n"
+" WHERE EMPLOYER = :id\n"
+" ORDER BY STARTDATE ASC, EMPLOYEE ASC\n"
+"</sql-query>]]>"
-#. Tag: para
-#: query_sql.xml:559
-#, no-c-format
+#: index.docbook:559
msgid ""
"You could even define an entity loader that loads a collection by join "
"fetching:"
msgstr ""
-"Podrías incluso definir un cargador de entidades que cargue una colección "
-"por recuperación por unión (join fetching):"
+"Podrías incluso definir un cargador de entidades que cargue una "
+"colección por recuperación por unión (join fetching):"
-#. Tag: programlisting
-#: query_sql.xml:562
-#, no-c-format
+#: index.docbook:562
msgid ""
"<![CDATA[<sql-query name=\"person\">\n"
" <return alias=\"pers\" class=\"Person\"/>\n"
@@ -1485,3 +1457,18 @@
" WHERE ID=?\n"
"</sql-query>]]>"
msgstr ""
+"<![CDATA[<sql-query name=\"person\">\n"
+" <return alias=\"pers\" class=\"Person\"/>\n"
+" <return-join alias=\"emp\" property=\"pers.employments\"/> \n"
+" SELECT NAME AS {pers.*}, {emp.*}\n"
+" FROM PERSON pers\n"
+" LEFT OUTER JOIN EMPLOYMENT emp \n"
+" ON pers.ID = emp.PERSON_ID\n"
+" WHERE ID=?\n"
+"</sql-query>]]>"
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/session_api.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: session_api.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Working with objects"
msgstr "Trabajando con objetos"
-#. Tag: para
-#: session_api.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Hibernate is a full object/relational mapping solution that not only shields "
"the developer from the details of the underlying database management system, "
@@ -27,16 +18,15 @@
"JDBC/SQL persistence layers, a very natural object-oriented view of "
"persistence in Java applications."
msgstr ""
-"Hibernate es una solución completa de mapeo objeto/relacional que no sólo "
-"abstrae al desarrollador de los detalles del sistema de manejo de base datos "
-"subyacente, sino que además ofrece <emphasis>manejo de estado</emphasis> de "
-"objetos. Esto es, al contrario del manejo de <literal>sentencias</literal> "
-"SQL en capas comunes de persistencia JDBC/SQL, una vista de la persistencia "
-"en aplicaciones Java muy natural y orientada a objetos."
+"Hibernate es una solución completa de mapeo objeto/relacional que no "
+"sólo abstrae al desarrollador de los detalles del sistema de manejo "
+"de base datos subyacente, sino que además ofrece <emphasis>manejo de "
+"estado</emphasis> de objetos. Esto es, al contrario del manejo de "
+"<literal>sentencias</literal> SQL en capas comunes de persistencia JDBC/SQL, "
+"una vista de la persistencia en aplicaciones Java muy natural y orientada a "
+"objetos."
-#. Tag: para
-#: session_api.xml:16
-#, no-c-format
+#: index.docbook:16
msgid ""
"In other words, Hibernate application developers should always think about "
"the <emphasis>state</emphasis> of their objects, and not necessarily about "
@@ -46,25 +36,19 @@
msgstr ""
"En otras palabras, los desarroladores de aplicaciones Hibernate deben "
"siempre pensar en el <emphasis>estado</emphasis> de sus objetos, y no "
-"necesariamente en la ejecución de sentencias SQL. Esta parte es cuidada por "
-"Hibernate y es sólo relevante para el desarrollador de la aplicación al "
-"afinar el rendimiento del sistema."
+"necesariamente en la ejecución de sentencias SQL. Esta parte es "
+"cuidada por Hibernate y es sólo relevante para el desarrollador de la "
+"aplicación al afinar el rendimiento del sistema."
-#. Tag: title
-#: session_api.xml:24
-#, no-c-format
+#: index.docbook:24
msgid "Hibernate object states"
msgstr "Estados de objeto de Hibernate"
-#. Tag: para
-#: session_api.xml:26
-#, no-c-format
+#: index.docbook:26
msgid "Hibernate defines and supports the following object states:"
msgstr "Hibernate define y soporta los siguientes estados de objeto:"
-#. Tag: para
-#: session_api.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"<emphasis>Transient</emphasis> - an object is transient if it has just been "
"instantiated using the <literal>new</literal> operator, and it is not "
@@ -77,18 +61,16 @@
"transition)."
msgstr ""
"<emphasis>Transitorio</emphasis> - un objeto es transitorio si ha sido "
-"recién instanciado usando el operador <literal>new</literal>, y no está "
-"asociado a una <literal>Session</literal> de Hibernate. No tiene una "
-"representación persistente en la base de datos y no se le ha asignado un "
-"valor identificador. Las instancias transitorias serán destruídas por el "
-"recolector de basura si la aplicación no mantiene más una referencia. Usa la "
-"<literal>Session</literal> de Hibernate para hacer un objeto persistente (y "
-"deja que Hibernate cuide de las sentencias SQL que necesitan ejecutarse para "
-"esta transición)."
+"recién instanciado usando el operador <literal>new</literal>, y no "
+"está asociado a una <literal>Session</literal> de Hibernate. No tiene "
+"una representación persistente en la base de datos y no se le ha "
+"asignado un valor identificador. Las instancias transitorias serán "
+"destruídas por el recolector de basura si la aplicación no "
+"mantiene más una referencia. Usa la <literal>Session</literal> de "
+"Hibernate para hacer un objeto persistente (y deja que Hibernate cuide de "
+"las sentencias SQL que necesitan ejecutarse para esta transición)."
-#. Tag: para
-#: session_api.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"<emphasis>Persistent</emphasis> - a persistent instance has a representation "
"in the database and an identifier value. It might just have been saved or "
@@ -100,17 +82,16 @@
"made transient."
msgstr ""
"<emphasis>Persistente</emphasis> - una instancia persistente tiene una "
-"representación en la base de datos y un valor identificador. Puede haber "
-"sido salvado o cargado, sin embargo, está por definición en el ámbito de una "
-"<literal>Session</literal>. Hibernate detectará cualquier cambio hecho a un "
-"objeto en estado persistentey sincronizará el estado con la base de datos "
-"cuando se complete la unidad de trabajo. Los desarrolladores no ejecutan "
-"sentencias <literal>UPDATE</literal> manuales, o sentencias <literal>DELETE</"
-"literal> cuando un objeto debe ser hecho transitorio."
+"representación en la base de datos y un valor identificador. Puede "
+"haber sido salvado o cargado, sin embargo, está por definición "
+"en el ámbito de una <literal>Session</literal>. Hibernate "
+"detectará cualquier cambio hecho a un objeto en estado persistentey "
+"sincronizará el estado con la base de datos cuando se complete la "
+"unidad de trabajo. Los desarrolladores no ejecutan sentencias "
+"<literal>UPDATE</literal> manuales, o sentencias <literal>DELETE</literal> "
+"cuando un objeto debe ser hecho transitorio."
-#. Tag: para
-#: session_api.xml:55
-#, no-c-format
+#: index.docbook:55
msgid ""
"<emphasis>Detached</emphasis> - a detached instance is an object that has "
"been persistent, but its <literal>Session</literal> has been closed. The "
@@ -124,46 +105,40 @@
msgstr ""
"<emphasis>Separado (detached)</emphasis> - una instancia separada es un "
"objeto que ha sido hecho persistente, pero su <literal>Session</literal> ha "
-"sido cerrada. La referencia al objeto todavía es válida, por supuesto, y la "
-"instancia separada podría incluso ser modificada en este estado. Una "
-"instancia separada puede ser re-unida a una nueva <literal>Session</literal> "
-"en un punto posterior en el tiempo, haciéndola persistente de nuevo (con "
-"todas las modificaciones). Este aspecto habilita un modelo de programación "
-"para unidades de trabajo de ejecución larga que requieren tiempo-para-pensar "
-"del usuario. Las llamamos <emphasis>transaccciones de aplicación</emphasis>, "
-"es decir, una unidad de trabajo desde el punto de vista del usuario."
+"sido cerrada. La referencia al objeto todavía es válida, por "
+"supuesto, y la instancia separada podría incluso ser modificada en "
+"este estado. Una instancia separada puede ser re-unida a una nueva "
+"<literal>Session</literal> en un punto posterior en el tiempo, hacié"
+"ndola persistente de nuevo (con todas las modificaciones). Este aspecto "
+"habilita un modelo de programación para unidades de trabajo de "
+"ejecución larga que requieren tiempo-para-pensar del usuario. Las "
+"llamamos <emphasis>transaccciones de aplicación</emphasis>, es decir, "
+"una unidad de trabajo desde el punto de vista del usuario."
-#. Tag: para
-#: session_api.xml:69
-#, no-c-format
+#: index.docbook:69
msgid ""
"We'll now discuss the states and state transitions (and the Hibernate "
"methods that trigger a transition) in more detail."
msgstr ""
-"Discutiremos ahora los estados y transiciones de estados (y los métodos de "
-"Hibernate que disparan una transición) en más detalle:"
+"Discutiremos ahora los estados y transiciones de estados (y los mé"
+"todos de Hibernate que disparan una transición) en más detalle:"
-#. Tag: title
-#: session_api.xml:77
-#, no-c-format
+#: index.docbook:77
msgid "Making objects persistent"
msgstr "Haciendo los objetos persistentes"
-#. Tag: para
-#: session_api.xml:79
-#, no-c-format
+#: index.docbook:79
msgid ""
"Newly instantiated instances of a a persistent class are considered "
"<emphasis>transient</emphasis> by Hibernate. We can make a transient "
"instance <emphasis>persistent</emphasis> by associating it with a session:"
msgstr ""
-"Las instancias recién instanciadas de una clase persistente son consideradas "
-"<emphasis>transitorias</emphasis> por Hibernate. Podemos hacer una instancia "
-"transitoria <emphasis>persistente</emphasis> asociándola con una sesión:"
+"Las instancias recién instanciadas de una clase persistente son "
+"consideradas <emphasis>transitorias</emphasis> por Hibernate. Podemos hacer "
+"una instancia transitoria <emphasis>persistente</emphasis> asociá"
+"ndola con una sesión:"
-#. Tag: programlisting
-#: session_api.xml:86
-#, no-c-format
+#: index.docbook:86
msgid ""
"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
"fritz.setColor(Color.GINGER);\n"
@@ -171,10 +146,13 @@
"fritz.setName(\"Fritz\");\n"
"Long generatedId = (Long) sess.save(fritz);]]>"
msgstr ""
+"<![CDATA[DomesticCat fritz = new DomesticCat();\n"
+"fritz.setColor(Color.GINGER);\n"
+"fritz.setSex('M');\n"
+"fritz.setName(\"Fritz\");\n"
+"Long generatedId = (Long) sess.save(fritz);]]>"
-#. Tag: para
-#: session_api.xml:88
-#, no-c-format
+#: index.docbook:88
msgid ""
"If <literal>Cat</literal> has a generated identifier, the identifier is "
"generated and assigned to the <literal>cat</literal> when <literal>save()</"
@@ -190,13 +168,11 @@
"<literal>save()</literal>. Si <literal>Cat</literal> tiene un identificador "
"<literal>assigned</literal>, o una clave compuesta, el identificador debe "
"ser asignado a la instancia de <literal>cat</literal> antes de llamar a "
-"<literal>save()</literal>. Puedes también usar <literal>persist()</literal> "
-"en vez de <literal>save()</literal>, con la semántica definida en el "
-"temprano borrador de EJB3."
+"<literal>save()</literal>. Puedes también usar <literal>persist()</"
+"literal> en vez de <literal>save()</literal>, con la semántica "
+"definida en el temprano borrador de EJB3."
-#. Tag: para
-#: session_api.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"<literal>persist()</literal> makes a transient instance persistent. However, "
"it doesn't guarantee that the identifier value will be assigned to the "
@@ -214,9 +190,7 @@
"transaction boundaries. This is useful in long-running conversations with an "
"extended Session/persistence context."
-#. Tag: para
-#: session_api.xml:111
-#, no-c-format
+#: index.docbook:111
msgid ""
"<literal>save()</literal> does guarantee to return an identifier. If an "
"INSERT has to be executed to get the identifier ( e.g. \"identity\" "
@@ -230,19 +204,15 @@
"you are inside or outside of a transaction. This is problematic in a long-"
"running conversation with an extended Session/persistence context."
-#. Tag: para
-#: session_api.xml:121
-#, no-c-format
+#: index.docbook:121
msgid ""
"Alternatively, you may assign the identifier using an overloaded version of "
"<literal>save()</literal>."
msgstr ""
-"Alternativamente, puedes asignar el identificador usando una versión "
+"Alternativamente, puedes asignar el identificador usando una versión "
"sobrecargada de <literal>save()</literal>."
-#. Tag: programlisting
-#: session_api.xml:126
-#, no-c-format
+#: index.docbook:126
msgid ""
"<![CDATA[DomesticCat pk = new DomesticCat();\n"
"pk.setColor(Color.TABBY);\n"
@@ -252,10 +222,15 @@
"pk.addKitten(fritz);\n"
"sess.save( pk, new Long(1234) );]]>"
msgstr ""
+"<![CDATA[DomesticCat pk = new DomesticCat();\n"
+"pk.setColor(Color.TABBY);\n"
+"pk.setSex('F');\n"
+"pk.setName(\"PK\");\n"
+"pk.setKittens( new HashSet() );\n"
+"pk.addKitten(fritz);\n"
+"sess.save( pk, new Long(1234) );]]>"
-#. Tag: para
-#: session_api.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"If the object you make persistent has associated objects (e.g. the "
"<literal>kittens</literal> collection in the previous example), these "
@@ -266,16 +241,15 @@
"literal> the objects in the wrong order."
msgstr ""
"Si el objeto que haces persistente tiene objetos asociados (por ejemplo, la "
-"colección <literal>kittens</literal> en el ejemplo anterior), estos objetos "
-"pueden ser hechos persistentes en cualquier orden que quieras a menos que "
-"tengas una restricción <literal>NOT NULL</literal> sobre una columna clave "
-"foránea. Nunca hay riesgo de violar restricciones de clave foránea. Sin "
-"embargo, podrías violar una restricción <literal>NOT NULL</literal> si "
-"llamas a <literal>save()</literal> sobre objetos en orden erróneo."
+"colección <literal>kittens</literal> en el ejemplo anterior), estos "
+"objetos pueden ser hechos persistentes en cualquier orden que quieras a "
+"menos que tengas una restricción <literal>NOT NULL</literal> sobre "
+"una columna clave foránea. Nunca hay riesgo de violar restricciones "
+"de clave foránea. Sin embargo, podrías violar una "
+"restricción <literal>NOT NULL</literal> si llamas a <literal>save()</"
+"literal> sobre objetos en orden erróneo."
-#. Tag: para
-#: session_api.xml:138
-#, no-c-format
+#: index.docbook:138
msgid ""
"Usually you don't bother with this detail, as you'll very likely use "
"Hibernate's <emphasis>transitive persistence</emphasis> feature to save the "
@@ -283,69 +257,64 @@
"constraint violations don't occur - Hibernate will take care of everything. "
"Transitive persistence is discussed later in this chapter."
msgstr ""
-"Usualmente no te preocupas con este detalle, pues muy probablemente usarás "
-"la funcionalidad de <emphasis>persistencia transitiva</emphasis> de "
-"Hibernate para salvar los objetos asociados automáticamente. Entonces, ni "
-"siquiera ocurren violaciones de restricciones <literal>NOT NULL</literal> - "
-"Hibernate cuidará de todo. La persistencia transitiva se discute más "
-"adelante en este capítulo."
+"Usualmente no te preocupas con este detalle, pues muy probablemente "
+"usarás la funcionalidad de <emphasis>persistencia transitiva</"
+"emphasis> de Hibernate para salvar los objetos asociados automá"
+"ticamente. Entonces, ni siquiera ocurren violaciones de restricciones "
+"<literal>NOT NULL</literal> - Hibernate cuidará de todo. La "
+"persistencia transitiva se discute más adelante en este capí"
+"tulo."
-#. Tag: title
-#: session_api.xml:149
-#, no-c-format
+#: index.docbook:149
msgid "Loading an object"
msgstr "Cargando un objeto"
-#. Tag: para
-#: session_api.xml:151
-#, no-c-format
+#: index.docbook:151
msgid ""
"The <literal>load()</literal> methods of <literal>Session</literal> gives "
"you a way to retrieve a persistent instance if you already know its "
"identifier. <literal>load()</literal> takes a class object and will load the "
"state into a newly instantiated instance of that class, in persistent state."
msgstr ""
-"Los métodos <literal>load()</literal> de <literal>Session</literal> te "
-"brindan una forma de traer una instancia persistente si ya saves su "
-"identificador. <literal>load()</literal> toma un objeto clase y cargará el "
-"estado dentro de una instancia recién instanciada de esta clase, en estado "
-"persistente."
+"Los métodos <literal>load()</literal> de <literal>Session</literal> "
+"te brindan una forma de traer una instancia persistente si ya saves su "
+"identificador. <literal>load()</literal> toma un objeto clase y "
+"cargará el estado dentro de una instancia recién instanciada "
+"de esta clase, en estado persistente."
-#. Tag: programlisting
-#: session_api.xml:158
-#, no-c-format
+#: index.docbook:158
msgid "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-msgstr ""
+msgstr "<![CDATA[Cat fritz = (Cat) sess.load(Cat.class, generatedId);]]>"
-#. Tag: programlisting
-#: session_api.xml:160
-#, no-c-format
+#: index.docbook:160
msgid ""
"<![CDATA[// you need to wrap primitive identifiers\n"
"long id = 1234;\n"
"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
"(id) );]]>"
msgstr ""
+"<![CDATA[// you need to wrap primitive identifiers\n"
+"long id = 1234;\n"
+"DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long"
+"(id) );]]>"
-#. Tag: para
-#: session_api.xml:162
-#, no-c-format
+#: index.docbook:162
msgid "Alternatively, you can load state into a given instance:"
msgstr "Alternativamente, puedes cargar estado dentro de una instancia dada:"
-#. Tag: programlisting
-#: session_api.xml:166
-#, no-c-format
+#: index.docbook:166
msgid ""
"<![CDATA[Cat cat = new DomesticCat();\n"
"// load pk's state into cat\n"
"sess.load( cat, new Long(pkId) );\n"
"Set kittens = cat.getKittens();]]>"
msgstr ""
+"<![CDATA[Cat cat = new DomesticCat();\n"
+"// load pk's state into cat\n"
+"sess.load( cat, new Long(pkId) );\n"
+"Set kittens = cat.getKittens();]]>"
-#. Tag: para
-#: session_api.xml:168
-#, no-c-format
+#: index.docbook:168
msgid ""
"Note that <literal>load()</literal> will throw an unrecoverable exception if "
"there is no matching database row. If the class is mapped with a proxy, "
@@ -356,30 +325,27 @@
"instances to be loaded as a batch if <literal>batch-size</literal> is "
"defined for the class mapping."
msgstr ""
-"Nota que <literal>load()</literal> lanzará una excepción irrecuperable si no "
-"hay una fila correspondiente en base de datos. Si la clase es mapeada con un "
-"proxy, <literal>load()</literal> sólo devuelve un proxy no inicializado y no "
-"llamará realmente a la base de datos hasta que invoques un método del proxy. "
-"Este comportamiento es muy útil si deseas crear una asociación a un objeto "
-"sin cargarlo realmente de la base de datos. Permite además que múltiples "
-"instancias sean cargadas como un lote si se define <literal>batch-size</"
-"literal> para el mapeo de la clase."
+"Nota que <literal>load()</literal> lanzará una excepción "
+"irrecuperable si no hay una fila correspondiente en base de datos. Si la "
+"clase es mapeada con un proxy, <literal>load()</literal> sólo "
+"devuelve un proxy no inicializado y no llamará realmente a la base de "
+"datos hasta que invoques un método del proxy. Este comportamiento es "
+"muy útil si deseas crear una asociación a un objeto sin "
+"cargarlo realmente de la base de datos. Permite además que mú"
+"ltiples instancias sean cargadas como un lote si se define <literal>batch-"
+"size</literal> para el mapeo de la clase."
-#. Tag: para
-#: session_api.xml:179
-#, no-c-format
+#: index.docbook:179
msgid ""
"If you are not certain that a matching row exists, you should use the "
"<literal>get()</literal> method, which hits the database immediately and "
"returns null if there is no matching row."
msgstr ""
"Si no tienes certeza que exista una fila correspondiente, debes usar el "
-"método <literal>get()</literal>, que llama a la base de datos inmediatamente "
-"y devuelve nulo si no existe una fila correspondiente."
+"método <literal>get()</literal>, que llama a la base de datos "
+"inmediatamente y devuelve nulo si no existe una fila correspondiente."
-#. Tag: programlisting
-#: session_api.xml:185
-#, no-c-format
+#: index.docbook:185
msgid ""
"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
"if (cat==null) {\n"
@@ -388,28 +354,28 @@
"}\n"
"return cat;]]>"
msgstr ""
+"<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id);\n"
+"if (cat==null) {\n"
+" cat = new Cat();\n"
+" sess.save(cat, id);\n"
+"}\n"
+"return cat;]]>"
-#. Tag: para
-#: session_api.xml:187
-#, no-c-format
+#: index.docbook:187
msgid ""
"You may even load an object using an SQL <literal>SELECT ... FOR UPDATE</"
"literal>, using a <literal>LockMode</literal>. See the API documentation for "
"more information."
msgstr ""
"Puedes incluso cargar un objeto usando un <literal>SELECT ... FOR UPDATE</"
-"literal> de SQL, usando un <literal>LockMode</literal>. Ver la documentación "
-"de la API para más información."
+"literal> de SQL, usando un <literal>LockMode</literal>. Ver la "
+"documentación de la API para más información."
-#. Tag: programlisting
-#: session_api.xml:192
-#, no-c-format
+#: index.docbook:192
msgid "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-msgstr ""
+msgstr "<![CDATA[Cat cat = (Cat) sess.get(Cat.class, id, LockMode.UPGRADE);]]>"
-#. Tag: para
-#: session_api.xml:194
-#, no-c-format
+#: index.docbook:194
msgid ""
"Note that any associated instances or contained collections are "
"<emphasis>not</emphasis> selected <literal>FOR UPDATE</literal>, unless you "
@@ -417,55 +383,49 @@
"cascade style for the association."
msgstr ""
"Ten en cuenta que <emphasis>ninguna</emphasis> instancia asociada o "
-"colección contenida es selecciona <literal>FOR UPDATE</literal>, a menos que "
-"decidas especificar <literal>lock</literal> o <literal>all</literal> como un "
-"estilo de cascada para la asociación."
+"colección contenida es selecciona <literal>FOR UPDATE</literal>, a "
+"menos que decidas especificar <literal>lock</literal> o <literal>all</"
+"literal> como un estilo de cascada para la asociación."
-#. Tag: para
-#: session_api.xml:201
-#, no-c-format
+#: index.docbook:201
msgid ""
"It is possible to re-load an object and all its collections at any time, "
"using the <literal>refresh()</literal> method. This is useful when database "
"triggers are used to initialize some of the properties of the object."
msgstr ""
"Es posible volver a cargar un objeto y todas sus colecciones en cualquier "
-"momento, usando el método <literal>refresh()</literal>. Esto es útil cuando "
-"se usan disparadores de base de datos para inicializar algunas de las "
-"propiedades del objeto."
+"momento, usando el método <literal>refresh()</literal>. Esto es "
+"útil cuando se usan disparadores de base de datos para inicializar "
+"algunas de las propiedades del objeto."
-#. Tag: programlisting
-#: session_api.xml:207
-#, no-c-format
+#: index.docbook:207
msgid ""
"<![CDATA[sess.save(cat);\n"
"sess.flush(); //force the SQL INSERT\n"
"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
msgstr ""
+"<![CDATA[sess.save(cat);\n"
+"sess.flush(); //force the SQL INSERT\n"
+"sess.refresh(cat); //re-read the state (after the trigger executes)]]>"
-#. Tag: para
-#: session_api.xml:209
-#, no-c-format
+#: index.docbook:209
msgid ""
"An important question usually appears at this point: How much does Hibernate "
"load from the database and how many SQL <literal>SELECT</literal>s will it "
"use? This depends on the <emphasis>fetching strategy</emphasis> and is "
"explained in <xref linkend=\"performance-fetching\"/>."
msgstr ""
-"Una cuestión importante aparece usualmente en este punto: ¿Cuánto carga "
-"Hibernate de la base de datos y cuántos <literal>SELECT</literal>s de SQL "
-"usará? Esto depende de la <emphasis>estrategia de recuperación</emphasis> y "
-"se explica en <xref linkend=\"performance-fetching\"/>."
+"Una cuestión importante aparece usualmente en este punto: ¿Cuá"
+"nto carga Hibernate de la base de datos y cuántos <literal>SELECT</"
+"literal>s de SQL usará? Esto depende de la <emphasis>estrategia de "
+"recuperación</emphasis> y se explica en <xref linkend=\"performance-"
+"fetching\"/>."
-#. Tag: title
-#: session_api.xml:219
-#, no-c-format
+#: index.docbook:219
msgid "Querying"
msgstr "Consultando"
-#. Tag: para
-#: session_api.xml:221
-#, no-c-format
+#: index.docbook:221
msgid ""
"If you don't know the identifiers of the objects you are looking for, you "
"need a query. Hibernate supports an easy-to-use but powerful object oriented "
@@ -474,23 +434,20 @@
"express your query in the native SQL of your database, with optional support "
"from Hibernate for result set conversion into objects."
msgstr ""
-"Si no sabes los identificadores de los objetos que estás buscando, necesitas "
-"una consulta. Hibernate soporta un lenguaje de consulta orientado a objetos "
-"(HQL) fácil de usar pero potente. Para la creación de consultas "
-"programáticas, Hibernate soporta una funcionalidad sofisticada de consulta "
-"de Criteria y Example (QBC and QBE). También puedes expresar tu consulta en "
-"el SQL nativo de tu base de datos, con soporte opcional de Hibernate para la "
-"conversión del conjunto resultado en objetos."
+"Si no sabes los identificadores de los objetos que estás buscando, "
+"necesitas una consulta. Hibernate soporta un lenguaje de consulta orientado "
+"a objetos (HQL) fácil de usar pero potente. Para la creación "
+"de consultas programáticas, Hibernate soporta una funcionalidad "
+"sofisticada de consulta de Criteria y Example (QBC and QBE). También "
+"puedes expresar tu consulta en el SQL nativo de tu base de datos, con "
+"soporte opcional de Hibernate para la conversión del conjunto "
+"resultado en objetos."
-#. Tag: title
-#: session_api.xml:231
-#, no-c-format
+#: index.docbook:231
msgid "Executing queries"
msgstr "Ejecutando consultas"
-#. Tag: para
-#: session_api.xml:233
-#, no-c-format
+#: index.docbook:233
msgid ""
"HQL and native SQL queries are represented with an instance of <literal>org."
"hibernate.Query</literal>. This interface offers methods for parameter "
@@ -499,14 +456,12 @@
"literal>:"
msgstr ""
"Las consultas HQL y SQL nativas son representadas con una instancia de "
-"<literal>org.hibernate.Query</literal>. Esta interface ofrece métodos para "
-"la ligación de parámetros, manejo del conjunto resultado, y para la "
-"ejecución de la consulta real. Siempre obtienes una <literal>Query</literal> "
-"usando la <literal>Session</literal> actual:"
+"<literal>org.hibernate.Query</literal>. Esta interface ofrece métodos "
+"para la ligación de parámetros, manejo del conjunto resultado, "
+"y para la ejecución de la consulta real. Siempre obtienes una "
+"<literal>Query</literal> usando la <literal>Session</literal> actual:"
-#. Tag: programlisting
-#: session_api.xml:240
-#, no-c-format
+#: index.docbook:240
msgid ""
"<![CDATA[List cats = session.createQuery(\n"
" \"from Cat as cat where cat.birthdate < ?\")\n"
@@ -533,10 +488,28 @@
" \"select mother from Cat as mother left join fetch mother.kittens\");\n"
"Set uniqueMothers = new HashSet(mothersWithKittens.list());]]>"
msgstr ""
+"<![CDATA[List cats = session.createQuery(\n"
+" \"from Cat as cat where cat.birthdate < ?\")\n"
+" .setDate(0, date)\n"
+" .list();\n"
+"\n"
+"List mothers = session.createQuery(\n"
+" \"select mother from Cat as cat join cat.mother as mother where cat.name "
+"= ?\")\n"
+" .setString(0, name)\n"
+" .list();\n"
+"\n"
+"List kittens = session.createQuery(\n"
+" \"from Cat as cat where cat.mother = ?\")\n"
+" .setEntity(0, pk)\n"
+" .list();\n"
+"\n"
+"Cat mother = (Cat) session.createQuery(\n"
+" \"select cat.mother from Cat as cat where cat = ?\")\n"
+" .setEntity(0, izi)\n"
+" .uniqueResult();]]>"
-#. Tag: para
-#: session_api.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"A query is usually executed by invoking <literal>list()</literal>, the "
"result of the query will be loaded completely into a collection in memory. "
@@ -548,20 +521,17 @@
"simply through a <literal>Set</literal>."
msgstr ""
"Una consulta se ejecuta usualmente invocando a <literal>list()</literal>, el "
-"resultado de la consulta será cargado completamente dentro de una colección "
-"en memoria. Las instancias de entidad traídas por una consulta están en "
-"estado persistente. El método <literal>uniqueResult()</literal> ofrece un "
-"atajo si sabes que tu consulta devolverá sólo un objeto."
+"resultado de la consulta será cargado completamente dentro de una "
+"colección en memoria. Las instancias de entidad traídas por "
+"una consulta están en estado persistente. El método "
+"<literal>uniqueResult()</literal> ofrece un atajo si sabes que tu consulta "
+"devolverá sólo un objeto."
-#. Tag: title
-#: session_api.xml:254
-#, no-c-format
+#: index.docbook:254
msgid "Iterating results"
msgstr "Iterando los resultados"
-#. Tag: para
-#: session_api.xml:256
-#, no-c-format
+#: index.docbook:256
msgid ""
"Occasionally, you might be able to achieve better performance by executing "
"the query using the <literal>iterate()</literal> method. This will only "
@@ -573,19 +543,19 @@
"returns identifiers, and <emphasis>n</emphasis> additional selects to "
"initialize the actual instances."
msgstr ""
-"Ocasionalmente, podrías ser capaz de lograr mejor rendimiento al ejecutar la "
-"consulta usando el método <literal>iterate()</literal>. Esto sólo será en el "
-"caso que esperes que las instancias reales de entidad devueltas por la "
-"consulta estén ya en la sesión o caché de segundo nivel. Si todavía no están "
-"en caché, <literal>iterate()</literal> será más lento que <literal>list()</"
-"literal> y podría requerir muchas llamadas a la base de datos para una "
-"consulta simple, usualmente <emphasis>1</emphasis> para la selección inicial "
-"que solamente devuelve identificadores, y <emphasis>n</emphasis> selecciones "
-"adicionales para inicializar las instancias reales."
+"Ocasionalmente, podrías ser capaz de lograr mejor rendimiento al "
+"ejecutar la consulta usando el método <literal>iterate()</literal>. "
+"Esto sólo será en el caso que esperes que las instancias "
+"reales de entidad devueltas por la consulta estén ya en la "
+"sesión o caché de segundo nivel. Si todavía no "
+"están en caché, <literal>iterate()</literal> será "
+"más lento que <literal>list()</literal> y podría requerir "
+"muchas llamadas a la base de datos para una consulta simple, usualmente "
+"<emphasis>1</emphasis> para la selección inicial que solamente "
+"devuelve identificadores, y <emphasis>n</emphasis> selecciones adicionales "
+"para inicializar las instancias reales."
-#. Tag: programlisting
-#: session_api.xml:268
-#, no-c-format
+#: index.docbook:268
msgid ""
"<![CDATA[// fetch ids\n"
"Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\")."
@@ -601,16 +571,25 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[// fetch ids\n"
+"Iterator iter = sess.createQuery(\"from eg.Qux q order by q.likeliness\")."
+"iterate();\n"
+"while ( iter.hasNext() ) {\n"
+" Qux qux = (Qux) iter.next(); // fetch the object\n"
+" // something we couldnt express in the query\n"
+" if ( qux.calculateComplicatedAlgorithm() ) {\n"
+" // delete the current instance\n"
+" iter.remove();\n"
+" // dont need to process the rest\n"
+" break;\n"
+" }\n"
+"}]]>"
-#. Tag: title
-#: session_api.xml:272
-#, no-c-format
+#: index.docbook:272
msgid "Queries that return tuples"
msgstr "Consultas que devuelven tuplas"
-#. Tag: para
-#: session_api.xml:274
-#, no-c-format
+#: index.docbook:274
msgid ""
"Hibernate queries sometimes return tuples of objects, in which case each "
"tuple is returned as an array:"
@@ -618,9 +597,7 @@
"Las consultas de Hibernate a veces devuelven tuplas de objetos, en cuyo caso "
"cada tupla se devuelve como un array:"
-#. Tag: programlisting
-#: session_api.xml:279
-#, no-c-format
+#: index.docbook:279
msgid ""
"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
" \"select kitten, mother from Cat kitten join kitten.mother mother"
@@ -635,29 +612,35 @@
" ....\n"
"}]]>"
msgstr ""
+"<![CDATA[Iterator kittensAndMothers = sess.createQuery(\n"
+" \"select kitten, mother from Cat kitten join kitten.mother mother"
+"\")\n"
+" .list()\n"
+" .iterator();\n"
+"\n"
+"while ( kittensAndMothers.hasNext() ) {\n"
+" Object[] tuple = (Object[]) kittensAndMothers.next();\n"
+" Cat kitten = (Cat) tuple[0];\n"
+" Cat mother = (Cat) tuple[1];\n"
+" ....\n"
+"}]]>"
-#. Tag: title
-#: session_api.xml:284
-#, no-c-format
+#: index.docbook:284
msgid "Scalar results"
msgstr "Resultados escalares"
-#. Tag: para
-#: session_api.xml:286
-#, no-c-format
+#: index.docbook:286
msgid ""
"Queries may specify a property of a class in the <literal>select</literal> "
"clause. They may even call SQL aggregate functions. Properties or aggregates "
"are considered \"scalar\" results (and not entities in persistent state)."
msgstr ""
-"Las consultas pueden especificar una propiedad de una clase en la cláusula "
-"<literal>select</literal>. Pueden incluso llamar a funciones de agregación "
-"SQL. Las propiedades o agregaciones son considerados resultados \"escalares"
-"\" (y no entidades en estado persistente)."
+"Las consultas pueden especificar una propiedad de una clase en la clá"
+"usula <literal>select</literal>. Pueden incluso llamar a funciones de "
+"agregación SQL. Las propiedades o agregaciones son considerados "
+"resultados \"escalares\" (y no entidades en estado persistente)."
-#. Tag: programlisting
-#: session_api.xml:292
-#, no-c-format
+#: index.docbook:292
msgid ""
"<![CDATA[Iterator results = sess.createQuery(\n"
" \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" "
@@ -674,16 +657,26 @@
" .....\n"
"}]]>"
msgstr ""
+"<![CDATA[Iterator results = sess.createQuery(\n"
+" \"select cat.color, min(cat.birthdate), count(cat) from Cat cat \" "
+"+\n"
+" \"group by cat.color\")\n"
+" .list()\n"
+" .iterator();\n"
+"\n"
+"while ( results.hasNext() ) {\n"
+" Object[] row = results.next();\n"
+" Color type = (Color) row[0];\n"
+" Date oldest = (Date) row[1];\n"
+" Integer count = (Integer) row[2];\n"
+" .....\n"
+"}]]>"
-#. Tag: title
-#: session_api.xml:297
-#, no-c-format
+#: index.docbook:297
msgid "Bind parameters"
-msgstr "Ligación de parámetros"
+msgstr "Ligación de parámetros"
-#. Tag: para
-#: session_api.xml:299
-#, no-c-format
+#: index.docbook:299
msgid ""
"Methods on <literal>Query</literal> are provided for binding values to named "
"parameters or JDBC-style <literal>?</literal> parameters. <emphasis>Contrary "
@@ -691,37 +684,29 @@
"are identifiers of the form <literal>:name</literal> in the query string. "
"The advantages of named parameters are:"
msgstr ""
-"Se proveen métodos en <literal>Query</literal> para ligar valores a "
-"parámetros con nombre o parámetros <literal>?</literal> de estilo JDBC. "
-"<emphasis>Al contrario de JDBC, Hibernate numera los parámetros desde cero.</"
-"emphasis> Los parámetros con nombre son identificadores de la forma "
-"<literal>:name</literal> en la cadena de la consulta. Las ventajas de los "
-"parámetros con nombre son:"
+"Se proveen métodos en <literal>Query</literal> para ligar valores a "
+"parámetros con nombre o parámetros <literal>?</literal> de "
+"estilo JDBC. <emphasis>Al contrario de JDBC, Hibernate numera los pará"
+"metros desde cero.</emphasis> Los parámetros con nombre son "
+"identificadores de la forma <literal>:name</literal> en la cadena de la "
+"consulta. Las ventajas de los parámetros con nombre son:"
-#. Tag: para
-#: session_api.xml:309
-#, no-c-format
+#: index.docbook:309
msgid ""
"named parameters are insensitive to the order they occur in the query string"
msgstr ""
-"los parámetros con nombre son insensibles al orden en que aparecen en la "
-"cadena de consulta"
+"los parámetros con nombre son insensibles al orden en que aparecen en "
+"la cadena de consulta"
-#. Tag: para
-#: session_api.xml:315
-#, no-c-format
+#: index.docbook:315
msgid "they may occur multiple times in the same query"
-msgstr "pueden aparecer múltiples veces en la misma consulta"
+msgstr "pueden aparecer múltiples veces en la misma consulta"
-#. Tag: para
-#: session_api.xml:320
-#, no-c-format
+#: index.docbook:320
msgid "they are self-documenting"
msgstr "son auto-documentados"
-#. Tag: programlisting
-#: session_api.xml:326
-#, no-c-format
+#: index.docbook:326
msgid ""
"<![CDATA[//named parameter (preferred)\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name"
@@ -729,20 +714,25 @@
"q.setString(\"name\", \"Fritz\");\n"
"Iterator cats = q.iterate();]]>"
msgstr ""
+"<![CDATA[//named parameter (preferred)\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = :name"
+"\");\n"
+"q.setString(\"name\", \"Fritz\");\n"
+"Iterator cats = q.iterate();]]>"
-#. Tag: programlisting
-#: session_api.xml:328
-#, no-c-format
+#: index.docbook:328
msgid ""
"<![CDATA[//positional parameter\n"
"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
"q.setString(0, \"Izi\");\n"
"Iterator cats = q.iterate();]]>"
msgstr ""
+"<![CDATA[//positional parameter\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name = ?\");\n"
+"q.setString(0, \"Izi\");\n"
+"Iterator cats = q.iterate();]]>"
-#. Tag: programlisting
-#: session_api.xml:330
-#, no-c-format
+#: index.docbook:330
msgid ""
"<![CDATA[//named parameter list\n"
"List names = new ArrayList();\n"
@@ -753,54 +743,55 @@
"q.setParameterList(\"namesList\", names);\n"
"List cats = q.list();]]>"
msgstr ""
+"<![CDATA[//named parameter list\n"
+"List names = new ArrayList();\n"
+"names.add(\"Izi\");\n"
+"names.add(\"Fritz\");\n"
+"Query q = sess.createQuery(\"from DomesticCat cat where cat.name in (:"
+"namesList)\");\n"
+"q.setParameterList(\"namesList\", names);\n"
+"List cats = q.list();]]>"
-#. Tag: title
-#: session_api.xml:335
-#, no-c-format
+#: index.docbook:335
msgid "Pagination"
-msgstr "Paginación"
+msgstr "Paginación"
-#. Tag: para
-#: session_api.xml:337
-#, no-c-format
+#: index.docbook:337
msgid ""
"If you need to specify bounds upon your result set (the maximum number of "
"rows you want to retrieve and / or the first row you want to retrieve) you "
"should use methods of the <literal>Query</literal> interface:"
msgstr ""
-"Si necesitas especificar límites sobre tu conjunto resultado (el número "
-"máximo de filas que quieras traer y/o la primera fila que quieras traer) "
-"debes usar los métodos de la interface <literal>Query</literal>:"
+"Si necesitas especificar límites sobre tu conjunto resultado (el "
+"número máximo de filas que quieras traer y/o la primera fila "
+"que quieras traer) debes usar los métodos de la interface "
+"<literal>Query</literal>:"
-#. Tag: programlisting
-#: session_api.xml:343
-#, no-c-format
+#: index.docbook:343
msgid ""
"<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
"q.setFirstResult(20);\n"
"q.setMaxResults(10);\n"
"List cats = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = sess.createQuery(\"from DomesticCat cat\");\n"
+"q.setFirstResult(20);\n"
+"q.setMaxResults(10);\n"
+"List cats = q.list();]]>"
-#. Tag: para
-#: session_api.xml:345
-#, no-c-format
+#: index.docbook:345
msgid ""
"Hibernate knows how to translate this limit query into the native SQL of "
"your DBMS."
msgstr ""
-"Hibernate sabe cómo traducir este límite de consulta al SQL nativo de tu "
-"DBMS."
+"Hibernate sabe cómo traducir este límite de consulta al SQL "
+"nativo de tu DBMS."
-#. Tag: title
-#: session_api.xml:353
-#, no-c-format
+#: index.docbook:353
msgid "Scrollable iteration"
-msgstr "Iteración scrollable"
+msgstr "Iteración scrollable"
-#. Tag: para
-#: session_api.xml:355
-#, no-c-format
+#: index.docbook:355
msgid ""
"If your JDBC driver supports scrollable <literal>ResultSet</literal>s, the "
"<literal>Query</literal> interface may be used to obtain a "
@@ -809,12 +800,10 @@
msgstr ""
"Si tu driver JDBC soporta <literal>ResultSet</literal>s scrollables, la "
"interface <literal>Query</literal> puede ser usada para obtener un objeto "
-"<literal>ScrollableResults</literal>, que permite una navegación flexible de "
-"los resultados de consulta."
+"<literal>ScrollableResults</literal>, que permite una navegación "
+"flexible de los resultados de consulta."
-#. Tag: programlisting
-#: session_api.xml:362
-#, no-c-format
+#: index.docbook:362
msgid ""
"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat "
"cat \" +\n"
@@ -841,41 +830,57 @@
"}\n"
"cats.close()]]>"
msgstr ""
+"<![CDATA[Query q = sess.createQuery(\"select cat.name, cat from DomesticCat "
+"cat \" +\n"
+" \"order by cat.name\");\n"
+"ScrollableResults cats = q.scroll();\n"
+"if ( cats.first() ) {\n"
+"\n"
+" // find the first name on each page of an alphabetical list of cats by "
+"name\n"
+" firstNamesOfPages = new ArrayList();\n"
+" do {\n"
+" String name = cats.getString(0);\n"
+" firstNamesOfPages.add(name);\n"
+" }\n"
+" while ( cats.scroll(PAGE_SIZE) );\n"
+"\n"
+" // Now get the first page of cats\n"
+" pageOfCats = new ArrayList();\n"
+" cats.beforeFirst();\n"
+" int i=0;\n"
+" while( ( PAGE_SIZE > i++ ) && cats.next() ) pageOfCats.add( cats.get"
+"(1) );\n"
+"\n"
+"}\n"
+"cats.close()]]>"
-#. Tag: para
-#: session_api.xml:364
-#, no-c-format
+#: index.docbook:364
msgid ""
"Note that an open database connection (and cursor) is required for this "
"functionality, use <literal>setMaxResult()</literal>/<literal>setFirstResult"
"()</literal> if you need offline pagination functionality."
msgstr ""
-"Nota que se requiere una conexión de base de datos abierta (y cursor) para "
-"esta funcionalidad, usa <literal>setMaxResult()</literal>/"
+"Nota que se requiere una conexión de base de datos abierta (y cursor) "
+"para esta funcionalidad, usa <literal>setMaxResult()</literal>/"
"<literal>setFirstResult()</literal> si necesitas la funcionalidad de "
-"paginación fuera de línea."
+"paginación fuera de línea."
-#. Tag: title
-#: session_api.xml:373
-#, no-c-format
+#: index.docbook:373
msgid "Externalizing named queries"
msgstr "Externalizando consultas con nombre"
-#. Tag: para
-#: session_api.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"You may also define named queries in the mapping document. (Remember to use "
"a <literal>CDATA</literal> section if your query contains characters that "
"could be interpreted as markup.)"
msgstr ""
-"Puedes además definir consultas con nombre en el documento de mapeo. "
-"(Recuerda usar una sección <literal>CDATA</literal> si tu consulta contiene "
-"caracteres que puedan ser interpretados como etiquetado.)"
+"Puedes además definir consultas con nombre en el documento de mapeo. "
+"(Recuerda usar una sección <literal>CDATA</literal> si tu consulta "
+"contiene caracteres que puedan ser interpretados como etiquetado.)"
-#. Tag: programlisting
-#: session_api.xml:381
-#, no-c-format
+#: index.docbook:381
msgid ""
"<![CDATA[<query name=\"ByNameAndMaximumWeight\"><![CDATA[\n"
" from eg.DomesticCat as cat\n"
@@ -883,38 +888,44 @@
" and cat.weight > ?\n"
"] ]></query>]]>"
msgstr ""
+"<![CDATA[<query name=\"eg.DomesticCat.by.name.and.minimum.weight\"><![CDATA"
+"[\n"
+" from eg.DomesticCat as cat\n"
+" where cat.name = ?\n"
+" and cat.weight > ?\n"
+"] ]></query>]]>"
-#. Tag: para
-#: session_api.xml:383
-#, no-c-format
+#: index.docbook:383
msgid "Parameter binding and executing is done programatically:"
-msgstr "La ligación de parámetros y ejecución se hace programáticamente:"
+msgstr ""
+"La ligación de parámetros y ejecución se hace "
+"programáticamente:"
-#. Tag: programlisting
-#: session_api.xml:387
-#, no-c-format
+#: index.docbook:387
msgid ""
"<![CDATA[Query q = sess.getNamedQuery(\"ByNameAndMaximumWeight\");\n"
"q.setString(0, name);\n"
"q.setInt(1, minWeight);\n"
"List cats = q.list();]]>"
msgstr ""
+"<![CDATA[Query q = sess.getNamedQuery(\"eg.DomesticCat.by.name.and.minimum."
+"weight\");\n"
+"q.setString(0, name);\n"
+"q.setInt(1, minWeight);\n"
+"List cats = q.list();]]>"
-#. Tag: para
-#: session_api.xml:389
-#, no-c-format
+#: index.docbook:389
msgid ""
"Note that the actual program code is independent of the query language that "
"is used, you may also define native SQL queries in metadata, or migrate "
"existing queries to Hibernate by placing them in mapping files."
msgstr ""
-"Nota que el código real del programa es independiente del lenguaje de "
-"consulta usado; puedes además definir consultas SQL nativas en metadatos, o "
-"migrar consultas existentes a Hibernate colocándolas en ficheros de mapeo."
+"Nota que el código real del programa es independiente del lenguaje de "
+"consulta usado; puedes además definir consultas SQL nativas en "
+"metadatos, o migrar consultas existentes a Hibernate colocándolas en "
+"ficheros de mapeo."
-#. Tag: para
-#: session_api.xml:395
-#, no-c-format
+#: index.docbook:395
msgid ""
"Also note that a query declaration inside a <literal><hibernate-"
"mapping></literal> element requires a global unique name for the query, "
@@ -929,28 +940,22 @@
"qualified name of the class, for example <literal>eg.Cat."
"ByNameAndMaximumWeight</literal>."
-#. Tag: title
-#: session_api.xml:408
-#, no-c-format
+#: index.docbook:408
msgid "Filtering collections"
msgstr "Filtrando colecciones"
-#. Tag: para
-#: session_api.xml:409
-#, no-c-format
+#: index.docbook:409
msgid ""
"A collection <emphasis>filter</emphasis> is a special type of query that may "
"be applied to a persistent collection or array. The query string may refer "
"to <literal>this</literal>, meaning the current collection element."
msgstr ""
-"Un <emphasis>filtro</emphasis> de colección es un tipo especial de consulta "
-"que puede ser aplicado a una colección persistente o array. La cadena de "
-"consulta puede referirse a <literal>this</literal>, significando el elemento "
-"de colección actual."
+"Un <emphasis>filtro</emphasis> de colección es un tipo especial de "
+"consulta que puede ser aplicado a una colección persistente o array. "
+"La cadena de consulta puede referirse a <literal>this</literal>, "
+"significando el elemento de colección actual."
-#. Tag: programlisting
-#: session_api.xml:415
-#, no-c-format
+#: index.docbook:415
msgid ""
"<![CDATA[Collection blackKittens = session.createFilter(\n"
" pk.getKittens(), \n"
@@ -959,71 +964,72 @@
" .list()\n"
");]]>"
msgstr ""
+"<![CDATA[Collection blackKittens = session.createFilter(\n"
+" pk.getKittens(), \n"
+" \"where this.color = ?\")\n"
+" .setParameter( Color.BLACK, Hibernate.custom(ColorUserType.class) )\n"
+" .list()\n"
+");]]>"
-#. Tag: para
-#: session_api.xml:417
-#, no-c-format
+#: index.docbook:417
msgid ""
"The returned collection is considered a bag, and it's a copy of the given "
"collection. The original collection is not modified (this is contrary to the "
"implication of the name \"filter\", but consistent with expected behavior)."
msgstr ""
-"La colección devuelta es considerada un bag, y es una copia de la colección "
-"dada. La colección original no es modificada (esto es contrario a la "
-"implicación del nombre \"filtro\", pero consistente con el comportamiento "
-"esperado)."
+"La colección devuelta es considerada un bag, y es una copia de la "
+"colección dada. La colección original no es modificada (esto "
+"es contrario a la implicación del nombre \"filtro\", pero consistente "
+"con el comportamiento esperado)."
-#. Tag: para
-#: session_api.xml:423
-#, no-c-format
+#: index.docbook:423
msgid ""
"Observe that filters do not require a <literal>from</literal> clause (though "
"they may have one if required). Filters are not limited to returning the "
"collection elements themselves."
msgstr ""
-"Observa que los filtros no requieren una cláusula <literal>from</literal> "
-"(aunque pueden tener uno si se requiere). Los filtros no están limitados a "
-"devolver los elementos de colección por sí mismos."
+"Observa que los filtros no requieren una cláusula <literal>from</"
+"literal> (aunque pueden tener uno si se requiere). Los filtros no está"
+"n limitados a devolver los elementos de colección por sí "
+"mismos."
-#. Tag: programlisting
-#: session_api.xml:428
-#, no-c-format
+#: index.docbook:428
msgid ""
"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
" pk.getKittens(), \n"
" \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
" .list();]]>"
msgstr ""
+"<![CDATA[Collection blackKittenMates = session.createFilter(\n"
+" pk.getKittens(), \n"
+" \"select this.mate where this.color = eg.Color.BLACK.intValue\")\n"
+" .list();]]>"
-#. Tag: para
-#: session_api.xml:430
-#, no-c-format
+#: index.docbook:430
msgid ""
"Even an empty filter query is useful, e.g. to load a subset of elements in a "
"huge collection:"
msgstr ""
-"Incluso una consulta de filtro vacío es útil, por ejemplo, para cargar un "
-"subconjunto de elementos en una colección enorme:"
+"Incluso una consulta de filtro vacío es útil, por ejemplo, "
+"para cargar un subconjunto de elementos en una colección enorme:"
-#. Tag: programlisting
-#: session_api.xml:435
-#, no-c-format
+#: index.docbook:435
msgid ""
"<![CDATA[Collection tenKittens = session.createFilter(\n"
" mother.getKittens(), \"\")\n"
" .setFirstResult(0).setMaxResults(10)\n"
" .list();]]>"
msgstr ""
+"<![CDATA[Collection tenKittens = session.createFilter(\n"
+" mother.getKittens(), \"\")\n"
+" .setFirstResult(0).setMaxResults(10)\n"
+" .list();]]>"
-#. Tag: title
-#: session_api.xml:440
-#, no-c-format
+#: index.docbook:440
msgid "Criteria queries"
msgstr "Consultas de criterios"
-#. Tag: para
-#: session_api.xml:442
-#, no-c-format
+#: index.docbook:442
msgid ""
"HQL is extremely powerful but some developers prefer to build queries "
"dynamically, using an object-oriented API, rather than building query "
@@ -1031,40 +1037,37 @@
"API for these cases:"
msgstr ""
"HQL es extremadamente potente pero algunos desarrolladores prefieren "
-"construir consultas dinámicamente usando una API orientada a objetos, en vez "
-"construir cadenas de consulta. Hibernate provee una API intuitiva de "
+"construir consultas dinámicamente usando una API orientada a objetos, "
+"en vez construir cadenas de consulta. Hibernate provee una API intuitiva de "
"consulta <literal>Criteria</literal> para estos casos:"
-#. Tag: programlisting
-#: session_api.xml:448
-#, no-c-format
+#: index.docbook:448
msgid ""
"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
"crit.setMaxResults(10);\n"
"List cats = crit.list();]]>"
msgstr ""
+"<![CDATA[Criteria crit = session.createCriteria(Cat.class);\n"
+"crit.add( Restrictions.eq( \"color\", eg.Color.BLACK ) );\n"
+"crit.setMaxResults(10);\n"
+"List cats = crit.list();]]>"
-#. Tag: para
-#: session_api.xml:450
-#, no-c-format
+#: index.docbook:450
msgid ""
"The <literal>Criteria</literal> and the associated <literal>Example</"
"literal> API are discussed in more detail in <xref linkend=\"querycriteria\"/"
">."
msgstr ""
"Las APIs de <literal>Criteria</literal> y la asociada <literal>Example</"
-"literal> son discutidas en más detalle en <xref linkend=\"querycriteria\"/>."
+"literal> son discutidas en más detalle en <xref linkend="
+"\"querycriteria\"/>."
-#. Tag: title
-#: session_api.xml:458
-#, no-c-format
+#: index.docbook:458
msgid "Queries in native SQL"
msgstr "Consultas en SQL nativo"
-#. Tag: para
-#: session_api.xml:460
-#, no-c-format
+#: index.docbook:460
msgid ""
"You may express a query in SQL, using <literal>createSQLQuery()</literal> "
"and let Hibernate take care of the mapping from result sets to objects. Note "
@@ -1079,19 +1082,19 @@
"directamente. Si eliges usar la API de Hibernate, debes encerrar los alias "
"de SQL entre llaves:"
-#. Tag: programlisting
-#: session_api.xml:468
-#, no-c-format
+#: index.docbook:468
msgid ""
"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} "
"WHERE ROWNUM<10\")\n"
" .addEntity(\"cat\", Cat.class)\n"
".list();]]>"
msgstr ""
+"<![CDATA[List cats = session.createSQLQuery(\"SELECT {cat.*} FROM CAT {cat} "
+"WHERE ROWNUM<10\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+".list();]]>"
-#. Tag: programlisting
-#: session_api.xml:470
-#, no-c-format
+#: index.docbook:470
msgid ""
"<![CDATA[List cats = session.createSQLQuery(\n"
" \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
@@ -1101,28 +1104,30 @@
" .addEntity(\"cat\", Cat.class)\n"
".list()]]>"
msgstr ""
+"<![CDATA[List cats = session.createSQLQuery(\n"
+" \"SELECT {cat}.ID AS {cat.id}, {cat}.SEX AS {cat.sex}, \" +\n"
+" \"{cat}.MATE AS {cat.mate}, {cat}.SUBCLASS AS {cat.class}, ... \" "
+"+\n"
+" \"FROM CAT {cat} WHERE ROWNUM<10\")\n"
+" .addEntity(\"cat\", Cat.class)\n"
+".list()]]>"
-#. Tag: para
-#: session_api.xml:472
-#, no-c-format
+#: index.docbook:472
msgid ""
"SQL queries may contain named and positional parameters, just like Hibernate "
"queries. More information about native SQL queries in Hibernate can be found "
"in <xref linkend=\"querysql\"/>."
msgstr ""
-"Las consultas SQL pueden contener parámetros con nombre y posicionales, al "
-"igual que las consultas de Hibernate. Puede encontrarse más información "
-"sobre consultas en SQL nativo en <xref linkend=\"querysql\"/>."
+"Las consultas SQL pueden contener parámetros con nombre y "
+"posicionales, al igual que las consultas de Hibernate. Puede encontrarse "
+"más información sobre consultas en SQL nativo en <xref linkend="
+"\"querysql\"/>."
-#. Tag: title
-#: session_api.xml:483
-#, no-c-format
+#: index.docbook:483
msgid "Modifying persistent objects"
msgstr "Modificando objetos persistentes"
-#. Tag: para
-#: session_api.xml:485
-#, no-c-format
+#: index.docbook:485
msgid ""
"<emphasis>Transactional persistent instances</emphasis> (ie. objects loaded, "
"saved, created or queried by the <literal>Session</literal>) may be "
@@ -1136,29 +1141,29 @@
msgstr ""
"Las <emphasis>instancias persistentes transaccionales</emphasis> (es decir, "
"objetos cargados, creados o consultados por la <literal>Session</literal>) "
-"pueden ser manipulados por la aplicación y cualquier cambio al estado "
-"persistente será persistido cuando la <literal>Session</literal> sea "
-"<emphasis>limpiada (flushed)</emphasis> (discutido más adelante en este "
-"capítulo). No hay necesidad de llamar un método en particular (como "
-"<literal>update()</literal>, que tiene un propósito diferente) para hacer "
-"persistentes tus modificaciones. De modo que la forma más directa de "
-"actualizar el estado de un objeto es cargarlo con <literal>load()</literal>, "
-"y entonces manipularlo directamente, mientras la <literal>Session</literal> "
-"está abierta:"
+"pueden ser manipulados por la aplicación y cualquier cambio al estado "
+"persistente será persistido cuando la <literal>Session</literal> sea "
+"<emphasis>limpiada (flushed)</emphasis> (discutido más adelante en "
+"este capítulo). No hay necesidad de llamar un método en "
+"particular (como <literal>update()</literal>, que tiene un propósito "
+"diferente) para hacer persistentes tus modificaciones. De modo que la forma "
+"más directa de actualizar el estado de un objeto es cargarlo con "
+"<literal>load()</literal>, y entonces manipularlo directamente, mientras la "
+"<literal>Session</literal> está abierta:"
-#. Tag: programlisting
-#: session_api.xml:496
-#, no-c-format
+#: index.docbook:496
msgid ""
"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
"(69) );\n"
"cat.setName(\"PK\");\n"
"sess.flush(); // changes to cat are automatically detected and persisted]]>"
msgstr ""
+"<![CDATA[DomesticCat cat = (DomesticCat) sess.load( Cat.class, new Long"
+"(69) );\n"
+"cat.setName(\"PK\");\n"
+"sess.flush(); // changes to cat are automatically detected and persisted]]>"
-#. Tag: para
-#: session_api.xml:498
-#, no-c-format
+#: index.docbook:498
msgid ""
"Sometimes this programming model is inefficient since it would require both "
"an SQL <literal>SELECT</literal> (to load an object) and an SQL "
@@ -1166,15 +1171,13 @@
"session. Therefore Hibernate offers an alternate approach, using detached "
"instances."
msgstr ""
-"A veces este modelo de programación es ineficiente pues podría requerir una "
-"<literal>SELECT</literal> de SQL (para cargar un objeto) y un "
+"A veces este modelo de programación es ineficiente pues podría "
+"requerir una <literal>SELECT</literal> de SQL (para cargar un objeto) y un "
"<literal>UPDATE</literal> de SQL (para hacer persistentes sus datos "
-"actualizados) en la misma sesión. Por lo tanto, Hibernate ofrece un enfoque "
-"alternativo, usando instancias separadas (detached)."
+"actualizados) en la misma sesión. Por lo tanto, Hibernate ofrece un "
+"enfoque alternativo, usando instancias separadas (detached)."
-#. Tag: emphasis
-#: session_api.xml:506
-#, fuzzy, no-c-format
+#: index.docbook:506
msgid ""
"Note that Hibernate does not offer its own API for direct execution of "
"<literal>UPDATE</literal> or <literal>DELETE</literal> statements. Hibernate "
@@ -1187,26 +1190,24 @@
"Hibernate may however provide special mass operation functions. See <xref "
"linkend=\"batch\"/> for some possible batch operation tricks."
msgstr ""
-"Nota que Hibernate no ofreve su propia API para ejecución directa de "
-"sentencias <placeholder-1/> o <placeholder-2/>. Hibernate es un servicio de "
-"<placeholder-3/>, no tienes que pensar en <placeholder-4/> para usarlo. JDBC "
-"es una API perfecta para ejecutar sentencias SQL; puedes obtener una "
-"<placeholder-5/> JDBC en cualquier momento llamando a <placeholder-6/>. "
-"Además, la noción de operaciones masivas entra en conflicto con el mapeo "
-"objeto/relacional en aplicaciones en línea orientadas al procesamiento de "
-"transacciones. Versiones futuras de Hibernate pueden, sin embargo, proveer "
-"funciones de operación masiva especiales. Ver <xref linkend=\"batch\"/> por "
-"algunos trucos de operación en lote (batch) posibles."
+"Nota que Hibernate no ofreve su propia API para ejecución directa de "
+"sentencias <literal>UPDATE</literal> o <literal>DELETE</literal>. Hibernate "
+"es un servicio de <emphasis>gestión de estado</emphasis>, no tienes "
+"que pensar en <literal>sentencias</literal> para usarlo. JDBC es una API "
+"perfecta para ejecutar sentencias SQL; puedes obtener una "
+"<literal>Connection</literal> JDBC en cualquier momento llamando a "
+"<literal>session.connection()</literal>. Además, la noción de "
+"operaciones masivas entra en conflicto con el mapeo objeto/relacional en "
+"aplicaciones en línea orientadas al procesamiento de transacciones. "
+"Versiones futuras de Hibernate pueden, sin embargo, proveer funciones de "
+"operación masiva especiales. Ver <xref linkend=\"batch\"/> por "
+"algunos trucos de operación en lote (batch) posibles."
-#. Tag: title
-#: session_api.xml:521
-#, no-c-format
+#: index.docbook:521
msgid "Modifying detached objects"
msgstr "Modificando objetos separados"
-#. Tag: para
-#: session_api.xml:523
-#, no-c-format
+#: index.docbook:523
msgid ""
"Many applications need to retrieve an object in one transaction, send it to "
"the UI layer for manipulation, then save the changes in a new transaction. "
@@ -1214,27 +1215,23 @@
"environment usually use versioned data to ensure isolation for the \"long\" "
"unit of work."
msgstr ""
-"Muchas aplicaciones necesitan recuperar un objeto en una transacción, "
-"enviarla a la capa de UI para su manipulación, y entonces salvar los cambios "
-"en una nueva transacción. Las aplicaciones que usan este tipo de enfoque en "
-"un entorno de alta concurrencia usualmente usan datos versionados para "
-"asegurar el aislamiento de la unidad de trabajo \"larga\"."
+"Muchas aplicaciones necesitan recuperar un objeto en una transacción, "
+"enviarla a la capa de UI para su manipulación, y entonces salvar los "
+"cambios en una nueva transacción. Las aplicaciones que usan este tipo "
+"de enfoque en un entorno de alta concurrencia usualmente usan datos "
+"versionados para asegurar el aislamiento de la unidad de trabajo \"larga\"."
-#. Tag: para
-#: session_api.xml:530
-#, no-c-format
+#: index.docbook:530
msgid ""
"Hibernate supports this model by providing for reattachment of detached "
"instances using the <literal>Session.update()</literal> or <literal>Session."
"merge()</literal> methods:"
msgstr ""
-"Hibernate soporta este modelo al proveer re-unión de instancias separadas "
-"usando los métodos <literal>Session.update()</literal> o <literal>Session."
-"merge()</literal>:"
+"Hibernate soporta este modelo al proveer re-unión de instancias "
+"separadas usando los métodos <literal>Session.update()</literal> o "
+"<literal>Session.merge()</literal>:"
-#. Tag: programlisting
-#: session_api.xml:536
-#, no-c-format
+#: index.docbook:536
msgid ""
"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
@@ -1248,10 +1245,19 @@
"secondSession.update(cat); // update cat\n"
"secondSession.update(mate); // update mate]]>"
msgstr ""
+"<![CDATA[// in the first session\n"
+"Cat cat = (Cat) firstSession.load(Cat.class, catId);\n"
+"Cat potentialMate = new Cat();\n"
+"firstSession.save(potentialMate);\n"
+"\n"
+"// in a higher layer of the application\n"
+"cat.setMate(potentialMate);\n"
+"\n"
+"// later, in a new session\n"
+"secondSession.update(cat); // update cat\n"
+"secondSession.update(mate); // update mate]]>"
-#. Tag: para
-#: session_api.xml:538
-#, no-c-format
+#: index.docbook:538
msgid ""
"If the <literal>Cat</literal> with identifier <literal>catId</literal> had "
"already been loaded by <literal>secondSession</literal> when the application "
@@ -1259,11 +1265,10 @@
msgstr ""
"Si el <literal>Cat</literal> con identificador <literal>catId</literal> ya "
"hubiera sido cargado por <literal>secondSession</literal> cuando la "
-"aplicación intentó volver a unirlo, se habría lanzado una excepción."
+"aplicación intentó volver a unirlo, se habría lanzado "
+"una excepción."
-#. Tag: para
-#: session_api.xml:544
-#, no-c-format
+#: index.docbook:544
msgid ""
"Use <literal>update()</literal> if you are sure that the session does not "
"contain an already persistent instance with the same identifier, and "
@@ -1273,17 +1278,16 @@
"fresh session, ensuring that reattachment of your detached instances is the "
"first operation that is executed."
msgstr ""
-"Usa <literal>update()</literal> si no estás seguro que la sesión tenga una "
-"instancia ya persistente con el mismo identificador, y <literal>merge()</"
-"literal> si quieres fusionar tus modificaciones en cualquier momento sin "
-"consideración del estado de la sesión. En otras palabras, <literal>update()</"
-"literal> es usualmente el primer método que llamarías en una sesión fresca, "
-"asegurando que la re-unión de tus instancias separadas es la primera "
-"operación que se ejecuta."
+"Usa <literal>update()</literal> si no estás seguro que la sesió"
+"n tenga una instancia ya persistente con el mismo identificador, y "
+"<literal>merge()</literal> si quieres fusionar tus modificaciones en "
+"cualquier momento sin consideración del estado de la sesión. "
+"En otras palabras, <literal>update()</literal> es usualmente el primer "
+"método que llamarías en una sesión fresca, asegurando "
+"que la re-unión de tus instancias separadas es la primera "
+"operación que se ejecuta."
-#. Tag: para
-#: session_api.xml:553
-#, no-c-format
+#: index.docbook:553
msgid ""
"The application should individually <literal>update()</literal> detached "
"instances reachable from the given detached instance if and <emphasis>only</"
@@ -1291,28 +1295,24 @@
"course, using <emphasis>transitive persistence</emphasis>, see <xref linkend="
"\"objectstate-transitive\"/>."
msgstr ""
-"La aplicación debe actualizar individualmente las instancias separadas "
-"alcanzables por la instancia separada dada llamando a <literal>update()</"
-"literal>, si y <emphasis>sólo</emphasis> si quiere que sus estados sean "
-"también actualizados. Esto puede, por supuesto, ser automatizado usando "
-"<emphasis>persistencia transitiva</emphasis>, ver <xref linkend="
-"\"objectstate-transitive\"/>."
+"La aplicación debe actualizar individualmente las instancias "
+"separadas alcanzables por la instancia separada dada llamando a "
+"<literal>update()</literal>, si y <emphasis>sólo</emphasis> si quiere "
+"que sus estados sean también actualizados. Esto puede, por supuesto, "
+"ser automatizado usando <emphasis>persistencia transitiva</emphasis>, ver "
+"<xref linkend=\"objectstate-transitive\"/>."
-#. Tag: para
-#: session_api.xml:560
-#, no-c-format
+#: index.docbook:560
msgid ""
"The <literal>lock()</literal> method also allows an application to "
"reassociate an object with a new session. However, the detached instance has "
"to be unmodified!"
msgstr ""
-"El método <literal>lock()</literal> también permite a una aplicación "
-"reasociar un objeto con una sesión nueva. Sin embargo, la instancia separada "
-"no puede haber sido modificada!"
+"El método <literal>lock()</literal> también permite a una "
+"aplicación reasociar un objeto con una sesión nueva. Sin "
+"embargo, la instancia separada no puede haber sido modificada!"
-#. Tag: programlisting
-#: session_api.xml:565
-#, no-c-format
+#: index.docbook:565
msgid ""
"<![CDATA[//just reassociate:\n"
"sess.lock(fritz, LockMode.NONE);\n"
@@ -1321,10 +1321,14 @@
"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
"sess.lock(pk, LockMode.UPGRADE);]]>"
msgstr ""
+"<![CDATA[//just reassociate:\n"
+"sess.lock(fritz, LockMode.NONE);\n"
+"//do a version check, then reassociate:\n"
+"sess.lock(izi, LockMode.READ);\n"
+"//do a version check, using SELECT ... FOR UPDATE, then reassociate:\n"
+"sess.lock(pk, LockMode.UPGRADE);]]>"
-#. Tag: para
-#: session_api.xml:567
-#, no-c-format
+#: index.docbook:567
msgid ""
"Note that <literal>lock()</literal> can be used with various "
"<literal>LockMode</literal>s, see the API documentation and the chapter on "
@@ -1332,13 +1336,12 @@
"usecase for <literal>lock()</literal>."
msgstr ""
"Nota que <literal>lock()</literal> puede ser usado con varios "
-"<literal>LockMode</literal>s, ver la documentación de la API y el capítulo "
-"sobre manejo de transacciones para más información. La re-unión no es el "
-"único caso de uso para <literal>lock()</literal>."
+"<literal>LockMode</literal>s, ver la documentación de la API y el "
+"capítulo sobre manejo de transacciones para más "
+"información. La re-unión no es el único caso de uso "
+"para <literal>lock()</literal>."
-#. Tag: para
-#: session_api.xml:574
-#, no-c-format
+#: index.docbook:574
msgid ""
"Other models for long units of work are discussed in <xref linkend="
"\"transactions-optimistic\"/>."
@@ -1346,30 +1349,24 @@
"Se discuten otros modelos para unidades de trabajo largas en <xref linkend="
"\"transactions-optimistic\"/>."
-#. Tag: title
-#: session_api.xml:581
-#, no-c-format
+#: index.docbook:581
msgid "Automatic state detection"
-msgstr "Detección automática de estado"
+msgstr "Detección automática de estado"
-#. Tag: para
-#: session_api.xml:583
-#, no-c-format
+#: index.docbook:583
msgid ""
"Hibernate users have requested a general purpose method that either saves a "
"transient instance by generating a new identifier or updates/reattaches the "
"detached instances associated with its current identifier. The "
"<literal>saveOrUpdate()</literal> method implements this functionality."
msgstr ""
-"Los usuarios de Hibernate han pedido un método de propósito general que bien "
-"salve una instancia transitoria generando un identificador nuevo, o bien "
-"actualice/reúna las instancias separadas asociadas con su identificador "
-"actual. El método <literal>saveOrUpdate()</literal> implementa esta "
-"funcionalidad."
+"Los usuarios de Hibernate han pedido un método de propósito "
+"general que bien salve una instancia transitoria generando un identificador "
+"nuevo, o bien actualice/reúna las instancias separadas asociadas con "
+"su identificador actual. El método <literal>saveOrUpdate()</literal> "
+"implementa esta funcionalidad."
-#. Tag: programlisting
-#: session_api.xml:590
-#, no-c-format
+#: index.docbook:590
msgid ""
"<![CDATA[// in the first session\n"
"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
@@ -1384,10 +1381,20 @@
"secondSession.saveOrUpdate(mate); // save the new instance (mate has a null "
"id)]]>"
msgstr ""
+"<![CDATA[// in the first session\n"
+"Cat cat = (Cat) firstSession.load(Cat.class, catID);\n"
+"\n"
+"// in a higher tier of the application\n"
+"Cat mate = new Cat();\n"
+"cat.setMate(mate);\n"
+"\n"
+"// later, in a new session\n"
+"secondSession.saveOrUpdate(cat); // update existing state (cat has a non-"
+"null id)\n"
+"secondSession.saveOrUpdate(mate); // save the new instance (mate has a null "
+"id)]]>"
-#. Tag: para
-#: session_api.xml:592
-#, no-c-format
+#: index.docbook:592
msgid ""
"The usage and semantics of <literal>saveOrUpdate()</literal> seems to be "
"confusing for new users. Firstly, so long as you are not trying to use "
@@ -1396,16 +1403,14 @@
"<literal>merge()</literal>. Some whole applications will never use either of "
"these methods."
msgstr ""
-"El uso y semántica de <literal>saveOrUpdate()</literal> parece ser confuso "
-"para usuarios nuevos. Primeramente, en tanto no estés intentando usar "
-"instancias de una sesión en otra sesión nueva, no debes necesitar usar "
-"<literal>update()</literal>, <literal>saveOrUpdate()</literal>, o "
-"<literal>merge()</literal>. Algunas aplicaciones enteras nunca usarán "
-"ninguno de estos métodos."
+"El uso y semántica de <literal>saveOrUpdate()</literal> parece ser "
+"confuso para usuarios nuevos. Primeramente, en tanto no estés "
+"intentando usar instancias de una sesión en otra sesión nueva, "
+"no debes necesitar usar <literal>update()</literal>, <literal>saveOrUpdate()"
+"</literal>, o <literal>merge()</literal>. Algunas aplicaciones enteras nunca "
+"usarán ninguno de estos métodos."
-#. Tag: para
-#: session_api.xml:600
-#, no-c-format
+#: index.docbook:600
msgid ""
"Usually <literal>update()</literal> or <literal>saveOrUpdate()</literal> are "
"used in the following scenario:"
@@ -1413,174 +1418,134 @@
"Usualmente <literal>update()</literal> o <literal>saveOrUpdate()</literal> "
"se usan en el siguiente escenario:"
-#. Tag: para
-#: session_api.xml:607
-#, no-c-format
+#: index.docbook:607
msgid "the application loads an object in the first session"
-msgstr "la aplicación carga un objeto en la primera sesión"
+msgstr "la aplicación carga un objeto en la primera sesión"
-#. Tag: para
-#: session_api.xml:612
-#, no-c-format
+#: index.docbook:612
msgid "the object is passed up to the UI tier"
msgstr "el objeto es pasado a la capa de UI"
-#. Tag: para
-#: session_api.xml:617
-#, no-c-format
+#: index.docbook:617
msgid "some modifications are made to the object"
msgstr "se hacen algunas modificaciones al objeto"
-#. Tag: para
-#: session_api.xml:622
-#, no-c-format
+#: index.docbook:622
msgid "the object is passed back down to the business logic tier"
msgstr "el objeto se pasa abajo de regreso a la capa de negocio"
-#. Tag: para
-#: session_api.xml:627
-#, no-c-format
+#: index.docbook:627
msgid ""
"the application persists these modifications by calling <literal>update()</"
"literal> in a second session"
msgstr ""
-"la aplicación hace estas modificaciones persistentes llamando a "
-"<literal>update()</literal> en una segunda sesión"
+"la aplicación hace estas modificaciones persistentes llamando a "
+"<literal>update()</literal> en una segunda sesión"
-#. Tag: para
-#: session_api.xml:634
-#, no-c-format
+#: index.docbook:634
msgid "<literal>saveOrUpdate()</literal> does the following:"
msgstr "<literal>saveOrUpdate()</literal> hace lo siguiente:"
-#. Tag: para
-#: session_api.xml:640
-#, no-c-format
+#: index.docbook:640
msgid "if the object is already persistent in this session, do nothing"
-msgstr "si el objeto ya es persistente en esta sesión, no hace nada"
+msgstr "si el objeto ya es persistente en esta sesión, no hace nada"
-#. Tag: para
-#: session_api.xml:645
-#, no-c-format
+#: index.docbook:645
msgid ""
"if another object associated with the session has the same identifier, throw "
"an exception"
msgstr ""
-"si otro objeto asociado con la sesión tiene el mismo identificador, lanza "
-"una excepción"
+"si otro objeto asociado con la sesión tiene el mismo identificador, "
+"lanza una excepción"
-#. Tag: para
-#: session_api.xml:651
-#, no-c-format
+#: index.docbook:651
msgid "if the object has no identifier property, <literal>save()</literal> it"
msgstr ""
"si el objeto no tiene ninguna propiedad identificadora, lo salva llamando a "
"<literal>save()</literal>"
-#. Tag: para
-#: session_api.xml:656
-#, no-c-format
+#: index.docbook:656
msgid ""
"if the object's identifier has the value assigned to a newly instantiated "
"object, <literal>save()</literal> it"
msgstr ""
-"si el identificador del objeto tiene el valor asignado a un objeto recién "
-"instanciado, lo salva llamando a <literal>save()</literal>"
+"si el identificador del objeto tiene el valor asignado a un objeto "
+"recién instanciado, lo salva llamando a <literal>save()</literal>"
-#. Tag: para
-#: session_api.xml:662
-#, no-c-format
+#: index.docbook:662
msgid ""
"if the object is versioned (by a <literal><version></literal> or "
"<literal><timestamp></literal>), and the version property value is the "
"same value assigned to a newly instantiated object, <literal>save()</"
"literal> it"
msgstr ""
-"si el objeto está versionado (por un <literal><version></literal> o "
-"<literal><timestamp></literal>), y el valor de la propiedad de versión "
-"es el mismo valor asignado a una objeto recién instanciado, lo salva "
-"llamando a <literal>save()</literal>"
+"si el objeto está versionado (por un <literal><version></"
+"literal> o <literal><timestamp></literal>), y el valor de la propiedad "
+"de versión es el mismo valor asignado a una objeto recién "
+"instanciado, lo salva llamando a <literal>save()</literal>"
-#. Tag: para
-#: session_api.xml:670
-#, no-c-format
+#: index.docbook:670
msgid "otherwise <literal>update()</literal> the object"
msgstr ""
"en cualquier otro caso se actualiza el objeto llamando a <literal>update()</"
"literal>"
-#. Tag: para
-#: session_api.xml:676
-#, no-c-format
+#: index.docbook:676
msgid "and <literal>merge()</literal> is very different:"
msgstr "y <literal>merge()</literal> es muy diferente:"
-#. Tag: para
-#: session_api.xml:682
-#, no-c-format
+#: index.docbook:682
msgid ""
"if there is a persistent instance with the same identifier currently "
"associated with the session, copy the state of the given object onto the "
"persistent instance"
msgstr ""
"si existe una instancia persistente con el mismo identificador asignado "
-"actualmente con la sesión, copia el estado del objeto dado en la instancia "
-"persistente"
+"actualmente con la sesión, copia el estado del objeto dado en la "
+"instancia persistente"
-#. Tag: para
-#: session_api.xml:689
-#, no-c-format
+#: index.docbook:689
msgid ""
"if there is no persistent instance currently associated with the session, "
"try to load it from the database, or create a new persistent instance"
msgstr ""
-"si no existe ninguna instancia persistente actualmente asociada a la sesión, "
-"intente cargarla de la base de datos, o crear una nueva instancia persistente"
+"si no existe ninguna instancia persistente actualmente asociada a la "
+"sesión, intente cargarla de la base de datos, o crear una nueva "
+"instancia persistente"
-#. Tag: para
-#: session_api.xml:695
-#, no-c-format
+#: index.docbook:695
msgid "the persistent instance is returned"
msgstr "la instancia persistente es devuelta"
-#. Tag: para
-#: session_api.xml:700
-#, no-c-format
+#: index.docbook:700
msgid ""
"the given instance does not become associated with the session, it remains "
"detached"
msgstr ""
-"la instancia dada no resulta ser asociada a la sesión, permanece separada"
+"la instancia dada no resulta ser asociada a la sesión, permanece "
+"separada"
-#. Tag: title
-#: session_api.xml:710
-#, no-c-format
+#: index.docbook:710
msgid "Deleting persistent objects"
msgstr "Borrando objetos persistentes"
-#. Tag: para
-#: session_api.xml:712
-#, no-c-format
+#: index.docbook:712
msgid ""
"<literal>Session.delete()</literal> will remove an object's state from the "
"database. Of course, your application might still hold a reference to a "
"deleted object. It's best to think of <literal>delete()</literal> as making "
"a persistent instance transient."
msgstr ""
-"<literal>Session.delete()</literal> quitará el estado de un objeto de la "
-"base de datos. Por supuesto, tu aplicación podría tener aún una referencia a "
-"un objeto borrado. Lo mejor es pensar en <literal>delete()</literal> como "
-"hacer transitoria una instancia persistente."
+"<literal>Session.delete()</literal> quitará el estado de un objeto de "
+"la base de datos. Por supuesto, tu aplicación podría tener "
+"aún una referencia a un objeto borrado. Lo mejor es pensar en "
+"<literal>delete()</literal> como hacer transitoria una instancia persistente."
-#. Tag: programlisting
-#: session_api.xml:719
-#, no-c-format
+#: index.docbook:719
msgid "<![CDATA[sess.delete(cat);]]>"
-msgstr ""
+msgstr "<![CDATA[sess.delete(cat);]]>"
-#. Tag: para
-#: session_api.xml:721
-#, no-c-format
+#: index.docbook:721
msgid ""
"You may delete objects in any order you like, without risk of foreign key "
"constraint violations. It is still possible to violate a <literal>NOT NULL</"
@@ -1588,32 +1553,26 @@
"order, e.g. if you delete the parent, but forget to delete the children."
msgstr ""
"Puedes borrar los objetos en el orden que gustes, sin riesgo de violaciones "
-"de restricción de clave foránea. Aún es posible violar una restricción "
-"<literal>NOT NULL</literal> sobre una columna clave foránea borrando objetos "
-"en un orden erróneo, por ejemplo, si borras el padre, pero olvidas borrar "
-"los hijos."
+"de restricción de clave foránea. Aún es posible violar "
+"una restricción <literal>NOT NULL</literal> sobre una columna clave "
+"foránea borrando objetos en un orden erróneo, por ejemplo, si "
+"borras el padre, pero olvidas borrar los hijos."
-#. Tag: title
-#: session_api.xml:732
-#, no-c-format
+#: index.docbook:732
msgid "Replicating object between two different datastores"
-msgstr "Replicando objetos entre dos almacénes de datos diferentes"
+msgstr "Replicando objetos entre dos almacénes de datos diferentes"
-#. Tag: para
-#: session_api.xml:734
-#, no-c-format
+#: index.docbook:734
msgid ""
"It is occasionally useful to be able to take a graph of persistent instances "
"and make them persistent in a different datastore, without regenerating "
"identifier values."
msgstr ""
-"Es ocasionalmente útil ser capaz de tomar un grafo de instancias "
-"persistentes y hacerlas persistentes en un almacén de datos diferente, sin "
-"regenerar los valores identificadores."
+"Es ocasionalmente útil ser capaz de tomar un grafo de instancias "
+"persistentes y hacerlas persistentes en un almacén de datos "
+"diferente, sin regenerar los valores identificadores."
-#. Tag: programlisting
-#: session_api.xml:740
-#, no-c-format
+#: index.docbook:740
msgid ""
"<![CDATA[//retrieve a cat from one database\n"
"Session session1 = factory1.openSession();\n"
@@ -1629,20 +1588,30 @@
"tx2.commit();\n"
"session2.close();]]>"
msgstr ""
+"<![CDATA[//retrieve a cat from one database\n"
+"Session session1 = factory1.openSession();\n"
+"Transaction tx1 = session1.beginTransaction();\n"
+"Cat cat = session1.get(Cat.class, catId);\n"
+"tx1.commit();\n"
+"session1.close();\n"
+"\n"
+"//reconcile with a second database\n"
+"Session session2 = factory2.openSession();\n"
+"Transaction tx2 = session2.beginTransaction();\n"
+"session2.replicate(cat, ReplicationMode.LATEST_VERSION);\n"
+"tx2.commit();\n"
+"session2.close();]]>"
-#. Tag: para
-#: session_api.xml:742
-#, no-c-format
+#: index.docbook:742
msgid ""
"The <literal>ReplicationMode</literal> determines how <literal>replicate()</"
"literal> will deal with conflicts with existing rows in the database."
msgstr ""
-"El <literal>ReplicationMode</literal> determina cómo <literal>replicate()</"
-"literal> tratará los conflictos con filas existentes en la base de datos."
+"El <literal>ReplicationMode</literal> determina cómo "
+"<literal>replicate()</literal> tratará los conflictos con filas "
+"existentes en la base de datos."
-#. Tag: para
-#: session_api.xml:749
-#, no-c-format
+#: index.docbook:749
msgid ""
"<literal>ReplicationMode.IGNORE</literal> - ignore the object when there is "
"an existing database row with the same identifier"
@@ -1650,9 +1619,7 @@
"<literal>ReplicationMode.IGNORE</literal> - ignora el objeto cuando existe "
"una fila de base de datos con el mismo identificador"
-#. Tag: para
-#: session_api.xml:755
-#, no-c-format
+#: index.docbook:755
msgid ""
"<literal>ReplicationMode.OVERWRITE</literal> - overwrite any existing "
"database row with the same identifier"
@@ -1660,31 +1627,25 @@
"<literal>ReplicationMode.OVERWRITE</literal> - sobrescribe cualquier fila de "
"base de datos existente con el mismo identificador"
-#. Tag: para
-#: session_api.xml:761
-#, no-c-format
+#: index.docbook:761
msgid ""
"<literal>ReplicationMode.EXCEPTION</literal> - throw an exception if there "
"is an existing database row with the same identifier"
msgstr ""
-"<literal>ReplicationMode.EXCEPTION</literal> - lanza una excepción si existe "
-"una fila de base de datos con el mismo identificador"
+"<literal>ReplicationMode.EXCEPTION</literal> - lanza una excepción si "
+"existe una fila de base de datos con el mismo identificador"
-#. Tag: para
-#: session_api.xml:767
-#, no-c-format
+#: index.docbook:767
msgid ""
"<literal>ReplicationMode.LATEST_VERSION</literal> - overwrite the row if its "
"version number is earlier than the version number of the object, or ignore "
"the object otherwise"
msgstr ""
"<literal>ReplicationMode.LATEST_VERSION</literal> - sobrescribe la fila si "
-"su número de versión es anterior al número de versión del objeto, o en caso "
-"contrario ignora el objeto"
+"su número de versión es anterior al número de "
+"versión del objeto, o en caso contrario ignora el objeto"
-#. Tag: para
-#: session_api.xml:775
-#, no-c-format
+#: index.docbook:775
msgid ""
"Usecases for this feature include reconciling data entered into different "
"database instances, upgrading system configuration information during "
@@ -1693,56 +1654,44 @@
msgstr ""
"Los casos de uso para esta funcionalidad incluyen reconciliar datos "
"ingresados en instancias diferentes de bases de datos, actualizar "
-"información de configuración de sistema durante actualizaciones de producto, "
-"deshacer cambios producidos durante transacciones no-ACID y más."
+"información de configuración de sistema durante "
+"actualizaciones de producto, deshacer cambios producidos durante "
+"transacciones no-ACID y más."
-#. Tag: title
-#: session_api.xml:784
-#, no-c-format
+#: index.docbook:784
msgid "Flushing the Session"
-msgstr "Limpiando (flushing) la sesión"
+msgstr "Limpiando (flushing) la sesión"
-#. Tag: para
-#: session_api.xml:786
-#, no-c-format
+#: index.docbook:786
msgid ""
"From time to time the <literal>Session</literal> will execute the SQL "
"statements needed to synchronize the JDBC connection's state with the state "
"of objects held in memory. This process, <emphasis>flush</emphasis>, occurs "
"by default at the following points"
msgstr ""
-"Cada tanto, la <literal>Session</literal> ejecutará las sentencias SQL "
-"necesarias para sincronizar el estado de la conexión JDBC con el estado de "
-"los objetos mantenidos en menoria. Este proceso, <emphasis>limpieza (flush)</"
-"emphasis>, ocurre por defecto en los siguientes puntos"
+"Cada tanto, la <literal>Session</literal> ejecutará las sentencias "
+"SQL necesarias para sincronizar el estado de la conexión JDBC con el "
+"estado de los objetos mantenidos en menoria. Este proceso, "
+"<emphasis>limpieza (flush)</emphasis>, ocurre por defecto en los siguientes "
+"puntos"
-#. Tag: para
-#: session_api.xml:795
-#, no-c-format
+#: index.docbook:795
msgid "before some query executions"
msgstr "antes de algunas ejecuciones de consulta"
-#. Tag: para
-#: session_api.xml:800
-#, no-c-format
+#: index.docbook:800
msgid "from <literal>org.hibernate.Transaction.commit()</literal>"
msgstr "desde <literal>org.hibernate.Transaction.commit()</literal>"
-#. Tag: para
-#: session_api.xml:805
-#, no-c-format
+#: index.docbook:805
msgid "from <literal>Session.flush()</literal>"
msgstr "desde <literal>Session.flush()</literal>"
-#. Tag: para
-#: session_api.xml:811
-#, no-c-format
+#: index.docbook:811
msgid "The SQL statements are issued in the following order"
msgstr "Las sentencias SQL son liberadas en el siguiente orden"
-#. Tag: para
-#: session_api.xml:817
-#, no-c-format
+#: index.docbook:817
msgid ""
"all entity insertions, in the same order the corresponding objects were "
"saved using <literal>Session.save()</literal>"
@@ -1750,34 +1699,25 @@
"todas las inserciones de entidades, en el mismo orden que los objetos "
"correspondientes fueron salvados usando <literal>Session.save()</literal>"
-#. Tag: para
-#: session_api.xml:823
-#, no-c-format
+#: index.docbook:823
msgid "all entity updates"
msgstr "todas las actualizaciones de entidades"
-#. Tag: para
-#: session_api.xml:828
-#, no-c-format
+#: index.docbook:828
msgid "all collection deletions"
msgstr "todas los borrados de colecciones"
-#. Tag: para
-#: session_api.xml:833
-#, no-c-format
+#: index.docbook:833
msgid "all collection element deletions, updates and insertions"
msgstr ""
-"todos los borrados, actualizaciones e inserciones de elementos de colección"
+"todos los borrados, actualizaciones e inserciones de elementos de "
+"colección"
-#. Tag: para
-#: session_api.xml:838
-#, no-c-format
+#: index.docbook:838
msgid "all collection insertions"
msgstr "todas las inserciones de colecciones"
-#. Tag: para
-#: session_api.xml:843
-#, no-c-format
+#: index.docbook:843
msgid ""
"all entity deletions, in the same order the corresponding objects were "
"deleted using <literal>Session.delete()</literal>"
@@ -1785,19 +1725,15 @@
"todos los borrados de entidades, en el mismo orden que los objetos "
"correspondientes fueron borrados usando <literal>Session.delete()</literal>"
-#. Tag: para
-#: session_api.xml:850
-#, no-c-format
+#: index.docbook:850
msgid ""
"(An exception is that objects using <literal>native</literal> ID generation "
"are inserted when they are saved.)"
msgstr ""
-"(Una excepción es que los objetos que usan generación de ID <literal>native</"
-"literal> se insertan cuando son salvados.)"
+"(Una excepción es que los objetos que usan generación de ID "
+"<literal>native</literal> se insertan cuando son salvados.)"
-#. Tag: para
-#: session_api.xml:855
-#, no-c-format
+#: index.docbook:855
msgid ""
"Except when you explicity <literal>flush()</literal>, there are absolutely "
"no guarantees about <emphasis>when</emphasis> the <literal>Session</literal> "
@@ -1806,15 +1742,14 @@
"(..)</literal> will never return stale data; nor will they return the wrong "
"data."
msgstr ""
-"Excepto cuando llamas explícitamente a <literal>flush()</literal>, no hay en "
-"absoluto garantías sobre <emphasis>cuándo</emphasis> la <literal>Session</"
-"literal> ejecuta las llamadas JDBC. sólo sobre el <emphasis>orden</emphasis> "
-"en que son ejecutadas. Sin embargo, Hibernate garantiza que los métodos "
-"<literal>Query.list(..)</literal> nunca devolverán datos añejos o erróneos."
+"Excepto cuando llamas explícitamente a <literal>flush()</literal>, no "
+"hay en absoluto garantías sobre <emphasis>cuándo</emphasis> la "
+"<literal>Session</literal> ejecuta las llamadas JDBC. sólo sobre el "
+"<emphasis>orden</emphasis> en que son ejecutadas. Sin embargo, Hibernate "
+"garantiza que los métodos <literal>Query.list(..)</literal> nunca "
+"devolverán datos añejos o erróneos."
-#. Tag: para
-#: session_api.xml:863
-#, no-c-format
+#: index.docbook:863
msgid ""
"It is possible to change the default behavior so that flush occurs less "
"frequently. The <literal>FlushMode</literal> class defines three different "
@@ -1827,17 +1762,15 @@
msgstr ""
"Es posible cambiar el comportamiento por defecto de modo que la limpieza "
"(flush) ocurra menos frecuentemente. La clase <literal>FlushMode</literal> "
-"tres modos diferentes: sólo en tiempo de compromiso (y sólo cuando se use la "
-"API de <literal>Transaction</literal> de Hibernate), limpieza automática "
-"usando la rutina explicada, o nunca limpiar a menos que se llame a "
-"<literal>flush()</literal> explícitamente. El último modo es útil para "
-"unidades de trabajo largas, donde una <literal>Session</literal> se mantiene "
-"abierta y desconectada por largo tiempo (ver <xref linkend=\"transactions-"
-"optimistic-longsession\"/>)."
+"tres modos diferentes: sólo en tiempo de compromiso (y sólo "
+"cuando se use la API de <literal>Transaction</literal> de Hibernate), "
+"limpieza automática usando la rutina explicada, o nunca limpiar a "
+"menos que se llame a <literal>flush()</literal> explícitamente. El "
+"último modo es útil para unidades de trabajo largas, donde una "
+"<literal>Session</literal> se mantiene abierta y desconectada por largo "
+"tiempo (ver <xref linkend=\"transactions-optimistic-longsession\"/>)."
-#. Tag: programlisting
-#: session_api.xml:873
-#, no-c-format
+#: index.docbook:873
msgid ""
"<![CDATA[sess = sf.openSession();\n"
"Transaction tx = sess.beginTransaction();\n"
@@ -1854,42 +1787,49 @@
"tx.commit(); // flush occurs\n"
"sess.close();]]>"
msgstr ""
+"<![CDATA[sess = sf.openSession();\n"
+"Transaction tx = sess.beginTransaction();\n"
+"sess.setFlushMode(FlushMode.COMMIT); // allow queries to return stale state\n"
+"\n"
+"Cat izi = (Cat) sess.load(Cat.class, id);\n"
+"izi.setName(iznizi);\n"
+"\n"
+"// might return stale data\n"
+"sess.find(\"from Cat as cat left outer join cat.kittens kitten\");\n"
+"\n"
+"// change to izi is not flushed!\n"
+"...\n"
+"tx.commit(); // flush occurs]]>"
-#. Tag: para
-#: session_api.xml:875
-#, no-c-format
+#: index.docbook:875
msgid ""
"During flush, an exception might occur (e.g. if a DML operation violates a "
"constraint). Since handling exceptions involves some understanding of "
"Hibernate's transactional behavior, we discuss it in <xref linkend="
"\"transactions\"/>."
msgstr ""
-"Durante la limpieza, puede ocurrir una excepción (por ejemplo, si una "
-"operación DML violase una restricción). Ya que el manejo de excepciones "
-"implica alguna comprensión del comportamiento transaccional de Hibernate, lo "
-"discutimos en <xref linkend=\"transactions\"/>."
+"Durante la limpieza, puede ocurrir una excepción (por ejemplo, si una "
+"operación DML violase una restricción). Ya que el manejo de "
+"excepciones implica alguna comprensión del comportamiento "
+"transaccional de Hibernate, lo discutimos en <xref linkend=\"transactions\"/"
+">."
-#. Tag: title
-#: session_api.xml:884
-#, no-c-format
+#: index.docbook:884
msgid "Transitive persistence"
msgstr "Persistencia transitiva"
-#. Tag: para
-#: session_api.xml:886
-#, no-c-format
+#: index.docbook:886
msgid ""
"It is quite cumbersome to save, delete, or reattach individual objects, "
"especially if you deal with a graph of associated objects. A common case is "
"a parent/child relationship. Consider the following example:"
msgstr ""
-"Es absolutamente incómodo dalvar, borrar, o reunir objetos individuales, "
-"especialmente si tratas con un grafo de objetos asociados. Un caso común es "
-"una relación padre/hijo. Considera el siguiente ejemplo:"
+"Es absolutamente incómodo dalvar, borrar, o reunir objetos "
+"individuales, especialmente si tratas con un grafo de objetos asociados. Un "
+"caso común es una relación padre/hijo. Considera el siguiente "
+"ejemplo:"
-#. Tag: para
-#: session_api.xml:892
-#, no-c-format
+#: index.docbook:892
msgid ""
"If the children in a parent/child relationship would be value typed (e.g. a "
"collection of addresses or strings), their life cycle would depend on the "
@@ -1900,19 +1840,18 @@
"collection; Hibernate will detect this and, since value-typed objects can't "
"have shared references, delete the child from the database."
msgstr ""
-"Si los hijos en una relación padre/hijo pudieran ser tipificados en valor "
-"(por ejemplo, una colección de direcciones o cadenas), sus ciclos de vida "
-"dependerían del padre y se requeriría ninguna otra acción para el "
-"tratamiento en \"cascada\" de cambios de estado. Cuando el padre es salvado, "
-"los objetos hijo tipificados en valor son salvados también, cuando se borra "
-"el padre, se borran los hijos, etc. Esto funciona incluso para operaciones "
-"como el retiro de un hijo de la colección. Hibernate detectará esto y, ya "
-"que los objetos tipificados en valor no pueden tener referencias "
-"compartidas, borrará el hijo de la base de datos."
+"Si los hijos en una relación padre/hijo pudieran ser tipificados en "
+"valor (por ejemplo, una colección de direcciones o cadenas), sus "
+"ciclos de vida dependerían del padre y se requeriría ninguna "
+"otra acción para el tratamiento en \"cascada\" de cambios de estado. "
+"Cuando el padre es salvado, los objetos hijo tipificados en valor son "
+"salvados también, cuando se borra el padre, se borran los hijos, etc. "
+"Esto funciona incluso para operaciones como el retiro de un hijo de la "
+"colección. Hibernate detectará esto y, ya que los objetos "
+"tipificados en valor no pueden tener referencias compartidas, borrará "
+"el hijo de la base de datos."
-#. Tag: para
-#: session_api.xml:903
-#, no-c-format
+#: index.docbook:903
msgid ""
"Now consider the same scenario with parent and child objects being entities, "
"not value-types (e.g. categories and items, or parent and child cats). "
@@ -1923,16 +1862,15 @@
"reachability</emphasis> by default."
msgstr ""
"Ahora considera el mismo escenario con los objetos padre e hijos siendo "
-"entidades, no tipos de valor (por ejemplo, categorías e ítems, o gatos padre "
-"e hijos). Las entidades tienen su propio ciclo de vida, soportan referencias "
-"compartidas (de modo que quitar una entidad de una colección no significa "
-"que sea borrada), y no hay por defecto ningún tratamiento en \"cascada\" de "
-"estado de una entidad a otras entidades asociadas. Hibernate no implementa "
-"<emphasis>persistencia por alcance</emphasis>."
+"entidades, no tipos de valor (por ejemplo, categorías e ítems, "
+"o gatos padre e hijos). Las entidades tienen su propio ciclo de vida, "
+"soportan referencias compartidas (de modo que quitar una entidad de una "
+"colección no significa que sea borrada), y no hay por defecto "
+"ningún tratamiento en \"cascada\" de estado de una entidad a otras "
+"entidades asociadas. Hibernate no implementa <emphasis>persistencia por "
+"alcance</emphasis>."
-#. Tag: para
-#: session_api.xml:912
-#, no-c-format
+#: index.docbook:912
msgid ""
"For each basic operation of the Hibernate session - including "
"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
@@ -1942,36 +1880,30 @@
"operation to be cascaded along an association, you must indicate that in the "
"mapping document. For example:"
msgstr ""
-"Para cada operación básica de la sesión de Hibernate - incluyendo "
-"<literal>persist(), merge(), saveOrUpdate(), delete(), lock(), refresh(), "
-"evict(), replicate()</literal> - hay un estilo de cascada correspondiente. "
-"Respectivamente, los estilos de cascada se llaman <literal>create, merge, "
-"save-update, delete, lock, refresh, evict, replicate</literal>. Si quieres "
-"que una operación sea tratada en cascada a lo largo de una asociación, debes "
-"indicar eso en el documento de mapeo. Por ejemplo:"
+"Para cada operación básica de la sesión de Hibernate - "
+"incluyendo <literal>persist(), merge(), saveOrUpdate(), delete(), lock(), "
+"refresh(), evict(), replicate()</literal> - hay un estilo de cascada "
+"correspondiente. Respectivamente, los estilos de cascada se llaman "
+"<literal>create, merge, save-update, delete, lock, refresh, evict, "
+"replicate</literal>. Si quieres que una operación sea tratada en "
+"cascada a lo largo de una asociación, debes indicar eso en el "
+"documento de mapeo. Por ejemplo:"
-#. Tag: programlisting
-#: session_api.xml:921
-#, no-c-format
+#: index.docbook:921
msgid "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<one-to-one name=\"person\" cascade=\"persist\"/>]]>"
-#. Tag: para
-#: session_api.xml:923
-#, no-c-format
+#: index.docbook:923
msgid "Cascade styles my be combined:"
msgstr "Los estilos de cascada pueden combinarse:"
-#. Tag: programlisting
-#: session_api.xml:927
-#, no-c-format
+#: index.docbook:927
msgid ""
"<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
msgstr ""
+"<![CDATA[<one-to-one name=\"person\" cascade=\"persist,delete,lock\"/>]]>"
-#. Tag: para
-#: session_api.xml:929
-#, no-c-format
+#: index.docbook:929
msgid ""
"You may even use <literal>cascade=\"all\"</literal> to specify that "
"<emphasis>all</emphasis> operations should be cascaded along the "
@@ -1980,12 +1912,11 @@
msgstr ""
"Puedes incluso usar <literal>cascade=\"all\"</literal> para especificar que "
"<emphasis>todas</emphasis> las operaciones deben ser tratadas en cascada a "
-"lo largo de la asociación. El por defecto <literal>cascade=\"none\"</"
-"literal> especifica que ninguna operación será tratada en cascada."
+"lo largo de la asociación. El por defecto <literal>cascade=\"none\"</"
+"literal> especifica que ninguna operación será tratada en "
+"cascada."
-#. Tag: para
-#: session_api.xml:935
-#, no-c-format
+#: index.docbook:935
msgid ""
"A special cascade style, <literal>delete-orphan</literal>, applies only to "
"one-to-many associations, and indicates that the <literal>delete()</literal> "
@@ -1993,19 +1924,15 @@
"association."
msgstr ""
"Un estilo de cascada especial, <literal>delete-orphan</literal>, se aplica "
-"sólo a asociaciones uno-a-muchos, e indica que la operación <literal>delete()"
-"</literal> debe aplicarse a cualquier objeto hijo que sea quitado de la "
-"asociación."
+"sólo a asociaciones uno-a-muchos, e indica que la operación "
+"<literal>delete()</literal> debe aplicarse a cualquier objeto hijo que sea "
+"quitado de la asociación."
-#. Tag: para
-#: session_api.xml:942
-#, no-c-format
+#: index.docbook:942
msgid "Recommendations:"
msgstr "Recomendaciones:"
-#. Tag: para
-#: session_api.xml:948
-#, no-c-format
+#: index.docbook:948
msgid ""
"It doesn't usually make sense to enable cascade on a <literal><many-to-"
"one></literal> or <literal><many-to-many></literal> association. "
@@ -2013,26 +1940,23 @@
"<literal><one-to-many></literal> associations."
msgstr ""
"Usualmente no tiene sentido habilitar el tratamiento en cascada a una "
-"asociación <literal><many-to-one></literal> o <literal><many-to-"
-"many></literal>. El tratamiento en cascada es frecuentemente útil para "
-"las asociaciones <literal><one-to-one></literal> y <literal><one-to-"
-"many></literal>. associations."
+"asociación <literal><many-to-one></literal> o <literal><many-"
+"to-many></literal>. El tratamiento en cascada es frecuentemente ú"
+"til para las asociaciones <literal><one-to-one></literal> y "
+"<literal><one-to-many></literal>. associations."
-#. Tag: para
-#: session_api.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"If the child object's lifespan is bounded by the lifespan of the parent "
"object, make it a <emphasis>life cycle object</emphasis> by specifying "
"<literal>cascade=\"all,delete-orphan\"</literal>."
msgstr ""
-"Si la esperanza de vida de los objetos hijos está ligada a la eesperanza de "
-"vida del objeto padre, házlo un <emphasis>objeto de ciclo de vida</emphasis> "
-"especificando <literal>cascade=\"all,delete-orphan\"</literal>."
+"Si la esperanza de vida de los objetos hijos está ligada a la "
+"eesperanza de vida del objeto padre, házlo un <emphasis>objeto de "
+"ciclo de vida</emphasis> especificando <literal>cascade=\"all,delete-orphan"
+"\"</literal>."
-#. Tag: para
-#: session_api.xml:963
-#, no-c-format
+#: index.docbook:963
msgid ""
"Otherwise, you might not need cascade at all. But if you think that you will "
"often be working with the parent and children together in the same "
@@ -2040,27 +1964,25 @@
"<literal>cascade=\"persist,merge,save-update\"</literal>."
msgstr ""
"En otro caso, puede que no necesites tratamiento en cascada en absoluto. "
-"Pero si piensas que estarás trabajando frecuentemente con padre e hijos "
-"juntos en la misma transacción, y quieres ahorrarte algo de tipeo, considera "
-"usar <literal>cascade=\"persist,merge,save-update\"</literal>."
+"Pero si piensas que estarás trabajando frecuentemente con padre e "
+"hijos juntos en la misma transacción, y quieres ahorrarte algo de "
+"tipeo, considera usar <literal>cascade=\"persist,merge,save-update\"</"
+"literal>."
-#. Tag: para
-#: session_api.xml:971
-#, no-c-format
+#: index.docbook:971
msgid ""
"Mapping an association (either a single valued association, or a collection) "
"with <literal>cascade=\"all\"</literal> marks the association as a "
"<emphasis>parent/child</emphasis> style relationship where save/update/"
"delete of the parent results in save/update/delete of the child or children."
msgstr ""
-"Mapear una asociación (ya sea una asociación monovaluada, o una colección) "
-"con <literal>cascade=\"all\"</literal> marca la asociación como una relación "
-"del estilo <emphasis>padre/hijo</emphasis> donde save/update/delete en el "
-"padre resulta en save/update/delete del hijo o hijos."
+"Mapear una asociación (ya sea una asociación monovaluada, o "
+"una colección) con <literal>cascade=\"all\"</literal> marca la "
+"asociación como una relación del estilo <emphasis>padre/hijo</"
+"emphasis> donde save/update/delete en el padre resulta en save/update/delete "
+"del hijo o hijos."
-#. Tag: para
-#: session_api.xml:977
-#, no-c-format
+#: index.docbook:977
msgid ""
"Futhermore, a mere reference to a child from a persistent parent will result "
"in save/update of the child. This metaphor is incomplete, however. A child "
@@ -2070,17 +1992,16 @@
"literal>. The precise semantics of cascading operations for a parent/child "
"relationship are as follows:"
msgstr ""
-"Además, una mera referencia a un hijo desde un padre persistente resultará "
-"en un save/update del hijo. Esta metáfora está incompleta, sin embargo. Un "
-"hijo que deje de ser referenciado por su padre <emphasis>no</emphasis> es "
-"borrado automáticamente, excepto en el caso de una asociación <literal><"
-"one-to-many></literal> mapeada con <literal>cascade=\"delete-orphan\"</"
-"literal>. La semántica precisa de las operaciones en cascada para una "
-"relación padre/hijo es:"
+"Además, una mera referencia a un hijo desde un padre persistente "
+"resultará en un save/update del hijo. Esta metáfora "
+"está incompleta, sin embargo. Un hijo que deje de ser referenciado "
+"por su padre <emphasis>no</emphasis> es borrado automáticamente, "
+"excepto en el caso de una asociación <literal><one-to-many></"
+"literal> mapeada con <literal>cascade=\"delete-orphan\"</literal>. La "
+"semántica precisa de las operaciones en cascada para una "
+"relación padre/hijo es:"
-#. Tag: para
-#: session_api.xml:988
-#, no-c-format
+#: index.docbook:988
msgid ""
"If a parent is passed to <literal>persist()</literal>, all children are "
"passed to <literal>persist()</literal>"
@@ -2088,9 +2009,7 @@
"Si un padre le es pasado a <literal>persist()</literal>, todos los hijos le "
"son pasados a <literal>persist()</literal>"
-#. Tag: para
-#: session_api.xml:994
-#, no-c-format
+#: index.docbook:994
msgid ""
"If a parent is passed to <literal>merge()</literal>, all children are passed "
"to <literal>merge()</literal>"
@@ -2098,9 +2017,7 @@
"Si un padre le es pasado a <literal>merge()</literal>, todos los hijos le "
"son pasados a <literal>merge()</literal>"
-#. Tag: para
-#: session_api.xml:1000
-#, no-c-format
+#: index.docbook:1000
msgid ""
"If a parent is passed to <literal>save()</literal>, <literal>update()</"
"literal> or <literal>saveOrUpdate()</literal>, all children are passed to "
@@ -2110,9 +2027,7 @@
"literal> o <literal>saveOrUpdate()</literal>, todos los hijos le son pasados "
"a <literal>saveOrUpdate()</literal>"
-#. Tag: para
-#: session_api.xml:1006
-#, no-c-format
+#: index.docbook:1006
msgid ""
"If a transient or detached child becomes referenced by a persistent parent, "
"it is passed to <literal>saveOrUpdate()</literal>"
@@ -2120,9 +2035,7 @@
"Si un hijo transitorio o separado se vuelve referenciado por un padre "
"persistente, le es pasado a <literal>saveOrUpdate()</literal>"
-#. Tag: para
-#: session_api.xml:1012
-#, no-c-format
+#: index.docbook:1012
msgid ""
"If a parent is deleted, all children are passed to <literal>delete()</"
"literal>"
@@ -2130,9 +2043,7 @@
"Si un padre es borrado, todos los hijos le son pasados a <literal>delete()</"
"literal>"
-#. Tag: para
-#: session_api.xml:1017
-#, no-c-format
+#: index.docbook:1017
msgid ""
"If a child is dereferenced by a persistent parent, <emphasis>nothing special "
"happens</emphasis> - the application should explicitly delete the child if "
@@ -2140,13 +2051,12 @@
"case the \"orphaned\" child is deleted."
msgstr ""
"Si un hijo deja de ser referenciado por un padre persistente, <emphasis>no "
-"ocurre nada especial</emphasis> - la aplicación debe borrar explícitamente "
-"el hijo de ser necesario - a menos que <literal>cascade=\"delete-orphan\"</"
-"literal>, en cuyo caso el hijo \"huérfano\" es borrado."
+"ocurre nada especial</emphasis> - la aplicación debe borrar "
+"explícitamente el hijo de ser necesario - a menos que "
+"<literal>cascade=\"delete-orphan\"</literal>, en cuyo caso el hijo "
+"\"huérfano\" es borrado."
-#. Tag: para
-#: session_api.xml:1026
-#, no-c-format
+#: index.docbook:1026
msgid ""
"Finally, note that cascading of operations can be applied to an object graph "
"at <emphasis>call time</emphasis> or at <emphasis>flush time</emphasis>. All "
@@ -2162,15 +2072,11 @@
"upate</literal> and <literal>delete-orphan</literal> are transitive for all "
"associated entities reachable during flush of the <literal>Session</literal>."
-#. Tag: title
-#: session_api.xml:1038
-#, no-c-format
+#: index.docbook:1038
msgid "Using metadata"
msgstr "Usando metadatos"
-#. Tag: para
-#: session_api.xml:1040
-#, no-c-format
+#: index.docbook:1040
msgid ""
"Hibernate requires a very rich meta-level model of all entity and value "
"types. From time to time, this model is very useful to the application "
@@ -2180,30 +2086,28 @@
"immutable value types and, possibly, associated entities)."
msgstr ""
"Hibernate requiere de un modelo de meta-nivel muy rico de todas las "
-"entidades y tipos de valor. De vez en cuando, este modelo es muy útil para "
-"la aplicación misma. Por ejemplo, la aplicación podría usar los metadatos de "
-"Hibernate para implementar un algoritmo \"inteligente\" de copia en "
-"profundidad que entienda qué objetos deben ser copiados (por ejemplo, tipo "
-"de valor mutables) y cuáles no (por ejemplo, tipos de valor inmutables y, "
-"posiblemente, entidades asociadas)."
+"entidades y tipos de valor. De vez en cuando, este modelo es muy útil "
+"para la aplicación misma. Por ejemplo, la aplicación "
+"podría usar los metadatos de Hibernate para implementar un algoritmo "
+"\"inteligente\" de copia en profundidad que entienda qué objetos "
+"deben ser copiados (por ejemplo, tipo de valor mutables) y cuáles no "
+"(por ejemplo, tipos de valor inmutables y, posiblemente, entidades "
+"asociadas)."
-#. Tag: para
-#: session_api.xml:1047
-#, no-c-format
+#: index.docbook:1047
msgid ""
"Hibernate exposes metadata via the <literal>ClassMetadata</literal> and "
"<literal>CollectionMetadata</literal> interfaces and the <literal>Type</"
"literal> hierarchy. Instances of the metadata interfaces may be obtained "
"from the <literal>SessionFactory</literal>."
msgstr ""
-"Hibernate expone los metadatos vía las interfaces <literal>ClassMetadata</"
-"literal> y <literal>CollectionMetadata</literal> y la jerarquía "
-"<literal>Type</literal>. Las instancias de las interfaces de metadatos "
-"pueden obtenerse de <literal>SessionFactory</literal>."
+"Hibernate expone los metadatos vía las interfaces "
+"<literal>ClassMetadata</literal> y <literal>CollectionMetadata</literal> y "
+"la jerarquía <literal>Type</literal>. Las instancias de las "
+"interfaces de metadatos pueden obtenerse de <literal>SessionFactory</"
+"literal>."
-#. Tag: programlisting
-#: session_api.xml:1054
-#, no-c-format
+#: index.docbook:1054
msgid ""
"<![CDATA[Cat fritz = ......;\n"
"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
@@ -2221,21 +2125,24 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[Cat fritz = ......;\n"
+"ClassMetadata catMeta = sessionfactory.getClassMetadata(Cat.class);\n"
+"\n"
+"Object[] propertyValues = catMeta.getPropertyValues(fritz);\n"
+"String[] propertyNames = catMeta.getPropertyNames();\n"
+"Type[] propertyTypes = catMeta.getPropertyTypes();\n"
+"\n"
+"// get a Map of all properties which are not collections or associations\n"
+"Map namedValues = new HashMap();\n"
+"for ( int i=0; i<propertyNames.length; i++ ) {\n"
+" if ( !propertyTypes[i].isEntityType() && !propertyTypes[i]."
+"isCollectionType() ) {\n"
+" namedValues.put( propertyNames[i], propertyValues[i] );\n"
+" }\n"
+"}]]>"
-#~ msgid "UPDATE"
-#~ msgstr "UPDATE"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "DELETE"
-#~ msgstr "DELETE"
-
-#~ msgid "state management"
-#~ msgstr "gestión de estado"
-
-#~ msgid "statements"
-#~ msgstr "sentencias"
-
-#~ msgid "Connection"
-#~ msgstr "Connection"
-
-#~ msgid "session.connection()"
-#~ msgstr "session.connection()"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/toolset_guide.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,47 +1,34 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: toolset_guide.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "Toolset Guide"
-msgstr "Guía del Conjunto de Herramientas"
+msgstr "Guía del Conjunto de Herramientas"
-#. Tag: para
-#: toolset_guide.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Roundtrip engineering with Hibernate is possible using a set of Eclipse "
"plugins, commandline tools, as well as Ant tasks."
msgstr ""
-"La ingeniería de ida y vuelta con Hibernate es posible usando un conjunto de "
-"plugins de Eclipse, herramientas de línea de comandos, así como tareas de "
-"Ant."
+"La ingeniería de ida y vuelta con Hibernate es posible usando un "
+"conjunto de plugins de Eclipse, herramientas de línea de comandos, "
+"así como tareas de Ant."
-#. Tag: para
-#: toolset_guide.xml:12
-#, no-c-format
+#: index.docbook:12
msgid ""
"The <emphasis>Hibernate Tools</emphasis> currently include plugins for the "
"Eclipse IDE as well as Ant tasks for reverse engineering of existing "
"databases:"
msgstr ""
"Las <emphasis>Herramientas de Hibernate</emphasis> actualmente incluyen "
-"plugins para la IDE de Eclipse así como tareas de Ant para la ingeniería "
-"inversa de bases de datos existentes:"
+"plugins para la IDE de Eclipse así como tareas de Ant para la "
+"ingeniería inversa de bases de datos existentes:"
-#. Tag: para
-#: toolset_guide.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
"<emphasis>Mapping Editor:</emphasis> An editor for Hibernate XML mapping "
"files, supporting auto-completion and syntax highlighting. It also supports "
@@ -49,13 +36,12 @@
"much more versatile than a normal XML editor."
msgstr ""
"<emphasis>Editor de Mapeo:</emphasis> Un editor de ficheros de mapeo XML, "
-"que soporta autocompleción y resaltado de sintáxis. Soporta también "
-"autocompleción semántica de nombres de clases y nombres de campos/"
-"propiedades, haciéndolo mucho más versátil que un editor de XML normal."
+"que soporta autocompleción y resaltado de sintáxis. Soporta "
+"también autocompleción semántica de nombres de clases y "
+"nombres de campos/propiedades, haciéndolo mucho más "
+"versátil que un editor de XML normal."
-#. Tag: para
-#: toolset_guide.xml:23
-#, no-c-format
+#: index.docbook:23
msgid ""
"<emphasis>Console:</emphasis> The console is a new view in Eclipse. In "
"addition to a tree overview of your console configurations, you also get an "
@@ -64,14 +50,12 @@
"the result directly in Eclipse."
msgstr ""
"<emphasis>Consola:</emphasis> La consola es una nueva vista en Eclipse. "
-"Además de la vista de árbol de tus configuraciones de consola, tienes "
-"también una vista interactiva de tus clases persistentes y sus relaciones. "
-"La console te permite ejecutar consultas HQL contra tu base de datos y "
-"navegar el resultado directamente en Eclipse."
+"Además de la vista de árbol de tus configuraciones de consola, "
+"tienes también una vista interactiva de tus clases persistentes y sus "
+"relaciones. La console te permite ejecutar consultas HQL contra tu base de "
+"datos y navegar el resultado directamente en Eclipse."
-#. Tag: para
-#: toolset_guide.xml:30
-#, no-c-format
+#: index.docbook:30
msgid ""
"<emphasis>Development Wizards:</emphasis> Several wizards are provided with "
"the Hibernate Eclipse tools; you can use a wizard to quickly generate "
@@ -82,30 +66,25 @@
msgstr ""
"<emphasis>Asistentes de Desarrollo:</emphasis> Se proveen muchos asistentes "
"con las herramientas de Eclipse. Puedes usar un asistente para generar "
-"rápidamente ficheros de configuración de Hibernate (cfg.xml), o incluso "
-"puedes haceruna ingeniería inversa completa de un esquema de base de datos "
-"existente en ficheros de código de POJO y ficheros de mapeo de Hibernate. El "
-"asistente de ingeniería inversa soporta plantillas personalizables."
+"rápidamente ficheros de configuración de Hibernate (cfg.xml), "
+"o incluso puedes haceruna ingeniería inversa completa de un esquema "
+"de base de datos existente en ficheros de código de POJO y ficheros "
+"de mapeo de Hibernate. El asistente de ingeniería inversa soporta "
+"plantillas personalizables."
-#. Tag: emphasis
-#: toolset_guide.xml:38
-#, no-c-format
+#: index.docbook:38
msgid "Ant Tasks:"
msgstr "Tareas de Ant:"
-#. Tag: para
-#: toolset_guide.xml:43
-#, no-c-format
+#: index.docbook:43
msgid ""
"Please refer to the <emphasis>Hibernate Tools</emphasis> package and it's "
"documentation for more information."
msgstr ""
-"Por favor refiérete al paquete <emphasis>Herramientas de Hibernate</"
-"emphasis> y su documentación para más información."
+"Por favor refiérete al paquete <emphasis>Herramientas de Hibernate</"
+"emphasis> y su documentación para más información."
-#. Tag: para
-#: toolset_guide.xml:48
-#, no-c-format
+#: index.docbook:48
msgid ""
"However, the Hibernate main package comes bundled with an integrated tool "
"(it can even be used from \"inside\" Hibernate on-the-fly): "
@@ -113,18 +92,14 @@
msgstr ""
"Sin embargo, el paquete principal de Hibernate viene incluyendo una "
"herramienta integrada (puede ser usada incluso \"dentro\" de Hibernate on-"
-"the-fly): <emphasis>SchemaExport</emphasis> también conocido como "
+"the-fly): <emphasis>SchemaExport</emphasis> también conocido como "
"<literal>hbm2ddl</literal>."
-#. Tag: title
-#: toolset_guide.xml:55
-#, no-c-format
+#: index.docbook:55
msgid "Automatic schema generation"
-msgstr "Generación automática de esquemas"
+msgstr "Generación automática de esquemas"
-#. Tag: para
-#: toolset_guide.xml:57
-#, no-c-format
+#: index.docbook:57
msgid ""
"DDL may be generated from your mapping files by a Hibernate utility. The "
"generated schema includes referential integrity constraints (primary and "
@@ -133,37 +108,29 @@
msgstr ""
"Una utilidad de Hibernate puede generar DDL desde tus ficheros de mapeo. El "
"esquema generado incluye restricciones de integridad referencial (claves "
-"primarias y foráneas) para las tablas de entidades y colecciones. Las tablas "
-"y secuencias también son creadas para los generadores de identificadores "
-"mapeados."
+"primarias y foráneas) para las tablas de entidades y colecciones. Las "
+"tablas y secuencias también son creadas para los generadores de "
+"identificadores mapeados."
-#. Tag: para
-#: toolset_guide.xml:64
-#, no-c-format
+#: index.docbook:64
msgid ""
"You <emphasis>must</emphasis> specify a SQL <literal>Dialect</literal> via "
"the <literal>hibernate.dialect</literal> property when using this tool, as "
"DDL is highly vendor specific."
msgstr ""
"<emphasis>Debes</emphasis> especificar un <literal>Dialecto</literal> SQL "
-"vía la propiedad <literal>hibernate.dialect</literal> al usar esta "
-"herramienta, ya que el DDL es altamente específico del vendedor."
+"vía la propiedad <literal>hibernate.dialect</literal> al usar esta "
+"herramienta, ya que el DDL es altamente específico del vendedor."
-#. Tag: para
-#: toolset_guide.xml:70
-#, no-c-format
+#: index.docbook:70
msgid "First, customize your mapping files to improve the generated schema."
msgstr "First, customize your mapping files to improve the generated schema."
-#. Tag: title
-#: toolset_guide.xml:75
-#, no-c-format
+#: index.docbook:75
msgid "Customizing the schema"
msgstr "Personalizando el esquema"
-#. Tag: para
-#: toolset_guide.xml:77
-#, no-c-format
+#: index.docbook:77
msgid ""
"Many Hibernate mapping elements define optional attributes named "
"<literal>length</literal>, <literal>precision</literal> and <literal>scale</"
@@ -171,53 +138,45 @@
"attribute."
msgstr ""
"Muchos elementos de mapeo de Hibernate definen un atributo opcional llamado "
-"<literal>length</literal>. Con este atributo puedes establecer el tamaño de "
-"una columna. (O, para tipos de datos numéricos/decimales, la precisión.)"
+"<literal>length</literal>. Con este atributo puedes establecer el "
+"tamaño de una columna. (O, para tipos de datos numéricos/"
+"decimales, la precisión.)"
-#. Tag: programlisting
-#: toolset_guide.xml:84
-#, no-c-format
+#: index.docbook:84
msgid "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<property name=\"zip\" length=\"5\"/>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:85
-#, no-c-format
+#: index.docbook:85
msgid "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
-msgstr ""
+msgstr "<![CDATA[<property name=\"balance\" precision=\"12\" scale=\"2\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:87
-#, no-c-format
+#: index.docbook:87
msgid ""
"Some tags also accept a <literal>not-null</literal> attribute (for "
"generating a <literal>NOT NULL</literal> constraint on table columns) and a "
"<literal>unique</literal> attribute (for generating <literal>UNIQUE</"
"literal> constraint on table columns)."
msgstr ""
-"Algunas etiquetas también aceptan un atributo <literal>not-null</literal> "
-"(para generar una restricción <literal>NOT NULL</literal> en columnas de "
-"tablas) y y un atributo <literal>unique</literal> (para generar "
+"Algunas etiquetas también aceptan un atributo <literal>not-null</"
+"literal> (para generar una restricción <literal>NOT NULL</literal> en "
+"columnas de tablas) y y un atributo <literal>unique</literal> (para generar "
"restricciones <literal>UNIQUE</literal> en columnas de tablas)."
-#. Tag: programlisting
-#: toolset_guide.xml:93
-#, no-c-format
+#: index.docbook:93
msgid ""
"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" not-null=\"true\"/>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:95
-#, no-c-format
+#: index.docbook:95
msgid ""
"<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" "
"unique=\"true\"/>]]>"
msgstr ""
+"<![CDATA[<element column=\"serialNumber\" type=\"long\" not-null=\"true\" "
+"unique=\"true\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:97
-#, no-c-format
+#: index.docbook:97
msgid ""
"A <literal>unique-key</literal> attribute may be used to group columns in a "
"single unique key constraint. Currently, the specified value of the "
@@ -231,18 +190,17 @@
"name the constraint in the generated DDL, only to group the columns in the "
"mapping file."
-#. Tag: programlisting
-#: toolset_guide.xml:105
-#, no-c-format
+#: index.docbook:105
msgid ""
"<![CDATA[<many-to-one name=\"org\" column=\"orgId\" unique-key="
"\"OrgEmployeeId\"/>\n"
"<property name=\"employeeId\" unique-key=\"OrgEmployee\"/>]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"org\" column=\"orgId\" unique-key="
+"\"OrgEmployeeId\"/>\n"
+"<property name=\"employeeId\" unique-key=\"OrgEmployee\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:107
-#, no-c-format
+#: index.docbook:107
msgid ""
"An <literal>index</literal> attribute specifies the name of an index that "
"will be created using the mapped column or columns. Multiple columns may be "
@@ -252,17 +210,15 @@
"will be created using the mapped column or columns. Multiple columns may be "
"grouped into the same index, simply by specifying the same index name."
-#. Tag: programlisting
-#: toolset_guide.xml:113
-#, no-c-format
+#: index.docbook:113
msgid ""
"<![CDATA[<property name=\"lastName\" index=\"CustName\"/>\n"
"<property name=\"firstName\" index=\"CustName\"/>]]>"
msgstr ""
+"<![CDATA[<property name=\"lastName\" index=\"CustName\"/>\n"
+" <property name=\"firstName\" index=\"CustName\"/>]]>"
-#. Tag: para
-#: toolset_guide.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"A <literal>foreign-key</literal> attribute may be used to override the name "
"of any generated foreign key constraint."
@@ -270,17 +226,15 @@
"A <literal>foreign-key</literal> attribute may be used to override the name "
"of any generated foreign key constraint."
-#. Tag: programlisting
-#: toolset_guide.xml:120
-#, no-c-format
+#: index.docbook:120
msgid ""
"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/"
">]]>"
msgstr ""
+"<![CDATA[<many-to-one name=\"bar\" column=\"barId\" foreign-key=\"FKFooBar\"/"
+">]]>"
-#. Tag: para
-#: toolset_guide.xml:122
-#, no-c-format
+#: index.docbook:122
msgid ""
"Many mapping elements also accept a child <literal><column></literal> "
"element. This is particularly useful for mapping multi-column types:"
@@ -288,9 +242,7 @@
"Many mapping elements also accept a child <literal><column></literal> "
"element. This is particularly useful for mapping multi-column types:"
-#. Tag: programlisting
-#: toolset_guide.xml:127
-#, no-c-format
+#: index.docbook:127
msgid ""
"<![CDATA[<property name=\"name\" type=\"my.customtypes.Name\"/>\n"
" <column name=\"last\" not-null=\"true\" index=\"bar_idx\" length=\"30\"/"
@@ -300,10 +252,15 @@
" <column name=\"initial\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"name\" type=\"my.customtypes.Name\"/>\n"
+" <column name=\"last\" not-null=\"true\" index=\"bar_idx\" length=\"30"
+"\"/>\n"
+" <column name=\"first\" not-null=\"true\" index=\"bar_idx\" length="
+"\"20\"/>\n"
+" <column name=\"initial\"/>\n"
+"</property>]]>"
-#. Tag: para
-#: toolset_guide.xml:129
-#, no-c-format
+#: index.docbook:129
msgid ""
"The <literal>default</literal> attribute lets you specify a default value "
"for a column (you should assign the same value to the mapped property before "
@@ -313,27 +270,27 @@
"for a column (you should assign the same value to the mapped property before "
"saving a new instance of the mapped class)."
-#. Tag: programlisting
-#: toolset_guide.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[<property name=\"credits\" type=\"integer\" insert=\"false\">\n"
" <column name=\"credits\" default=\"10\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"credits\" type=\"integer\" insert=\"false\">\n"
+" <column name=\"credits\" default=\"10\"/>\n"
+" </property>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:137
-#, no-c-format
+#: index.docbook:137
msgid ""
"<![CDATA[<version name=\"version\" type=\"integer\" insert=\"false\">\n"
" <column name=\"version\" default=\"0\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<version name=\"version\" type=\"integer\" insert=\"false\">\n"
+" <column name=\"version\" default=\"0\"/>\n"
+" </property>]]>"
-#. Tag: para
-#: toolset_guide.xml:139
-#, no-c-format
+#: index.docbook:139
msgid ""
"The <literal>sql-type</literal> attribute allows the user to override the "
"default mapping of a Hibernate type to SQL datatype."
@@ -341,191 +298,146 @@
"El atributo <literal>sql-type</literal> permite al usuario sobrescribir el "
"mapeo por defecto de tipo Hibernate a tipo de datos SQL."
-#. Tag: programlisting
-#: toolset_guide.xml:144
-#, no-c-format
+#: index.docbook:144
msgid ""
"<![CDATA[<property name=\"balance\" type=\"float\">\n"
" <column name=\"balance\" sql-type=\"decimal(13,3)\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"balance\" type=\"float\">\n"
+" <column name=\"balance\" sql-type=\"decimal(13,3)"
+"\"/>\n"
+"</property>]]>"
-#. Tag: para
-#: toolset_guide.xml:146
-#, no-c-format
+#: index.docbook:146
msgid ""
"The <literal>check</literal> attribute allows you to specify a check "
"constraint."
msgstr ""
-"El atributo <literal>check</literal> te permite especificar una comprobación "
-"de restricción."
+"El atributo <literal>check</literal> te permite especificar una "
+"comprobación de restricción."
-#. Tag: programlisting
-#: toolset_guide.xml:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"<![CDATA[<property name=\"foo\" type=\"integer\">\n"
" <column name=\"foo\" check=\"foo > 10\"/>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"foo\" type=\"integer\">\n"
+" <column name=\"foo\" check=\"foo > 10\"/>\n"
+"</property>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"<![CDATA[<class name=\"Foo\" table=\"foos\" check=\"bar < 100.0\">\n"
" ...\n"
" <property name=\"bar\" type=\"float\"/>\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Foo\" table=\"foos\" check=\"bar < 100.0\">\n"
+" ...\n"
+" <property name=\"bar\" type=\"float\"/>\n"
+"</class>]]>"
-#. Tag: title
-#: toolset_guide.xml:156
-#, no-c-format
+#: index.docbook:156
msgid "Summary"
msgstr "Resumen"
-#. Tag: entry
-#: toolset_guide.xml:163
-#, no-c-format
+#: index.docbook:163
msgid "Attribute"
msgstr "Atributo"
-#. Tag: entry
-#: toolset_guide.xml:164
-#, no-c-format
+#: index.docbook:164
msgid "Values"
msgstr "Valores"
-#. Tag: entry
-#: toolset_guide.xml:165
-#, no-c-format
+#: index.docbook:165
msgid "Interpretation"
-msgstr "Interpretación"
+msgstr "Interpretación"
-#. Tag: literal
-#: toolset_guide.xml:170
-#, no-c-format
+#: index.docbook:170
msgid "length"
msgstr "length"
-#. Tag: entry
-#: toolset_guide.xml:171 toolset_guide.xml:176 toolset_guide.xml:181
-#, no-c-format
+#: index.docbook:171, index.docbook:176, index.docbook:181
msgid "number"
msgstr "number"
-#. Tag: entry
-#: toolset_guide.xml:172
-#, no-c-format
+#: index.docbook:172
msgid "column length"
-msgstr "largo de columna/precisión decimal"
+msgstr "largo de columna/precisión decimal"
-#. Tag: literal
-#: toolset_guide.xml:175
-#, no-c-format
+#: index.docbook:175
msgid "precision"
msgstr "precision"
-#. Tag: entry
-#: toolset_guide.xml:177
-#, no-c-format
+#: index.docbook:177
msgid "column decimal precision"
msgstr "column decimal precision"
-#. Tag: literal
-#: toolset_guide.xml:180
-#, no-c-format
+#: index.docbook:180
msgid "scale"
msgstr "scale"
-#. Tag: entry
-#: toolset_guide.xml:182
-#, no-c-format
+#: index.docbook:182
msgid "column decimal scale"
msgstr "column decimal scale"
-#. Tag: literal
-#: toolset_guide.xml:185
-#, no-c-format
+#: index.docbook:185
msgid "not-null"
msgstr "not-null"
-#. Tag: literal
-#: toolset_guide.xml:186 toolset_guide.xml:191
-#, no-c-format
+#: index.docbook:186, index.docbook:191
msgid "true|false"
msgstr "true|false"
-#. Tag: entry
-#: toolset_guide.xml:187
-#, no-c-format
+#: index.docbook:187
msgid "specfies that the column should be non-nullable"
msgstr "especifica que la columna debe ser no nulable"
-#. Tag: literal
-#: toolset_guide.xml:190
-#, no-c-format
+#: index.docbook:190
msgid "unique"
msgstr "unique"
-#. Tag: entry
-#: toolset_guide.xml:192
-#, no-c-format
+#: index.docbook:192
msgid "specifies that the column should have a unique constraint"
-msgstr "especifica que la columna debe tener una restricción de unicidad"
+msgstr ""
+"especifica que la columna debe tener una restricción de unicidad"
-#. Tag: literal
-#: toolset_guide.xml:195
-#, no-c-format
+#: index.docbook:195
msgid "index"
msgstr "index"
-#. Tag: literal
-#: toolset_guide.xml:196
-#, no-c-format
+#: index.docbook:196
msgid "index_name"
msgstr "index_name"
-#. Tag: entry
-#: toolset_guide.xml:197
-#, no-c-format
+#: index.docbook:197
msgid "specifies the name of a (multi-column) index"
-msgstr "especifica el nombre de un índice (multicolumna)"
+msgstr "especifica el nombre de un índice (multicolumna)"
-#. Tag: literal
-#: toolset_guide.xml:200
-#, no-c-format
+#: index.docbook:200
msgid "unique-key"
msgstr "unique-key"
-#. Tag: literal
-#: toolset_guide.xml:201
-#, no-c-format
+#: index.docbook:201
msgid "unique_key_name"
msgstr "unique_key_name"
-#. Tag: entry
-#: toolset_guide.xml:202
-#, no-c-format
+#: index.docbook:202
msgid "specifies the name of a multi-column unique constraint"
-msgstr "especifica el nombre de una restricción de unicidad multicolumna"
+msgstr ""
+"especifica el nombre de una restricción de unicidad multicolumna"
-#. Tag: literal
-#: toolset_guide.xml:205
-#, no-c-format
+#: index.docbook:205
msgid "foreign-key"
msgstr "foreign-key"
-#. Tag: literal
-#: toolset_guide.xml:206
-#, no-c-format
+#: index.docbook:206
msgid "foreign_key_name"
msgstr "foreign_key_name"
-#. Tag: entry
-#: toolset_guide.xml:207
-#, fuzzy, no-c-format
+#: index.docbook:207
msgid ""
"specifies the name of the foreign key constraint generated for an "
"association, for a <literal><one-to-one></literal>, <literal><many-"
@@ -533,70 +445,51 @@
"to-many></literal> mapping element. Note that <literal>inverse=\"true\"</"
"literal> sides will not be considered by <literal>SchemaExport</literal>."
msgstr ""
-"especifica el nombre de la restricción de clave foránea generada por una "
-"asociación, úsalo e <placeholder-1/>, <placeholder-2/>, <placeholder-3/>, or "
-"<placeholder-4/> . Nota que los lados <placeholder-5/> no serán considerados "
-"por <placeholder-6/>."
+"especifica el nombre de la restricción de clave foránea "
+"generada por una asociación, úsalo e <literal><one-to-"
+"one></literal>, <literal><many-to-one></literal>, <literal><"
+"key></literal>, or <literal><many-to-many></literal> . Nota que los "
+"lados <literal>inverse=\"true\"</literal> no serán considerados por "
+"<literal>SchemaExport</literal>."
-#. Tag: literal
-#: toolset_guide.xml:217
-#, no-c-format
+#: index.docbook:217
msgid "sql-type"
msgstr "sql-type"
-#. Tag: literal
-#: toolset_guide.xml:218
-#, no-c-format
+#: index.docbook:218
msgid "SQL column type"
msgstr "column_type"
-#. Tag: entry
-#: toolset_guide.xml:219
-#, fuzzy, no-c-format
+#: index.docbook:219
msgid ""
"overrides the default column type (attribute of <literal><column></"
"literal> element only)"
msgstr ""
-"sobrescribe el tipo de columna por defecto (sólo atributo del elemento "
-"<placeholder-1/>)"
+"sobrescribe el tipo de columna por defecto (sólo atributo del "
+"elemento <literal><column></literal>)"
-#. Tag: literal
-#: toolset_guide.xml:225
-#, no-c-format
+#: index.docbook:225
msgid "default"
msgstr "default"
-#. Tag: entry
-#: toolset_guide.xml:226 toolset_guide.xml:233
-#, fuzzy, no-c-format
+#: index.docbook:226, index.docbook:233
msgid "SQL expression"
-msgstr ""
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"SQL expression\n"
-"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
-"expresión SQL"
+msgstr "SQL expression"
-#. Tag: entry
-#: toolset_guide.xml:227
-#, no-c-format
+#: index.docbook:227
msgid "specify a default value for the column"
msgstr "specify a default value for the column"
-#. Tag: literal
-#: toolset_guide.xml:232
-#, no-c-format
+#: index.docbook:232
msgid "check"
msgstr "check"
-#. Tag: entry
-#: toolset_guide.xml:234
-#, no-c-format
+#: index.docbook:234
msgid "create an SQL check constraint on either column or table"
-msgstr "crea una restricción de comprobación SQL en columna o tabla"
+msgstr ""
+"crea una restricción de comprobación SQL en columna o tabla"
-#. Tag: para
-#: toolset_guide.xml:242
-#, no-c-format
+#: index.docbook:242
msgid ""
"The <literal><comment></literal> element allows you to specify "
"comments for the generated schema."
@@ -604,19 +497,19 @@
"El elemento <literal><comment></literal> te permite especificar un "
"comentario para el esquema generado."
-#. Tag: programlisting
-#: toolset_guide.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"<![CDATA[<class name=\"Customer\" table=\"CurCust\">\n"
" <comment>Current customers only</comment>\n"
" ...\n"
"</class>]]>"
msgstr ""
+"<![CDATA[<class name=\"Customer\" table=\"CurCust\">\n"
+" <comment>Current customers only</comment>\n"
+" ...\n"
+"</class>]]>"
-#. Tag: programlisting
-#: toolset_guide.xml:249
-#, no-c-format
+#: index.docbook:249
msgid ""
"<![CDATA[<property name=\"balance\">\n"
" <column name=\"bal\">\n"
@@ -624,212 +517,159 @@
" </column>\n"
"</property>]]>"
msgstr ""
+"<![CDATA[<property name=\"balance\">\n"
+" <column name=\"bal\">\n"
+" <comment>Balance in USD</comment>\n"
+" </column>\n"
+"</property>]]>"
-#. Tag: para
-#: toolset_guide.xml:251
-#, no-c-format
+#: index.docbook:251
msgid ""
"This results in a <literal>comment on table</literal> or <literal>comment on "
"column</literal> statement in the generated DDL (where supported)."
msgstr ""
"Esto resulta en una sentencia <literal>comment on table</literal> o "
-"<literal>comment on column</literal> en el DDL generado (donde esté "
+"<literal>comment on column</literal> en el DDL generado (donde esté "
"soportado)."
-#. Tag: title
-#: toolset_guide.xml:260
-#, no-c-format
+#: index.docbook:260
msgid "Running the tool"
msgstr "Ejecutando la herramienta"
-#. Tag: para
-#: toolset_guide.xml:262
-#, no-c-format
+#: index.docbook:262
msgid ""
"The <literal>SchemaExport</literal> tool writes a DDL script to standard out "
"and/or executes the DDL statements."
msgstr ""
-"La herramienta <literal>SchemaExport</literal> escribe un guión DDL a la "
-"salida estándar y/o ejecuta las sentencias DDL."
+"La herramienta <literal>SchemaExport</literal> escribe un guión DDL a "
+"la salida estándar y/o ejecuta las sentencias DDL."
-#. Tag: para
-#: toolset_guide.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
"<literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> <emphasis>options "
"mapping_files</emphasis>"
msgstr ""
+"<literal>java -cp </literal><emphasis>classpaths_de_hibernate</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaExport</literal> "
+"<emphasis>opciones ficheros_de_mapeo</emphasis>"
-#. Tag: title
-#: toolset_guide.xml:273
-#, no-c-format
+#: index.docbook:273
msgid "<literal>SchemaExport</literal> Command Line Options"
-msgstr "Opciones de Línea de Comandos de <literal>SchemaExport</literal>"
+msgstr ""
+"Opciones de Línea de Comandos de <literal>SchemaExport</literal>"
-#. Tag: entry
-#: toolset_guide.xml:279 toolset_guide.xml:429 toolset_guide.xml:498
-#, no-c-format
+#: index.docbook:279, index.docbook:429, index.docbook:498
msgid "Option"
-msgstr "Opción"
+msgstr "Opción"
-#. Tag: entry
-#: toolset_guide.xml:280 toolset_guide.xml:367 toolset_guide.xml:430
-#: toolset_guide.xml:499
-#, no-c-format
+#: index.docbook:280, index.docbook:367, index.docbook:430, index.docbook:499
msgid "Description"
-msgstr "Descripción"
+msgstr "Descripción"
-#. Tag: literal
-#: toolset_guide.xml:285 toolset_guide.xml:435
-#, no-c-format
+#: index.docbook:285, index.docbook:435
msgid "--quiet"
msgstr "--quiet"
-#. Tag: entry
-#: toolset_guide.xml:286 toolset_guide.xml:436
-#, no-c-format
+#: index.docbook:286, index.docbook:436
msgid "don't output the script to stdout"
-msgstr "no enviar a salida estándar el guión"
+msgstr "no enviar a salida estándar el guión"
-#. Tag: literal
-#: toolset_guide.xml:289
-#, no-c-format
+#: index.docbook:289
msgid "--drop"
msgstr "--drop"
-#. Tag: entry
-#: toolset_guide.xml:290
-#, no-c-format
+#: index.docbook:290
msgid "only drop the tables"
-msgstr "sólo desechar las tablas"
+msgstr "sólo desechar las tablas"
-#. Tag: literal
-#: toolset_guide.xml:293
-#, no-c-format
+#: index.docbook:293
msgid "--create"
msgstr "--create"
-#. Tag: entry
-#: toolset_guide.xml:294
-#, no-c-format
+#: index.docbook:294
msgid "only create the tables"
msgstr "only create the tables"
-#. Tag: literal
-#: toolset_guide.xml:297 toolset_guide.xml:439
-#, no-c-format
+#: index.docbook:297, index.docbook:439
msgid "--text"
msgstr "--text"
-#. Tag: entry
-#: toolset_guide.xml:298
-#, no-c-format
+#: index.docbook:298
msgid "don't export to the database"
msgstr "no exportar a la base de datos"
-#. Tag: literal
-#: toolset_guide.xml:301
-#, no-c-format
+#: index.docbook:301
msgid "--output=my_schema.ddl"
msgstr "--output=my_schema.ddl"
-#. Tag: entry
-#: toolset_guide.xml:302
-#, no-c-format
+#: index.docbook:302
msgid "output the ddl script to a file"
-msgstr "enviar la salida del guión ddl a un fichero"
+msgstr "enviar la salida del guión ddl a un fichero"
-#. Tag: literal
-#: toolset_guide.xml:305 toolset_guide.xml:443 toolset_guide.xml:504
-#, no-c-format
+#: index.docbook:305, index.docbook:443, index.docbook:504
msgid "--naming=eg.MyNamingStrategy"
msgstr "--naming=eg.MyNamingStrategy"
-#. Tag: entry
-#: toolset_guide.xml:306 toolset_guide.xml:444 toolset_guide.xml:505
-#, fuzzy, no-c-format
+#: index.docbook:306, index.docbook:444, index.docbook:505
msgid "select a <literal>NamingStrategy</literal>"
-msgstr "en <literal>hibernate.properties</literal>"
+msgstr "select a <literal>NamingStrategy</literal>"
-#. Tag: literal
-#: toolset_guide.xml:309 toolset_guide.xml:451 toolset_guide.xml:512
-#, no-c-format
+#: index.docbook:309, index.docbook:451, index.docbook:512
msgid "--config=hibernate.cfg.xml"
msgstr "--config=hibernate.cfg.xml"
-#. Tag: entry
-#: toolset_guide.xml:310
-#, no-c-format
+#: index.docbook:310
msgid "read Hibernate configuration from an XML file"
-msgstr "lee la configuración de Hibernate de un fichero XML"
+msgstr "lee la configuración de Hibernate de un fichero XML"
-#. Tag: literal
-#: toolset_guide.xml:313 toolset_guide.xml:447 toolset_guide.xml:508
-#, no-c-format
+#: index.docbook:313, index.docbook:447, index.docbook:508
msgid "--properties=hibernate.properties"
msgstr "--properties=hibernate.properties"
-#. Tag: entry
-#: toolset_guide.xml:314 toolset_guide.xml:448 toolset_guide.xml:509
-#, no-c-format
+#: index.docbook:314, index.docbook:448, index.docbook:509
msgid "read database properties from a file"
msgstr "lee las propiedades de base de datos de un fichero"
-#. Tag: literal
-#: toolset_guide.xml:317
-#, no-c-format
+#: index.docbook:317
msgid "--format"
msgstr "--format"
-#. Tag: entry
-#: toolset_guide.xml:318
-#, no-c-format
+#: index.docbook:318
msgid "format the generated SQL nicely in the script"
-msgstr "formatea agradablemente el SQL generado en el guión"
+msgstr "formatea agradablemente el SQL generado en el guión"
-#. Tag: literal
-#: toolset_guide.xml:321
-#, no-c-format
+#: index.docbook:321
msgid "--delimiter=;"
msgstr "--delimiter=x"
-#. Tag: entry
-#: toolset_guide.xml:322
-#, no-c-format
+#: index.docbook:322
msgid "set an end of line delimiter for the script"
-msgstr "establece un delimitador de fin de línea para el guión"
+msgstr "establece un delimitador de fin de línea para el guión"
-#. Tag: para
-#: toolset_guide.xml:328
-#, no-c-format
+#: index.docbook:328
msgid "You may even embed <literal>SchemaExport</literal> in your application:"
msgstr ""
-"Puedes incluso encajar <literal>SchemaExport</literal> en tu aplicación:"
+"Puedes incluso encajar <literal>SchemaExport</literal> en tu aplicació"
+"n:"
-#. Tag: programlisting
-#: toolset_guide.xml:332
-#, no-c-format
+#: index.docbook:332
msgid ""
"<![CDATA[Configuration cfg = ....;\n"
"new SchemaExport(cfg).create(false, true);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaExport(cfg).create(false, true);]]>"
-#. Tag: title
-#: toolset_guide.xml:337
-#, no-c-format
+#: index.docbook:337
msgid "Properties"
msgstr "Propiedades"
-#. Tag: para
-#: toolset_guide.xml:339
-#, no-c-format
+#: index.docbook:339
msgid "Database properties may be specified"
msgstr "Las propiedades de base de datos pueden especificarse"
-#. Tag: para
-#: toolset_guide.xml:345
-#, no-c-format
+#: index.docbook:345
msgid ""
"as system properties with <literal>-D</literal><emphasis><property></"
"emphasis>"
@@ -837,115 +677,79 @@
"como propiedades de sistema con <literal>-D</literal><emphasis><"
"property></emphasis>"
-#. Tag: para
-#: toolset_guide.xml:348
-#, no-c-format
+#: index.docbook:348
msgid "in <literal>hibernate.properties</literal>"
msgstr "en <literal>hibernate.properties</literal>"
-#. Tag: para
-#: toolset_guide.xml:351
-#, no-c-format
+#: index.docbook:351
msgid "in a named properties file with <literal>--properties</literal>"
msgstr ""
"en un fichero de propiedades mencionado con <literal>--properties</literal>"
-#. Tag: para
-#: toolset_guide.xml:355
-#, no-c-format
+#: index.docbook:355
msgid "The needed properties are:"
msgstr "Las propiedades necesarias son:"
-#. Tag: title
-#: toolset_guide.xml:360
-#, no-c-format
+#: index.docbook:360
msgid "SchemaExport Connection Properties"
-msgstr "Propiedades de Conexión de SchemaExport"
+msgstr "Propiedades de Conexión de SchemaExport"
-#. Tag: entry
-#: toolset_guide.xml:366
-#, no-c-format
+#: index.docbook:366
msgid "Property Name"
msgstr "Nombre de Propiedad"
-#. Tag: literal
-#: toolset_guide.xml:372
-#, no-c-format
+#: index.docbook:372
msgid "hibernate.connection.driver_class"
msgstr "hibernate.connection.driver_class"
-#. Tag: entry
-#: toolset_guide.xml:373
-#, no-c-format
+#: index.docbook:373
msgid "jdbc driver class"
msgstr "clase del driver jdbc"
-#. Tag: literal
-#: toolset_guide.xml:376
-#, no-c-format
+#: index.docbook:376
msgid "hibernate.connection.url"
msgstr "hibernate.connection.url"
-#. Tag: entry
-#: toolset_guide.xml:377
-#, no-c-format
+#: index.docbook:377
msgid "jdbc url"
msgstr "url de jdbc"
-#. Tag: literal
-#: toolset_guide.xml:380
-#, no-c-format
+#: index.docbook:380
msgid "hibernate.connection.username"
msgstr "hibernate.connection.username"
-#. Tag: entry
-#: toolset_guide.xml:381
-#, no-c-format
+#: index.docbook:381
msgid "database user"
msgstr "usuario de base de datos"
-#. Tag: literal
-#: toolset_guide.xml:384
-#, no-c-format
+#: index.docbook:384
msgid "hibernate.connection.password"
msgstr "hibernate.connection.password"
-#. Tag: entry
-#: toolset_guide.xml:385
-#, no-c-format
+#: index.docbook:385
msgid "user password"
-msgstr "contraseña de usuario"
+msgstr "contraseña de usuario"
-#. Tag: literal
-#: toolset_guide.xml:388
-#, no-c-format
+#: index.docbook:388
msgid "hibernate.dialect"
msgstr "hibernate.dialect"
-#. Tag: entry
-#: toolset_guide.xml:389
-#, no-c-format
+#: index.docbook:389
msgid "dialect"
msgstr "dialecto"
-#. Tag: title
-#: toolset_guide.xml:398
-#, no-c-format
+#: index.docbook:398
msgid "Using Ant"
msgstr "Usando Ant"
-#. Tag: para
-#: toolset_guide.xml:400
-#, no-c-format
+#: index.docbook:400
msgid ""
"You can call <literal>SchemaExport</literal> from your Ant build script:"
msgstr ""
-"Puedes llamar a <literal>SchemaExport</literal> desde tu guión de "
-"construcción de Ant:"
+"Puedes llamar a <literal>SchemaExport</literal> desde tu guión de "
+"construcción de Ant:"
-#. Tag: programlisting
-#: toolset_guide.xml:404
-#, no-c-format
+#: index.docbook:404
msgid ""
"<![CDATA[<target name=\"schemaexport\">\n"
" <taskdef name=\"schemaexport\"\n"
@@ -965,83 +769,86 @@
" </schemaexport>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"schemaexport\">\n"
+" <taskdef name=\"schemaexport\"\n"
+" classname=\"org.hibernate.tool.hbm2ddl.SchemaExportTask\"\n"
+" classpathref=\"class.path\"/>\n"
+" \n"
+" <schemaexport\n"
+" properties=\"hibernate.properties\"\n"
+" quiet=\"no\"\n"
+" text=\"no\"\n"
+" drop=\"no\"\n"
+" delimiter=\";\"\n"
+" output=\"schema-export.sql\">\n"
+" <fileset dir=\"src\">\n"
+" <include name=\"**/*.hbm.xml\"/>\n"
+" </fileset>\n"
+" </schemaexport>\n"
+"</target>]]>"
-#. Tag: title
-#: toolset_guide.xml:409
-#, no-c-format
+#: index.docbook:409
msgid "Incremental schema updates"
msgstr "Actualizaciones incrementales de esquema"
-#. Tag: para
-#: toolset_guide.xml:411
-#, no-c-format
+#: index.docbook:411
msgid ""
"The <literal>SchemaUpdate</literal> tool will update an existing schema with "
"\"incremental\" changes. Note that <literal>SchemaUpdate</literal> depends "
"heavily upon the JDBC metadata API, so it will not work with all JDBC "
"drivers."
msgstr ""
-"La herramienta <literal>SchemaUpdate</literal> actualizará un esquema "
+"La herramienta <literal>SchemaUpdate</literal> actualizará un esquema "
"existente con cambios \"incrementales\". Nota que <literal>SchemaUpdate</"
"literal> depende fuertemente de la API de metadatos de JDBC, de modo que no "
-"funcionará con todos los drivers JDBC."
+"funcionará con todos los drivers JDBC."
-#. Tag: para
-#: toolset_guide.xml:417
-#, no-c-format
+#: index.docbook:417
msgid ""
"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
"<literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> <emphasis>options "
"mapping_files</emphasis>"
msgstr ""
+"<literal>java -cp </literal><emphasis>classpaths_de_hibernate</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaUpdate</literal> "
+"<emphasis>opciones ficheros_de_mapeo</emphasis>"
-#. Tag: title
-#: toolset_guide.xml:423
-#, no-c-format
+#: index.docbook:423
msgid "<literal>SchemaUpdate</literal> Command Line Options"
-msgstr "Opciones de Línea de Comandos de <literal>SchemaUpdate</literal>"
+msgstr ""
+"Opciones de Línea de Comandos de <literal>SchemaUpdate</literal>"
-#. Tag: entry
-#: toolset_guide.xml:440
-#, no-c-format
+#: index.docbook:440
msgid "don't export the script to the database"
msgstr "don't export the script to the database"
-#. Tag: entry
-#: toolset_guide.xml:452 toolset_guide.xml:513
-#, fuzzy, no-c-format
+#: index.docbook:452, index.docbook:513
msgid "specify a <literal>.cfg.xml</literal> file"
-msgstr "specify a <placeholder-1/> file"
+msgstr "specify a <literal>.cfg.xml</literal> file"
-#. Tag: para
-#: toolset_guide.xml:458
-#, no-c-format
+#: index.docbook:458
msgid "You may embed <literal>SchemaUpdate</literal> in your application:"
-msgstr "Puedes encajar <literal>SchemaUpdate</literal> en tu aplicación:"
+msgstr ""
+"Puedes encajar <literal>SchemaUpdate</literal> en tu aplicación:"
-#. Tag: programlisting
-#: toolset_guide.xml:462
-#, no-c-format
+#: index.docbook:462
msgid ""
"<![CDATA[Configuration cfg = ....;\n"
"new SchemaUpdate(cfg).execute(false);]]>"
msgstr ""
+"<![CDATA[Configuration cfg = ....;\n"
+"new SchemaUpdate(cfg).execute(false);]]>"
-#. Tag: title
-#: toolset_guide.xml:467
-#, no-c-format
+#: index.docbook:467
msgid "Using Ant for incremental schema updates"
msgstr "Usando Ant para actualizaciones incrementales de esquema"
-#. Tag: para
-#: toolset_guide.xml:469
-#, no-c-format
+#: index.docbook:469
msgid "You can call <literal>SchemaUpdate</literal> from the Ant script:"
-msgstr "Puedes llamar a <literal>SchemaUpdate</literal> desde el guión de Ant:"
+msgstr ""
+"Puedes llamar a <literal>SchemaUpdate</literal> desde el guión de Ant:"
-#. Tag: programlisting
-#: toolset_guide.xml:473
-#, no-c-format
+#: index.docbook:473
msgid ""
"<![CDATA[<target name=\"schemaupdate\">\n"
" <taskdef name=\"schemaupdate\"\n"
@@ -1057,16 +864,25 @@
" </schemaupdate>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"schemaupdate\">\n"
+" <taskdef name=\"schemaupdate\"\n"
+" classname=\"org.hibernate.tool.hbm2ddl.SchemaUpdateTask\"\n"
+" classpathref=\"class.path\"/>\n"
+" \n"
+" <schemaupdate\n"
+" properties=\"hibernate.properties\"\n"
+" quiet=\"no\">\n"
+" <fileset dir=\"src\">\n"
+" <include name=\"**/*.hbm.xml\"/>\n"
+" </fileset>\n"
+" </schemaupdate>\n"
+"</target>]]>"
-#. Tag: title
-#: toolset_guide.xml:478
-#, no-c-format
+#: index.docbook:478
msgid "Schema validation"
-msgstr "translator-credits"
+msgstr "Schema validation"
-#. Tag: para
-#: toolset_guide.xml:480
-#, no-c-format
+#: index.docbook:480
msgid ""
"The <literal>SchemaValidator</literal> tool will validate that the existing "
"database schema \"matches\" your mapping documents. Note that "
@@ -1074,51 +890,48 @@
"API, so it will not work with all JDBC drivers. This tool is extremely "
"useful for testing."
msgstr ""
+"The <literal>SchemaValidator</literal> tool will validate that the existing "
+"database schema \"matches\" your mapping documents. Note that "
+"<literal>SchemaValidator</literal> depends heavily upon the JDBC metadata "
+"API, so it will not work with all JDBC drivers. This tool is extremely "
+"useful for testing."
-#. Tag: para
-#: toolset_guide.xml:486
-#, no-c-format
+#: index.docbook:486
msgid ""
"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
"<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
"<emphasis>options mapping_files</emphasis>"
msgstr ""
+"<literal>java -cp </literal><emphasis>hibernate_classpaths</emphasis> "
+"<literal>org.hibernate.tool.hbm2ddl.SchemaValidator</literal> "
+"<emphasis>options mapping_files</emphasis>"
-#. Tag: title
-#: toolset_guide.xml:492
-#, no-c-format
+#: index.docbook:492
msgid "<literal>SchemaValidator</literal> Command Line Options"
-msgstr ""
+msgstr "<literal>SchemaValidator</literal> Command Line Options"
-#. Tag: para
-#: toolset_guide.xml:519
-#, no-c-format
+#: index.docbook:519
msgid "You may embed <literal>SchemaValidator</literal> in your application:"
-msgstr ""
+msgstr "You may embed <literal>SchemaValidator</literal> in your application:"
-#. Tag: programlisting
-#: toolset_guide.xml:523
-#, no-c-format
+#: index.docbook:523
msgid ""
"<![CDATA[Configuration cfg = ....;\n"
"new SchemaValidator(cfg).validate();]]>"
msgstr ""
+"<![CDATA[Configuration cfg = ....;\n"
+" new SchemaValidator"
+"(cfg).validate();]]>"
-#. Tag: title
-#: toolset_guide.xml:528
-#, no-c-format
+#: index.docbook:528
msgid "Using Ant for schema validation"
-msgstr ""
+msgstr "Using Ant for schema validation"
-#. Tag: para
-#: toolset_guide.xml:530
-#, no-c-format
+#: index.docbook:530
msgid "You can call <literal>SchemaValidator</literal> from the Ant script:"
-msgstr ""
+msgstr "You can call <literal>SchemaValidator</literal> from the Ant script:"
-#. Tag: programlisting
-#: toolset_guide.xml:534
-#, no-c-format
+#: index.docbook:534
msgid ""
"<![CDATA[<target name=\"schemavalidate\">\n"
" <taskdef name=\"schemavalidator\"\n"
@@ -1133,48 +946,24 @@
" </schemavalidator>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"schemavalidate\">\n"
+" <taskdef name=\"schemavalidator\"\n"
+" classname=\"org.hibernate.tool."
+"hbm2ddl.SchemaValidatorTask\"\n"
+" classpathref=\"class.path\"/>\n"
+" \n"
+" <schemavalidator\n"
+" properties=\"hibernate."
+"properties\">\n"
+" <fileset dir=\"src\">\n"
+" <include name=\"**/*.hbm.xml"
+"\"/>\n"
+" </fileset>\n"
+" </schemavalidator>\n"
+" </target>]]>"
-#~ msgid "<one-to-one>"
-#~ msgstr "<one-to-one>"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-#~ msgid "<many-to-one>"
-#~ msgstr "<many-to-one>"
-
-#~ msgid "<key>"
-#~ msgstr "<key>"
-
-#~ msgid "<many-to-many>"
-#~ msgstr "<many-to-many>"
-
-#~ msgid "inverse=\"true\""
-#~ msgstr "inverse=\"true\""
-
-#~ msgid "SchemaExport"
-#~ msgstr "SchemaExport"
-
-#~ msgid "<column>"
-#~ msgstr "<column>"
-
-#~ msgid "java -cp"
-#~ msgstr "java -cp"
-
-#~ msgid "hibernate_classpaths"
-#~ msgstr "classpaths_de_hibernate"
-
-#~ msgid "org.hibernate.tool.hbm2ddl.SchemaExport"
-#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaExport"
-
-#~ msgid "options mapping_files"
-#~ msgstr "opciones ficheros_de_mapeo"
-
-#~ msgid "NamingStrategy"
-#~ msgstr "NamingStrategy"
-
-#~ msgid "select a <placeholder-1/>"
-#~ msgstr "select a <placeholder-1/>"
-
-#~ msgid "org.hibernate.tool.hbm2ddl.SchemaUpdate"
-#~ msgstr "org.hibernate.tool.hbm2ddl.SchemaUpdate"
-
-#~ msgid ".cfg.xml"
-#~ msgstr ".cfg.xml"
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/tutorial.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,55 +1,41 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:48+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: tutorial.xml:7
-#, no-c-format
+#: index.docbook:7
msgid "Introduction to Hibernate"
-msgstr "Introducción a Hibernate"
+msgstr "Introducción a Hibernate"
-#. Tag: title
-#: tutorial.xml:10
-#, no-c-format
+#: index.docbook:10
msgid "Preface"
msgstr "Prefacio"
-#. Tag: para
-#: tutorial.xml:12
-#, no-c-format
+#: index.docbook:12
msgid ""
"This chapter is an introductory tutorial for new users of Hibernate. We "
"start with a simple command line application using an in-memory database and "
"develop it in easy to understand steps."
msgstr ""
-"Este capítulo es un tutorial introductorio de Hibernate. Comenzamos con una "
-"aplicación simple de línea de comandos usando un base de datos en-memoria y "
-"desarrollándola en fácil para entender los pasos."
+"Este capítulo es un tutorial introductorio de Hibernate. Comenzamos "
+"con una aplicación simple de línea de comandos usando un base "
+"de datos en-memoria y desarrollándola en fácil para entender "
+"los pasos."
-#. Tag: para
-#: tutorial.xml:18
-#, no-c-format
+#: index.docbook:18
msgid ""
"This tutorial is intended for new users of Hibernate but requires Java and "
"SQL knowledge. It is based on a tutorial by Michael Gloegl, the third-party "
"libraries we name are for JDK 1.4 and 5.0. You might need others for JDK 1.3."
msgstr ""
-"Este tutorial está concebido para usuarios nuevos de Hibernate pero requiere "
-"conocimiento en Java y SQL. Está basado en un tutorial de Michael Gloegl. "
-"Las bibliotecas de terceros que mencionamos son para JDK 1.4 y 5.0. Podrías "
-"necesitar otras para JDK 1.3."
+"Este tutorial está concebido para usuarios nuevos de Hibernate pero "
+"requiere conocimiento en Java y SQL. Está basado en un tutorial de "
+"Michael Gloegl. Las bibliotecas de terceros que mencionamos son para JDK 1.4 "
+"y 5.0. Podrías necesitar otras para JDK 1.3."
-#. Tag: para
-#: tutorial.xml:24
-#, no-c-format
+#: index.docbook:24
msgid ""
"The source code for the tutorial is included in the distribution in the "
"<literal>doc/reference/tutorial/</literal> directory."
@@ -57,37 +43,29 @@
"UNTRANSLATED!!! The source code for the tutorial is included in the "
"distribution in the <literal>doc/reference/tutorial/</literal> directory."
-#. Tag: title
-#: tutorial.xml:32
-#, no-c-format
+#: index.docbook:32
msgid "Part 1 - The first Hibernate Application"
-msgstr "Parte 1 - La primera Aplicación Hibernate"
+msgstr "Parte 1 - La primera Aplicación Hibernate"
-#. Tag: para
-#: tutorial.xml:34
-#, no-c-format
+#: index.docbook:34
msgid ""
"First, we'll create a simple console-based Hibernate application. We use an "
"Java database (HSQL DB), so we do not have to install any database server."
msgstr ""
-"Primero, crearemos una aplicación simple de Hibenate basada en consola. "
-"Usamos usamos una base de datos en-memoria (HSQL DB), de modo que no "
-"necesitamos instalar ningún servidor de base de datos."
+"Primero, crearemos una aplicación simple de Hibenate basada en "
+"consola. Usamos usamos una base de datos en-memoria (HSQL DB), de modo que "
+"no necesitamos instalar ningún servidor de base de datos."
-#. Tag: para
-#: tutorial.xml:39
-#, no-c-format
+#: index.docbook:39
msgid ""
"Let's assume we need a small database application that can store events we "
"want to attend, and information about the hosts of these events."
msgstr ""
-"Asumamos que necesitamos una aplicación pequeña de base de datos que pueda "
-"almacenar eventos que queremos atender, e información acerca de los hostales "
-"de estos eventos."
+"Asumamos que necesitamos una aplicación pequeña de base de "
+"datos que pueda almacenar eventos que queremos atender, e información "
+"acerca de los hostales de estos eventos."
-#. Tag: para
-#: tutorial.xml:44
-#, no-c-format
+#: index.docbook:44
msgid ""
"The first thing we do, is set up our development directory and put all the "
"Java libraries we need into it. Download the Hibernate distribution from the "
@@ -97,15 +75,13 @@
"this:"
msgstr ""
"La primera cosa que hacemos, es armar nuestro directorio de desarrollo y "
-"poner en él todas las bibliotecas Java que necesitamos. Descarga la "
-"distribución de Hibernate del sitio web de Hibernate. Extrae el paquete y "
-"coloca todas las bibliotecas requeridas encontradas en <literal>/lib</"
-"literal> dentro del directorio <literal>/lib</literal> de nuestro nuevo "
+"poner en él todas las bibliotecas Java que necesitamos. Descarga la "
+"distribución de Hibernate del sitio web de Hibernate. Extrae el "
+"paquete y coloca todas las bibliotecas requeridas encontradas en <literal>/"
+"lib</literal> dentro del directorio <literal>/lib</literal> de nuestro nuevo "
"directorio de desarrollo de trabajo. Debe asemejarse a esto:"
-#. Tag: programlisting
-#: tutorial.xml:52
-#, no-c-format
+#: index.docbook:52
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -120,10 +96,21 @@
" dom4j.jar\n"
" log4j.jar ]]>"
msgstr ""
+"<![CDATA[.\n"
+"+lib\n"
+" antlr.jar\n"
+" cglib-full.jar\n"
+" asm.jar\n"
+" asm-attrs.jars\n"
+" commons-collections.jar\n"
+" commons-logging.jar\n"
+" ehcache.jar\n"
+" hibernate3.jar\n"
+" jta.jar\n"
+" dom4j.jar\n"
+" log4j.jar ]]>"
-#. Tag: para
-#: tutorial.xml:54
-#, no-c-format
+#: index.docbook:54
msgid ""
"This is the minimum set of required libraries (note that we also copied "
"hibernate3.jar, the main archive) for Hibernate <emphasis>at the time of "
@@ -133,16 +120,15 @@
"information about required and optional third-party libraries. (Actually, "
"Log4j is not required but preferred by many developers.)"
msgstr ""
-"Este es el conjunto mínimo de bibliotecas requeridas para Hibernate (observa "
-"que también hemos copiado hibernate3.jar, el fichero principal). Ver el "
-"fichero <literal>README.txt</literal> en el directorio <literal>lib/</"
-"literal> de la distribución de Hibernate para más información sobre "
-"bibliotecas de terceros requeridas y opcionales. (Realmente, Log4J no es "
-"requerida aunque preferida por muchos desarrolladores)."
+"Este es el conjunto mínimo de bibliotecas requeridas para Hibernate "
+"(observa que también hemos copiado hibernate3.jar, el fichero "
+"principal). Ver el fichero <literal>README.txt</literal> en el directorio "
+"<literal>lib/</literal> de la distribución de Hibernate para má"
+"s información sobre bibliotecas de terceros requeridas y opcionales. "
+"(Realmente, Log4J no es requerida aunque preferida por muchos "
+"desarrolladores)."
-#. Tag: para
-#: tutorial.xml:63
-#, no-c-format
+#: index.docbook:63
msgid ""
"Next we create a class that represents the event we want to store in "
"database."
@@ -150,24 +136,18 @@
"Por siguiente, creamos una clase que represente el evento que queremos "
"almacenar en base de datos."
-#. Tag: title
-#: tutorial.xml:68
-#, no-c-format
+#: index.docbook:68
msgid "The first class"
msgstr "La primera clase"
-#. Tag: para
-#: tutorial.xml:70
-#, no-c-format
+#: index.docbook:70
msgid ""
"Our first persistent class is a simple JavaBean class with some properties:"
msgstr ""
"Nuestra primera clase persistente es un JavaBean simple con algunas "
"propiedades:"
-#. Tag: programlisting
-#: tutorial.xml:74
-#, no-c-format
+#: index.docbook:74
msgid ""
"<![CDATA[package events;\n"
"\n"
@@ -206,10 +186,42 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[import java.util.Date;\n"
+"\n"
+"public class Event {\n"
+" private Long id;\n"
+"\n"
+" private String title;\n"
+" private Date date;\n"
+"\n"
+" Event() {}\n"
+"\n"
+" public Long getId() {\n"
+" return id;\n"
+" }\n"
+"\n"
+" private void setId(Long id) {\n"
+" this.id = id;\n"
+" }\n"
+"\n"
+" public Date getDate() {\n"
+" return date;\n"
+" }\n"
+"\n"
+" public void setDate(Date date) {\n"
+" this.date = date;\n"
+" }\n"
+"\n"
+" public String getTitle() {\n"
+" return title;\n"
+" }\n"
+"\n"
+" public void setTitle(String title) {\n"
+" this.title = title;\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:76
-#, no-c-format
+#: index.docbook:76
msgid ""
"You can see that this class uses standard JavaBean naming conventions for "
"property getter and setter methods, as well as private visibility for the "
@@ -218,15 +230,14 @@
"refactoring. The no-argument constructor is required to instantiate an "
"object of this class through reflection."
msgstr ""
-"Puedes ver que esta clase usa las convenciones de nombrado estándar de "
-"JavaBean para métodos getter y setter de propiedad, así como visibilidad "
-"privada para los campos. Esto es un diseño recomendado, aunque no requerido. "
-"Hibernate también puede acceder a los campos directamente; el beneficio de "
-"los métodos de acceso es la robustez para la refactorización."
+"Puedes ver que esta clase usa las convenciones de nombrado estándar "
+"de JavaBean para métodos getter y setter de propiedad, así "
+"como visibilidad privada para los campos. Esto es un diseño "
+"recomendado, aunque no requerido. Hibernate también puede acceder a "
+"los campos directamente; el beneficio de los métodos de acceso es la "
+"robustez para la refactorización."
-#. Tag: para
-#: tutorial.xml:84
-#, no-c-format
+#: index.docbook:84
msgid ""
"The <literal>id</literal> property holds a unique identifier value for a "
"particular event. All persistent entity classes (there are less important "
@@ -240,23 +251,23 @@
"methods, as well as (public, private, protected) fields directly. The choice "
"is up to you and you can match it to fit your application design."
msgstr ""
-"La propiedad <literal>id</literal> tiene un valor único de identificador "
-"para un evento en particular. Todas las clase de entidad persistentes "
-"( también hay clases dependientes menos importantes) necesitarán una "
-"propiedad identificadora similar si queremos usar el conjunto completo de "
-"funcionalidades de Hibernate. De hecho, la mayoría de las aplicaciones (esp. "
-"aplicaciones web) necesitan distinguir objetos por identificador, de modo "
-"que debes considerar esto como un aspecto en vez de una limitación. Sin "
-"embargo, usualmente no manipulamos la identidad de un objeto, por lo tanto "
-"el método setter debe ser privado. Sólo Hibernate asignará identificadores "
-"cuando un objeto sea salvado. Puedes ver que Hibernate puede acceder a "
-"métodos de acceso públicos, privados y protegidos, tanto como directamente a "
-"campos (públicos, privados y protegidos). La elección está en ti, y puedes "
-"ajustarla a tu diseño de aplicación."
+"La propiedad <literal>id</literal> tiene un valor único de "
+"identificador para un evento en particular. Todas las clase de entidad "
+"persistentes ( también hay clases dependientes menos importantes) "
+"necesitarán una propiedad identificadora similar si queremos usar el "
+"conjunto completo de funcionalidades de Hibernate. De hecho, la mayorí"
+"a de las aplicaciones (esp. aplicaciones web) necesitan distinguir objetos "
+"por identificador, de modo que debes considerar esto como un aspecto en vez "
+"de una limitación. Sin embargo, usualmente no manipulamos la "
+"identidad de un objeto, por lo tanto el método setter debe ser "
+"privado. Sólo Hibernate asignará identificadores cuando un "
+"objeto sea salvado. Puedes ver que Hibernate puede acceder a métodos "
+"de acceso públicos, privados y protegidos, tanto como directamente a "
+"campos (públicos, privados y protegidos). La elección "
+"está en ti, y puedes ajustarla a tu diseño de aplicació"
+"n."
-#. Tag: para
-#: tutorial.xml:96
-#, no-c-format
+#: index.docbook:96
msgid ""
"The no-argument constructor is a requirement for all persistent classes; "
"Hibernate has to create objects for you, using Java Reflection. The "
@@ -265,26 +276,23 @@
"instrumentation."
msgstr ""
"El constructor sin argumentos es un requerimiento para todas las clases "
-"persistentes. Hibernate tiene que crear objetos para ti, usando reflección "
-"Java. El constructor puede ser privado, sin embargo, la visibilidad de "
-"paquete es requerida para la generación de proxies en tiempo de ejecución y "
-"la recuperación de datos sin instrumentación del bytecode."
+"persistentes. Hibernate tiene que crear objetos para ti, usando "
+"reflección Java. El constructor puede ser privado, sin embargo, la "
+"visibilidad de paquete es requerida para la generación de proxies en "
+"tiempo de ejecución y la recuperación de datos sin "
+"instrumentación del bytecode."
-#. Tag: para
-#: tutorial.xml:103
-#, no-c-format
+#: index.docbook:103
msgid ""
"Place this Java source file in a directory called <literal>src</literal> in "
"the development folder, and in its correct package. The directory should now "
"look like this:"
msgstr ""
-"Coloca este fichero de código Java en un directorio llamado <literal>src</"
-"literal> en la carpeta de desarrollo. El directorio ahora debe verse como "
-"esto:"
+"Coloca este fichero de código Java en un directorio llamado "
+"<literal>src</literal> en la carpeta de desarrollo. El directorio ahora debe "
+"verse como esto:"
-#. Tag: programlisting
-#: tutorial.xml:108
-#, no-c-format
+#: index.docbook:108
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -293,43 +301,39 @@
" +events\n"
" Event.java]]>"
msgstr ""
+"<![CDATA[.\n"
+"+lib\n"
+" <Hibernate and third-party libraries>\n"
+"+src\n"
+" Event.java]]>"
-#. Tag: para
-#: tutorial.xml:110
-#, no-c-format
+#: index.docbook:110
msgid "In the next step, we tell Hibernate about this persistent class."
msgstr ""
-"En el próximo paso, le decimos a Hibernate sobre esta clase persistente."
+"En el próximo paso, le decimos a Hibernate sobre esta clase "
+"persistente."
-#. Tag: title
-#: tutorial.xml:117
-#, no-c-format
+#: index.docbook:117
msgid "The mapping file"
msgstr "El fichero de mapeo"
-#. Tag: para
-#: tutorial.xml:119
-#, no-c-format
+#: index.docbook:119
msgid ""
"Hibernate needs to know how to load and store objects of the persistent "
"class. This is where the Hibernate mapping file comes into play. The mapping "
"file tells Hibernate what table in the database it has to access, and what "
"columns in that table it should use."
msgstr ""
-"Hibernate necesita saber cómo cargar y almacenar objetos de la clase "
-"persistente. Aquí es donde el fichero de mapeo de Hibernate entra en juego. "
-"El fichero de mapeo le dice a Hibernate a qué tabla en la base de datos "
-"tiene que acceder, y qué columnas en esta tabla debe usar."
+"Hibernate necesita saber cómo cargar y almacenar objetos de la clase "
+"persistente. Aquí es donde el fichero de mapeo de Hibernate entra en "
+"juego. El fichero de mapeo le dice a Hibernate a qué tabla en la base "
+"de datos tiene que acceder, y qué columnas en esta tabla debe usar."
-#. Tag: para
-#: tutorial.xml:126
-#, no-c-format
+#: index.docbook:126
msgid "The basic structure of a mapping file looks like this:"
-msgstr "La estructura básica de un fichero de mapeo se parece a esto:"
+msgstr "La estructura básica de un fichero de mapeo se parece a esto:"
-#. Tag: programlisting
-#: tutorial.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"<![CDATA[<?xml version=\"1.0\"?>\n"
"<!DOCTYPE hibernate-mapping PUBLIC\n"
@@ -340,10 +344,16 @@
"[...]\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\"?>\n"
+"<!DOCTYPE hibernate-mapping PUBLIC\n"
+" \"-//Hibernate/Hibernate Mapping DTD 3.0//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd\">\n"
+"\n"
+"<hibernate-mapping>\n"
+"[...]\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:132
-#, no-c-format
+#: index.docbook:132
msgid ""
"Note that the Hibernate DTD is very sophisticated. You can use it for auto-"
"completion of XML mapping elements and attributes in your editor or IDE. You "
@@ -355,28 +365,25 @@
"the <literal>src/</literal> directory of the Hibernate distribution."
msgstr ""
"Observa que el DTD de Hibernate es muy sofisticado. Puedes usarlo para "
-"autocompleción de los elementos y atributos XML de mapeo en tu editor o IDE. "
-"Debes también abrir el fichero DTD en tu editor de texto. Es la forma más "
-"fácil para tener un panorama de todos los elementos y atributos y ver los "
-"valores por defectos, así como algunos comentarios. Nota que Hibernate no "
-"cargará el fichero DTD de la web, sino que primero buscará en el classpath "
-"de la aplicación. El fichero DTD está incluído en <literal>hibernate3.jar</"
-"literal> así como también en el directorio <literal>src/</literal> de la "
-"distribución de Hibernate."
+"autocompleción de los elementos y atributos XML de mapeo en tu editor "
+"o IDE. Debes también abrir el fichero DTD en tu editor de texto. Es "
+"la forma más fácil para tener un panorama de todos los "
+"elementos y atributos y ver los valores por defectos, así como "
+"algunos comentarios. Nota que Hibernate no cargará el fichero DTD de "
+"la web, sino que primero buscará en el classpath de la "
+"aplicación. El fichero DTD está incluído en "
+"<literal>hibernate3.jar</literal> así como también en el "
+"directorio <literal>src/</literal> de la distribución de Hibernate."
-#. Tag: para
-#: tutorial.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"We will omit the DTD declaration in future examples to shorten the code. It "
"is of course not optional."
msgstr ""
-"Omitiremos la declaración de DTD en futuros ejemplos para acortar el código. "
-"Por supuesto, no es opcional."
+"Omitiremos la declaración de DTD en futuros ejemplos para acortar el "
+"código. Por supuesto, no es opcional."
-#. Tag: para
-#: tutorial.xml:148
-#, no-c-format
+#: index.docbook:148
msgid ""
"Between the two <literal>hibernate-mapping</literal> tags, include a "
"<literal>class</literal> element. All persistent entity classes (again, "
@@ -385,13 +392,11 @@
msgstr ""
"Entre las dos etiquetas <literal>hibernate-mapping</literal>, incluye un "
"elemento <literal>class</literal>. Todas las clases de entidad persistentes "
-"(de nuevo, podría haber más adelante clases dependientes, que no sean "
-"entidades de-primera-clase) necesitan dicho mapeo a una tabla en la base de "
-"datos SQL:"
+"(de nuevo, podría haber más adelante clases dependientes, que "
+"no sean entidades de-primera-clase) necesitan dicho mapeo a una tabla en la "
+"base de datos SQL:"
-#. Tag: programlisting
-#: tutorial.xml:155
-#, no-c-format
+#: index.docbook:155
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -401,10 +406,15 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Event\" table=\"EVENTS\">\n"
+"\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:157
-#, no-c-format
+#: index.docbook:157
msgid ""
"So far we told Hibernate how to persist and load object of class "
"<literal>Event</literal> to the table <literal>EVENTS</literal>, each "
@@ -414,17 +424,15 @@
"Hibernate's identifier generation strategy for a surrogate primary key "
"column:"
msgstr ""
-"Hasta ahora dijimos a Hibernate cómo persistir y cargar el objeto de clase "
-"<literal>Event</literal> a la tabla <literal>EVENTS</literal>, cada "
+"Hasta ahora dijimos a Hibernate cómo persistir y cargar el objeto de "
+"clase <literal>Event</literal> a la tabla <literal>EVENTS</literal>, cada "
"instancia representada por una fila en esta tabla. Ahora continuamos con un "
-"mapeo de la propiedad de identificado único a la clave primaria de la tabla. "
-"Además, como no queremos cuidar del manejo de este identificador, "
-"configuramos la estrategia de generación de identificadores para una columna "
-"clave primaria delegada:"
+"mapeo de la propiedad de identificado único a la clave primaria de la "
+"tabla. Además, como no queremos cuidar del manejo de este "
+"identificador, configuramos la estrategia de generación de "
+"identificadores para una columna clave primaria delegada:"
-#. Tag: programlisting
-#: tutorial.xml:165
-#, no-c-format
+#: index.docbook:165
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -436,10 +444,17 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Event\" table=\"EVENTS\">\n"
+" <id name=\"id\" column=\"EVENT_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:167
-#, no-c-format
+#: index.docbook:167
msgid ""
"The <literal>id</literal> element is the declaration of the identifer "
"property, <literal>name=\"id\"</literal> declares the name of the Java "
@@ -452,33 +467,31 @@
"supports database generated, globally unique, as well as application "
"assigned identifiers (or any strategy you have written an extension for)."
msgstr ""
-"El elemento <literal>id</literal> el la declaración de la propiedad "
+"El elemento <literal>id</literal> el la declaración de la propiedad "
"identificadora, <literal>name=\"id\"</literal> declara el nombre de la "
-"propiedad Java. Hibernate usará los métodos getter y setter para acceder a "
-"la propiedad. El attributo de columna dice a Hibernate cuál columna de la "
-"tabla <literal>EVENTS</literal> usamos para esta clave primaria. El elemento "
-"anidado <literal>generator</literal> especifica la estrategia de generación "
-"de identificadores, en este caso usamos <literal>increment</literal>, que es "
-"un método muy simple de incremento de número en-memoria útil mayormente para "
-"testeo (y tutoriales). Hibernate también soporta identificadores generados "
-"por base de datos, globalmente únicos, así como también asignados por "
-"aplicación (o cualquier estrategia para la que hayas escrito una extensión)."
+"propiedad Java. Hibernate usará los métodos getter y setter "
+"para acceder a la propiedad. El attributo de columna dice a Hibernate "
+"cuál columna de la tabla <literal>EVENTS</literal> usamos para esta "
+"clave primaria. El elemento anidado <literal>generator</literal> especifica "
+"la estrategia de generación de identificadores, en este caso usamos "
+"<literal>increment</literal>, que es un método muy simple de "
+"incremento de número en-memoria útil mayormente para testeo (y "
+"tutoriales). Hibernate también soporta identificadores generados por "
+"base de datos, globalmente únicos, así como también "
+"asignados por aplicación (o cualquier estrategia para la que hayas "
+"escrito una extensión)."
-#. Tag: para
-#: tutorial.xml:180
-#, no-c-format
+#: index.docbook:180
msgid ""
"Finally we include declarations for the persistent properties of the class "
"in the mapping file. By default, no properties of the class are considered "
"persistent:"
msgstr ""
-"Finalmente incluímos declaraciones para las propiedades persistentes de la "
-"clases en el fichero de mapeo. Por defecto, ninguna propiedad de la clase se "
-"considera persistente:"
+"Finalmente incluímos declaraciones para las propiedades persistentes "
+"de la clases en el fichero de mapeo. Por defecto, ninguna propiedad de la "
+"clase se considera persistente:"
-#. Tag: programlisting
-#: tutorial.xml:186
-#, no-c-format
+#: index.docbook:186
msgid ""
"<![CDATA[\n"
"<hibernate-mapping>\n"
@@ -493,10 +506,20 @@
"\n"
"</hibernate-mapping>]]>"
msgstr ""
+"<![CDATA[\n"
+"<hibernate-mapping>\n"
+"\n"
+" <class name=\"Event\" table=\"EVENTS\">\n"
+" <id name=\"id\" column=\"EVENT_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"date\" type=\"timestamp\" column=\"EVENT_DATE\"/>\n"
+" <property name=\"title\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: para
-#: tutorial.xml:188
-#, no-c-format
+#: index.docbook:188
msgid ""
"Just as with the <literal>id</literal> element, the <literal>name</literal> "
"attribute of the <literal>property</literal> element tells Hibernate which "
@@ -506,11 +529,9 @@
msgstr ""
"Al igual que con el elemento <literal>id</literal>, el atributo "
"<literal>name</literal> del elemento <literal>property</literal> dice a "
-"Hibernate cáles métodos getter y setter usar."
+"Hibernate cáles métodos getter y setter usar."
-#. Tag: para
-#: tutorial.xml:195
-#, no-c-format
+#: index.docbook:195
msgid ""
"Why does the <literal>date</literal> property mapping include the "
"<literal>column</literal> attribute, but the <literal>title</literal> "
@@ -519,17 +540,15 @@
"<literal>title</literal>. However, <literal>date</literal> is a reserved "
"keyword in most database, so we better map it to a different name."
msgstr ""
-"¿Por qué el mapeo de la propiedad <literal>date</literal> incluye el "
+"¿Por qué el mapeo de la propiedad <literal>date</literal> incluye el "
"atributo <literal>column</literal>, pero el de la de <literal>title</"
"literal> no? Sin el atributo <literal>column</literal> Hibernate usa por "
"defecto el nombre de propiedad como nombre de columna. Esto funciona bien "
"para <literal>title</literal>. Sin embargo, However, <literal>date</literal> "
-"es una palabra reservada en la mayoría de las bases de datos, así que mejor "
-"la mapeamos a un nombre diferente."
+"es una palabra reservada en la mayoría de las bases de datos, "
+"así que mejor la mapeamos a un nombre diferente."
-#. Tag: para
-#: tutorial.xml:204
-#, no-c-format
+#: index.docbook:204
msgid ""
"The next interesting thing is that the <literal>title</literal> mapping also "
"lacks a <literal>type</literal> attribute. The types we declare and use in "
@@ -547,25 +566,24 @@
"full date and time information by mapping the property with a "
"<literal>timestamp</literal> converter."
msgstr ""
-"La próxima cosa interesante es que el mapeo de <literal>title</literal> "
-"carece de un atributo <literal>type</literal>. Los tipos que declaramos y "
-"usamos en el fichero de mapeo no son, como podrías esperar, tipos de datos "
-"Java. Tampoco son tipos de base de datos SQL. Estos tipos son los llamados "
-"así <emphasis>Tipos de mapeo de Hibernate</emphasis>, convertidores que "
-"pueden traducir de tipos Java a SQL y vice versa. De nuevo, Hibernate "
-"intentará determinar la conversión y el mapeo mismo de tipo correctos si el "
-"atributo <literal>type</literal> no estuviese presente en el mapeo. En "
-"algunos casos esta detección automática (usando reflección en la clase Java) "
-"puede no tener lo que esperas o necesitas. Este es el caso de la propiedad "
-"<literal>date</literal>. Hibernate no puede saber is la propiedad mapeará a "
-"una columna <literal>date</literal>, <literal>timestamp</literal> o "
-"<literal>time</literal>. Declaramos que queremos preservar la información "
-"completa de fecha y hora mapeando la propiedad con un <literal>timestamp</"
-"literal>."
+"La próxima cosa interesante es que el mapeo de <literal>title</"
+"literal> carece de un atributo <literal>type</literal>. Los tipos que "
+"declaramos y usamos en el fichero de mapeo no son, como podrías "
+"esperar, tipos de datos Java. Tampoco son tipos de base de datos SQL. Estos "
+"tipos son los llamados así <emphasis>Tipos de mapeo de Hibernate</"
+"emphasis>, convertidores que pueden traducir de tipos Java a SQL y vice "
+"versa. De nuevo, Hibernate intentará determinar la conversión "
+"y el mapeo mismo de tipo correctos si el atributo <literal>type</literal> no "
+"estuviese presente en el mapeo. En algunos casos esta detección "
+"automática (usando reflección en la clase Java) puede no tener "
+"lo que esperas o necesitas. Este es el caso de la propiedad <literal>date</"
+"literal>. Hibernate no puede saber is la propiedad mapeará a una "
+"columna <literal>date</literal>, <literal>timestamp</literal> o "
+"<literal>time</literal>. Declaramos que queremos preservar la "
+"información completa de fecha y hora mapeando la propiedad con un "
+"<literal>timestamp</literal>."
-#. Tag: para
-#: tutorial.xml:220
-#, no-c-format
+#: index.docbook:220
msgid ""
"This mapping file should be saved as <literal>Event.hbm.xml</literal>, right "
"in the directory next to the <literal>Event</literal> Java class source "
@@ -574,15 +592,14 @@
"The directory structure should now look like this:"
msgstr ""
"Este fichero de mapeo debe ser salvado como <literal>Event.hbm.xml</"
-"literal>, justo en el directorio próximo al fichero de código fuente de la "
-"clase Java <literal>Event</literal>. El nombrado de los ficheros de mapeo "
-"puede ser arbitrario, sin embargo, el sufijo <literal>hbm.xml</literal> se "
-"ha vuelto una convención el la comunidad de desarrolladores de Hibernate. La "
-"estructura de directorio debe ahora verse como esto:"
+"literal>, justo en el directorio próximo al fichero de código "
+"fuente de la clase Java <literal>Event</literal>. El nombrado de los "
+"ficheros de mapeo puede ser arbitrario, sin embargo, el sufijo <literal>hbm."
+"xml</literal> se ha vuelto una convención el la comunidad de "
+"desarrolladores de Hibernate. La estructura de directorio debe ahora verse "
+"como esto:"
-#. Tag: programlisting
-#: tutorial.xml:228
-#, no-c-format
+#: index.docbook:228
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -592,22 +609,22 @@
" Event.java\n"
" Event.hbm.xml]]>"
msgstr ""
+"<![CDATA[.\n"
+"+lib\n"
+" <Hibernate and third-party libraries>\n"
+"+src\n"
+" Event.java\n"
+" Event.hbm.xml]]>"
-#. Tag: para
-#: tutorial.xml:230
-#, no-c-format
+#: index.docbook:230
msgid "We continue with the main configuration of Hibernate."
-msgstr "Continuamos con la configuración principal de Hibernate."
+msgstr "Continuamos con la configuración principal de Hibernate."
-#. Tag: title
-#: tutorial.xml:237
-#, no-c-format
+#: index.docbook:237
msgid "Hibernate configuration"
-msgstr "Configuración de Hibernate"
+msgstr "Configuración de Hibernate"
-#. Tag: para
-#: tutorial.xml:239
-#, no-c-format
+#: index.docbook:239
msgid ""
"We now have a persistent class and its mapping file in place. It is time to "
"configure Hibernate. Before we do this, we will need a database. HSQL DB, a "
@@ -619,13 +636,11 @@
"Tenemos ahora una clase persistente y su fichero de mapeo en su sitio. Es "
"momento de configurar Hibernate. Antes que hagamos esto, necesitaremos una "
"base de datos. HSQL DB, un DBMS SQL en-memoria basado en Java, puede ser "
-"descargado del sitio web de HSQL DB. Realmente, de esta descarga sólo "
+"descargado del sitio web de HSQL DB. Realmente, de esta descarga sólo "
"necesitas el <literal>hsqldb.jar</literal>. Coloca este fichero en el "
"directorio <literal>lib/</literal> de la carpeta de desarrollo."
-#. Tag: para
-#: tutorial.xml:247
-#, no-c-format
+#: index.docbook:247
msgid ""
"Create a directory called <literal>data</literal> in the root of the "
"development directory - this is where HSQL DB will store its data files. Now "
@@ -636,12 +651,11 @@
"HSQL DB (press <literal>CTRL + C</literal> in the window), delete all files "
"in the <literal>data/</literal> directory, and start HSQL DB again."
msgstr ""
-"Crea un directorio llamado <literal>data</literal> en la raíz del directorio "
-"de desarrollo. Allí es donde HSQL DB almacenará sus ficheros de datos."
+"Crea un directorio llamado <literal>data</literal> en la raíz del "
+"directorio de desarrollo. Allí es donde HSQL DB almacenará sus "
+"ficheros de datos."
-#. Tag: para
-#: tutorial.xml:257
-#, no-c-format
+#: index.docbook:257
msgid ""
"Hibernate is the layer in your application which connects to this database, "
"so it needs connection information. The connections are made through a JDBC "
@@ -652,34 +666,32 @@
"pooling settings if you want to use a production-quality third party JDBC "
"pooling software."
msgstr ""
-"Hibernate es la capa en tu aplicación que se conecta a esta base de datos, "
-"de modo que necesita información de conexión. Las conexiones se hacen a "
-"través de un pool de conexiones JDBC, que tambén tenemos que configurar. La "
-"distribución de Hibernate contiene muchas herramientas de pooling de "
-"conexiones JDBC de código abierto, pero para este tutorial usaremos el pool "
-"de conexiones prefabricado dentro de Hibernate. Observa que tienes que "
-"copiar la biblioteca requerida en tu classpath y usar diferentes "
-"configuraciones de pooling de conexiones si quieres usar un software de "
-"pooling JDBC de terceros de calidad de producción."
+"Hibernate es la capa en tu aplicación que se conecta a esta base de "
+"datos, de modo que necesita información de conexión. Las "
+"conexiones se hacen a través de un pool de conexiones JDBC, que "
+"tambén tenemos que configurar. La distribución de Hibernate "
+"contiene muchas herramientas de pooling de conexiones JDBC de código "
+"abierto, pero para este tutorial usaremos el pool de conexiones prefabricado "
+"dentro de Hibernate. Observa que tienes que copiar la biblioteca requerida "
+"en tu classpath y usar diferentes configuraciones de pooling de conexiones "
+"si quieres usar un software de pooling JDBC de terceros de calidad de "
+"producción."
-#. Tag: para
-#: tutorial.xml:267
-#, no-c-format
+#: index.docbook:267
msgid ""
"For Hibernate's configuration, we can use a simple <literal>hibernate."
"properties</literal> file, a slightly more sophisticated <literal>hibernate."
"cfg.xml</literal> file, or even complete programmatic setup. Most users "
"prefer the XML configuration file:"
msgstr ""
-"Para la configuración de Hibernate, podemos usar un fichero "
+"Para la configuración de Hibernate, podemos usar un fichero "
"<literal>hibernate.properties</literal> simple, un fichero "
-"<literal>hibernate.cfg.xml</literal> ligeramente más sofisticado, o incluso "
-"una configuración completamente programática. La mayoría de los usuarios "
-"prefieren el fichero de configuración XML:"
+"<literal>hibernate.cfg.xml</literal> ligeramente más sofisticado, o "
+"incluso una configuración completamente programática. La "
+"mayoría de los usuarios prefieren el fichero de configuración "
+"XML:"
-#. Tag: programlisting
-#: tutorial.xml:273
-#, no-c-format
+#: index.docbook:273
msgid ""
"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
"<!DOCTYPE hibernate-configuration PUBLIC\n"
@@ -725,10 +737,44 @@
"\n"
"</hibernate-configuration>]]>"
msgstr ""
+"<![CDATA[<?xml version='1.0' encoding='utf-8'?>\n"
+"<!DOCTYPE hibernate-configuration PUBLIC\n"
+" \"-//Hibernate/Hibernate Configuration DTD 3.0//EN\"\n"
+" \"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
+"\">\n"
+"\n"
+"<hibernate-configuration>\n"
+"\n"
+" <session-factory>\n"
+"\n"
+" <!-- Database connection settings -->\n"
+" <property name=\"connection.driver_class\">org.hsqldb.jdbcDriver</"
+"property>\n"
+" <property name=\"connection.url\">jdbc:hsqldb:data/tutorial</"
+"property>\n"
+" <property name=\"connection.username\">sa</property>\n"
+" <property name=\"connection.password\"></property>\n"
+"\n"
+" <!-- JDBC connection pool (use the built-in) -->\n"
+" <property name=\"connection.pool_size\">1</property>\n"
+"\n"
+" <!-- SQL dialect -->\n"
+" <property name=\"dialect\">org.hibernate.dialect.HSQLDialect</"
+"property>\n"
+"\n"
+" <!-- Echo all executed SQL to stdout -->\n"
+" <property name=\"show_sql\">true</property>\n"
+"\n"
+" <!-- Drop and re-create the database schema on startup -->\n"
+" <property name=\"hbm2ddl.auto\">create</property>\n"
+"\n"
+" <mapping resource=\"Event.hbm.xml\"/>\n"
+"\n"
+" </session-factory>\n"
+"\n"
+"</hibernate-configuration>]]>"
-#. Tag: para
-#: tutorial.xml:275
-#, no-c-format
+#: index.docbook:275
msgid ""
"Note that this XML configuration uses a different DTD. We configure "
"Hibernate's <literal>SessionFactory</literal> - a global factory responsible "
@@ -736,16 +782,14 @@
"<literal><session-factory></literal> configurations, usually in "
"several configuration files (for easier startup)."
msgstr ""
-"Observa que esta configuración XML usa un DTD diferente. Configuramos la "
-"<literal>SessionFactory</literal> de Hibernate, una fábrica global "
+"Observa que esta configuración XML usa un DTD diferente. Configuramos "
+"la <literal>SessionFactory</literal> de Hibernate, una fábrica global "
"responsable de una base de datos en particular. Si tienes varias bases de "
"datos, usa varias configuraciones <literal><session-factory></"
-"literal> , usualmente en varios ficheros de configuración (para un arranque "
-"más fácil)."
+"literal> , usualmente en varios ficheros de configuración (para un "
+"arranque más fácil)."
-#. Tag: para
-#: tutorial.xml:283
-#, no-c-format
+#: index.docbook:283
msgid ""
"The first four <literal>property</literal> elements contain the necessary "
"configuration for the JDBC connection. The dialect <literal>property</"
@@ -759,38 +803,32 @@
"classes to the configuration."
msgstr ""
"Los primeros cuatro elementos <literal>property</literal> contienen la "
-"configuración necesaria para la conexión JDBC. El elemento de dialecto "
-"<literal>property</literal> especifica la variante de SQL en particular que "
-"genera Hibernate. La opción <literal>hbm2ddl.auto</literal> activa la "
-"generación automática de esquemas de base de datos, directamente en la base "
-"de datos. Esto, por supuesto, puede desactivarse (quitando la opción config) "
-"o redirigido a un fichero con la ayuda de la tarea de Ant "
-"<literal>SchemaExport</literal>. Finalmente, agregamos el(los) fichero(s) de "
-"mapeo para clases persistentes."
+"configuración necesaria para la conexión JDBC. El elemento de "
+"dialecto <literal>property</literal> especifica la variante de SQL en "
+"particular que genera Hibernate. La opción <literal>hbm2ddl.auto</"
+"literal> activa la generación automática de esquemas de base "
+"de datos, directamente en la base de datos. Esto, por supuesto, puede "
+"desactivarse (quitando la opción config) o redirigido a un fichero "
+"con la ayuda de la tarea de Ant <literal>SchemaExport</literal>. Finalmente, "
+"agregamos el(los) fichero(s) de mapeo para clases persistentes."
-#. Tag: para
-#: tutorial.xml:296
-#, no-c-format
+#: index.docbook:296
msgid ""
"Copy this file into the source directory, so it will end up in the root of "
"the classpath. Hibernate automatically looks for a file called "
"<literal>hibernate.cfg.xml</literal> in the root of the classpath, on "
"startup."
msgstr ""
-"Copia este fichero dentro del directorio de código fuente, de modo que "
-"termine ubicado en la raiíz del classpath. Hibernate busca automáticamente "
-"un fichero llamado <literal>hibernate.cfg.xml</literal> en la raíz del "
-"classpath al arrancar."
+"Copia este fichero dentro del directorio de código fuente, de modo "
+"que termine ubicado en la raiíz del classpath. Hibernate busca "
+"automáticamente un fichero llamado <literal>hibernate.cfg.xml</"
+"literal> en la raíz del classpath al arrancar."
-#. Tag: title
-#: tutorial.xml:305
-#, no-c-format
+#: index.docbook:305
msgid "Building with Ant"
msgstr "Construyendo con Ant"
-#. Tag: para
-#: tutorial.xml:307
-#, no-c-format
+#: index.docbook:307
msgid ""
"We'll now build the tutorial with Ant. You will need to have Ant installed - "
"get it from the <ulink url=\"http://ant.apache.org/bindownload.cgi\">Ant "
@@ -800,23 +838,20 @@
"buildfile. It will be called <literal>build.xml</literal> and placed "
"directly in the development directory."
msgstr ""
-"Construiremos ahora el tutorial con Ant. Necesitarás tener Ant instalado. "
-"Obténlo de <ulink url=\"http://ant.apache.org/bindownload.cgi\">Página de "
-"descarga de Ant</ulink>. No se cubrirá aquí cómo instalar Ant. Por favor "
-"refiérete al <ulink url=\"http://ant.apache.org/manual/index.html\"> Manual "
-"de Ant</ulink>. Después que hayas instalado Ant, podemos comenzar a crear el "
-"buildfile. Será llamado <literal>build.xml</literal> y colocado directamente "
-"en el directorio de desarrollo."
+"Construiremos ahora el tutorial con Ant. Necesitarás tener Ant "
+"instalado. Obténlo de <ulink url=\"http://ant.apache.org/bindownload."
+"cgi\">Página de descarga de Ant</ulink>. No se cubrirá "
+"aquí cómo instalar Ant. Por favor refiérete al <ulink "
+"url=\"http://ant.apache.org/manual/index.html\"> Manual de Ant</ulink>. "
+"Después que hayas instalado Ant, podemos comenzar a crear el "
+"buildfile. Será llamado <literal>build.xml</literal> y colocado "
+"directamente en el directorio de desarrollo."
-#. Tag: para
-#: tutorial.xml:316
-#, no-c-format
+#: index.docbook:316
msgid "A basic build file looks like this:"
msgstr "Reparar Ant"
-#. Tag: programlisting
-#: tutorial.xml:320
-#, no-c-format
+#: index.docbook:320
msgid ""
"<![CDATA[<project name=\"hibernate-tutorial\" default=\"compile\">\n"
"\n"
@@ -851,26 +886,22 @@
"\n"
"</project>]]>"
msgstr ""
+"Observa que la distribución de Ant está por defecto rota (como "
+"se describe en el FAQ de Ant) y tiene que ser reparado por ti, por ejemplo, "
+"si quisieras usar JUnit desde dentro de tu fichero de construcción. "
+"Para hacer que funcione la tarea de JUnit (no lo necesitaremos en este "
+"tutorial), copia junit.jar a <literal>ANT_HOME/lib</literal> o quita el "
+"trozo de plugin <literal>ANT_HOME/lib/ant-junit.jar</literal>."
-#. Tag: para
-#: tutorial.xml:322
-#, no-c-format
+#: index.docbook:322
msgid ""
"This will tell Ant to add all files in the lib directory ending with "
"<literal>.jar</literal> to the classpath used for compilation. It will also "
"copy all non-Java source files to the target directory, e.g. configuration "
"and Hibernate mapping files. If you now run Ant, you should get this output:"
-msgstr ""
-"Observa que la distribución de Ant está por defecto rota (como se describe "
-"en el FAQ de Ant) y tiene que ser reparado por ti, por ejemplo, si quisieras "
-"usar JUnit desde dentro de tu fichero de construcción. Para hacer que "
-"funcione la tarea de JUnit (no lo necesitaremos en este tutorial), copia "
-"junit.jar a <literal>ANT_HOME/lib</literal> o quita el trozo de plugin "
-"<literal>ANT_HOME/lib/ant-junit.jar</literal>."
+msgstr "Un fichero de construcción básico se ve como esto:"
-#. Tag: programlisting
-#: tutorial.xml:329
-#, no-c-format
+#: index.docbook:329
msgid ""
"<![CDATA[C:\\hibernateTutorial\\>ant\n"
"Buildfile: build.xml\n"
@@ -884,16 +915,50 @@
"BUILD SUCCESSFUL\n"
"Total time: 1 second ]]>"
msgstr ""
+"<![CDATA[<project name=\"hibernate-tutorial\" default=\"compile\">\n"
+"\n"
+" <property name=\"sourcedir\" value=\"${basedir}/src\"/>\n"
+" <property name=\"targetdir\" value=\"${basedir}/bin\"/>\n"
+" <property name=\"librarydir\" value=\"${basedir}/lib\"/>\n"
+"\n"
+" <path id=\"libraries\">\n"
+" <fileset dir=\"${librarydir}\">\n"
+" <include name=\"*.jar\"/>\n"
+" </fileset>\n"
+" </path>\n"
+"\n"
+" <target name=\"clean\">\n"
+" <delete dir=\"${targetdir}\"/>\n"
+" <mkdir dir=\"${targetdir}\"/>\n"
+" </target>\n"
+"\n"
+" <target name=\"compile\" depends=\"clean, copy-resources\">\n"
+" <javac srcdir=\"${sourcedir}\"\n"
+" destdir=\"${targetdir}\"\n"
+" classpathref=\"libraries\"/>\n"
+" </target>\n"
+"\n"
+" <target name=\"copy-resources\">\n"
+" <copy todir=\"${targetdir}\">\n"
+" <fileset dir=\"${sourcedir}\">\n"
+" <exclude name=\"**/*.java\"/>\n"
+" </fileset>\n"
+" </copy>\n"
+" </target>\n"
+"\n"
+"</project>]]>"
-#. Tag: title
-#: tutorial.xml:334
-#, no-c-format
+#: index.docbook:334
msgid "Startup and helpers"
-msgstr "Un fichero de construcción básico se ve como esto:"
+msgstr ""
+"Esto dirá a Ant que agregue todos los ficheros en el directorio lib "
+"que terminen con <literal>.jar</literal> al classpath usado para la "
+"compilación. También copiará todos los ficheros que no "
+"sean código Java al directorio objetivo, por ejemplo, ficheros de "
+"configuración y mapeos de Hibernate. Si ahora corres Ant, debes "
+"obtener esta salida:"
-#. Tag: para
-#: tutorial.xml:336
-#, no-c-format
+#: index.docbook:336
msgid ""
"It's time to load and store some <literal>Event</literal> objects, but first "
"we have to complete the setup with some infrastructure code. We have to "
@@ -904,24 +969,26 @@
"single-threaded unit of work, the <literal>SessionFactory</literal> is a "
"thread-safe global object, instantiated once."
msgstr ""
-"Esto dirá a Ant que agregue todos los ficheros en el directorio lib que "
-"terminen con <literal>.jar</literal> al classpath usado para la compilación. "
-"También copiará todos los ficheros que no sean código Java al directorio "
-"objetivo, por ejemplo, ficheros de configuración y mapeos de Hibernate. Si "
-"ahora corres Ant, debes obtener esta salida:"
+"<![CDATA[C:\\hibernateTutorial\\>ant\n"
+"Buildfile: build.xml\n"
+"\n"
+"copy-resources:\n"
+" [copy] Copying 2 files to C:\\hibernateTutorial\\bin\n"
+"\n"
+"compile:\n"
+" [javac] Compiling 1 source file to C:\\hibernateTutorial\\bin\n"
+"\n"
+"BUILD SUCCESSFUL\n"
+"Total time: 1 second ]]>"
-#. Tag: para
-#: tutorial.xml:346
-#, no-c-format
+#: index.docbook:346
msgid ""
"We'll create a <literal>HibernateUtil</literal> helper class which takes "
"care of startup and makes accessing a <literal>SessionFactory</literal> "
"convenient. Let's have a look at the implementation:"
msgstr "Arranque y ayudantes"
-#. Tag: programlisting
-#: tutorial.xml:352
-#, no-c-format
+#: index.docbook:352
msgid ""
"<![CDATA[package util;\n"
"\n"
@@ -951,10 +1018,18 @@
"\n"
"}]]>"
msgstr ""
+"Es momento de cargar y almacenar algunos objetos <literal>Event</literal>, "
+"pero primero tenemos que completar la configuración de algún "
+"código de infraestructura. Tenemos que arrancar Hibernate. Este "
+"arranque incluye construir un objeto <literal>SessionFactory</literal> "
+"global y almacenarlo en algún sitio de fácil acceso en el "
+"código de aplicación. Una <literal>SessionFactory</literal> "
+"puede abrir nuevas <literal>Session</literal>'s. Una <literal>Session</"
+"literal> representa un unidad de trabajo mono-hebra. La "
+"<literal>SessionFactory</literal> es un objeto global seguro entre hebras, "
+"instanciado una sola vez."
-#. Tag: para
-#: tutorial.xml:354
-#, no-c-format
+#: index.docbook:354
msgid ""
"This class does not only produce the global <literal>SessionFactory</"
"literal> in its static initializer (called once by the JVM when the class is "
@@ -962,19 +1037,14 @@
"as well lookup the <literal>SessionFactory</literal> from JNDI in an "
"application server."
msgstr ""
-"Es momento de cargar y almacenar algunos objetos <literal>Event</literal>, "
-"pero primero tenemos que completar la configuración de algún código de "
-"infraestructura. Tenemos que arrancar Hibernate. Este arranque incluye "
-"construir un objeto <literal>SessionFactory</literal> global y almacenarlo "
-"en algún sitio de fácil acceso en el código de aplicación. Una "
-"<literal>SessionFactory</literal> puede abrir nuevas <literal>Session</"
-"literal>'s. Una <literal>Session</literal> representa un unidad de trabajo "
-"mono-hebra. La <literal>SessionFactory</literal> es un objeto global seguro "
-"entre hebras, instanciado una sola vez."
+"Crearemos una clase de ayuda <literal>HibernateUtil</literal> que cuide del "
+"arranque y haga conveniente el manejo de <literal>Session</literal>. El "
+"así llamado patrón <emphasis>Sesión de Hebra Local "
+"(ThreadLocal Session)</emphasis> es útil aquí; mantenemos la "
+"unidad de trabajo actual asociada a la hebra actual. Echemos una mirada a la "
+"implementación:"
-#. Tag: para
-#: tutorial.xml:361
-#, no-c-format
+#: index.docbook:361
msgid ""
"If you give the <literal>SessionFactory</literal> a name in your "
"configuration file, Hibernate will in fact try to bind it to JNDI after it "
@@ -983,31 +1053,62 @@
"<literal>HibernateService</literal> to JNDI. These advanced options are "
"discussed in the Hibernate reference documentation."
msgstr ""
-"Crearemos una clase de ayuda <literal>HibernateUtil</literal> que cuide del "
-"arranque y haga conveniente el manejo de <literal>Session</literal>. El así "
-"llamado patrón <emphasis>Sesión de Hebra Local (ThreadLocal Session)</"
-"emphasis> es útil aquí; mantenemos la unidad de trabajo actual asociada a la "
-"hebra actual. Echemos una mirada a la implementación:"
+"<![CDATA[import org.hibernate.*;\n"
+"import org.hibernate.cfg.*;\n"
+"\n"
+"public class HibernateUtil {\n"
+"\n"
+" public static final SessionFactory sessionFactory;\n"
+"\n"
+" static {\n"
+" try {\n"
+" // Create the SessionFactory from hibernate.cfg.xml\n"
+" sessionFactory = new Configuration().configure()."
+"buildSessionFactory();\n"
+" } catch (Throwable ex) {\n"
+" // Make sure you log the exception, as it might be swallowed\n"
+" System.err.println(\"Initial SessionFactory creation failed.\" + "
+"ex);\n"
+" throw new ExceptionInInitializerError(ex);\n"
+" }\n"
+" }\n"
+"\n"
+" public static final ThreadLocal session = new ThreadLocal();\n"
+"\n"
+" public static Session currentSession() throws HibernateException {\n"
+" Session s = (Session) session.get();\n"
+" // Open a new Session, if this thread has none yet\n"
+" if (s == null) {\n"
+" s = sessionFactory.openSession();\n"
+" // Store it in the ThreadLocal variable\n"
+" session.set(s);\n"
+" }\n"
+" return s;\n"
+" }\n"
+"\n"
+" public static void closeSession() throws HibernateException {\n"
+" Session s = (Session) session.get();\n"
+" if (s != null)\n"
+" s.close();\n"
+" session.set(null);\n"
+" }\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:370
-#, no-c-format
+#: index.docbook:370
msgid ""
"Place <literal>HibernateUtil.java</literal> in the development source "
"directory, in a package next to <literal>events</literal>:"
msgstr ""
-"Esta clase no ólo produce la <literal>SessionFactory</literal> global en su "
-"inicializador static (llamado sólo una vez por la JVM al cargar la clase), "
-"sino que también tiene una variable <literal>ThreadLocal</literal> para "
-"tener la <literal>Session</literal> para la hebra actual. No importa cuándo "
-"llames a <literal>HibernateUtil.currentSession()</literal>, siempre "
-"devolverá la misma unidad de trabajo de Hibernate en la misma hebra. Una "
-"llamada a <literal>HibernateUtil.closeSession()</literal> termina la unidad "
-"de trabajo actualmente asociada a la hebra."
+"Esta clase no ólo produce la <literal>SessionFactory</literal> global "
+"en su inicializador static (llamado sólo una vez por la JVM al cargar "
+"la clase), sino que también tiene una variable <literal>ThreadLocal</"
+"literal> para tener la <literal>Session</literal> para la hebra actual. No "
+"importa cuándo llames a <literal>HibernateUtil.currentSession()</"
+"literal>, siempre devolverá la misma unidad de trabajo de Hibernate "
+"en la misma hebra. Una llamada a <literal>HibernateUtil.closeSession()</"
+"literal> termina la unidad de trabajo actualmente asociada a la hebra."
-#. Tag: programlisting
-#: tutorial.xml:375
-#, no-c-format
+#: index.docbook:375
msgid ""
"<![CDATA[.\n"
"+lib\n"
@@ -1022,10 +1123,19 @@
"+data\n"
"build.xml]]>"
msgstr ""
+"Asegúrate de entender el concepto Java de una variable local a una "
+"hebra antes de usar esta ayuda. Una clase <literal>HibernateUtil</literal> "
+"más potente puede encontrarse en <literal>CaveatEmptor</literal>, "
+"http://caveatemptor.hibernate.org/, así como en el libro \"Java "
+"Persistence with Hibernate\". Observa que esta clase no es necesaria si "
+"despliegas Hibernate en un servidor de aplicaciones J2EE: una "
+"<literal>Session</literal> será automáticamente ligada a la "
+"transacción JTA actual, y puedes buscar la <literal>SessionFactory</"
+"literal> a través de JNDI. Si usas JBoss AS, Hibernate puede ser "
+"desplegado como un servicio de sistema manejado y automáticamente "
+"ligará la <literal>SessionFactory</literal> a un nombre JNDI."
-#. Tag: para
-#: tutorial.xml:377
-#, no-c-format
+#: index.docbook:377
msgid ""
"This should again compile without problems. We finally need to configure a "
"logging system - Hibernate uses commons logging and leaves you the choice "
@@ -1037,56 +1147,49 @@
"verbose output. By default, only Hibernate startup message are shown on "
"stdout."
msgstr ""
-"Asegúrate de entender el concepto Java de una variable local a una hebra "
-"antes de usar esta ayuda. Una clase <literal>HibernateUtil</literal> más "
-"potente puede encontrarse en <literal>CaveatEmptor</literal>, http://"
-"caveatemptor.hibernate.org/, así como en el libro \"Java Persistence with "
-"Hibernate\". Observa que esta clase no es necesaria si despliegas Hibernate "
-"en un servidor de aplicaciones J2EE: una <literal>Session</literal> será "
-"automáticamente ligada a la transacción JTA actual, y puedes buscar la "
-"<literal>SessionFactory</literal> a través de JNDI. Si usas JBoss AS, "
-"Hibernate puede ser desplegado como un servicio de sistema manejado y "
-"automáticamente ligará la <literal>SessionFactory</literal> a un nombre JNDI."
+"Coloca <literal>HibernateUtil.java</literal> en el directorio de fuentes de "
+"desarrollo, junto a <literal>Event.java</literal>:"
-#. Tag: para
-#: tutorial.xml:387
-#, no-c-format
+#: index.docbook:387
msgid ""
"The tutorial infrastructure is complete - and we are ready to do some real "
"work with Hibernate."
msgstr ""
-"Coloca <literal>HibernateUtil.java</literal> en el directorio de fuentes de "
-"desarrollo, junto a <literal>Event.java</literal>:"
+"<![CDATA[.\n"
+"+lib\n"
+" <Hibernate and third-party libraries>\n"
+"+src\n"
+" Event.java\n"
+" Event.hbm.xml\n"
+" HibernateUtil.java\n"
+" hibernate.cfg.xml\n"
+"+data\n"
+"build.xml]]>"
-#. Tag: title
-#: tutorial.xml:395
-#, no-c-format
+#: index.docbook:395
msgid "Loading and storing objects"
msgstr ""
-"Esto también debe compilar sin problemas. Finalmente necesitamos configurar "
-"un sistema de logging (registro). Hibernate usa commons logging y te deja la "
-"elección entre Log4J y logging de JDK 1.4. La mayoría de los desarrolladores "
-"prefieren Log4J: copia <literal>log4j.properties</literal> de la "
-"distribución de Hibernate (está en el directorio <literal>etc/</literal>) a "
-"tu directorio <literal>src</literal>, junto a <literal>hibernate.cfg.xml</"
-"literal>. Echa una mirada a la configuración de ejemplo y cambia los ajustes "
-"si te gusta tener una salida más verborrágica. Por defecto, sólo se muestra "
+"Esto también debe compilar sin problemas. Finalmente necesitamos "
+"configurar un sistema de logging (registro). Hibernate usa commons logging y "
+"te deja la elección entre Log4J y logging de JDK 1.4. La mayorí"
+"a de los desarrolladores prefieren Log4J: copia <literal>log4j.properties</"
+"literal> de la distribución de Hibernate (está en el "
+"directorio <literal>etc/</literal>) a tu directorio <literal>src</literal>, "
+"junto a <literal>hibernate.cfg.xml</literal>. Echa una mirada a la "
+"configuración de ejemplo y cambia los ajustes si te gusta tener una "
+"salida más verborrágica. Por defecto, sólo se muestra "
"el mensaje de arranque de Hibernate en la salida."
-#. Tag: para
-#: tutorial.xml:397
-#, no-c-format
+#: index.docbook:397
msgid ""
"Finally, we can use Hibernate to load and store objects. We write an "
"<literal>EventManager</literal> class with a <literal>main()</literal> "
"method:"
msgstr ""
-"La infraestructura del tutorial está completa, y estamos listos para hacer "
-"algún trabajo real con Hibernate."
+"La infraestructura del tutorial está completa, y estamos listos para "
+"hacer algún trabajo real con Hibernate."
-#. Tag: programlisting
-#: tutorial.xml:402
-#, no-c-format
+#: index.docbook:402
msgid ""
"<![CDATA[package events;\n"
"import org.hibernate.Session;\n"
@@ -1124,21 +1227,20 @@
" }\n"
"\n"
"}]]>"
-msgstr ""
+msgstr "Cargando y almacenando objetos"
-#. Tag: para
-#: tutorial.xml:404
-#, no-c-format
+#: index.docbook:404
msgid ""
"We create a new <literal>Event</literal> object, and hand it over to "
"Hibernate. Hibernate now takes care of the SQL and executes <literal>INSERT</"
"literal>s on the database. Let's have a look at the <literal>Session</"
"literal> and <literal>Transaction</literal>-handling code before we run this."
-msgstr "Cargando y almacenando objetos"
+msgstr ""
+"Finalmente, podemos usar Hibernate para cargar y almacenar objetos. "
+"Escribimos una clase <literal>EventManager</literal> con un método "
+"<literal>main()</literal>:"
-#. Tag: para
-#: tutorial.xml:411
-#, no-c-format
+#: index.docbook:411
msgid ""
"A <literal>Session</literal> is a single unit of work. For now we'll keep "
"things simple and assume a one-to-one granularity between a Hibernate "
@@ -1147,13 +1249,26 @@
"it could also run with JTA) we use the <literal>Transaction</literal> API "
"that is available on the Hibernate <literal>Session</literal>."
msgstr ""
-"Finalmente, podemos usar Hibernate para cargar y almacenar objetos. "
-"Escribimos una clase <literal>EventManager</literal> con un método "
-"<literal>main()</literal>:"
+"<![CDATA[import org.hibernate.Transaction;\n"
+"import org.hibernate.Session;\n"
+"\n"
+"import java.util.Date;\n"
+"\n"
+"public class EventManager {\n"
+"\n"
+" public static void main(String[] args) {\n"
+" EventManager mgr = new EventManager();\n"
+"\n"
+" if (args[0].equals(\"store\")) {\n"
+" mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+" }\n"
+"\n"
+" HibernateUtil.sessionFactory.close();\n"
+" }\n"
+"\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:419
-#, no-c-format
+#: index.docbook:419
msgid ""
"What does <literal>sessionFactory.getCurrentSession()</literal> do? First, "
"you can call it as many times and anywhere you like, once you get hold of "
@@ -1166,12 +1281,10 @@
"this is not the full picture, you also have to consider scope, when a unit "
"of work begins and when it ends."
msgstr ""
-"Leemos algunos argumentos de la línea de comandos, y si el primer argumento "
-"es \"store\", creamos y almacenamos un nuevo Event:"
+"Leemos algunos argumentos de la línea de comandos, y si el primer "
+"argumento es \"store\", creamos y almacenamos un nuevo Event:"
-#. Tag: para
-#: tutorial.xml:430
-#, no-c-format
+#: index.docbook:430
msgid ""
"A <literal>Session</literal> begins when it is first needed, when the first "
"call to <literal>getCurrentSession()</literal> is made. It is then bound by "
@@ -1185,14 +1298,21 @@
"demarcation code can be separated from data access code, we'll do this later "
"in this tutorial)."
msgstr ""
-"Creamos un nuevo objeto <literal>Event</literal>, y se lo damos a Hibernate. "
-"Hibernate cuida ahora del SQL y ejecuta <literal>INSERT</literal>s en la "
-"base de datos. Echemos una mirada al código de manejo de <literal>Session</"
-"literal> y <literal>Transaction</literal> antes de ejecutar esto."
+"<![CDATA[private void createAndStoreEvent(String title, Date theDate) {\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" Event theEvent = new Event();\n"
+" theEvent.setTitle(title);\n"
+" theEvent.setDate(theDate);\n"
+"\n"
+" session.save(theEvent);\n"
+"\n"
+" tx.commit();\n"
+" HibernateUtil.closeSession();\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:441
-#, no-c-format
+#: index.docbook:441
msgid ""
"Related to the unit of work scope, should the Hibernate <literal>Session</"
"literal> be used to execute one or several database operations? The above "
@@ -1205,53 +1325,53 @@
"trivial) examples, consider <emphasis>session-per-operation</emphasis> an "
"anti-pattern. A real (web) application is shown later in this tutorial."
msgstr ""
-"Una <literal>Session</literal> es una sola unidad de trabajo. Podría "
-"sorprenderte que tengamos una API adicional, <literal>Transaction</literal>. "
-"Esto implica que una unidad de trabajo puede ser \"más larga\" que una sola "
-"transacción de base de datos; imagina una unidad de trabajo que se abarca "
-"varios ciclos petición/respuesta HTTP (por ejemplo, un diálogo asistente) en "
-"una aplicación web. Separar las transacciones de base de datos de \"las "
-"unidades de trabajo de la aplicación desde el punto de vista del usuario\" "
-"es uno de los conceptos básicos de diseño de Hibernate. Llamamos una unidad "
-"de trabajo larga <emphasis>Transacción de Aplicación</emphasis>, usualmente "
-"encapsulando varias transacciones de base de datos más cortas. Por ahora "
-"mantendremos las cosas simples y asumiremos una granularidad uno-a-uno entre "
-"una <literal>Session</literal> y una <literal>Transaction</literal>."
+"Creamos un nuevo objeto <literal>Event</literal>, y se lo damos a Hibernate. "
+"Hibernate cuida ahora del SQL y ejecuta <literal>INSERT</literal>s en la "
+"base de datos. Echemos una mirada al código de manejo de "
+"<literal>Session</literal> y <literal>Transaction</literal> antes de "
+"ejecutar esto."
-#. Tag: para
-#: tutorial.xml:452
-#, no-c-format
+#: index.docbook:452
msgid ""
"Have a look at <xref linkend=\"transactions\"/> for more information about "
"transaction handling and demarcation. We also skipped any error handling and "
"rollback in the previous example."
msgstr ""
-"¿Qué es lo que hacen <literal>Transaction.begin()</literal> y <literal>commit"
-"()</literal>? ¿Dónde está el rollback en caso que algo vaya mal? La API de "
-"<literal>Transaction</literal> de Hibernate es opcional realmente, pero la "
-"usamos por conveniencia y portabilidad. Si manejases la transacción de base "
-"de datos por ti mismo (por ejemplo, llamando a <literal>session.connection."
-"commit()</literal>), ligarías el código a un entorno de despliegue "
-"particular, en este JDBC directo no manejado. Estableciendo la fábrica de "
-"<literal>Transaction</literal> en tu configuración de Hibernate puedes "
-"desplegar tu capa de persistencia en cualquier sitio. Echa una mirada al "
-"<xref linkend=\"transactions\"/> para más información sobre manejo y "
-"demarcación de transacciones. Hemos saltado también cualquier manejo de "
-"excepciones y rollback en este ejemplo."
+"Una <literal>Session</literal> es una sola unidad de trabajo. Podría "
+"sorprenderte que tengamos una API adicional, <literal>Transaction</literal>. "
+"Esto implica que una unidad de trabajo puede ser \"más larga\" que "
+"una sola transacción de base de datos; imagina una unidad de trabajo "
+"que se abarca varios ciclos petición/respuesta HTTP (por ejemplo, un "
+"diálogo asistente) en una aplicación web. Separar las "
+"transacciones de base de datos de \"las unidades de trabajo de la "
+"aplicación desde el punto de vista del usuario\" es uno de los "
+"conceptos básicos de diseño de Hibernate. Llamamos una unidad "
+"de trabajo larga <emphasis>Transacción de Aplicación</"
+"emphasis>, usualmente encapsulando varias transacciones de base de datos "
+"más cortas. Por ahora mantendremos las cosas simples y asumiremos una "
+"granularidad uno-a-uno entre una <literal>Session</literal> y una "
+"<literal>Transaction</literal>."
-#. Tag: para
-#: tutorial.xml:458
-#, no-c-format
+#: index.docbook:458
msgid ""
"To run this first routine we have to add a callable target to the Ant build "
"file:"
msgstr ""
-"Para ejecutar la primera rutina tenemos que agregar un objetivo llamable al "
-"fichero de construcción de Ant:"
+"¿Qué es lo que hacen <literal>Transaction.begin()</literal> y "
+"<literal>commit()</literal>? ¿Dónde está el rollback en caso "
+"que algo vaya mal? La API de <literal>Transaction</literal> de Hibernate es "
+"opcional realmente, pero la usamos por conveniencia y portabilidad. Si "
+"manejases la transacción de base de datos por ti mismo (por ejemplo, "
+"llamando a <literal>session.connection.commit()</literal>), ligarías "
+"el código a un entorno de despliegue particular, en este JDBC directo "
+"no manejado. Estableciendo la fábrica de <literal>Transaction</"
+"literal> en tu configuración de Hibernate puedes desplegar tu capa de "
+"persistencia en cualquier sitio. Echa una mirada al <xref linkend="
+"\"transactions\"/> para más información sobre manejo y "
+"demarcación de transacciones. Hemos saltado también cualquier "
+"manejo de excepciones y rollback en este ejemplo."
-#. Tag: programlisting
-#: tutorial.xml:462
-#, no-c-format
+#: index.docbook:462
msgid ""
"<![CDATA[<target name=\"run\" depends=\"compile\">\n"
" <java fork=\"true\" classname=\"events.EventManager\" classpathref="
@@ -1261,70 +1381,65 @@
" </java>\n"
"</target>]]>"
msgstr ""
+"Para ejecutar la primera rutina tenemos que agregar un objetivo llamable al "
+"fichero de construcción de Ant:"
-#. Tag: para
-#: tutorial.xml:464
-#, no-c-format
+#: index.docbook:464
msgid ""
"The value of the <literal>action</literal> argument is set on the command "
"line when calling the target:"
msgstr ""
-"El valor del argumento <literal>action</literal> es establecido por línea de "
-"comandos al llamar al objetivo:"
+"<![CDATA[<target name=\"run\" depends=\"compile\">\n"
+" <java fork=\"true\" classname=\"EventManager\" classpathref=\"libraries"
+"\">\n"
+" <classpath path=\"${targetdir}\"/>\n"
+" <arg value=\"${action}\"/>\n"
+" </java>\n"
+"</target>]]>"
-#. Tag: programlisting
-#: tutorial.xml:469
-#, no-c-format
+#: index.docbook:469
msgid "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
msgstr ""
+"El valor del argumento <literal>action</literal> es establecido por lí"
+"nea de comandos al llamar al objetivo:"
-#. Tag: para
-#: tutorial.xml:471
-#, no-c-format
+#: index.docbook:471
msgid ""
"You should see, after compilation, Hibernate starting up and, depending on "
"your configuration, lots of log output. At the end you will find the "
"following line:"
-msgstr ""
-"Debes ver, después de la compilación, a Hibernate arrancando y, dependiendo "
-"de tu configuración mucha salida de registro (log). Al final encontrarás la "
-"siguiente línea:"
+msgstr "<![CDATA[C:\\hibernateTutorial\\>ant run -Daction=store]]>"
-#. Tag: programlisting
-#: tutorial.xml:476
-#, no-c-format
+#: index.docbook:476
msgid ""
"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) "
"values (?, ?, ?)]]>"
msgstr ""
+"Debes ver, después de la compilación, a Hibernate arrancando "
+"y, dependiendo de tu configuración mucha salida de registro (log). Al "
+"final encontrarás la siguiente línea:"
-#. Tag: para
-#: tutorial.xml:478
-#, no-c-format
+#: index.docbook:478
msgid ""
"This is the <literal>INSERT</literal> executed by Hibernate, the question "
"marks represent JDBC bind parameters. To see the values bound as arguments, "
"or to reduce the verbosity of the log, check your <literal>log4j.properties</"
"literal>."
msgstr ""
-"Esta es la <literal>INSERT</literal> ejecutada por Hibernate, los signos de "
-"preguntas representan parámetros de ligado JDBC. Para ver los valores "
-"ligados como argumentos, o para reducir la verborragia del registro, chequea "
-"tu <literal>log4j.properties</literal>."
+"<![CDATA[[java] Hibernate: insert into EVENTS (EVENT_DATE, title, EVENT_ID) "
+"values (?, ?, ?)]]>"
-#. Tag: para
-#: tutorial.xml:484
-#, no-c-format
+#: index.docbook:484
msgid ""
"Now we'd like to list stored events as well, so we add an option to the main "
"method:"
msgstr ""
-"Ahora quisiéramos listar acontecimientos almacenados también, así que "
-"agregamos una opción al método principal:"
+"Esta es la <literal>INSERT</literal> ejecutada por Hibernate, los signos de "
+"preguntas representan parámetros de ligado JDBC. Para ver los valores "
+"ligados como argumentos, o para reducir la verborragia del registro, chequea "
+"tu <literal>log4j.properties</literal>."
-#. Tag: programlisting
-#: tutorial.xml:488
-#, no-c-format
+#: index.docbook:488
msgid ""
"<![CDATA[if (args[0].equals(\"store\")) {\n"
" mgr.createAndStoreEvent(\"My Event\", new Date());\n"
@@ -1338,16 +1453,25 @@
" }\n"
"}]]>"
msgstr ""
+"Ahora quisiéramos listar acontecimientos almacenados también, "
+"así que agregamos una opción al método principal:"
-#. Tag: para
-#: tutorial.xml:490
-#, no-c-format
+#: index.docbook:490
msgid "We also add a new <literal>listEvents() method</literal>:"
-msgstr "Agregamos también un nuevo método <literal>listEvents()</literal>:"
+msgstr ""
+"<![CDATA[if (args[0].equals(\"store\")) {\n"
+" mgr.createAndStoreEvent(\"My Event\", new Date());\n"
+"}\n"
+"else if (args[0].equals(\"list\")) {\n"
+" List events = mgr.listEvents();\n"
+" for (int i = 0; i < events.size(); i++) {\n"
+" Event theEvent = (Event) events.get(i);\n"
+" System.out.println(\"Event: \" + theEvent.getTitle() +\n"
+" \" Time: \" + theEvent.getDate());\n"
+" }\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:494
-#, no-c-format
+#: index.docbook:494
msgid ""
"<![CDATA[private List listEvents() {\n"
"\n"
@@ -1363,10 +1487,10 @@
" return result;\n"
"}]]>"
msgstr ""
+"Agregamos también un nuevo método <literal>listEvents()</"
+"literal>:"
-#. Tag: para
-#: tutorial.xml:496
-#, no-c-format
+#: index.docbook:496
msgid ""
"What we do here is use an HQL (Hibernate Query Language) query to load all "
"existing <literal>Event</literal> objects from the database. Hibernate will "
@@ -1374,34 +1498,36 @@
"<literal>Event</literal> objects with the data. You can create more complex "
"queries with HQL, of course."
msgstr ""
-"Lo que hacemos aquí es usar una consulta HQL (Lenguaje de Consulta de "
-"Hibernate o Hibernate Query Language) para cargar todos los objetos "
-"<literal>Event</literal> existentes de la base de datos. Hibernate generará "
-"el SQL apropiado, lo enviará a la base de datosy poblará los objetos "
-"<literal>Event</literal> con datos. Puedes, por supuesto, crear consultas "
-"más complejas con HQL."
+"<![CDATA[private List listEvents() {\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" List result = session.createQuery(\"from Event\").list();\n"
+"\n"
+" tx.commit();\n"
+" session.close();\n"
+"\n"
+" return result;\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:503
-#, no-c-format
+#: index.docbook:503
msgid "Now, to execute and test all of this, follow these steps:"
-msgstr "Now, to execute and test all of this, follow these steps:"
+msgstr ""
+"Lo que hacemos aquí es usar una consulta HQL (Lenguaje de Consulta de "
+"Hibernate o Hibernate Query Language) para cargar todos los objetos "
+"<literal>Event</literal> existentes de la base de datos. Hibernate "
+"generará el SQL apropiado, lo enviará a la base de datosy "
+"poblará los objetos <literal>Event</literal> con datos. Puedes, por "
+"supuesto, crear consultas más complejas con HQL."
-#. Tag: para
-#: tutorial.xml:509
-#, no-c-format
+#: index.docbook:509
msgid ""
"Run <literal>ant run -Daction=store</literal> to store something into the "
"database and, of course, to generate the database schema before through "
"hbm2ddl."
-msgstr ""
-"Run <literal>ant run -Daction=store</literal> to store something into the "
-"database and, of course, to generate the database schema before through "
-"hbm2ddl."
+msgstr "Now, to execute and test all of this, follow these steps:"
-#. Tag: para
-#: tutorial.xml:515
-#, no-c-format
+#: index.docbook:515
msgid ""
"Now disable hbm2ddl by commenting out the property in your "
"<literal>hibernate.cfg.xml</literal> file. Usually you only leave it turned "
@@ -1411,6 +1537,16 @@
"from the schema, then re-create all tables, when the SessionFactory is build"
"\"."
msgstr ""
+"Run <literal>ant run -Daction=store</literal> to store something into the "
+"database and, of course, to generate the database schema before through "
+"hbm2ddl."
+
+#: index.docbook:525
+msgid ""
+"If you now call Ant with <literal>-Daction=list</literal>, you should see "
+"the events you have stored so far. You can of course also call the "
+"<literal>store</literal> action a few times more."
+msgstr ""
"Now disable hbm2ddl by commenting out the property in your "
"<literal>hibernate.cfg.xml</literal> file. Usually you only leave it turned "
"on in continous unit testing, but another run of hbm2ddl would "
@@ -1419,22 +1555,8 @@
"from the schema, then re-create all tables, when the SessionFactory is build"
"\"."
-#. Tag: para
-#: tutorial.xml:525
-#, no-c-format
+#: index.docbook:531
msgid ""
-"If you now call Ant with <literal>-Daction=list</literal>, you should see "
-"the events you have stored so far. You can of course also call the "
-"<literal>store</literal> action a few times more."
-msgstr ""
-"If you now call Ant with <literal>-Daction=list</literal>, you should see "
-"the events you have stored so far. You can of course also call the "
-"<literal>store</literal> action a few times more."
-
-#. Tag: para
-#: tutorial.xml:531
-#, no-c-format
-msgid ""
"Note: Most new Hibernate users fail at this point and we see questions about "
"<emphasis>Table not found</emphasis> error messages regularly. However, if "
"you follow the steps outlined above you will not have this problem, as "
@@ -1442,6 +1564,13 @@
"application restarts will use this schema. If you change the mapping and/or "
"database schema, you have to re-enable hbm2ddl once again."
msgstr ""
+"If you now call Ant with <literal>-Daction=list</literal>, you should see "
+"the events you have stored so far. You can of course also call the "
+"<literal>store</literal> action a few times more."
+
+#: index.docbook:544
+msgid "Part 2 - Mapping associations"
+msgstr ""
"Note: Most new Hibernate users fail at this point and we see questions about "
"<emphasis>Table not found</emphasis> error messages regularly. However, if "
"you follow the steps outlined above you will not have this problem, as "
@@ -1449,40 +1578,26 @@
"application restarts will use this schema. If you change the mapping and/or "
"database schema, you have to re-enable hbm2ddl once again."
-#. Tag: title
-#: tutorial.xml:544
-#, no-c-format
-msgid "Part 2 - Mapping associations"
-msgstr "Part 2 - Mapeando asociaciones"
-
-#. Tag: para
-#: tutorial.xml:546
-#, no-c-format
+#: index.docbook:546
msgid ""
"We mapped a persistent entity class to a table. Let's build on this and add "
"some class associations. First we'll add people to our application, and "
"store a list of events they participate in."
+msgstr "Part 2 - Mapeando asociaciones"
+
+#: index.docbook:552
+msgid "Mapping the Person class"
msgstr ""
"Hemos mapeado un clase de entidad persistente a una tabla. Construyamos "
"sobre esto y agreguemos algunas asociaciones de clase. Primero agregaremos "
-"personas a nuestra aplicación, y almacenaremos una lista de eventos en las "
-"que participan."
+"personas a nuestra aplicación, y almacenaremos una lista de eventos "
+"en las que participan."
-#. Tag: title
-#: tutorial.xml:552
-#, no-c-format
-msgid "Mapping the Person class"
+#: index.docbook:554
+msgid "The first cut of the <literal>Person</literal> class is simple:"
msgstr "Mapeando la clase Person"
-#. Tag: para
-#: tutorial.xml:554
-#, no-c-format
-msgid "The first cut of the <literal>Person</literal> class is simple:"
-msgstr "El primer corte de la clase <literal>Person</literal> es simple:"
-
-#. Tag: programlisting
-#: tutorial.xml:558
-#, no-c-format
+#: index.docbook:558
msgid ""
"<![CDATA[package events;\n"
"\n"
@@ -1498,19 +1613,27 @@
" // Accessor methods for all properties, private setter for 'id'\n"
"\n"
"}]]>"
-msgstr ""
+msgstr "El primer corte de la clase <literal>Person</literal> es simple:"
-#. Tag: para
-#: tutorial.xml:560
-#, no-c-format
+#: index.docbook:560
msgid ""
"Create a new mapping file called <literal>Person.hbm.xml</literal> (don't "
"forget the DTD reference at the top):"
-msgstr "Crea un fichero de mapeo llamado <literal>Person.hbm.xml</literal>:"
+msgstr ""
+"<![CDATA[public class Person {\n"
+"\n"
+" private Long id;\n"
+" private int age;\n"
+" private String firstname;\n"
+" private String lastname;\n"
+"\n"
+" Person() {}\n"
+"\n"
+" // Accessor methods for all properties, private setter for 'id'\n"
+"\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:565
-#, no-c-format
+#: index.docbook:565
msgid ""
"<![CDATA[<hibernate-mapping>\n"
"\n"
@@ -1524,45 +1647,51 @@
" </class>\n"
"\n"
"</hibernate-mapping>]]>"
-msgstr ""
+msgstr "Crea un fichero de mapeo llamado <literal>Person.hbm.xml</literal>:"
-#. Tag: para
-#: tutorial.xml:567
-#, no-c-format
+#: index.docbook:567
msgid "Finally, add the new mapping to Hibernate's configuration:"
-msgstr "Finalmente, agrega el nuevo mapeo a la configuración de Hibernate:"
+msgstr ""
+"<![CDATA[<hibernate-mapping>\n"
+"\n"
+" <class name=\"Person\" table=\"PERSON\">\n"
+" <id name=\"id\" column=\"PERSON_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"age\"/>\n"
+" <property name=\"firstname\"/>\n"
+" <property name=\"lastname\"/>\n"
+" </class>\n"
+"\n"
+"</hibernate-mapping>]]>"
-#. Tag: programlisting
-#: tutorial.xml:571
-#, no-c-format
+#: index.docbook:571
msgid ""
"<![CDATA[<mapping resource=\"events/Event.hbm.xml\"/>\n"
"<mapping resource=\"events/Person.hbm.xml\"/>]]>"
msgstr ""
+"Finalmente, agrega el nuevo mapeo a la configuración de Hibernate:"
-#. Tag: para
-#: tutorial.xml:573
-#, no-c-format
+#: index.docbook:573
msgid ""
"We'll now create an association between these two entities. Obviously, "
"persons can participate in events, and events have participants. The design "
"questions we have to deal with are: directionality, multiplicity, and "
"collection behavior."
msgstr ""
-"Crearemos ahora una asociación entre estas dos entidades. Obviamente, las "
-"personas pueden participar en eventos, y los eventos tienen participantes. "
-"Las cuestiones de diseño con que tenemos que tratar son: direccionalidad, "
-"multiplicidad y comportamiento de colección."
+"<![CDATA[ <mapping resource=\"Event.hbm.xml\"/>\n"
+" <mapping resource=\"Person.hbm.xml\"/>\n"
+"]]>"
-#. Tag: title
-#: tutorial.xml:583
-#, no-c-format
+#: index.docbook:583
msgid "A unidirectional Set-based association"
-msgstr "Una asociación unidireccional basada en Set"
+msgstr ""
+"Crearemos ahora una asociación entre estas dos entidades. Obviamente, "
+"las personas pueden participar en eventos, y los eventos tienen "
+"participantes. Las cuestiones de diseño con que tenemos que tratar "
+"son: direccionalidad, multiplicidad y comportamiento de colección."
-#. Tag: para
-#: tutorial.xml:585
-#, no-c-format
+#: index.docbook:585
msgid ""
"We'll add a collection of events to the <literal>Person</literal> class. "
"That way we can easily navigate to the events for a particular person, "
@@ -1570,29 +1699,22 @@
"</literal>. We use a Java collection, a <literal>Set</literal>, because the "
"collection will not contain duplicate elements and the ordering is not "
"relevant for us."
-msgstr ""
-"Agregaremos una colección de eventos a la clase <literal>Person</literal>. "
-"De esta forma podemos navegar facilmente a los eventos de una persona en "
-"particular, sin ejecutar una consulta explícita, llamando a <literal>aPerson."
-"getEvents()</literal>. Usamos una colección Java, un <literal>Set</literal>, "
-"porque la colección no contendrá elementos duplicados y el ordenamiento no "
-"nos es relevante."
+msgstr "Una asociación unidireccional basada en Set"
-#. Tag: para
-#: tutorial.xml:592
-#, no-c-format
+#: index.docbook:592
msgid ""
"We need a unidirectional, many-valued associations, implemented with a "
"<literal>Set</literal>. Let's write the code for this in the Java classes "
"and then map it:"
msgstr ""
-"Hasta ahora hemos diseñado asociaciones unidireccionales multivaluadas, "
-"implementadas con un <literal>Set</literal>. Escribamos el código para esto "
-"en las clases Java y luego lo mapeemos:"
+"Agregaremos una colección de eventos a la clase <literal>Person</"
+"literal>. De esta forma podemos navegar facilmente a los eventos de una "
+"persona en particular, sin ejecutar una consulta explícita, llamando "
+"a <literal>aPerson.getEvents()</literal>. Usamos una colección Java, "
+"un <literal>Set</literal>, porque la colección no contendrá "
+"elementos duplicados y el ordenamiento no nos es relevante."
-#. Tag: programlisting
-#: tutorial.xml:597
-#, no-c-format
+#: index.docbook:597
msgid ""
"<![CDATA[public class Person {\n"
"\n"
@@ -1607,10 +1729,11 @@
" }\n"
"}]]>"
msgstr ""
+"Hasta ahora hemos diseñado asociaciones unidireccionales "
+"multivaluadas, implementadas con un <literal>Set</literal>. Escribamos el "
+"código para esto en las clases Java y luego lo mapeemos:"
-#. Tag: para
-#: tutorial.xml:599
-#, no-c-format
+#: index.docbook:599
msgid ""
"Before we map this association, think about the other side. Clearly, we "
"could just keep this unidirectional. Or, we could create another collection "
@@ -1623,18 +1746,20 @@
"a <emphasis>many-to-many</emphasis> association. Hence, we use Hibernate's "
"many-to-many mapping:"
msgstr ""
-"Antes que mapeemos esta asociación, piensa sobre el otro lado. Claramente, "
-"podemos mantener esto solamente unidireccional. O podemos crear otra "
-"colección en el <literal>Event</literal>, si queremos ser capaces de "
-"navegarlos bidireccionalmente; por ejemplo, <literal>anEvent.getParticipants"
-"()</literal>. Esta es una elección de diseño que recae en ti, pero lo que "
-"está claro de esta discusión es la multiplicidad de la asociación: \"multi\" "
-"valuada a ambos lados, llamamos a esto una asociación <emphasis>muchos-a-"
-"muchos</emphasis>. Por lo tanto, usamos un mapeo many-to-many de Hibernate:"
+"<![CDATA[public class Person {\n"
+"\n"
+" private Set events = new HashSet();\n"
+"\n"
+" public Set getEvents() {\n"
+" return events;\n"
+" }\n"
+"\n"
+" public void setEvents(Set events) {\n"
+" this.events = events;\n"
+" }\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:610
-#, no-c-format
+#: index.docbook:610
msgid ""
"<![CDATA[<class name=\"events.Person\" table=\"PERSON\">\n"
" <id name=\"id\" column=\"PERSON_ID\">\n"
@@ -1651,10 +1776,17 @@
"\n"
"</class>]]>"
msgstr ""
+"Antes que mapeemos esta asociación, piensa sobre el otro lado. "
+"Claramente, podemos mantener esto solamente unidireccional. O podemos crear "
+"otra colección en el <literal>Event</literal>, si queremos ser "
+"capaces de navegarlos bidireccionalmente; por ejemplo, <literal>anEvent."
+"getParticipants()</literal>. Esta es una elección de diseño "
+"que recae en ti, pero lo que está claro de esta discusión es "
+"la multiplicidad de la asociación: \"multi\" valuada a ambos lados, "
+"llamamos a esto una asociación <emphasis>muchos-a-muchos</emphasis>. "
+"Por lo tanto, usamos un mapeo many-to-many de Hibernate:"
-#. Tag: para
-#: tutorial.xml:612
-#, no-c-format
+#: index.docbook:612
msgid ""
"Hibernate supports all kinds of collection mappings, a <literal><set></"
"literal> being most common. For a many-to-many association (or <emphasis>n:"
@@ -1669,28 +1801,39 @@
"collection (correct: the class on the other side of the collection of "
"references)."
msgstr ""
-"Hibernate soporta todo tipo de mapeos de colección, siendo el más común un "
-"<literal><set></literal>. Para una asociación muchos-a-muchos (o "
-"relación de entidad <emphasis>n:m</emphasis>), se necesita una tabla de "
-"asociación. Cada fila en esta tabla representa un enlace entre una persona y "
-"un evento. Esta tabla se configura con el atributo <literal>table</literal> "
-"del elemento <literal>set</literal>. El nombre de la columna identificadora "
-"en la asociación, para el lado de la persona, se define con el elemento "
+"<![CDATA[<class name=\"Person\" table=\"PERSON\">\n"
+" <id name=\"id\" column=\"PERSON_ID\">\n"
+" <generator class=\"increment\"/>\n"
+" </id>\n"
+" <property name=\"age\"/>\n"
+" <property name=\"firstname\"/>\n"
+" <property name=\"lastname\"/>\n"
+"\n"
+" <set name=\"events\" table=\"PERSON_EVENT\">\n"
+" <key column=\"PERSON_ID\"/>\n"
+" <many-to-many column=\"EVENT_ID\" class=\"Event\"/>\n"
+" </set>\n"
+"\n"
+"</class>]]>"
+
+#: index.docbook:624
+msgid "The database schema for this mapping is therefore:"
+msgstr ""
+"Hibernate soporta todo tipo de mapeos de colección, siendo el "
+"más común un <literal><set></literal>. Para una "
+"asociación muchos-a-muchos (o relación de entidad <emphasis>n:"
+"m</emphasis>), se necesita una tabla de asociación. Cada fila en esta "
+"tabla representa un enlace entre una persona y un evento. Esta tabla se "
+"configura con el atributo <literal>table</literal> del elemento "
+"<literal>set</literal>. El nombre de la columna identificadora en la "
+"asociación, para el lado de la persona, se define con el elemento "
"<literal><key></literal>. El nombre de columna para el lado del evento "
"se define con el atributo <literal>column</literal> del <literal><many-to-"
-"many></literal>. También tienes que decirle a Hibernate la clase de los "
-"objetos en tu colección (correcto: la clase del otro lado de la colección de "
-"referencias)."
+"many></literal>. También tienes que decirle a Hibernate la clase "
+"de los objetos en tu colección (correcto: la clase del otro lado de "
+"la colección de referencias)."
-#. Tag: para
-#: tutorial.xml:624
-#, no-c-format
-msgid "The database schema for this mapping is therefore:"
-msgstr "El esquema de base de datos para este mapeo es, por lo tanto:"
-
-#. Tag: programlisting
-#: tutorial.xml:628
-#, no-c-format
+#: index.docbook:628
msgid ""
"<![CDATA[\n"
" _____________ __________________\n"
@@ -1705,27 +1848,32 @@
" | LASTNAME |\n"
" |_____________|\n"
" ]]>"
-msgstr ""
+msgstr "El esquema de base de datos para este mapeo es, por lo tanto:"
-#. Tag: title
-#: tutorial.xml:633
-#, no-c-format
+#: index.docbook:633
msgid "Working the association"
-msgstr "Trabajando la asociación"
+msgstr ""
+"<![CDATA[\n"
+" _____________ __________________\n"
+" | | | | _____________\n"
+" | EVENTS | | PERSON_EVENT | | |\n"
+" |_____________| |__________________| | PERSON |\n"
+" | | | | |_____________|\n"
+" | *EVENT_ID | <--> | *EVENT_ID | | |\n"
+" | EVENT_DATE | | *PERSON_ID | <--> | *PERSON_ID |\n"
+" | TITLE | |__________________| | AGE |\n"
+" |_____________| | FIRSTNAME |\n"
+" | LASTNAME |\n"
+" |_____________|\n"
+" ]]>"
-#. Tag: para
-#: tutorial.xml:635
-#, no-c-format
+#: index.docbook:635
msgid ""
"Let's bring some people and events together in a new method in "
"<literal>EventManager</literal>:"
-msgstr ""
-"Traigamos alguna gente y eventos juntos en un nuevo método en "
-"<literal>EventManager</literal>:"
+msgstr "Trabajando la asociación"
-#. Tag: programlisting
-#: tutorial.xml:639
-#, no-c-format
+#: index.docbook:639
msgid ""
"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
"\n"
@@ -1741,10 +1889,10 @@
" session.getTransaction().commit();\n"
"}]]>"
msgstr ""
+"Traigamos alguna gente y eventos juntos en un nuevo método en "
+"<literal>EventManager</literal>:"
-#. Tag: para
-#: tutorial.xml:641
-#, no-c-format
+#: index.docbook:641
msgid ""
"After loading a <literal>Person</literal> and an <literal>Event</literal>, "
"simply modify the collection using the normal collection methods. As you can "
@@ -1763,24 +1911,20 @@
"<literal>thread</literal> configuration option for the "
"<literal>CurrentSessionContext</literal> class."
msgstr ""
-"Después de cargar una <literal>Person</literal> y un <literal>Event</"
-"literal>, simplemente modifica la colección usando sus métodos normales. "
-"Como puedes ver, no hay una llamada explícita a <literal>update()</literal> "
-"o <literal>save()</literal>. Hibernate detecta automáticamente que la "
-"colección ha sido modificada y necesita ser salvada. Esto es llamado "
-"<emphasis>chequeo sucio automótico (automatic dirty checking)</emphasis>, y "
-"también puedes intentarlo modificando el nombre de la propiedad de fecha de "
-"cualquiera de tus objetos. Mientras estén en estado <emphasis>persistente</"
-"emphasis>, esto es, ligados a una <literal>Session</literal> de Hibernate "
-"particular (es decir, justo han sido cargados o almacenados en una unidad de "
-"trabajo), Hibernate monitoriza cualquier cambio y ejecuta SQL en estilo "
-"escribe-por-detrás. El proceso de sincronización del estado de memoria con "
-"la base de datos, usualmente sólo al final de una unidad de trabajo, es "
-"llamado <emphasis>limpieza (flushing)</emphasis>."
+"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" Person aPerson = (Person) session.load(Person.class, personId);\n"
+" Event anEvent = (Event) session.load(Event.class, eventId);\n"
+"\n"
+" aPerson.getEvents().add(anEvent);\n"
+"\n"
+" tx.commit();\n"
+" HibernateUtil.closeSession();\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:656
-#, no-c-format
+#: index.docbook:656
msgid ""
"You might of course load person and event in different units of work. Or you "
"modify an object outside of a <literal>Session</literal>, when it is not in "
@@ -1788,15 +1932,23 @@
"<emphasis>detached</emphasis>). You can even modify a collection when it is "
"detached:"
msgstr ""
-"Podrías, por supuesto, cargar persona y evento en unidades de trabajo "
-"diferentes. O modificas un objeto fuera de una <literal>Session</literal>, "
-"cuando no está en estado persistente (si antes era persistente llamamos a "
-"este estado <emphasis>separado (detached) </emphasis>). En código (no muy "
-"realista), esto se vería como sigue:"
+"Después de cargar una <literal>Person</literal> y un <literal>Event</"
+"literal>, simplemente modifica la colección usando sus métodos "
+"normales. Como puedes ver, no hay una llamada explícita a "
+"<literal>update()</literal> o <literal>save()</literal>. Hibernate detecta "
+"automáticamente que la colección ha sido modificada y necesita "
+"ser salvada. Esto es llamado <emphasis>chequeo sucio automótico "
+"(automatic dirty checking)</emphasis>, y también puedes intentarlo "
+"modificando el nombre de la propiedad de fecha de cualquiera de tus objetos. "
+"Mientras estén en estado <emphasis>persistente</emphasis>, esto es, "
+"ligados a una <literal>Session</literal> de Hibernate particular (es decir, "
+"justo han sido cargados o almacenados en una unidad de trabajo), Hibernate "
+"monitoriza cualquier cambio y ejecuta SQL en estilo escribe-por-detrá"
+"s. El proceso de sincronización del estado de memoria con la base de "
+"datos, usualmente sólo al final de una unidad de trabajo, es llamado "
+"<emphasis>limpieza (flushing)</emphasis>."
-#. Tag: programlisting
-#: tutorial.xml:663
-#, no-c-format
+#: index.docbook:663
msgid ""
"<![CDATA[private void addPersonToEvent(Long personId, Long eventId) {\n"
"\n"
@@ -1831,10 +1983,13 @@
" session2.getTransaction().commit();\n"
"}]]>"
msgstr ""
+"Podrías, por supuesto, cargar persona y evento en unidades de trabajo "
+"diferentes. O modificas un objeto fuera de una <literal>Session</literal>, "
+"cuando no está en estado persistente (si antes era persistente "
+"llamamos a este estado <emphasis>separado (detached) </emphasis>). En "
+"código (no muy realista), esto se vería como sigue:"
-#. Tag: para
-#: tutorial.xml:665
-#, no-c-format
+#: index.docbook:665
msgid ""
"The call to <literal>update</literal> makes a detached object persistent "
"again, you could say it binds it to a new unit of work, so any modifications "
@@ -1842,14 +1997,30 @@
"any modifications (additions/deletions) you made to a collection of that "
"entity object."
msgstr ""
-"La llamada a <literal>update</literal> hace a un objeto persistente de "
-"nuevo, podrías decir que la liga a una nueva unidad de trabajo, de modo que "
-"cualquier modificación que le hagas mientras esté separado puede ser salvada "
-"a base de datos."
+"<![CDATA[ private void addPersonToEvent(Long personId, Long eventId) {\n"
+"\n"
+" Session session = HibernateUtil.currentSession();\n"
+" Transaction tx = session.beginTransaction();\n"
+"\n"
+" Person aPerson = (Person) session.load(Person.class, personId);\n"
+" Event anEvent = (Event) session.load(Event.class, eventId);\n"
+"\n"
+" tx.commit();\n"
+" HibernateUtil.closeSession();\n"
+"\n"
+" aPerson.getEvents().add(anEvent); // aPerson is detached\n"
+"\n"
+" Session session2 = HibernateUtil.currentSession();\n"
+" Transaction tx2 = session.beginTransaction();\n"
+"\n"
+" session2.update(aPerson); // Reattachment of aPerson\n"
+"\n"
+" tx2.commit();\n"
+" HibernateUtil.closeSession();\n"
+" }\n"
+"]]>"
-#. Tag: para
-#: tutorial.xml:672
-#, no-c-format
+#: index.docbook:672
msgid ""
"Well, this is not much use in our current situation, but it's an important "
"concept you can design into your own application. For now, complete this "
@@ -1859,16 +2030,12 @@
"(you might have to modify some of the previous methods to return that "
"identifier):"
msgstr ""
-"Bueno, esto no es muy usado en nuestra situación actual, pero es un concepto "
-"importante que puedes diseñar en tu propia aplicación. Por ahora, completa "
-"este ejercicio agregando una nueva acción al método main de "
-"<literal>EventManager</literal> y llámala desde la línea de comandos. Si "
-"necesitas los identificadores de una persona o evento, el método "
-"<literal>save()</literal> los devuelve."
+"La llamada a <literal>update</literal> hace a un objeto persistente de "
+"nuevo, podrías decir que la liga a una nueva unidad de trabajo, de "
+"modo que cualquier modificación que le hagas mientras esté "
+"separado puede ser salvada a base de datos."
-#. Tag: programlisting
-#: tutorial.xml:680
-#, no-c-format
+#: index.docbook:680
msgid ""
"<![CDATA[else if (args[0].equals(\"addpersontoevent\")) {\n"
" Long eventId = mgr.createAndStoreEvent(\"My Event\", new Date());\n"
@@ -1878,10 +2045,14 @@
"eventId);\n"
"}]]>"
msgstr ""
+"Bueno, esto no es muy usado en nuestra situación actual, pero es un "
+"concepto importante que puedes diseñar en tu propia aplicació"
+"n. Por ahora, completa este ejercicio agregando una nueva acción al "
+"método main de <literal>EventManager</literal> y llámala desde "
+"la línea de comandos. Si necesitas los identificadores de una persona "
+"o evento, el método <literal>save()</literal> los devuelve."
-#. Tag: para
-#: tutorial.xml:682
-#, no-c-format
+#: index.docbook:682
msgid ""
"This was an example of an association between two equally important classes, "
"two entities. As mentioned earlier, there are other classes and types in a "
@@ -1896,56 +2067,48 @@
"considered value types), but you can also write dependent classes yourself, "
"<literal>Address</literal> or <literal>MonetaryAmount</literal>, for example."
msgstr ""
-"Esto fue un ejemplo de una asociación entre dos clases igualmente "
+"Esto fue un ejemplo de una asociación entre dos clases igualmente "
"importantes, dos entidades. Como se ha mencionado anteriormente, hay otras "
-"clases y tipos en un modelo típico, usualmente \"menos importantes\". "
-"Algunos ya los habrás visto, como un <literal>int</literal> o un "
+"clases y tipos en un modelo típico, usualmente \"menos importantes\". "
+"Algunos ya los habrás visto, como un <literal>int</literal> o un "
"<literal>String</literal>. Llamamos a estas clases <emphasis>tipos de valor "
"(value types)</emphasis>, y sus instancias <emphasis>dependen</emphasis> de "
"una entidad en particular. Las instancias de estos tipos no tienen su propia "
"identidad, ni son compartidas entre entidades (dos personas no referencian "
"el mismo objeto <literal>firstname</literal>, incluso si tuvieran el mismo "
-"primer nombre). Por supuesto, los tipos de valor no sólo pueden encontrarse "
-"en el JDK (de hecho, en una aplicación Hibernate todas las clases del JDK "
-"son consideradas tipos de valor), sino que además puedes escribir por ti "
-"mismo clases dependientes, por ejemplo, <literal>Address</literal> o "
-"<literal>MonetaryAmount</literal>."
+"primer nombre). Por supuesto, los tipos de valor no sólo pueden "
+"encontrarse en el JDK (de hecho, en una aplicación Hibernate todas "
+"las clases del JDK son consideradas tipos de valor), sino que además "
+"puedes escribir por ti mismo clases dependientes, por ejemplo, "
+"<literal>Address</literal> o <literal>MonetaryAmount</literal>."
-#. Tag: para
-#: tutorial.xml:695
-#, no-c-format
+#: index.docbook:695
msgid ""
"You can also design a collection of value types. This is conceptually very "
"different from a collection of references to other entities, but looks "
"almost the same in Java."
msgstr ""
-"También puedes diseñar una colección de tipos de valor. Esto es "
-"conceptualmente muy diferente de una colección de referencias a otras "
-"entidades, pero se ve casi lo mismo en Java."
+"También puedes diseñar una colección de tipos de valor. "
+"Esto es conceptualmente muy diferente de una colección de referencias "
+"a otras entidades, pero se ve casi lo mismo en Java."
-#. Tag: title
-#: tutorial.xml:703
-#, no-c-format
+#: index.docbook:703
msgid "Collection of values"
-msgstr "Colección de valores"
+msgstr "Colección de valores"
-#. Tag: para
-#: tutorial.xml:705
-#, no-c-format
+#: index.docbook:705
msgid ""
"We add a collection of value typed objects to the <literal>Person</literal> "
"entity. We want to store email addresses, so the type we use is "
"<literal>String</literal>, and the collection is again a <literal>Set</"
"literal>:"
msgstr ""
-"Agregamos una colección de objetos tipificados en valor a la entidad "
+"Agregamos una colección de objetos tipificados en valor a la entidad "
"<literal>Person</literal>. Queremos almacenar direcciones de email, de modo "
-"que el tipo que usamos es <literal>String</literal>, y la colección es "
-"nuevamente un <literal>Set</literal>:"
+"que el tipo que usamos es <literal>String</literal>, y la colección "
+"es nuevamente un <literal>Set</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:710
-#, no-c-format
+#: index.docbook:710
msgid ""
"<![CDATA[private Set emailAddresses = new HashSet();\n"
"\n"
@@ -1957,26 +2120,33 @@
" this.emailAddresses = emailAddresses;\n"
"}]]>"
msgstr ""
+"<![CDATA[private Set emailAddresses = new HashSet();\n"
+"\n"
+"public Set getEmailAddresses() {\n"
+" return emailAddresses;\n"
+"}\n"
+"\n"
+"public void setEmailAddresses(Set emailAddresses) {\n"
+" this.emailAddresses = emailAddresses;\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:712
-#, no-c-format
+#: index.docbook:712
msgid "The mapping of this <literal>Set</literal>:"
msgstr "El mapeo de este <literal>Set</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:716
-#, no-c-format
+#: index.docbook:716
msgid ""
"<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
" <key column=\"PERSON_ID\"/>\n"
" <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"emailAddresses\" table=\"PERSON_EMAIL_ADDR\">\n"
+" <key column=\"PERSON_ID\"/>\n"
+" <element type=\"string\" column=\"EMAIL_ADDR\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: tutorial.xml:718
-#, no-c-format
+#: index.docbook:718
msgid ""
"The difference compared with the earlier mapping is the <literal>element</"
"literal> part, which tells Hibernate that the collection does not contain "
@@ -1990,26 +2160,22 @@
"<literal>String</literal> values will actually be stored."
msgstr ""
"La diferencia comparada con el mapeo anterior es la parte <literal>element</"
-"literal>, que le dice a Hibernate que la colección no contiene referencias a "
-"otra entidad, sino una colección de elementos de tipo <literal>String</"
-"literal> (el nombre en minúsculas te dice que es un tipo/conversor de mapeo "
-"de Hibernate). Una vez más, el atributo <literal>table</literal> del "
-"elemento <literal>set</literal> determina el nombre de la tabla para la "
-"colección. El elemento <literal>key</literal> define el nombre de la columna "
-"clave foránea en la tabla de colección. El atributo <literal>column</"
-"literal> en el elemento <literal>element</literal> define el nombre de "
-"columna donde realmente serán almacenados los valores <literal>String</"
-"literal>."
+"literal>, que le dice a Hibernate que la colección no contiene "
+"referencias a otra entidad, sino una colección de elementos de tipo "
+"<literal>String</literal> (el nombre en minúsculas te dice que es un "
+"tipo/conversor de mapeo de Hibernate). Una vez más, el atributo "
+"<literal>table</literal> del elemento <literal>set</literal> determina el "
+"nombre de la tabla para la colección. El elemento <literal>key</"
+"literal> define el nombre de la columna clave foránea en la tabla de "
+"colección. El atributo <literal>column</literal> en el elemento "
+"<literal>element</literal> define el nombre de columna donde realmente "
+"serán almacenados los valores <literal>String</literal>."
-#. Tag: para
-#: tutorial.xml:728
-#, no-c-format
+#: index.docbook:728
msgid "Have a look at the updated schema:"
msgstr "Echa una mirada al esquema actualizado:"
-#. Tag: programlisting
-#: tutorial.xml:732
-#, no-c-format
+#: index.docbook:732
msgid ""
"<![CDATA[\n"
" _____________ __________________\n"
@@ -2032,34 +2198,64 @@
" |_____________|\n"
" ]]>"
msgstr ""
+"<![CDATA[\n"
+" _____________ __________________\n"
+" | | | | _____________\n"
+" | EVENTS | | PERSON_EVENT | | | "
+"___________________\n"
+" |_____________| |__________________| | PERSON | "
+"| |\n"
+" | | | | |_____________| | "
+"PERSON_EMAIL_ADDR |\n"
+" | *EVENT_ID | <--> | *EVENT_ID | | | |"
+"___________________|\n"
+" | EVENT_DATE | | *PERSON_ID | <--> | *PERSON_ID | <--> | "
+"*PERSON_ID |\n"
+" | TITLE | |__________________| | AGE | | "
+"*EMAIL_ADDR |\n"
+" |_____________| | FIRSTNAME | |"
+"___________________|\n"
+" | LASTNAME |\n"
+" |_____________|\n"
+" ]]>"
-#. Tag: para
-#: tutorial.xml:734
-#, no-c-format
+#: index.docbook:734
msgid ""
"You can see that the primary key of the collection table is in fact a "
"composite key, using both columns. This also implies that there can't be "
"duplicate email addresses per person, which is exactly the semantics we need "
"for a set in Java."
msgstr ""
-"Puedes ver que la clave primaria de la tabla de colección es de hecho una "
-"clave compuesta, usando ambas columnas. Esto implica también que no pueden "
-"haber direcciones de email duplicadas por persona, que es exactamente la "
-"semántica que necesitamos para un conjunto en Java."
+"Puedes ver que la clave primaria de la tabla de colección es de hecho "
+"una clave compuesta, usando ambas columnas. Esto implica también que "
+"no pueden haber direcciones de email duplicadas por persona, que es "
+"exactamente la semántica que necesitamos para un conjunto en Java."
-#. Tag: para
-#: tutorial.xml:740
-#, no-c-format
+#: index.docbook:740
msgid ""
"You can now try and add elements to this collection, just like we did before "
"by linking persons and events. It's the same code in Java:"
msgstr ""
-"Puedes ahora intentar y agregar elementos a esta colección, al igual que "
-"hicimos antes enlazando personas y eventos. Es el mismo código en Java."
+"<![CDATA[private void addEmailToPerson(Long personId, String emailAddress) "
+"{\n"
+" \n"
+" Session session = HibernateUtil."
+"getSessionFactory().getCurrentSession();\n"
+" session.beginTransaction();\n"
+" \n"
+" Person aPerson = (Person) "
+"session.load(Person.class, personId);\n"
+" \n"
+" // The getEmailAddresses() "
+"might trigger a lazy load of the collection\n"
+" aPerson.getEmailAddresses().add"
+"(emailAddress);\n"
+" \n"
+" session.getTransaction().commit"
+"();\n"
+"}]]>"
-#. Tag: programlisting
-#: tutorial.xml:745
-#, no-c-format
+#: index.docbook:745
msgid ""
"<![CDATA[private void addEmailToPerson(Long personId, String emailAddress) "
"{\n"
@@ -2076,10 +2272,11 @@
" session.getTransaction().commit();\n"
"}]]>"
msgstr ""
+"Puedes ahora intentar y agregar elementos a esta colección, al igual "
+"que hicimos antes enlazando personas y eventos. Es el mismo código en "
+"Java."
-#. Tag: para
-#: tutorial.xml:747
-#, no-c-format
+#: index.docbook:747
msgid ""
"This time we didnt' use a <emphasis>fetch</emphasis> query to initialize the "
"collection. Hence, the call to its getter method will trigger an additional "
@@ -2091,15 +2288,11 @@
"select to initialize it, so we can add an element to it. Monitor the SQL log "
"and try to optimize this with an eager fetch."
-#. Tag: title
-#: tutorial.xml:757
-#, no-c-format
+#: index.docbook:757
msgid "Bi-directional associations"
msgstr "Asociaciones bidireccionales"
-#. Tag: para
-#: tutorial.xml:759
-#, no-c-format
+#: index.docbook:759
msgid ""
"Next we are going to map a bi-directional association - making the "
"association between person and event work from both sides in Java. Of "
@@ -2108,27 +2301,24 @@
"programming language, so it doesn't need anything like a navigation "
"direction - data can be viewed and retrieved in any possible way."
msgstr ""
-"A continuacion vamos a mapear una asociación bidireccional, haciendo que la "
-"asociación entre persona y evento funcione desde ambos lados en Java. Por "
-"supuesto, el esquema de base de datos no cambia; todavía necesitamos "
-"multiplicidad muchos-a-muchos. Una base de datos relacional es más flexible "
-"que un lenguaje de programación de red, así que no necesita nada parecido a "
-"una dirección de navegación; los datos pueden ser vistos y recuperados en "
-"cualquier forma posible."
+"A continuacion vamos a mapear una asociación bidireccional, haciendo "
+"que la asociación entre persona y evento funcione desde ambos lados "
+"en Java. Por supuesto, el esquema de base de datos no cambia; todavía "
+"necesitamos multiplicidad muchos-a-muchos. Una base de datos relacional es "
+"más flexible que un lenguaje de programación de red, "
+"así que no necesita nada parecido a una dirección de "
+"navegación; los datos pueden ser vistos y recuperados en cualquier "
+"forma posible."
-#. Tag: para
-#: tutorial.xml:767
-#, no-c-format
+#: index.docbook:767
msgid ""
"First, add a collection of participants to the <literal>Event</literal> "
"Event class:"
msgstr ""
-"Primero agrega una colección de participantes a la clase de eventos "
+"Primero agrega una colección de participantes a la clase de eventos "
"<literal>Event</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:771
-#, no-c-format
+#: index.docbook:771
msgid ""
"<![CDATA[private Set participants = new HashSet();\n"
"\n"
@@ -2140,20 +2330,25 @@
" this.participants = participants;\n"
"}]]>"
msgstr ""
+"<![CDATA[private Set participants = new HashSet();\n"
+"\n"
+"public Set getParticipants() {\n"
+" return participants;\n"
+"}\n"
+"\n"
+"public void setParticipants(Set participants) {\n"
+" this.participants = participants;\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:773
-#, no-c-format
+#: index.docbook:773
msgid ""
"Now map this side of the association too, in <literal>Event.hbm.xml</"
"literal>."
msgstr ""
-"Ahora mapea este lado de la asociación también, en <literal>Event.hbm.xml</"
-"literal>."
+"Ahora mapea este lado de la asociación también, en "
+"<literal>Event.hbm.xml</literal>."
-#. Tag: programlisting
-#: tutorial.xml:777
-#, no-c-format
+#: index.docbook:777
msgid ""
"<![CDATA[<set name=\"participants\" table=\"PERSON_EVENT\" inverse=\"true"
"\">\n"
@@ -2161,10 +2356,13 @@
" <many-to-many column=\"PERSON_ID\" class=\"events.Person\"/>\n"
"</set>]]>"
msgstr ""
+"<![CDATA[<set name=\"participants\" table=\"PERSON_EVENT\" inverse=\"true"
+"\">\n"
+" <key column=\"EVENT_ID\"/>\n"
+" <many-to-many column=\"PERSON_ID\" class=\"Person\"/>\n"
+"</set>]]>"
-#. Tag: para
-#: tutorial.xml:779
-#, no-c-format
+#: index.docbook:779
msgid ""
"As you see, these are normal <literal>set</literal> mappings in both mapping "
"documents. Notice that the column names in <literal>key</literal> and "
@@ -2176,13 +2374,11 @@
"Como ves, estos son mapeos normales de <literal>set</literal> en ambos "
"documentos de mapeo. Nota que los nombres de columnas en <literal>key</"
"literal> y <literal>many-to-many</literal> fueron permutados en ambos "
-"documentos de mapeo. Aquí la adición más importante es el atributo "
-"<literal>inverse=\"true\"</literal> en el elemento <literal>set</literal> "
-"del mapeo de colección de <literal>Event</literal>."
+"documentos de mapeo. Aquí la adición más importante es "
+"el atributo <literal>inverse=\"true\"</literal> en el elemento <literal>set</"
+"literal> del mapeo de colección de <literal>Event</literal>."
-#. Tag: para
-#: tutorial.xml:787
-#, no-c-format
+#: index.docbook:787
msgid ""
"What this means is that Hibernate should take the other side - the "
"<literal>Person</literal> class - when it needs to find out information "
@@ -2190,19 +2386,16 @@
"you see how the bi-directional link between our two entities is created ."
msgstr ""
"Lo que esto significa es que Hibernate debe tomar el otro lado - la clase "
-"<literal>Person</literal> - cuando necesite descubrir información sobre el "
-"enlace entre las dos. Esto será mucho más fácil de entender una vez que veas "
-"cómo se crea el enlace bidireccional entre nuestras dos entidades."
+"<literal>Person</literal> - cuando necesite descubrir información "
+"sobre el enlace entre las dos. Esto será mucho más fá"
+"cil de entender una vez que veas cómo se crea el enlace bidireccional "
+"entre nuestras dos entidades."
-#. Tag: title
-#: tutorial.xml:796
-#, no-c-format
+#: index.docbook:796
msgid "Working bi-directional links"
msgstr "Trabajando enlaces bidireccionales"
-#. Tag: para
-#: tutorial.xml:798
-#, no-c-format
+#: index.docbook:798
msgid ""
"First, keep in mind that Hibernate does not affect normal Java semantics. "
"How did we create a link between a <literal>Person</literal> and an "
@@ -2214,31 +2407,27 @@
"<literal>Event</literal>. This \"setting the link on both sides\" is "
"absolutely necessary and you should never forget doing it."
msgstr ""
-"Primero, ten en mente que Hhibernate no afecta la semántica normal de Java. "
-"¿Cómo hemos creado un enlace entre una <literal>Person</literal> y un "
-"<literal>Event</literal> en el ejemplo unidireccional? Hemos agregado una "
-"instancia de <literal>Event</literal> a la colección de referencias de "
-"eventos de una instancia de <literal>Person</literal>. De modo que, "
-"obviamente, si queremos que este enlace funcione bidireccionalmente, tenemos "
-"que hacer lo mismo del otro lado, agregando una referencia a "
-"<literal>Person</literal> a la colección en un <literal>Event</literal>. "
-"Este \"establecer el enlace a ambos lados\" es absolutamente necesario y "
-"nunca debes olvidar hacerlo."
+"Primero, ten en mente que Hhibernate no afecta la semántica normal de "
+"Java. ¿Cómo hemos creado un enlace entre una <literal>Person</"
+"literal> y un <literal>Event</literal> en el ejemplo unidireccional? Hemos "
+"agregado una instancia de <literal>Event</literal> a la colección de "
+"referencias de eventos de una instancia de <literal>Person</literal>. De "
+"modo que, obviamente, si queremos que este enlace funcione "
+"bidireccionalmente, tenemos que hacer lo mismo del otro lado, agregando una "
+"referencia a <literal>Person</literal> a la colección en un "
+"<literal>Event</literal>. Este \"establecer el enlace a ambos lados\" es "
+"absolutamente necesario y nunca debes olvidar hacerlo."
-#. Tag: para
-#: tutorial.xml:808
-#, no-c-format
+#: index.docbook:808
msgid ""
"Many developers program defensive and create link management methods to "
"correctly set both sides, e.g. in <literal>Person</literal>:"
msgstr ""
-"Muchos desarrolladores programan a la defensiva y crean métodos de manejo de "
-"un enlace para establecer correctamente ambos lados, por ejemplo en "
-"<literal>Person</literal>:"
+"Muchos desarrolladores programan a la defensiva y crean métodos de "
+"manejo de un enlace para establecer correctamente ambos lados, por ejemplo "
+"en <literal>Person</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:813
-#, no-c-format
+#: index.docbook:813
msgid ""
"<![CDATA[protected Set getEvents() {\n"
" return events;\n"
@@ -2258,10 +2447,25 @@
" event.getParticipants().remove(this);\n"
"}]]>"
msgstr ""
+"<![CDATA[protected Set getEvents() {\n"
+" return events;\n"
+"}\n"
+"\n"
+"protected void setEvents(Set events) {\n"
+" this.events = events;\n"
+"}\n"
+"\n"
+"public void addToEvent(Event event) {\n"
+" this.getEvents().add(event);\n"
+" event.getParticipants().add(this);\n"
+"}\n"
+"\n"
+"public void removeFromEvent(Event event) {\n"
+" this.getEvents().remove(event);\n"
+" event.getParticipants().remove(this);\n"
+"}]]>"
-#. Tag: para
-#: tutorial.xml:815
-#, no-c-format
+#: index.docbook:815
msgid ""
"Notice that the get and set methods for the collection are now protected - "
"this allows classes in the same package and subclasses to still access the "
@@ -2269,15 +2473,13 @@
"directly (well, almost). You should probably do the same with the collection "
"on the other side."
msgstr ""
-"Nota que los métodos get y set para esta colección son ahora protegidos. "
-"Esto le permite a clases en el mismo paquete y a subclases acceder aún a los "
-"métodos, pero previene a cualquier otro de ensuciarse con la colección "
-"directamente (bueno, casi). Probablemente debas hacer lo mismo con la "
-"colección al otro lado."
+"Nota que los métodos get y set para esta colección son ahora "
+"protegidos. Esto le permite a clases en el mismo paquete y a subclases "
+"acceder aún a los métodos, pero previene a cualquier otro de "
+"ensuciarse con la colección directamente (bueno, casi). Probablemente "
+"debas hacer lo mismo con la colección al otro lado."
-#. Tag: para
-#: tutorial.xml:822
-#, no-c-format
+#: index.docbook:822
msgid ""
"What about the <literal>inverse</literal> mapping attribute? For you, and "
"for Java, a bi-directional link is simply a matter of setting the references "
@@ -2294,38 +2496,32 @@
"association it has to be the many-side, in many-to-many association you can "
"pick either side, there is no difference."
msgstr ""
-"Y ¿qué del atributo de mapeo <literal>inverse</literal>? Para ti, y para "
-"Java, un enlace bidireccional es simplemente cuestión de establecer "
-"correctamente las referencias a ambos lados. Hibernate, sin embargo, no "
-"tiene suficiente información para arreglar correctamente sentencias "
-"<literal>INSERT</literal> y <literal>UPDATE</literal> de SQL (para evitar "
-"violación de restricciones), y necesita alguna ayuda para manejar "
-"asociaciones bidireccionales apropiadamente. El hacer un lado de la "
-"asociación <literal>inverse</literal> le dice a Hibernate que basicamente lo "
-"ignore, que lo considere un <emphasis>espejo</emphasis> del otro lado. Esto "
-"es todo lo necesario para que Hibernate resuelva todas las incidencias al "
-"transformar un modelo de navegación direccional a un esquema SQL de base de "
-"datos. Las reglas que tienes que recordar son directas: Todas las "
-"asociaciones bidireccionales necesitan uno de los lados como "
-"<literal>inverse</literal>. En una asociación uno-a-muchos debe ser el lado-"
-"de-muchos. En una asociación muchos-a-muchos, puedes tomar cualquier lado, "
-"no hay diferencia."
+"Y ¿qué del atributo de mapeo <literal>inverse</literal>? Para ti, y "
+"para Java, un enlace bidireccional es simplemente cuestión de "
+"establecer correctamente las referencias a ambos lados. Hibernate, sin "
+"embargo, no tiene suficiente información para arreglar correctamente "
+"sentencias <literal>INSERT</literal> y <literal>UPDATE</literal> de SQL "
+"(para evitar violación de restricciones), y necesita alguna ayuda "
+"para manejar asociaciones bidireccionales apropiadamente. El hacer un lado "
+"de la asociación <literal>inverse</literal> le dice a Hibernate que "
+"basicamente lo ignore, que lo considere un <emphasis>espejo</emphasis> del "
+"otro lado. Esto es todo lo necesario para que Hibernate resuelva todas las "
+"incidencias al transformar un modelo de navegación direccional a un "
+"esquema SQL de base de datos. Las reglas que tienes que recordar son "
+"directas: Todas las asociaciones bidireccionales necesitan uno de los lados "
+"como <literal>inverse</literal>. En una asociación uno-a-muchos debe "
+"ser el lado-de-muchos. En una asociación muchos-a-muchos, puedes "
+"tomar cualquier lado, no hay diferencia."
-#. Tag: para
-#: tutorial.xml:837
-#, no-c-format
+#: index.docbook:837
msgid "Let's turn this into a small web application."
msgstr "Let's turn this into a small web application."
-#. Tag: title
-#: tutorial.xml:844
-#, no-c-format
+#: index.docbook:844
msgid "Part 3 - The EventManager web application"
msgstr "Part 3 - The EventManager web application"
-#. Tag: para
-#: tutorial.xml:846
-#, no-c-format
+#: index.docbook:846
msgid ""
"A Hibernate web application uses <literal>Session</literal> and "
"<literal>Transaction</literal> almost like a standalone application. "
@@ -2339,15 +2535,11 @@
"<literal>EventManagerServlet</literal>. This servlet can list all events "
"stored in the database, and it provides an HTML form to enter new events."
-#. Tag: title
-#: tutorial.xml:854
-#, no-c-format
+#: index.docbook:854
msgid "Writing the basic servlet"
msgstr "Writing the basic servlet"
-#. Tag: para
-#: tutorial.xml:856
-#, no-c-format
+#: index.docbook:856
msgid ""
"Create a new class in your source directory, in the <literal>events</"
"literal> package:"
@@ -2355,9 +2547,7 @@
"Create a new class in your source directory, in the <literal>events</"
"literal> package:"
-#. Tag: programlisting
-#: tutorial.xml:861
-#, no-c-format
+#: index.docbook:861
msgid ""
"<![CDATA[package events;\n"
"\n"
@@ -2368,10 +2558,17 @@
" // Servlet code\n"
"}]]>"
msgstr ""
+"<![CDATA[package events;\n"
+" \n"
+" // Imports\n"
+" \n"
+" public class "
+"EventManagerServlet extends HttpServlet {\n"
+" \n"
+" // Servlet code\n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:863
-#, no-c-format
+#: index.docbook:863
msgid ""
"The servlet handles HTTP <literal>GET</literal> requests only, hence, the "
"method we implement is <literal>doGet()</literal>:"
@@ -2379,9 +2576,7 @@
"The servlet handles HTTP <literal>GET</literal> requests only, hence, the "
"method we implement is <literal>doGet()</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:868
-#, no-c-format
+#: index.docbook:868
msgid ""
"<![CDATA[protected void doGet(HttpServletRequest request,\n"
" HttpServletResponse response)\n"
@@ -2408,10 +2603,43 @@
"\n"
"}]]>"
msgstr ""
+"<![CDATA[protected void doGet(HttpServletRequest request,\n"
+" HttpServletResponse "
+"response)\n"
+" throws ServletException, "
+"IOException {\n"
+" \n"
+" SimpleDateFormat "
+"dateFormatter = new SimpleDateFormat(\"dd.MM.yyyy\");\n"
+" \n"
+" try {\n"
+" // Begin unit of work\n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" .getCurrentSession()."
+"beginTransaction();\n"
+" \n"
+" // Process request and "
+"render page...\n"
+" \n"
+" // End unit of work\n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" .getCurrentSession()."
+"getTransaction().commit();\n"
+" \n"
+" } catch (Exception ex) {\n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" .getCurrentSession()."
+"getTransaction().rollback();\n"
+" throw new ServletException"
+"(ex);\n"
+" }\n"
+" \n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:870
-#, fuzzy, no-c-format
+#: index.docbook:870
msgid ""
"The pattern we are applying here is called <emphasis>session-per-request</"
"emphasis>. When a request hits the servlet, a new Hibernate "
@@ -2429,9 +2657,7 @@
"occur inside a transaction, no matter if data is read or written (we don't "
"use the auto-commit mode in applications)."
-#. Tag: para
-#: tutorial.xml:879
-#, no-c-format
+#: index.docbook:879
msgid ""
"Do <emphasis>not</emphasis> use a new Hibernate <literal>Session</literal> "
"for every database operation. Use one Hibernate <literal>Session</literal> "
@@ -2443,9 +2669,7 @@
"that is scoped to the whole request. Use <literal>getCurrentSession()</"
"literal>, so that it is automatically bound to the current Java thread."
-#. Tag: para
-#: tutorial.xml:886
-#, no-c-format
+#: index.docbook:886
msgid ""
"Next, the possible actions of the request are processed and the response "
"HTML is rendered. We'll get to that part soon."
@@ -2453,9 +2677,7 @@
"Next, the possible actions of the request are processed and the response "
"HTML is rendered. We'll get to that part soon."
-#. Tag: para
-#: tutorial.xml:891
-#, fuzzy, no-c-format
+#: index.docbook:891
msgid ""
"Finally, the unit of work ends when processing and rendering is complete. If "
"any problem occured during processing or rendering, an exception will be "
@@ -2475,23 +2697,17 @@
"called <emphasis>Open Session in View</emphasis>—you'll need it as "
"soon as you consider rendering your view in JSP, not in a servlet."
-#. Tag: title
-#: tutorial.xml:905
-#, no-c-format
+#: index.docbook:905
msgid "Processing and rendering"
msgstr "Processing and rendering"
-#. Tag: para
-#: tutorial.xml:907
-#, no-c-format
+#: index.docbook:907
msgid ""
"Let's implement the processing of the request and rendering of the page."
msgstr ""
"Let's implement the processing of the request and rendering of the page."
-#. Tag: programlisting
-#: tutorial.xml:911
-#, no-c-format
+#: index.docbook:911
msgid ""
"<![CDATA[// Write HTML header\n"
"PrintWriter out = response.getWriter();\n"
@@ -2520,10 +2736,48 @@
"out.flush();\n"
"out.close();]]>"
msgstr ""
+"<![CDATA[// Write HTML header\n"
+" PrintWriter out = response."
+"getWriter();\n"
+" out.println"
+"(\"<html><head><title>Event Manager</title></head><body>\");\n"
+" \n"
+" // Handle "
+"actions\n"
+" if ( \"store\"."
+"equals(request.getParameter(\"action\")) ) {\n"
+" \n"
+" String "
+"eventTitle = request.getParameter(\"eventTitle\");\n"
+" String eventDate "
+"= request.getParameter(\"eventDate\");\n"
+" \n"
+" if ( \"\".equals"
+"(eventTitle) || \"\".equals(eventDate) ) {\n"
+" out.println"
+"(\"<b><i>Please enter event title and date.</i></b>\");\n"
+" } else {\n"
+" createAndStoreEvent"
+"(eventTitle, dateFormatter.parse(eventDate));\n"
+" out.println"
+"(\"<b><i>Added event.</i></b>\");\n"
+" }\n"
+" }\n"
+" \n"
+" // Print page\n"
+" printEventForm"
+"(out);\n"
+" listEvents(out, "
+"dateFormatter);\n"
+" \n"
+" // Write HTML "
+"footer\n"
+" out.println(\"</"
+"body></html>\");\n"
+" out.flush();\n"
+" out.close();]]>"
-#. Tag: para
-#: tutorial.xml:913
-#, fuzzy, no-c-format
+#: index.docbook:913
msgid ""
"Granted, this coding style with a mix of Java and HTML would not scale in a "
"more complex application—keep in mind that we are only illustrating "
@@ -2539,9 +2793,7 @@
"all events in the database are printed. The first method is trivial and only "
"outputs HTML:"
-#. Tag: programlisting
-#: tutorial.xml:922
-#, no-c-format
+#: index.docbook:922
msgid ""
"<![CDATA[private void printEventForm(PrintWriter out) {\n"
" out.println(\"<h2>Add new event:</h2>\");\n"
@@ -2553,10 +2805,23 @@
" out.println(\"</form>\");\n"
"}]]>"
msgstr ""
+"<![CDATA[private void printEventForm(PrintWriter out) {\n"
+" out."
+"println(\"<h2>Add new event:</h2>\");\n"
+" out."
+"println(\"<form>\");\n"
+" out."
+"println(\"Title: <input name='eventTitle' length='50'/><br/>\");\n"
+" out."
+"println(\"Date (e.g. 24.12.2009): <input name='eventDate' length='10'/><br/>"
+"\");\n"
+" out."
+"println(\"<input type='submit' name='action' value='store'/>\");\n"
+" out."
+"println(\"</form>\");\n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:924
-#, no-c-format
+#: index.docbook:924
msgid ""
"The <literal>listEvents()</literal> method uses the Hibernate "
"<literal>Session</literal> bound to the current thread to execute a query:"
@@ -2564,9 +2829,7 @@
"The <literal>listEvents()</literal> method uses the Hibernate "
"<literal>Session</literal> bound to the current thread to execute a query:"
-#. Tag: programlisting
-#: tutorial.xml:930
-#, no-c-format
+#: index.docbook:930
msgid ""
"<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat "
"dateFormatter) {\n"
@@ -2593,10 +2856,46 @@
" }\n"
"}]]>"
msgstr ""
+"<![CDATA[private void listEvents(PrintWriter out, SimpleDateFormat "
+"dateFormatter) {\n"
+" \n"
+" List "
+"result = HibernateUtil.getSessionFactory()\n"
+" ."
+"getCurrentSession().createCriteria(Event.class).list();\n"
+" if "
+"(result.size() > 0) {\n"
+" out."
+"println(\"<h2>Events in database:</h2>\");\n"
+" out."
+"println(\"<table border='1'>\");\n"
+" out."
+"println(\"<tr>\");\n"
+" out."
+"println(\"<th>Event title</th>\");\n"
+" out."
+"println(\"<th>Event date</th>\");\n"
+" out."
+"println(\"</tr>\");\n"
+" for "
+"(Iterator it = result.iterator(); it.hasNext();) {\n"
+" Event "
+"event = (Event) it.next();\n"
+" out."
+"println(\"<tr>\");\n"
+" out."
+"println(\"<td>\" + event.getTitle() + \"</td>\");\n"
+" out."
+"println(\"<td>\" + dateFormatter.format(event.getDate()) + \"</td>\");\n"
+" out."
+"println(\"</tr>\");\n"
+" }\n"
+" out."
+"println(\"</table>\");\n"
+" }\n"
+" }]]>"
-#. Tag: para
-#: tutorial.xml:932
-#, no-c-format
+#: index.docbook:932
msgid ""
"Finally, the <literal>store</literal> action is dispatched to the "
"<literal>createAndStoreEvent()</literal> method, which also uses the "
@@ -2606,9 +2905,7 @@
"<literal>createAndStoreEvent()</literal> method, which also uses the "
"<literal>Session</literal> of the current thread:"
-#. Tag: programlisting
-#: tutorial.xml:938
-#, no-c-format
+#: index.docbook:938
msgid ""
"<![CDATA[protected void createAndStoreEvent(String title, Date theDate) {\n"
" Event theEvent = new Event();\n"
@@ -2619,10 +2916,22 @@
" .getCurrentSession().save(theEvent);\n"
"}]]>"
msgstr ""
+"<![CDATA[protected void createAndStoreEvent(String title, Date theDate) {\n"
+" Event "
+"theEvent = new Event();\n"
+" theEvent."
+"setTitle(title);\n"
+" theEvent."
+"setDate(theDate);\n"
+" \n"
+" HibernateUtil."
+"getSessionFactory()\n"
+" ."
+"getCurrentSession().save(theEvent);\n"
+" }]]"
+">"
-#. Tag: para
-#: tutorial.xml:940
-#, no-c-format
+#: index.docbook:940
msgid ""
"That's it, the servlet is complete. A request to the servlet will be "
"processed in a single <literal>Session</literal> and <literal>Transaction</"
@@ -2642,15 +2951,11 @@
"more sophisticated design and move the data access code into data access "
"objects (the DAO pattern). See the Hibernate Wiki for more examples."
-#. Tag: title
-#: tutorial.xml:954
-#, no-c-format
+#: index.docbook:954
msgid "Deploying and testing"
msgstr "Deploying and testing"
-#. Tag: para
-#: tutorial.xml:956
-#, no-c-format
+#: index.docbook:956
msgid ""
"To deploy this application you have to create a web archive, a WAR. Add the "
"following Ant target to your <literal>build.xml</literal>:"
@@ -2658,9 +2963,7 @@
"To deploy this application you have to create a web archive, a WAR. Add the "
"following Ant target to your <literal>build.xml</literal>:"
-#. Tag: programlisting
-#: tutorial.xml:961
-#, no-c-format
+#: index.docbook:961
msgid ""
"<![CDATA[<target name=\"war\" depends=\"compile\">\n"
" <war destfile=\"hibernate-tutorial.war\" webxml=\"web.xml\">\n"
@@ -2672,10 +2975,22 @@
" </war>\n"
"</target>]]>"
msgstr ""
+"<![CDATA[<target name=\"war\" depends=\"compile\">\n"
+" <war "
+"destfile=\"hibernate-tutorial.war\" webxml=\"web.xml\">\n"
+" <lib "
+"dir=\"${librarydir}\">\n"
+" <exclude "
+"name=\"jsdk*.jar\"/>\n"
+" </"
+"lib>\n"
+" \n"
+" <classes "
+"dir=\"${targetdir}\"/>\n"
+" </war>\n"
+" </target>]]>"
-#. Tag: para
-#: tutorial.xml:963
-#, no-c-format
+#: index.docbook:963
msgid ""
"This target creates a file called <literal>hibernate-tutorial.war</literal> "
"in your project directory. It packages all libraries and the <literal>web."
@@ -2687,9 +3002,7 @@
"xml</literal> descriptor, which is expected in the base directory of your "
"project:"
-#. Tag: programlisting
-#: tutorial.xml:969
-#, no-c-format
+#: index.docbook:969
msgid ""
"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
"<web-app version=\"2.4\"\n"
@@ -2709,10 +3022,35 @@
" </servlet-mapping>\n"
"</web-app>]]>"
msgstr ""
+"<![CDATA[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
+" <web-app version="
+"\"2.4\"\n"
+" xmlns="
+"\"http://java.sun.com/xml/ns/j2ee\"\n"
+" xmlns:xsi="
+"\"http://www.w3.org/2001/XMLSchema-instance\"\n"
+" xsi:"
+"schemaLocation=\"http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/"
+"j2ee/web-app_2_4.xsd\">\n"
+" \n"
+" <servlet>\n"
+" <servlet-"
+"name>Event Manager</servlet-name>\n"
+" <servlet-"
+"class>events.EventManagerServlet</servlet-class>\n"
+" </servlet>\n"
+" \n"
+" <servlet-"
+"mapping>\n"
+" <servlet-"
+"name>Event Manager</servlet-name>\n"
+" <url-"
+"pattern>/eventmanager</url-pattern>\n"
+" </servlet-"
+"mapping>\n"
+" </web-app>]]>"
-#. Tag: para
-#: tutorial.xml:971
-#, no-c-format
+#: index.docbook:971
msgid ""
"Before you compile and deploy the web application, note that an additional "
"library is required: <literal>jsdk.jar</literal>. This is the Java servlet "
@@ -2726,9 +3064,7 @@
"website and copy it to your library directory. However, it will be only used "
"for compliation and excluded from the WAR package."
-#. Tag: para
-#: tutorial.xml:979
-#, no-c-format
+#: index.docbook:979
msgid ""
"To build and deploy call <literal>ant war</literal> in your project "
"directory and copy the <literal>hibernate-tutorial.war</literal> file into "
@@ -2742,9 +3078,7 @@
"installed, download it and follow the installation instructions. You don't "
"have to change any Tomcat configuration to deploy this application though."
-#. Tag: para
-#: tutorial.xml:987
-#, no-c-format
+#: index.docbook:987
msgid ""
"Once deployed and Tomcat is running, access the application at "
"<literal>http://localhost:8080/hibernate-tutorial/eventmanager</literal>. "
@@ -2760,25 +3094,19 @@
"<literal>HibernateUtil</literal> is called) and to get the detailed output "
"if any exceptions occurs."
-#. Tag: title
-#: tutorial.xml:1000
-#, no-c-format
+#: index.docbook:1000
msgid "Summary"
msgstr "Summary"
-#. Tag: para
-#: tutorial.xml:1002
-#, no-c-format
+#: index.docbook:1002
msgid ""
"This tutorial covered the basics of writing a simple standalone Hibernate "
"application and a small web application."
msgstr ""
-"Este tutorial cubrió los fundamentos de escribir una simple aplicación "
-"independiente de Hibernate."
+"Este tutorial cubrió los fundamentos de escribir una simple "
+"aplicación independiente de Hibernate."
-#. Tag: para
-#: tutorial.xml:1007
-#, no-c-format
+#: index.docbook:1007
msgid ""
"If you already feel confident with Hibernate, continue browsing through the "
"reference documentation table of contents for topics you find interesting - "
@@ -2787,19 +3115,23 @@
"(<xref linkend=\"objectstate\"/>) and the query features (<xref linkend="
"\"objectstate-querying\"/>)."
msgstr ""
-"Si ya te sientes confidente con Hibernate, continúa navegando a través de la "
-"tabla de contenidos de la documentación de referencia para los temas que "
-"encuentres interesantes. Los más consultados son procesamiento transaccional "
-"(<xref linkend=\"transactions\"/>), rendimiento de recuperación (<xref "
-"linkend=\"performance\"/>), o el uso de la API (<xref linkend=\"objectstate"
-"\"/>) y las funcionalidades de consulta (<xref linkend=\"objectstate-querying"
-"\"/>)."
+"Si ya te sientes confidente con Hibernate, continúa navegando a "
+"través de la tabla de contenidos de la documentación de "
+"referencia para los temas que encuentres interesantes. Los más "
+"consultados son procesamiento transaccional (<xref linkend=\"transactions\"/"
+">), rendimiento de recuperación (<xref linkend=\"performance\"/>), o "
+"el uso de la API (<xref linkend=\"objectstate\"/>) y las funcionalidades de "
+"consulta (<xref linkend=\"objectstate-querying\"/>)."
-#. Tag: para
-#: tutorial.xml:1015
-#, no-c-format
+#: index.docbook:1015
msgid ""
"Don't forget to check the Hibernate website for more (specialized) tutorials."
msgstr ""
-"No olvides chequear el sitio web de Hibernate por más (especializados) "
-"tutoriales."
+"No olvides chequear el sitio web de Hibernate por más "
+"(especializados) tutoriales."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
Modified: core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po 2007-11-02 00:32:44 UTC (rev 14175)
+++ core/trunk/documentation/manual/src/main/docbook/es-ES/content/xml.po 2007-11-02 04:31:34 UTC (rev 14176)
@@ -1,24 +1,15 @@
+#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
-"POT-Creation-Date: 2007-10-25 07:48+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL(a)li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
+"Content-Type: text/plain; charset=utf-8\n"
-#. Tag: title
-#: xml.xml:5
-#, no-c-format
+#: index.docbook:5
msgid "XML Mapping"
msgstr "Mapeo XML"
-#. Tag: emphasis
-#: xml.xml:7
-#, no-c-format
+#: index.docbook:7
msgid ""
"Note that this is an experimental feature in Hibernate 3.0 and is under "
"extremely active development."
@@ -26,15 +17,11 @@
"Nota que esta es una funcionalidad experimental en Hibernate 3.0 y está bajo "
"un desarrollo extremadamente activo."
-#. Tag: title
-#: xml.xml:13
-#, no-c-format
+#: index.docbook:13
msgid "Working with XML data"
msgstr "Trabajando con datos XML"
-#. Tag: para
-#: xml.xml:15
-#, no-c-format
+#: index.docbook:15
msgid ""
"Hibernate lets you work with persistent XML data in much the same way you "
"work with persistent POJOs. A parsed XML tree can be thought of as just "
@@ -46,9 +33,7 @@
"puede ser pensado como sólo otra forma de representar los datos relacionales "
"a nivel de objetos, en vez de POJOs."
-#. Tag: para
-#: xml.xml:22
-#, no-c-format
+#: index.docbook:22
msgid ""
"Hibernate supports dom4j as API for manipulating XML trees. You can write "
"queries that retrieve dom4j trees from the database and have any "
@@ -66,9 +51,7 @@
"Hibernate: <literal>persist(), saveOrUpdate(), merge(), delete(), replicate()"
"</literal> (la fusión no está aún soportada)."
-#. Tag: para
-#: xml.xml:32
-#, no-c-format
+#: index.docbook:32
msgid ""
"This feature has many applications including data import/export, "
"externalization of entity data via JMS or SOAP and XSLT-based reporting."
@@ -77,9 +60,7 @@
"exportación de datos, externalización de datos de entidad vía JMS o SOAP y "
"reportes basados en XSLT."
-#. Tag: para
-#: xml.xml:37
-#, no-c-format
+#: index.docbook:37
msgid ""
"A single mapping may 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, "
@@ -89,21 +70,15 @@
"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."
-#. Tag: title
-#: xml.xml:44
-#, no-c-format
+#: index.docbook:44
msgid "Specifying XML and class mapping together"
msgstr "Especificando los mapeos de XML y de clase juntos"
-#. Tag: para
-#: xml.xml:46
-#, no-c-format
+#: index.docbook:46
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:"
-#. Tag: programlisting
-#: xml.xml:50
-#, no-c-format
+#: index.docbook:50
msgid ""
"<![CDATA[<class name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
@@ -126,22 +101,36 @@
" \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
-#: xml.xml:54
-#, no-c-format
+#: index.docbook:54
msgid "Specifying only an XML mapping"
msgstr "Especificando sólo un mapeo XML"
-#. Tag: para
-#: xml.xml:56
-#, no-c-format
+#: index.docbook:56
msgid "Here is an example where there is no POJO class:"
msgstr "He aquí un ejemplo donde no hay ninguna clase POJO:"
-#. Tag: programlisting
-#: xml.xml:60
-#, no-c-format
+#: index.docbook:60
msgid ""
"<![CDATA[<class entity-name=\"Account\" \n"
" table=\"ACCOUNTS\" \n"
@@ -167,10 +156,31 @@
" \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
-#: xml.xml:62
-#, no-c-format
+#: index.docbook:62
msgid ""
"This mapping allows you to access the data as a dom4j tree, or as a graph of "
"property name/value pairs (java <literal>Map</literal>s). The property names "
@@ -181,15 +191,11 @@
"Los nombres de propiedades son construcciones puramente lógicas a las que se "
"puede hacer referencia en consultas HQL."
-#. Tag: title
-#: xml.xml:73
-#, no-c-format
+#: index.docbook:73
msgid "XML mapping metadata"
msgstr "Mapeo de metadatos XML"
-#. Tag: para
-#: xml.xml:75
-#, no-c-format
+#: index.docbook:75
msgid ""
"Many Hibernate mapping elements accept the <literal>node</literal> "
"attribute. This let's you specify the name of an XML attribute or element "
@@ -201,28 +207,20 @@
"que contenga los datos de la propiedad o entidad. El formato del atributo "
"<literal>node</literal> debe ser uno de los siguientes:"
-#. Tag: para
-#: xml.xml:84
-#, no-c-format
+#: index.docbook:84
msgid "<literal>\"element-name\"</literal> - map to the named XML element"
msgstr "<literal>\"element-name\"</literal> - mapea al elemento XML mencionado"
-#. Tag: para
-#: xml.xml:87
-#, no-c-format
+#: index.docbook:87
msgid "<literal>\"@attribute-name\"</literal> - map to the named XML attribute"
msgstr ""
"<literal>\"@attribute-name\"</literal> - mapea al atributo XML mencionado"
-#. Tag: para
-#: xml.xml:90
-#, no-c-format
+#: index.docbook:90
msgid "<literal>\".\"</literal> - map to the parent element"
msgstr "<literal>\".\"</literal> - mapea al elemento padre"
-#. Tag: para
-#: xml.xml:93
-#, no-c-format
+#: index.docbook:93
msgid ""
"<literal>\"element-name/@attribute-name\"</literal> - map to the named "
"attribute of the named element"
@@ -230,9 +228,7 @@
"<literal>\"element-name/@attribute-name\"</literal> - mapea al atributo "
"mencionado del elemento mencionado"
-#. Tag: para
-#: xml.xml:100
-#, no-c-format
+#: index.docbook:100
msgid ""
"For collections and single valued associations, there is an additional "
"<literal>embed-xml</literal> attribute. If <literal>embed-xml=\"true\"</"
@@ -251,9 +247,7 @@
"el XML para asociaciones de punto único y para las colecciones simplemente "
"no aparecerá en absoluto."
-#. Tag: para
-#: xml.xml:110
-#, no-c-format
+#: index.docbook:110
msgid ""
"You should be careful not to leave <literal>embed-xml=\"true\"</literal> for "
"too many associations, since XML does not deal well with circularity!"
@@ -261,9 +255,7 @@
"¡Debes ser cuidadoso de no dejar <literal>embed-xml=\"true\"</literal> para "
"demasiadas asociaciones, ya que XML no trata bien la circularidad!"
-#. Tag: programlisting
-#: xml.xml:115
-#, no-c-format
+#: index.docbook:115
msgid ""
"<![CDATA[<class name=\"Customer\" \n"
" table=\"CUSTOMER\" \n"
@@ -300,10 +292,42 @@
" \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
-#: xml.xml:117
-#, no-c-format
+#: index.docbook:117
msgid ""
"in this case, we have decided to embed the collection of account ids, but "
"not the actual account data. The following HQL query:"
@@ -311,23 +335,19 @@
"en este caso, hemos decidido embeber la colección de ids de cuenta, pero no "
"los datos reales de cuenta. La siguiente consulta HQL:"
-#. Tag: programlisting
-#: xml.xml:122
-#, no-c-format
+#: index.docbook:122
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
-#: xml.xml:124
-#, no-c-format
+#: index.docbook:124
msgid "Would return datasets such as this:"
msgstr "devolvería conjuntos de datos como estos:"
-#. Tag: programlisting
-#: xml.xml:128
-#, no-c-format
+#: index.docbook:128
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account short-desc=\"Savings\">987632567</account>\n"
@@ -340,10 +360,18 @@
" ...\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
-#: xml.xml:130
-#, no-c-format
+#: index.docbook:130
msgid ""
"If you set <literal>embed-xml=\"true\"</literal> on the <literal><one-to-"
"many></literal> mapping, the data might look more like this:"
@@ -351,9 +379,7 @@
"Si estableces <literal>embed-xml=\"true\"</literal> en el mapeo <literal><"
"one-to-many></literal>, los datos podrían verse así:"
-#. Tag: programlisting
-#: xml.xml:135
-#, no-c-format
+#: index.docbook:135
msgid ""
"<![CDATA[<customer id=\"123456789\">\n"
" <account id=\"987632567\" short-desc=\"Savings\">\n"
@@ -372,16 +398,28 @@
" ...\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
-#: xml.xml:141
-#, no-c-format
+#: index.docbook:141
msgid "Manipulating XML data"
msgstr "Manipulando datos XML"
-#. Tag: para
-#: xml.xml:143
-#, no-c-format
+#: index.docbook:143
msgid ""
"Let's rearead and update XML documents in the application. We do this by "
"obtaining a dom4j session:"
@@ -389,9 +427,7 @@
"Vamos a releer y actualizar documentos XML en la aplicación. Hacemos esto "
"obteniendo una sesión dom4j:"
-#. Tag: programlisting
-#: xml.xml:148
-#, no-c-format
+#: index.docbook:148
msgid ""
"<![CDATA[Document doc = ....;\n"
" \n"
@@ -412,10 +448,26 @@
"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:150
-#, no-c-format
+#: index.docbook:150
msgid ""
"<![CDATA[Session session = factory.openSession();\n"
"Session dom4jSession = session.getSession(EntityMode.DOM4J);\n"
@@ -434,10 +486,24 @@
"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
-#: xml.xml:152
-#, no-c-format
+#: index.docbook:152
msgid ""
"It is extremely useful to combine this feature with Hibernate's "
"<literal>replicate()</literal> operation to implement XML-based data import/"
@@ -446,3 +512,9 @@
"Es extremadamente útil combinar esta funcionalidad con la operación "
"<literal>replicate()</literal> de Hibernate para implementar la importación/"
"exportación de datos basada en XML."
+
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+
+msgid "CREDIT_FOR_TRANSLATORS"
+msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
17 years, 2 months
Hibernate SVN: r14174 - in core/trunk/documentation/manual/src/main/docbook/en-US: src/main/docbook and 1 other directory.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-01 20:32:12 -0400 (Thu, 01 Nov 2007)
New Revision: 14174
Added:
core/trunk/documentation/manual/src/main/docbook/en-US/Hibernate_Reference.xml
core/trunk/documentation/manual/src/main/docbook/en-US/content/
core/trunk/documentation/manual/src/main/docbook/en-US/images/
core/trunk/documentation/manual/src/main/docbook/en-US/legal_notice.xml
core/trunk/documentation/manual/src/main/docbook/en-US/translators.xml
Removed:
core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/Hibernate_Reference.xml
core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/content/
core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/images/
core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/legal_notice.xml
core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/translators.xml
Log:
cleanup
Copied: core/trunk/documentation/manual/src/main/docbook/en-US/Hibernate_Reference.xml (from rev 14171, core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/Hibernate_Reference.xml)
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/Hibernate_Reference.xml (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/Hibernate_Reference.xml 2007-11-02 00:32:12 UTC (rev 14174)
@@ -0,0 +1,87 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!--
+ ~ Copyright (c) 2007, Red Hat Middleware, LLC. All rights reserved.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, v. 2.1. This program is distributed in the
+ ~ hope that it will be useful, but WITHOUT A WARRANTY; without even the implied
+ ~ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details. You should have received a
+ ~ copy of the GNU Lesser General Public License, v.2.1 along with this
+ ~ distribution; if not, write to the Free Software Foundation, Inc.,
+ ~ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ~
+ ~ Red Hat Author(s): Steve Ebersole
+ -->
+<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
+ <!ENTITY versionNumber "3.3.0.alpha1">
+ <!ENTITY copyrightYear "2004">
+ <!ENTITY copyrightHolder "Red Hat Middleware, LLC.">
+]>
+
+<book>
+
+ <bookinfo>
+ <title>HIBERNATE - Relational Persistence for Idiomatic Java</title>
+ <subtitle>Hibernate Reference Documentation</subtitle>
+ <releaseinfo>&versionNumber;</releaseinfo>
+ <productnumber>&versionNumber;</productnumber>
+ <issuenum>1</issuenum>
+ <mediaobject>
+ <imageobject role="fo">
+ <imagedata fileref="images/hibernate_logo_a.png" align="center" />
+ </imageobject>
+ <imageobject role="html">
+ <imagedata fileref="images/hibernate_logo_a.png" depth="3cm" />
+ </imageobject>
+ </mediaobject>
+ <copyright>
+ <year>©rightYear;</year>
+ <holder>©rightHolder;</holder>
+ </copyright>
+ <xi:include href="legal_notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <!-- include translators... -->
+ </bookinfo>
+
+ <toc/>
+
+ <xi:include href="content/preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/tutorial.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/persistent_classes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/basic_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/collection_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/association_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/component_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/inheritance_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/session_api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/transactions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/events.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/batch.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/query_hql.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/query_criteria.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/query_sql.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/filters.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/xml.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/performance.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/toolset_guide.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/example_parentchild.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/example_weblog.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+ <xi:include href="content/example_mappings.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+ <xi:include href="content/best_practices.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
+
+</book>
+
Copied: core/trunk/documentation/manual/src/main/docbook/en-US/content (from rev 14171, core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/content)
Copied: core/trunk/documentation/manual/src/main/docbook/en-US/images (from rev 14171, core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/images)
Copied: core/trunk/documentation/manual/src/main/docbook/en-US/legal_notice.xml (from rev 14171, core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/legal_notice.xml)
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/legal_notice.xml (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/legal_notice.xml 2007-11-02 00:32:12 UTC (rev 14174)
@@ -0,0 +1,52 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!--
+ ~ Copyright (c) 2007, Red Hat Middleware, LLC. All rights reserved.
+ ~
+ ~ This copyrighted material is made available to anyone wishing to use, modify,
+ ~ copy, or redistribute it subject to the terms and conditions of the GNU
+ ~ Lesser General Public License, v. 2.1. This program is distributed in the
+ ~ hope that it will be useful, but WITHOUT A WARRANTY; without even the implied
+ ~ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ ~ Lesser General Public License for more details. You should have received a
+ ~ copy of the GNU Lesser General Public License, v.2.1 along with this
+ ~ distribution; if not, write to the Free Software Foundation, Inc.,
+ ~ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ ~
+ ~ Red Hat Author(s): Steve Ebersole
+ -->
+<!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">
+ <title>Legal Notice</title>
+ <para>
+ <address>
+ <street>1801 Varsity Drive</street>
+ <city>Raleigh</city>, <state>NC</state><postcode>27606-2072</postcode><country>USA</country>
+ <phone>Phone: +1 919 754 3700</phone>
+ <phone>Phone: 888 733 4281</phone>
+ <fax>Fax: +1 919 754 3701</fax>
+ <pob>PO Box 13588</pob><city>Research Triangle Park</city>, <state>NC</state><postcode>27709</postcode><country>USA</country>
+ </address>
+ </para>
+ <para>
+ Copyright <trademark class="copyright"/> 2007 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at <ulink url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
+ </para>
+ <para>
+ Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.
+ </para>
+ <para>
+ Distribution of the work or derivative of the work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
+ </para>
+ <para>
+ Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
+ </para>
+ <para>
+ All other trademarks referenced herein are the property of their respective owners.
+ </para>
+ <para>
+ The GPG fingerprint of the security(a)redhat.com key is:
+ </para>
+ <para>
+ CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
+ </para>
+</legalnotice>
Deleted: core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/Hibernate_Reference.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/Hibernate_Reference.xml 2007-11-02 00:29:48 UTC (rev 14173)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/Hibernate_Reference.xml 2007-11-02 00:32:12 UTC (rev 14174)
@@ -1,87 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!--
- ~ Copyright (c) 2007, Red Hat Middleware, LLC. All rights reserved.
- ~
- ~ This copyrighted material is made available to anyone wishing to use, modify,
- ~ copy, or redistribute it subject to the terms and conditions of the GNU
- ~ Lesser General Public License, v. 2.1. This program is distributed in the
- ~ hope that it will be useful, but WITHOUT A WARRANTY; without even the implied
- ~ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- ~ Lesser General Public License for more details. You should have received a
- ~ copy of the GNU Lesser General Public License, v.2.1 along with this
- ~ distribution; if not, write to the Free Software Foundation, Inc.,
- ~ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- ~
- ~ Red Hat Author(s): Steve Ebersole
- -->
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
- <!ENTITY versionNumber "3.3.0.alpha1">
- <!ENTITY copyrightYear "2004">
- <!ENTITY copyrightHolder "Red Hat Middleware, LLC.">
-]>
-
-<book>
-
- <bookinfo>
- <title>HIBERNATE - Relational Persistence for Idiomatic Java</title>
- <subtitle>Hibernate Reference Documentation</subtitle>
- <releaseinfo>&versionNumber;</releaseinfo>
- <productnumber>&versionNumber;</productnumber>
- <issuenum>1</issuenum>
- <mediaobject>
- <imageobject role="fo">
- <imagedata fileref="images/hibernate_logo_a.png" align="center" />
- </imageobject>
- <imageobject role="html">
- <imagedata fileref="images/hibernate_logo_a.png" depth="3cm" />
- </imageobject>
- </mediaobject>
- <copyright>
- <year>©rightYear;</year>
- <holder>©rightHolder;</holder>
- </copyright>
- <xi:include href="legal_notice.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <!-- include translators... -->
- </bookinfo>
-
- <toc/>
-
- <xi:include href="content/preface.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/tutorial.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/architecture.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/configuration.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/persistent_classes.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/basic_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/collection_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/association_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/component_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/inheritance_mapping.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/session_api.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/transactions.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/events.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/batch.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/query_hql.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/query_criteria.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/query_sql.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/filters.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/xml.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/performance.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/toolset_guide.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/example_parentchild.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/example_weblog.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
- <xi:include href="content/example_mappings.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
- <xi:include href="content/best_practices.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
-
-</book>
-
Deleted: core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/legal_notice.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/legal_notice.xml 2007-11-02 00:29:48 UTC (rev 14173)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/legal_notice.xml 2007-11-02 00:32:12 UTC (rev 14174)
@@ -1,52 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!--
- ~ Copyright (c) 2007, Red Hat Middleware, LLC. All rights reserved.
- ~
- ~ This copyrighted material is made available to anyone wishing to use, modify,
- ~ copy, or redistribute it subject to the terms and conditions of the GNU
- ~ Lesser General Public License, v. 2.1. This program is distributed in the
- ~ hope that it will be useful, but WITHOUT A WARRANTY; without even the implied
- ~ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- ~ Lesser General Public License for more details. You should have received a
- ~ copy of the GNU Lesser General Public License, v.2.1 along with this
- ~ distribution; if not, write to the Free Software Foundation, Inc.,
- ~ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- ~
- ~ Red Hat Author(s): Steve Ebersole
- -->
-<!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">
- <title>Legal Notice</title>
- <para>
- <address>
- <street>1801 Varsity Drive</street>
- <city>Raleigh</city>, <state>NC</state><postcode>27606-2072</postcode><country>USA</country>
- <phone>Phone: +1 919 754 3700</phone>
- <phone>Phone: 888 733 4281</phone>
- <fax>Fax: +1 919 754 3701</fax>
- <pob>PO Box 13588</pob><city>Research Triangle Park</city>, <state>NC</state><postcode>27709</postcode><country>USA</country>
- </address>
- </para>
- <para>
- Copyright <trademark class="copyright"/> 2007 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at <ulink url="http://www.opencontent.org/openpub/">http://www.opencontent.org/openpub/</ulink>).
- </para>
- <para>
- Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder.
- </para>
- <para>
- Distribution of the work or derivative of the work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder.
- </para>
- <para>
- Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.
- </para>
- <para>
- All other trademarks referenced herein are the property of their respective owners.
- </para>
- <para>
- The GPG fingerprint of the security(a)redhat.com key is:
- </para>
- <para>
- CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
- </para>
-</legalnotice>
Deleted: core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/translators.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/translators.xml 2007-11-02 00:29:48 UTC (rev 14173)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/translators.xml 2007-11-02 00:32:12 UTC (rev 14174)
@@ -1,130 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-
-<authorgroup id="AuthorGroup">
-
- <!--
- #######################################################################
- # Spanish
- #######################################################################
- -->
- <othercredit class="translator" lang="es-ES">
- <othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername>
- <email>kreimer(a)bbs.frc.utn.edu.ar</email>
- </othercredit>
-
- <!--
- #######################################################################
- # French
- #######################################################################
- -->
- <othercredit class="translator" lang="fr-FR">
- <firstname>Vincent</firstname>
- <surname>Ricard</surname>
- </othercredit>
- <othercredit class="translator" lang="fr-FR">
- <firstname>Sebastien</firstname>
- <surname>Cesbron</surname>
- </othercredit>
- <othercredit class="translator" lang="fr-FR">
- <firstname>Michael</firstname>
- <surname>Courcy</surname>
- </othercredit>
- <othercredit class="translator" lang="fr-FR">
- <firstname>Vincent</firstname>
- <surname>Giguère</surname>
- </othercredit>
- <othercredit class="translator" lang="fr-FR">
- <firstname>Baptiste</firstname>
- <surname>Mathus</surname>
- </othercredit>
- <othercredit class="translator" lang="fr-FR">
- <firstname>Emmanuel</firstname>
- <surname>Bernard</surname>
- </othercredit>
- <othercredit class="translator" lang="fr-FR">
- <firstname>Anthony</firstname>
- <surname>Patricio</surname>
- </othercredit>
-
- <!--
- #######################################################################
- # Portugese
- #######################################################################
- -->
- <othercredit class="translator" lang="pt-BR">
- <firstname>Alvaro</firstname>
- <surname>Netto</surname>
- <email>alvaronetto(a)cetip.com.br</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Anderson</firstname>
- <surname>Braulio</surname>
- <email>andersonbraulio(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Daniel Vieira</firstname>
- <surname>Costa</surname>
- <email>danielvc(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Francisco</firstname>
- <surname>gamarra</surname>
- <email>francisco.gamarra(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Gamarra</firstname>
- <email>mauricio.gamarra(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Luiz Carlos</firstname>
- <surname>Rodrigues</surname>
- <email>luizcarlos_rodrigues(a)yahoo.com.br</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Marcel</firstname>
- <surname>Castelo</surname>
- <email>marcel.castelo(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Paulo</firstname>
- <surname>César</surname>
- <email>paulocol(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Pablo L.</firstname>
- <surname>de Miranda</surname>
- <email>pablolmiranda(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Renato</firstname>
- <surname>Deggau</surname>
- <email>rdeggau(a)gmail.com</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Rogério</firstname>
- <surname>Araújo</surname>
- <email>rgildoaraujo(a)yahoo.com.br</email>
- </othercredit>
- <othercredit class="translator" lang="pt-BR">
- <firstname>Wanderson</firstname>
- <surname>Siqueira</surname>
- <email>wandersonxs(a)gmail.com</email>
- </othercredit>
-
- <!--
- #######################################################################
- # Chinese
- #######################################################################
- -->
- <othercredit class="translator" lang="zh-CN">
- <firstname>Cao</firstname>
- <surname>Xiaogang</surname>
- <affiliation>
- <orgname>RedSaga</orgname>
- </affiliation>
- <contrib>Translation Lead</contrib>
- <email>caoxg(a)yahoo.com</email>
- </othercredit>
-
-</authorgroup>
Copied: core/trunk/documentation/manual/src/main/docbook/en-US/translators.xml (from rev 14171, core/trunk/documentation/manual/src/main/docbook/en-US/src/main/docbook/translators.xml)
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/translators.xml (rev 0)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/translators.xml 2007-11-02 00:32:12 UTC (rev 14174)
@@ -0,0 +1,130 @@
+<?xml version='1.0' encoding="UTF-8"?>
+<!DOCTYPE authorgroup PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
+
+<authorgroup id="AuthorGroup">
+
+ <!--
+ #######################################################################
+ # Spanish
+ #######################################################################
+ -->
+ <othercredit class="translator" lang="es-ES">
+ <othername><![CDATA[Bernardo Antonio Buffa Colomé]]></othername>
+ <email>kreimer(a)bbs.frc.utn.edu.ar</email>
+ </othercredit>
+
+ <!--
+ #######################################################################
+ # French
+ #######################################################################
+ -->
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Vincent</firstname>
+ <surname>Ricard</surname>
+ </othercredit>
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Sebastien</firstname>
+ <surname>Cesbron</surname>
+ </othercredit>
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Michael</firstname>
+ <surname>Courcy</surname>
+ </othercredit>
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Vincent</firstname>
+ <surname>Giguère</surname>
+ </othercredit>
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Baptiste</firstname>
+ <surname>Mathus</surname>
+ </othercredit>
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Emmanuel</firstname>
+ <surname>Bernard</surname>
+ </othercredit>
+ <othercredit class="translator" lang="fr-FR">
+ <firstname>Anthony</firstname>
+ <surname>Patricio</surname>
+ </othercredit>
+
+ <!--
+ #######################################################################
+ # Portugese
+ #######################################################################
+ -->
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Alvaro</firstname>
+ <surname>Netto</surname>
+ <email>alvaronetto(a)cetip.com.br</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Anderson</firstname>
+ <surname>Braulio</surname>
+ <email>andersonbraulio(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Daniel Vieira</firstname>
+ <surname>Costa</surname>
+ <email>danielvc(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Francisco</firstname>
+ <surname>gamarra</surname>
+ <email>francisco.gamarra(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Gamarra</firstname>
+ <email>mauricio.gamarra(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Luiz Carlos</firstname>
+ <surname>Rodrigues</surname>
+ <email>luizcarlos_rodrigues(a)yahoo.com.br</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Marcel</firstname>
+ <surname>Castelo</surname>
+ <email>marcel.castelo(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Paulo</firstname>
+ <surname>César</surname>
+ <email>paulocol(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Pablo L.</firstname>
+ <surname>de Miranda</surname>
+ <email>pablolmiranda(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Renato</firstname>
+ <surname>Deggau</surname>
+ <email>rdeggau(a)gmail.com</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Rogério</firstname>
+ <surname>Araújo</surname>
+ <email>rgildoaraujo(a)yahoo.com.br</email>
+ </othercredit>
+ <othercredit class="translator" lang="pt-BR">
+ <firstname>Wanderson</firstname>
+ <surname>Siqueira</surname>
+ <email>wandersonxs(a)gmail.com</email>
+ </othercredit>
+
+ <!--
+ #######################################################################
+ # Chinese
+ #######################################################################
+ -->
+ <othercredit class="translator" lang="zh-CN">
+ <firstname>Cao</firstname>
+ <surname>Xiaogang</surname>
+ <affiliation>
+ <orgname>RedSaga</orgname>
+ </affiliation>
+ <contrib>Translation Lead</contrib>
+ <email>caoxg(a)yahoo.com</email>
+ </othercredit>
+
+</authorgroup>
17 years, 2 months
Hibernate SVN: r14173 - core/trunk/documentation/manual/src/main/docbook/en-US.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-01 20:29:48 -0400 (Thu, 01 Nov 2007)
New Revision: 14173
Removed:
core/trunk/documentation/manual/src/main/docbook/en-US/pom.xml
Log:
cleanup
Deleted: core/trunk/documentation/manual/src/main/docbook/en-US/pom.xml
===================================================================
--- core/trunk/documentation/manual/src/main/docbook/en-US/pom.xml 2007-11-01 20:53:40 UTC (rev 14172)
+++ core/trunk/documentation/manual/src/main/docbook/en-US/pom.xml 2007-11-02 00:29:48 UTC (rev 14173)
@@ -1,25 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-manual-parent</artifactId>
- <version>1</version>
- </parent>
-
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-manual-${translation}</artifactId>
- <version>3.3.0-SNAPSHOT</version>
- <packaging>jdocbook</packaging>
-
- <name>Hibernate Manual (${translation})</name>
- <description>The Hibernate reference manual (${translation})</description>
-
- <properties>
- <translation>en-US</translation>
- </properties>
-
-</project>
17 years, 2 months
Hibernate SVN: r14171 - in core/trunk/documentation/manual: old and 4 other directories.
by hibernate-commits@lists.jboss.org
Author: steve.ebersole(a)jboss.com
Date: 2007-11-01 16:52:41 -0400 (Thu, 01 Nov 2007)
New Revision: 14171
Added:
core/trunk/documentation/manual/old/
core/trunk/documentation/manual/old/es-ES/
core/trunk/documentation/manual/old/fr-FR/
core/trunk/documentation/manual/old/ja-JP/
core/trunk/documentation/manual/old/ko-KR/
core/trunk/documentation/manual/old/pt-BR/
core/trunk/documentation/manual/old/zh-CN/
core/trunk/documentation/manual/src/
core/trunk/documentation/manual/src/main/
core/trunk/documentation/manual/src/main/docbook/
core/trunk/documentation/manual/src/main/docbook/en-US/
core/trunk/documentation/manual/src/main/docbook/es-ES/
core/trunk/documentation/manual/src/main/docbook/fr-FR/
core/trunk/documentation/manual/src/main/docbook/ja-JP/
core/trunk/documentation/manual/src/main/docbook/ko-KR/
core/trunk/documentation/manual/src/main/docbook/pot/
core/trunk/documentation/manual/src/main/docbook/pt-BR/
core/trunk/documentation/manual/src/main/docbook/zh-CN/
Removed:
core/trunk/documentation/manual/en-US/
core/trunk/documentation/manual/es-ES/
core/trunk/documentation/manual/fr-FR/
core/trunk/documentation/manual/ja-JP/
core/trunk/documentation/manual/ko-KR/
core/trunk/documentation/manual/pot/
core/trunk/documentation/manual/pt-BR/
core/trunk/documentation/manual/translations/es-ES/
core/trunk/documentation/manual/translations/fr-FR/
core/trunk/documentation/manual/translations/ja-JP/
core/trunk/documentation/manual/translations/ko-KR/
core/trunk/documentation/manual/translations/pt-BR/
core/trunk/documentation/manual/translations/zh-CN/
core/trunk/documentation/manual/zh-CN/
Modified:
core/trunk/documentation/manual/pom.xml
Log:
apply i18n/gettext support
Copied: core/trunk/documentation/manual/old/es-ES (from rev 14169, core/trunk/documentation/manual/es-ES)
Copied: core/trunk/documentation/manual/old/fr-FR (from rev 14169, core/trunk/documentation/manual/fr-FR)
Copied: core/trunk/documentation/manual/old/ja-JP (from rev 14169, core/trunk/documentation/manual/ja-JP)
Copied: core/trunk/documentation/manual/old/ko-KR (from rev 14169, core/trunk/documentation/manual/ko-KR)
Copied: core/trunk/documentation/manual/old/pt-BR (from rev 14169, core/trunk/documentation/manual/pt-BR)
Copied: core/trunk/documentation/manual/old/zh-CN (from rev 14169, core/trunk/documentation/manual/zh-CN)
Modified: core/trunk/documentation/manual/pom.xml
===================================================================
--- core/trunk/documentation/manual/pom.xml 2007-11-01 20:47:08 UTC (rev 14170)
+++ core/trunk/documentation/manual/pom.xml 2007-11-01 20:52:41 UTC (rev 14171)
@@ -13,14 +13,74 @@
<groupId>org.hibernate</groupId>
<artifactId>hibernate-manual</artifactId>
<version>3.3.0-SNAPSHOT</version>
- <packaging>pom</packaging>
+ <packaging>jdocbook</packaging>
- <name>Hibernate Manual (aggregator)</name>
- <description>The Hibernate reference manual (aggregator)</description>
+ <name>Hibernate Manual</name>
+ <description>The Hibernate reference manual</description>
- <modules>
- <module>en-US</module>
- <module>fr-FR</module>
- </modules>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.jboss.maven.plugins</groupId>
+ <artifactId>maven-jdocbook-plugin</artifactId>
+ <version>2.1.0-SNAPSHOT</version>
+ <extensions>true</extensions>
+ <dependencies>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-jdocbook-style</artifactId>
+ <version>1.0.1-SNAPSHOT</version>
+ <type>jdocbook-style</type>
+ </dependency>
+ </dependencies>
+ <configuration>
+ <sourceDocumentName>Hibernate_Reference.xml</sourceDocumentName>
+ <masterTranslation>en-US</masterTranslation>
+ <translations>
+ <translation>es-ES</translation>
+ <translation>fr-FR</translation>
+ <translation>ja-JP</translation>
+ <translation>ko-KR</translation>
+ <translation>pt-BR</translation>
+ <translation>zh-CN</translation>
+ </translations>
+ <imageResource>
+ <directory>src/main/docbook/en-US</directory>
+ <excludes>
+ <exclude>*.xml</exclude>
+ <exclude>**/*.xml</exclude>
+ <exclude>*.zargo</exclude>
+ <exclude>**/*.zargo</exclude>
+ </excludes>
+ </imageResource>
+ <formats>
+ <format>
+ <formatName>pdf</formatName>
+ <stylesheetResource>classpath:/xslt/hibernate/pdf/main-pdf.xsl</stylesheetResource>
+ <finalName>hibernate_reference.pdf</finalName>
+ <profilingTypeName>two_pass</profilingTypeName>
+ </format>
+ <format>
+ <formatName>html_single</formatName>
+ <stylesheetResource>classpath:/xslt/hibernate/html/main-single.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ <profilingTypeName>two_pass</profilingTypeName>
+ </format>
+ <format>
+ <formatName>html</formatName>
+ <stylesheetResource>classpath:/xslt/hibernate/html/main-chunk.xsl</stylesheetResource>
+ <finalName>index.html</finalName>
+ <profilingTypeName>two_pass</profilingTypeName>
+ </format>
+ </formats>
+ <options>
+ <xincludeSupported>true</xincludeSupported>
+ <localeSeparator>-</localeSeparator>
+ <useRelativeImageUris>true</useRelativeImageUris>
+ </options>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
Copied: core/trunk/documentation/manual/src/main/docbook/en-US (from rev 14170, core/trunk/documentation/manual/en-US)
Copied: core/trunk/documentation/manual/src/main/docbook/es-ES (from rev 14169, core/trunk/documentation/manual/translations/es-ES)
Copied: core/trunk/documentation/manual/src/main/docbook/fr-FR (from rev 14169, core/trunk/documentation/manual/translations/fr-FR)
Copied: core/trunk/documentation/manual/src/main/docbook/ja-JP (from rev 14169, core/trunk/documentation/manual/translations/ja-JP)
Copied: core/trunk/documentation/manual/src/main/docbook/ko-KR (from rev 14169, core/trunk/documentation/manual/translations/ko-KR)
Copied: core/trunk/documentation/manual/src/main/docbook/pot (from rev 14169, core/trunk/documentation/manual/pot)
Copied: core/trunk/documentation/manual/src/main/docbook/pt-BR (from rev 14169, core/trunk/documentation/manual/translations/pt-BR)
Copied: core/trunk/documentation/manual/src/main/docbook/zh-CN (from rev 14169, core/trunk/documentation/manual/translations/zh-CN)
17 years, 2 months