[hibernate-commits] Hibernate SVN: r14176 - core/trunk/documentation/manual/src/main/docbook/es-ES/content.

hibernate-commits at lists.jboss.org hibernate-commits at lists.jboss.org
Fri Nov 2 00:31:35 EDT 2007


Author: xhuang at 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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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&#x00f3;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&#x00f3;n para proveer servicios de persistencia (y objetos "
+"persistentes) a la aplicaci&#x00f3;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&#x00ed;a mostrar una vista m&#x00e1;s detallada de la "
+"arquitectura de tiempo de ejecuci&#x00f3;n. Desafortunadamente, Hibernate es "
+"flexible y soporta diferentes enfoques. Mostraremos los dos extremos. En la "
+"arquitectura \"sencilla\", es la aplicaci&#x00f3;n la que provee su propias "
+"conexiones JDBC y gestiona sus propias transacciones. Este enfoque usa un "
+"m&#x00ed;nimo subconjunto de la API de Hibernate:"
 
-#. Tag: para
-#: 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&#x00f3;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&#x00ed; 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&#x00e9; threadsafe (inmutable) de mapeos compilados para una sola base "
+"de datos. Es una f&#x00e1;brica de <literal>Session</literal> y un cliente "
+"de <literal>ConnectionProvider</literal>. Opcionalmente, puede mantener una "
+"cach&#x00e9; (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&#x00f3;n "
+"entre la aplicaci&#x00f3;n y el almacenamiento persistente. Envuelve una "
+"conexi&#x00f3;n JDBC. Es una f&#x00e1;brica de <literal>Transaction</"
+"literal>. Mantiene una cach&#x00e9; 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&#x00f3;nalidad de negocio. Estos pueden ser JavaBeans/POJOs (Plain Old "
+"Java Objects, o sea, cualquier objeto Java), la &#x00fa;nica cosa especial "
+"en ellos es que estan asociados actualmente con una (y s&#x00f3;lo una) "
+"<literal>Session</literal>. Tan pronto como la <literal>Session</literal> "
+"sea cerrada, ser&#x00e1;n separados y estar&#x00e1;n libres para ser usados "
+"en cualquier capa de aplicaci&#x00f3;n. (por ejemplo, directamente como "
+"objetos de transferencia de datos hacia y desde la capa de presentaci&#x00f3;"
+"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&#x00f3;n y (a&#x00fa;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&#x00f3;"
+"n para especificar unidades at&#x00f3;micas de trabajo. Abstrae a la "
+"aplicaci&#x00f3;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&#x00f3;n de la "
+"transacci&#x00f3;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&#x00e1;brica (y pool) de conexiones JDBC. Abstrae a la "
+"aplicaci&#x00f3;n del <literal>Datasource</literal> o "
+"<literal>DriverManager</literal> subyacente. No se expone a la "
+"aplicaci&#x00f3;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&#x00e1;brica de instancias de <literal>Transaction</"
+"literal>. No se expone a la aplicaci&#x00f3;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&#x00f3;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&#x00f3;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&#x00e1;s detalles, mira la documentaci&#x00f3;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&#x00f3;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&#x00e1; 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&#x00e1; actualmente asociada con un contexto de "
+"persistencia. Tiene una identidad persistente (valor de clave primaria) y, "
+"quiz&#x00e1;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&#x00f3;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&#x00e1;s, una fila correspondiente "
+"en la base de datos. Para las instancias separadas, Hibernate no establece "
+"ninguna garant&#x00ed;a sobre la relaci&#x00f3;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&#x00f3;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&#x00e1;ndar J2EE para la gesti&#x00f3;n de componentes Java. "
+"Hibernate puede ser gestionado por medio de un servicio est&#x00e1;ndar JMX. "
+"Proveemos una implementaci&#x00f3;n de MBean en la distribuci&#x00f3;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&#x00f3;mo desplegar Hibernate como un servicio JMX en un "
+"Servidor de Aplicaciones JBoss, por favor, mira la Gu&#x00ed;a del Usuario "
+"de JBoss. En JBoss AS, tienes adem&#x00e1;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&#x00f3;n de Sesi&#x00f3;n:</emphasis> El ciclo de vida de la "
+"<literal>Session</literal> de Hibernate puede estar autom&#x00e1;ticamente "
+"ligado al &#x00e1;mbito de una transacci&#x00f3;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&#x00e1;s "
+"tampoco tienes que preocuparte m&#x00e1;s de la demarcaci&#x00f3;n de la "
+"transacci&#x00f3;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&#x00f3;n usuales de una <literal>SessionFactory</literal> de "
+"Hibernate. Sin embargo, todav&#x00ed;a tienes que nombrar todos tus ficheros "
+"de mapeo en el descriptor de despliegue. Si decides usar el depliegue de HAR "
+"opcional, JBoss detectar&#x00e1; autom&#x00e1;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&#x00e1;s informaci&#x00f3;n sobre estas opciones, consulta la "
+"Gu&#x00ed;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&#x00ed;"
+"sticas en tiempo de ejecuci&#x00f3;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&#x00e1;s ser configurado como un conector JCA. Por favor "
+"mira el sitio web para m&#x00e1;s detalles. Por favor ten en cuenta que el "
+"soporte de JCA de Hibernate est&#x00e1; a&#x00fa;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;n"
 
-#. Tag: title
-#: association_mapping.xml:9
-#, no-c-format
+#: index.docbook:9
 msgid "Introduction"
-msgstr "Introducción"
+msgstr "Introducci&#x00f3;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&#x00f3;n son frecuentemente las cosas mas dif&#x00ed;"
+"ciles de hacer correctamente. En esta secci&#x00f3;n iremos a trav&#x00e9;s "
+"de los casos can&#x00f3;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&#x00f3;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&#x00e1;neas que aceptan valores nulos (en adelante, "
+"nullables) no son consideradas una buena pr&#x00e1;ctica en el modelado "
+"tradicional de datos, as&#x00ed; que todos nuestros ejemplos usan claves "
+"for&#x00e1;neas no nullables. Esto no es un requerimiento de Hibernate, y "
+"todos los mapeos funcionar&#x00e1;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&#x00f3;n unidireccional muchos-a-uno</emphasis> es el "
+"tipo m&#x00e1;s com&#x00fa;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&#x00f3;n unidireccional uno-a-uno en una clave "
+"primaria</emphasis> es casi id&#x00e9;ntica. La &#x00fa;nica diferencia es "
+"la restricci&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;n unidireccional uno-a-muchos en una clave "
+"for&#x00e1;nea</emphasis> es un caso muy inusual, y realmente no est&#x00e1; "
+"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&#x00f3;n para este tipo de "
+"asociaci&#x00f3;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&#x00f3;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&#x00f3;n unidireccional uno-a-muchos en una tabla de "
+"uni&#x00f3;n</emphasis> es m&#x00e1;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&#x00f3;n unidireccional muchos-a-uno en una tabla de "
+"uni&#x00f3;n</emphasis> es bastante com&#x00fa;n cuando la asociaci&#x00f3;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&#x00f3;n unidireccional uno-a-uno en una tabla de "
+"uni&#x00f3;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&#x00f3;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&#x00f3;n bidireccional muchos-a-uno</emphasis> es el "
+"tipo m&#x00e1;s com&#x00fa;n de asociaci&#x00f3;n. (Esta es la relaci&#x00f3;"
+"n est&#x00e1;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>&lt;key&gt;</literal> element of the collection mapping if the "
@@ -571,19 +695,15 @@
 "<literal>&lt;column&gt;</literal> element, but on the <literal>&lt;key&gt;</"
 "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&#x00f3;n bidireccional uno-a-uno en una clave "
+"for&#x00e1;nea</emphasis> es bastante com&#x00fa;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&#x00f3;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&#x00f3;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&#x00f3;n bidireccional uno-a-muchos en una tabla de "
+"uni&#x00f3;n</emphasis>. Observa que el <literal>inverse=\"true\"</literal> "
+"puede ir a cualquier lado de la asociaci&#x00f3;n, en la colecci&#x00f3;n, o "
+"en la uni&#x00f3;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&#x00f3;n bidireccional uno-a-uno en una tabla de "
+"uni&#x00f3;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&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00e1;sico"
 
-#. Tag: title
-#: basic_mapping.xml:8
-#, no-c-format
+#: index.docbook:8
 msgid "Mapping declaration"
-msgstr "Declaración de mapeo"
+msgstr "Declaraci&#x00f3;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&#x00e1; dise&#x00f1;ado para ser le&#x00ed;ble y "
+"editable a mano. El lenguaje de mapeo es Java-c&#x00e9;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&#x00f3;lo los elementos y atributos que son usados por Hibernate en tiempo "
+"de ejecuci&#x00f3;n. El documento de mapeo contiene adem&#x00e1;s algunos "
+"atributos y elementos extra opcionales que afectan los esquemas de base de "
+"datos exportados por la herramienta de exportaci&#x00f3;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&#x00e1; el DTD "
+"primero en el classpath. Si experimentas b&#x00fa;squedas del DTD usando una "
+"conexi&#x00f3;n de Internet, chequea tu declaraci&#x00f3;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&#x00e1;"
+"logo mencionado(s). De especificarse, los nombres de tablas ser&#x00e1;n "
+"cualificados por el nombre de esquema y cat&#x00e1;logo dados. De omitirse, "
+"los nombres de tablas no ser&#x00e1;n cualificados. El atributo "
+"<literal>default-cascade</literal> especifica qu&#x00e9; 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&#x00e1;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&#x00f3;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&#x00f3;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&#x00e1; una excepci&#x00f3;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>&lt;class&gt;</literal> mappings, as shown "
@@ -404,22 +439,18 @@
 msgstr ""
 "Observa que el elemento <literal>hibernate-mapping</literal> te permite "
 "anidar muchos mapeos <literal>&lt;class&gt;</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&#x00e1;ctica (y se espera de "
+"algunas herramientas) mapear s&#x00f3;lo a una sola clase persistente (o a "
+"una sola jerarqu&#x00ed;a de clases) en un fichero de mapeo y nombrarlo "
+"despu&#x00e9;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&#x00f3;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>&lt;hibernate-mapping&gt;</literal> element."
 msgstr ""
-"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
 "<literal>schema</literal> (opcional): Sobreescribe el nombre de esquema "
-"especificado por el elemento raíz <literal>&lt;hibernate-mapping&gt;</"
-"literal>.\n"
-"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
-"<literal>schema</literal> (opcional): Sobrescribe el nombre de esquema "
-"especificado por el elemento raíz <literal>&lt;hibernate-mapping&gt;</"
+"especificado por el elemento ra&#x00ed;z <literal>&lt;hibernate-mapping&gt;</"
 "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>&lt;hibernate-mapping&gt;</literal> element."
 msgstr ""
-"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
-"<literal>catalog</literal> (opcional): Sobreescribe el nombre de catálogo "
-"especificado por el elemento raíz <literal>&lt;hibernate-mapping&gt;</"
-"literal>.\n"
-"#-#-#-#-#  - (PACKAGE VERSION)  #-#-#-#-#\n"
-"<literal>catalog</literal> (opcional): Sobrescribe el nombre de catálogo "
-"especificado por el elemento raíz <literal>&lt;hibernate-mapping&gt;</"
-"literal>."
+"<literal>catalog</literal> (opcional): Sobreescribe el nombre de cat&#x00e1;"
+"logo especificado por el elemento ra&#x00ed;z <literal>&lt;hibernate-"
+"mapping&gt;</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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;lo cuando un objeto transitorio ha sido asociado "
+"con una sesi&#x00f3;n nueva usando <literal>update()</literal>), esto "
+"significa que Hibernate realizar&#x00e1; 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&#x00ed;cito o "
+"expl&#x00ed;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&#x00f3;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&#x00f1;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&#x00f3;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&#x00ed;cito arbitrario para la "
+"entidad. Para m&#x00e1;s informaci&#x00f3;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&#x00f3;n SQL usada para "
+"generar una restricci&#x00f3;n <emphasis>check</emphasis> multi-fila para la "
+"generaci&#x00f3;n autom&#x00e1;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&#x00e1;pidas si estableces esta opci&#x00f3;n a "
+"<literal>rowid</literal>. Un ROWID es un detalle de implementaci&#x00f3;n y "
+"representa la posici&#x00f3;n f&#x00ed;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&#x00f3;lo lectura a una subselect de base de datos. Es &#x00fa;til si "
+"quieres tener una vista en vez de una tabla base, pero no tienes vistas. "
+"Mira debajo para m&#x00e1;s informaci&#x00f3;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>&lt;union-subclass&gt;</literal> hierarchies."
 msgstr ""
 "<literal>abstract</literal> (opcional): Usado para marcar superclases "
-"abstractas en jerarquías <literal>&lt;union-subclass&gt;</literal>."
+"abstractas en jerarqu&#x00ed;as <literal>&lt;union-subclass&gt;</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>&lt;subclass&gt;</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&#x00ed;as clases que implementan esa interface "
+"usando el elemento <literal>&lt;subclass&gt;</literal>. Puedes persistir "
+"cualquier clase interna <emphasis>est&#x00e1;tica</emphasis>. Debes "
+"especificar el nombre de la clase usando la forma est&#x00e1;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&#x00f3;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&#x00f3;n postergada de instancias persistentes de la clase. "
+"Hibernate inicialmente retornar&#x00e1; proxies CGLIB que implementan la "
+"interface mencionada. El objeto persistente real ser&#x00e1; cargado cuando "
+"se invoque un m&#x00e9;todo del proxy. Mira \"Proxies para "
+"Inicializaci&#x00f3;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&#x00ed;cito</emphasis> se entiende que las "
+"instancias de la clase ser&#x00e1;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>&lt;class&gt;</literal> como una <literal>&lt;"
-"subclass&gt;</literal> o <literal>&lt;joined-subclass&gt;</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&#x00e1;n devueltas por una "
+"clase que mencione a la clase en s&#x00ed;. Por polimorfismo "
+"<emphasis>expl&#x00ed;cito</emphasis> se entiende que instancias de la clase "
+"ser&#x00e1;n devueltas s&#x00f3;lo por consultas que mencionen expl&#x00ed;"
+"citamente la clase; y que las consultas que mencionen la clase "
+"devolver&#x00e1;n s&#x00f3;lo instancias de subclases mapeadas dentro de "
+"esta declaraci&#x00f3;n <literal>&lt;class&gt;</literal> como una "
+"<literal>&lt;subclass&gt;</literal> o <literal>&lt;joined-subclass&gt;</"
+"literal>. Para la mayor&#x00ed;a de los prop&#x00f3;sitos el defecto, "
+"<literal>polymorphism=\"implicit\"</literal>, resulta apropiado. El "
+"polimorfismo expl&#x00ed;cito es &#x00fa;til cuando dos clases diferentes "
+"est&#x00e1;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&#x00f3;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&#x00f3;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>&lt;subclass&gt;</"
 "literal> o <literal>&lt;joined-subclass&gt;</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&#x00ed;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&#x00e1; el rendimiento. Es muy &#x00fa;til prevenir que se llame "
+"innecesariamente a un disparador de actualizaci&#x00f3;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&#x00e1;s opci&#x00f3;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&#x00f3;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&#x00f3;n/timestamp para bloqueo optimista con Hibernate. Esta es la "
+"estrategia &#x00f3;ptima con respecto al rendimiento y es la &#x00fa;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&#x00f3;lo lectura a una "
+"expresi&#x00f3;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>&lt;subselect&gt;</"
-"literal> está disponible tanto como un atributo o como un elemento anidado "
-"de mapeo."
+"literal> est&#x00e1; 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>&lt;id&gt;</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&#x00ed;a de los casos "
+"tendr&#x00e1; tambi&#x00e9;n una propiedad estilo Javabeans que tenga el "
+"identificador &#x00fa;nico de una instancia. El elemento <literal>&lt;id&gt;"
+"</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/@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&#x00e1; reci&#x00e9;n instanciada (sin salvar), distingui&#x00e9;ndola "
+"de instancias separadas que fueran salvadas o cargadas en una sesi&#x00f3;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>&lt;composite-id&gt;</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>&lt;composite-id&gt;</literal> alternativa para "
-"permitir acceso a datos heredados con claves compuestas. Desalentamos "
-"fuertemente su uso para cualquier otra cosa."
+"Hay una declaraci&#x00f3;n <literal>&lt;composite-id&gt;</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>&lt;generator&gt;</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>&lt;generator&gt;</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>&lt;param&gt;</literal>."
+"clase Java usada en generar identificadores &#x00fa;nicos para instancias de "
+"la clase persistente. De requerirse alg&#x00fa;n par&#x00e1;metro para "
+"configurar o inicializar la instancia del generador, se pasa usando el "
+"elemento <literal>&lt;param&gt;</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&#x00f3;lo son &#x00fa;nicos cuando "
+"ning&#x00fa;n otro proceso est&#x00e1; 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."
+"&#x00fa;nicos s&#x00f3;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, &#x00fa;nicos en una ref (se usa la direcc&#x00f3;n IP). El UUID se "
+"codifica como una cadena hexadecimal de 32 d&#x00ed;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>&lt;generator&gt;</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>&lt;generator&gt;</literal>."
+"deja a la aplicaci&#x00f3;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>&lt;generator&gt;</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 &#x00fa;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>&lt;one-to-one&gt;</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>&lt;uno-a-uno&gt;</"
-"literal>"
+"conjunc&#x00f3;n a una asociac&#x00f3;n de clave primaria <literal>&lt;uno-a-"
+"uno&gt;</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&#x00f3;n de identificadores. La primera "
+"implementaci&#x00f3;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&#x00e1; 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&#x00f3;n IP, el instante de arranque de la JVM "
+"(con una precisi&#x00f3;n de un cuarto de segundo), el tiempo de sistema y "
+"un valor de contador (&#x00fa;nico en la JVM). No es posible obtener una "
+"direcci&#x00f3;n MAC o una direcci&#x00f3;n de memoria desde c&#x00f3;digo "
+"Java, as&#x00ed; 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&#x00f3;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&#x00f3;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&#x00e1; 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>&lt;generator&gt;</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>&lt;"
-"generator&gt;</literal>."
+"Si quieres que la aplicaci&#x00f3;n asigne los identificadores (en "
+"contraposici&#x00f3;n a que los genere Hibernate), puedes usar el generador "
+"<literal>assigned</literal>. Este generador especial usar&#x00e1; 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>&lt;generator&gt;</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&#x00f3;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 &#x00e1;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>&lt;composite-id&gt;</literal> "
 "element accepts <literal>&lt;key-property&gt;</literal> property mappings "
 "and <literal>&lt;key-many-to-one&gt;</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>&lt;"
-"composite-id&gt;</literal> acepta los mapeos de propiedad <literal>&lt;key-"
-"property&gt;</literal> y los mapeos <literal>&lt;key-many-to-one&gt;</"
-"literal> como elementos hijo."
+"Para una tabla con clave compuesta, puedes mapear m&#x00fa;ltiples "
+"propiedades de la clase como propiedades identificadoras. El elemento "
+"<literal>&lt;composite-id&gt;</literal> acepta los mapeos de propiedad "
+"<literal>&lt;key-property&gt;</literal> y los mapeos <literal>&lt;key-many-"
+"to-one&gt;</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&#x00e9;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&#x00e1;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&#x00e1;s conveniente donde el "
+"identificador compuesto est&#x00e1; 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>&lt;"
@@ -2050,19 +1887,19 @@
 "composite-id&gt;</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&mdash;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&#x00f3;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&#x00f3;n): La clase del componente usado como "
+"identificador compuesto (ver siguiente secci&#x00f3;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>&lt;discriminator&gt;</literal> element is required for "
 "polymorphic persistence using the table-per-class-hierarchy mapping strategy "
@@ -2179,18 +1998,16 @@
 "literal>."
 msgstr ""
 "El elemento <literal>&lt;discriminator&gt;</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&#x00f3;rfica usando la estrategia de mapeo de tabla-por-"
+"jerarqu&#x00ed;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&#x00e9; 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&#x00ed;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&#x00e9;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&#x00f3;n SQL arbitraria "
+"que es ejecutada cuando un tipo tenga que ser evaluado. Permite "
+"dicriminaci&#x00f3;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>&lt;"
 "class&gt;</literal> and <literal>&lt;subclass&gt;</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&#x00e1;n especificados "
+"por el atributo <literal>discriminator-value</literal> de los elementos "
 "<literal>&lt;class&gt;</literal> y <literal>&lt;subclass&gt;</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&#x00f3;lo) &#x00fa;til si la "
+"tabla contiene filas con valores discriminadores \"extra\" que no est&#x00e1;"
+"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&#x00f3;n SQL arbitraria que ser&#x00e1; 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>&lt;version&gt;</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>&lt;version&gt;</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 &#x00fa;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/@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/@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&#x00fa;mero de "
+"versi&#x00f3;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&#x00fa;.mero de vesi&#x00f3;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&#x00f3;n "
+"que indica que una instancia est&#x00e1; reci&#x00e9;n instanciada (sin "
+"guardar), distingui&#x00e9;ndola de instancias separadas que fueran "
+"guardadas o cargadas en una sesi&#x00f3;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&#x00fa;meros de versi&#x00f3;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&#x00f3;n o timestamp nunca debe ser nula para una "
+"instancia separada, de modo que Hibernate detectar&#x00e1; cualquier "
+"instancia con una versi&#x00f3;n o timestamp nulo como transitoria, sin "
+"importar qu&#x00e9; otras estrategias <literal>unsaved-value</literal> se "
+"hayan especificado. <emphasis>Declarar una propiedad de vers&#x00f3;n o "
+"timestamp nulable es una forma f&#x00e1;cil de evitar cualquier problema con "
+"la re-uni&#x00f3;n transitiva en Hibernate, especialmente &#x00fa;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>&lt;timestamp&gt;</literal> element indicates that the "
 "table contains timestamped data. This is intended as an alternative to "
@@ -2462,12 +2255,11 @@
 "El elemento opcional <literal>&lt;timestamp&gt;</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&#x00f3;n menos segura de bloqueo optimista. Sin "
+"embrago, a veces la aplicaci&#x00f3;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/@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/@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&#x00f3;n que indica que una "
+"instancia est&#x00e1; reci&#x00e9;n instanciada (sin guardar), "
+"distingui&#x00e9;ndola de instancias separadas que hayan sido guardadas o "
+"cargadas en una sesi&#x00f3;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>&lt;timestamp&gt;</literal> is equivalent to <literal>&lt;"
 "version type=\"timestamp\"&gt;</literal>. And <literal>&lt;timestamp source="
@@ -2567,15 +2354,11 @@
 "Note that <literal>&lt;timestamp&gt;</literal> is equivalent to <literal>&lt;"
 "version type=\"timestamp\"&gt;</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>&lt;property&gt;</literal> element declares a persistent, "
 "JavaBean style property of the class."
@@ -2583,9 +2366,7 @@
 "El elemento <literal>&lt;property&gt;</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/@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&#x00fa;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>&lt;column&gt;</"
-"literal> anidado(s)."
+"puede tambi&#x00e9;n ser especificado con elemento(s) <literal>&lt;column&gt;"
+"</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&#x00ed;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&#x00f3;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&#x00f3;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&#x00ed;da perezosamente cuando la "
+"variable de instancia sea accedida por primera vez (requiere "
+"instrumentaci&#x00f3;n en tiempo de compilaci&#x00f3;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&#x00f3; DDL de "
+"una restricci&#x00f3;n de unicidad para las columnas. Adem&#x00e1;s, permite "
+"que &#x00e9;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&#x00f3; DDL de "
+"una restricci&#x00f3;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&#x000f3;n de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versi&#x00f3;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&#x00e1;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&#x00e1;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&#x00e1; reflecci&#x00f3;n sobre la "
+"propiedad mencionada para deducir el tipo Hibernate correcto. Hibernate "
+"intentar&#x00e1; 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&#x00e1;s a&#x00fa;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&#x00f3;mo "
+"Hibernate acceder&#x00e1; a la propiedad en tiempo de ejecuci&#x00f3;n. Por "
+"defecto, Hibernate llamar&#x00e1; al par de getter/setter de la propiedad. "
+"Si especificas <literal>access=\"field\"</literal>, Hibernate se "
+"saltar&#x00e1; el par get/set y acceder&#x00e1; al campo directamente usando "
+"reflecci&#x00f3;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&#x00f3;n de s&#x00f3;lo lectura, el valor de la "
+"propiedad es computado en tiempo de carga. Tu declaras la computaci&#x00f3;n "
+"como una expresi&#x00f3;n SQL, y &#x00e9;sta se traduce a cl&#x00e1;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>&lt;formula&gt;</literal> si no te gusta usar el atributo."
+"ejemplo dado). Observa adem&#x00e1;s que puedes usar el elemento anidado de "
+"mapeo <literal>&lt;formula&gt;</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&#x00f3;n ordinaria a otra clase persistente se declara usando "
+"el elemento <literal>many-to-one</literal>. El modelo relacional es una "
+"asociaci&#x00f3;n muchos-a-uno: una clave for&#x00e1;nea en una tabla "
+"est&#x00e1; 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&#x00f3;n SQL\"\n"
+"        node=\"element-name|@attribute-name|element/@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>&lt;column&gt;</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>&lt;column&gt;</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>&lt;column&gt;</literal>."
+"<literal>column</literal> (opcional): El nombre de la columna clave "
+"for&#x00e1;nea. Tambi&#x00e9;n puede ser especificado por uno o varios "
+"elementos anidados <literal>&lt;column&gt;</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&#x00f3;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&#x00e9; 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&#x00f3;n outer-join o por selecci&#x00f3;"
+"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&#x00ed;das en "
+"las sentencias SQL <literal>UPDATE</literal> y/o <literal>INSERT</literal>. "
+"Establecer ambas a <literal>false</literal> permite una asociaci&#x00f3;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&#x00f3;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&#x00e1; unida a la clave for&#x00e1;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&#x00f3;n DDL de "
+"una restricci&#x00f3;n de unicidad para la columna de clave for&#x00e1;nea. "
+"Adem&#x00e1;s, permite que &#x00e9;sta sea el objetivo de una "
+"<literal>property-ref</literal>. Esto hace efectivamente la multiplicidad de "
+"la asociaci&#x00f3;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&#x00f3;n DDL de "
+"una restricci&#x00f3;n de nulabilidad para las columnas de clave for&#x00e1;"
+"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&#x00f3;n del bloqueo optimista. En otras palabras, determina "
+"si debe darse un incremento de versi&#x00f3;n cuando esta propiedad "
+"est&#x00e9; 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 &#x00fa;nico van con proxies. "
+"<literal>lazy=\"true\"</literal> especifica que esta propiedad debe ser "
+"tra&#x00ed;da perezosamente cuando la variable de instancia sea accedida por "
+"primera vez (requiere instrumentaci&#x00f3;n del bytecode en tiempo de "
+"compilaci&#x00f3;n). <literal>lazy=\"false\"</literal> especifica que la "
+"asociaci&#x00f3;n siempre ser&#x00e1; 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&#x00f3;mo deben manejarse las claves for&#x00e1;neas "
+"que referencien filas inexistentes: <literal>ignore</literal> tratar&#x00e1; "
+"una fila perdida como una asociaci&#x00f3;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&#x00f3;n SQL que define "
+"el valor para una clave for&#x00e1;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&#x00e1; "
+"ciertas operaciones al objeto asociado. Los valores significativos son los "
+"nombres de las operaciones b&#x00e1;sicas de Hibernate, <literal>persist, "
+"merge, delete, save-update, evict, replicate, lock, refresh</literal>, "
+"as&#x00ed; 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&#x00f3;"
+"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&#x00f3;n t&#x00ed;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&#x00e1;nea referencia una clave "
+"&#x00fa;nica de la tabla asociada, distinta de la clave primaria. Este es un "
+"modelo relacional feo. Por ejemplo, sup&#x00f3;n que la clase "
+"<literal>Product</literal> tuviera un n&#x00fa;mero &#x00fa;nico serial que "
+"no es la clave primaria. (El atributo <literal>unique</literal> controla la "
+"generaci&#x00f3;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&#x00ed;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>&lt;"
 "properties&gt;</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>&lt;"
-"properties&gt;</literal>."
+"Si la clave &#x00fa;nica referenciada abarca m&#x00fa;ltiples propiedades de "
+"la entidad asociada, debes mapear las propiedades dentro de un elemento "
+"<literal>&lt;properties&gt;</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&#x00f3;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&#x00f3;n SQL\"\n"
+"        lazy=\"true|proxy|false\"\n"
+"        entity-name=\"EntityName\"\n"
+"        node=\"element-name|@attribute-name|element/@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&#x00e9; 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&#x00f3;n de clave for&#x00e1;nea de la tabla mapeada referencia a "
+"la tabla de la clase asociada. Esta opci&#x00f3;n afecta el orden en que van "
+"en cascada <literal>save()</literal> y <literal>delete()</literal>, y "
+"determina cu&#x00e1;ndo la asociaci&#x00f3;n pueden ser virtualizados por "
+"proxies (es tambi&#x00e9;n usado por la herramienta de exportaci&#x00f3;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&#x00e9; 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&#x00f3;n para unir usando una f&#x00f3;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 &#x00fa;nico van con proxies. "
+"<literal>lazy=\"true\"</literal> especifica que esta propiedad debe ser "
+"tra&#x00ed;da perezosamente cuando la variable de instancia sea accedida por "
+"primera vez (requiere instrumentaci&#x00f3;n del bytecode en tiempo de "
+"compilaci&#x00f3;n). <literal>lazy=\"false\"</literal> especifica que la "
+"asociaci&#x00f3;n siempre ser&#x00e1; recuperada tempranamente. "
+"<emphasis>Observa que si <literal>constrained=\"false\"</literal>, la "
+"aplicaci&#x00f3;n de proxies es imposible e Hibernate traer&#x00e1; temprano "
+"la asociaci&#x00f3;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&#x00e1;neas &#x00fa;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&#x00e1;n relacionadas por la asociaci&#x00f3;n entonces las "
+"dos filas de tablas comparten el mismo valor de clave primaria. Por lo "
+"tanto, si quieres que dos objetos est&#x00e9;n relacionados por una "
+"asociaci&#x00f3;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&#x00f3;n de clave primaria, a&#x00f1;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&#x00f3;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&#x00e9;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&#x00e1;nea con una restricci&#x00f3;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&#x00f3;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>&lt;natural-"
-"id&gt;</literal>. Hibernate generará las restricciones de clave única y "
-"nulabilidad necesarias, y tu mapeo será más auto-documentado."
+"todav&#x00ed;a debes intentar identificar claves naturales para todas las "
+"entidades. Una clave natural es una propiedad o combinaci&#x00f3;n de "
+"propiedades que es &#x00fa;nica y no nula. Si adem&#x00e1;s es inmutable, "
+"mejor a&#x00fa;n. Mapea las propiedades de la clave natural dentro del "
+"elemento <literal>&lt;natural-id&gt;</literal>. Hibernate generar&#x00e1; "
+"las restricciones de clave &#x00fa;nica y nulabilidad necesarias, y tu mapeo "
+"ser&#x00e1; m&#x00e1;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&#x00e1; 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>&lt;component&gt;</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&#x00f3;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&#x00f3;n de bytecode en tiempo de compilaci&#x00f3;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&#x00f3;n de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versi&#x00f3;n cuando esta "
+"propiedad est&#x00e1; 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&#x00f3;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>&lt;property&gt;</literal> tags map properties of the "
 "child class to table columns."
@@ -3665,9 +3385,7 @@
 "Las etiquetas hijas <literal>&lt;property&gt;</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>&lt;component&gt;</literal> element allows a <literal>&lt;"
 "parent&gt;</literal> subelement that maps a property of the component class "
@@ -3677,9 +3395,7 @@
 "<literal>&lt;parent&gt;</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>&lt;dynamic-component&gt;</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>&lt;properties&gt;</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>&lt;properties&gt;</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>&lt;properties&gt;</literal> permite la definici&#x00f3;"
+"n de un grupo de propiedades l&#x00f3;gico con nombre de una clase. El uso "
+"m&#x00e1;s importante de la contrucci&#x00f3;n es que permite que una "
+"combinaci&#x00f3;n de propiedades sea objetivo de una <literal>property-ref</"
+"literal>. Es tambi&#x00e9;n una forma conveniente de definir una "
+"restricci&#x00f3;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&#x00f3;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&#x00f3;n de un bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versi&#x00f3;n cuando estas "
+"propiedades est&#x00e1;n desactualizadas."
 
-#. Tag: para
-#: basic_mapping.xml:1984
-#, no-c-format
+#: index.docbook:1984
 msgid ""
 "For example, if we have the following <literal>&lt;properties&gt;</literal> "
 "mapping:"
@@ -3765,9 +3482,7 @@
 "Por ejemplo, si tenemos el siguiente mapeo de <literal>&lt;properties&gt;</"
 "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&#x00f3;n de datos heredados que "
+"se refiera a esta clave &#x00fa;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>&lt;subclass&gt;</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>&lt;subclass&gt;</literal>."
+"Finalmente, la persistencia polim&#x00f3;rfica requiere la declaraci&#x00f3;"
+"n de la clase persistente ra&#x00ed;z. Para la estrategia de mapeo tabla-por-"
+"jerarqu&#x00ed;a-de-clases, se usa la declaraci&#x00f3;n de <literal>&lt;"
+"subclass&gt;</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&#x00f3;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&#x00f3;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>&lt;version&gt;</literal> and <literal>&lt;id&gt;</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&#x00f3;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>&lt;"
 "joined-subclass&gt;</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>&lt;key&gt;</literal>. "
-"El mapeo del comienzo del capítulo debería ser reescrito como:"
+"El mapeo del comienzo del cap&#x00ed;tulo deber&#x00ed;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>&lt;union-subclass&gt;</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>&lt;class&gt;</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>&lt;union-"
-"subclass&gt;</literal>."
+"Una tercera opci&#x00f3;n es mapear s&#x00f3;lo las clases concretas de una "
+"jerarqu&#x00ed;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&#x00ed;as de herencia. Puedes simplemente mapear cada "
+"clase con una declaraci&#x00f3;n <literal>&lt;class&gt;</literal> separada. "
+"Sin embargo, si deseas usar asociaciones polim&#x00f3;rficas (por ejemplo, "
+"una asociaci&#x00f3;n a la superclase de tu jerarqu&#x00ed;a), debes usar el "
+"mapeo <literal>&lt;union-subclass&gt;</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>&lt;join&gt;</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>&lt;join&gt;</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>&lt;join&gt;</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>&lt;join&gt;</"
-"literal> definido por una clase o sus superclases y una unión externa (outer "
-"join) para un <literal>&lt;join&gt;</literal> definido por una subclase. Si "
-"se establece a <literal>select</literal>, entonces Hibernate usará una "
-"select secuencial para un <literal>&lt;join&gt;</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&#x00e1; una uni&#x00f3;n interior (inner join) para recuperar un "
+"<literal>&lt;join&gt;</literal> definido por una clase o sus superclases y "
+"una uni&#x00f3;n externa (outer join) para un <literal>&lt;join&gt;</"
+"literal> definido por una subclase. Si se establece a <literal>select</"
+"literal>, entonces Hibernate usar&#x00e1; una select secuencial para un "
+"<literal>&lt;join&gt;</literal> definido en una subclase, que ser&#x00e1; "
+"publicada s&#x00f3;lo si una fila resulta representar una instancia de la "
+"subclase. Las uniones interiores todav&#x00ed;a ser&#x00e1;n usados para "
 "recuperar un <literal>&lt;join&gt;</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&#x00e1; insertar o "
+"actualizar las propiedades definidas por esta uni&#x00f3;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&#x00e1; una fila s&#x00f3;lo "
+"si las propiedades definidas por esta uni&#x00f3;n son no nulas y siempre "
+"usar&#x00e1; una uni&#x00f3;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&#x00f3;n domiciliaria de una persona puede ser "
+"mapeada a una tabla separada (preservando a la vez la sem&#x00e1;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 &#x00fa;til para modelos de datos "
+"heredados; recomendamos menos tablas que clases un modelo de dominio "
+"m&#x00e1;s granularizado. Sin embargo, es &#x00fa;til para cambiar entre "
+"estrategias de mapeo de herencias en una misma jerarqu&#x00ed;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>&lt;key&gt;</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>&lt;key&gt;</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&#x00f3;n a una nueva tabla, y define la clave for&#x00e1;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&#x00f3;n de clave for&#x00e1;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&#x00e1;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&#x00e1;nea son no nulables (esto est&#x00e1; implicado si la clave "
+"for&#x00e1;nea es tambi&#x00e9;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&#x00e1;nea "
+"nunca debe ser actualizada (esto est&#x00e1; implicado si la clave "
+"for&#x00e1;nea es tambi&#x00e9;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&#x00e1;nea "
+"debe tener una restricci&#x00f3;n de unicidad (esto est&#x00e1; implicado si "
+"la clave for&#x00e1;nea es tambi&#x00e9;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&#x00e1; una restricci&#x00f3;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\"&gt;</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>&lt;key not-null=\"true"
-"\"&gt;</literal>."
+"&#x00fa;tiles al mapear una asociaci&#x00f3;n uno a muchos unidireccional. "
+"Si mapeas una uno a muchos unidireccional a una clave for&#x00e1;nea no "
+"nulable, <emphasis>debes</emphasis> declarar la columna clave usando "
+"<literal>&lt;key not-null=\"true\"&gt;</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>&lt;column&gt;</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>&lt;column&gt;</literal>. "
-"De forma similar, <literal>&lt;formula&gt;</literal> es una alternativa al "
-"atributo <literal>formula</literal>."
+"aceptar&#x00e1; alternativamente un subelemento <literal>&lt;column&gt;</"
+"literal>. De forma similar, <literal>&lt;formula&gt;</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&#x00f3;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&#x00f3;"
+"n para expresar, por ejemplo, condiciones de uni&#x00f3;n ex&#x00f3;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&#x00f3;n que tu aplicaci&#x00f3;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&#x00ed;citamente, en vez de confiar en <literal>auto-import=\"true\"</"
+"literal>. Puedes incluso importar clases e interfaces que no est&#x00e9;n "
+"mapeadas expl&#x00ed;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&#x00e1; 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>&lt;any&gt;</"
 "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>&lt;"
-"any&gt;</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&#x00e1;s de mapeo de propiedad. El elemento de mapeo "
+"<literal>&lt;any&gt;</literal> define una asociaci&#x00e1;n polim&#x00f3;"
+"rfica a clases desde m&#x00fa;ltiples tablas. Este tipo de mapeo siempre "
+"requiere m&#x00e1;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&#x00f3;n de clave for&#x00e1;nea para "
+"este tipo de asociaci&#x00f3;n, por lo que esto ciertamente no est&#x00e1; "
+"concebido como la forma habitual de mapear asociaciones (polim&#x00f3;"
+"rficas). S&#x00f3;lo debes usar esto en casos muy especiales (por ejemplo, "
+"trazas de auditor&#x00e9;a, datos de sesi&#x00f3;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&#x00f3;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&#x00f3;n del bloqueo optimista. En otras palabras, "
+"determina si debe ocurrir un incremento de versi&#x00f3;n cuando esta "
+"propiedad est&#x00e1; 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&#x00ed;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&#x00e1;s de "
+"cerca a c&#x00f3;mo los objetos de aplicaci&#x00f3;n son usados "
+"habitualmente en grandes sistemas. Las entidades soportan referencias "
+"circulares y compartidas, que tambi&#x00e9; 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&#x00e1; dentro de la colecci&#x00f3;"
+"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&#x00e9;rmino \"clase persistente\" "
+"para referirnos a entidades. Continuaremos haci&#x00e9;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&#x00e1;ntica de valor. Una "
+"propiedad Java de tipo <literal>java.lang.String</literal> tambi&#x00e9;n "
+"tiene sem&#x00e1;ntica de valor. Dada esta definici&#x00f3;n, podemos decir "
+"que todos los tipo (clases) provistos por el JDK tienen una sem&#x00e1;ntica "
+"de tipo valor en Java, mientras que los tipos definidos por el usuario "
+"pueden ser mapeados con sem&#x00e1;ntica de tipo valor o de entidad. La "
+"desici&#x00f3;n corre por cuenta del desarrollador de la aplicaci&#x00f3;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&#x00f3;n o agregaci&#x00f3;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&#x00f3;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>&lt;class&gt;</literal>, <literal>&lt;"
-"subclass&gt;</literal>, etc. Para los tipos de valor usamos <literal>&lt;"
-"property&gt;</literal>, <literal>&lt;component&gt;</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&#x00ed;o es mapear el sistema de tipos de Java (y la "
+"definici&#x00f3;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>&lt;class&gt;</"
+"literal>, <literal>&lt;subclass&gt;</literal>, etc. Para los tipos de valor "
+"usamos <literal>&lt;property&gt;</literal>, <literal>&lt;component&gt;</"
+"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&#x00e1;brica muchos mapeos (para tipos de "
+"valores del JDK est&#x00e1;ndar). Puedes escribir tus propios mapeos de "
+"tipo, as&#x00ed; como implementar tus estrategias de conversi&#x00f3;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&#x00e1;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&#x00e1;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&#x00e1;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&#x00ed;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&#x00f3;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&#x00e1;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&#x00e1;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&#x00f3;n (Adem&#x00e1;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 &#x00fa;nicos de entidades y collecciones pueden ser de "
+"cualquier tipo b&#x00e1;sico excepto <literal>binary</literal>, "
+"<literal>blob</literal> y <literal>clob</literal>. (Los identificadores "
+"compuestos est&#x00e1;n tambi&#x00e9;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&#x00e1;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&#x00e1;cil para los desarrolladores crear sus propios "
+"tipos de valor. Por ejemplo, podr&#x00ed;as querer persistir propiedades del "
+"tipo <literal>java.lang.BigInteger</literal> a columnas <literal>VARCHAR</"
+"literal>. Hibernate no provee un tipo de f&#x00e1;brica para esto. Pero los "
+"tipos personalizados no est&#x00e1;n limitados a mapear una propiedad (o "
+"elemento de colecci&#x00f3;n) a una sola columna de tabla. As&#x00ed;, por "
+"ejemplo, podr&#x00ed;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&#x00e9; 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>&lt;column&gt;</literal> tags to map a property "
 "to multiple columns."
 msgstr ""
 "Observa el uso de etiquetas <literal>&lt;column&gt;</literal> para mapear "
-"una propiedad a múltiples columnas."
+"una propiedad a m&#x00fa;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&#x00e1;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>&lt;"
 "type&gt;</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&#x00e1;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>&lt;type&gt;</literal> en tus ficheros de mapeo."
+"literal>. Para proveer de par&#x00e1;metros a tu tipo personalizado, puedes "
+"usar el elemento <literal>&lt;type&gt;</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&#x00e1;"
+"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>&lt;typedef&gt;</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."
+"&#x00fa;til definir un nombre corto para &#x00e9;. Puedes hacer esto usando "
+"el elemento <literal>&lt;typedef&gt;</literal>. Los typedefs asignan un "
+"nombre a un tipo personalizado, y pueden tambi&#x00e9;n contener una lista "
+"de valores por defecto de par&#x00e1;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&#x00e9;n es posible sobrescribir los par&#x00e1;metros provistos en un "
+"typedef sobre una base caso por caso usando par&#x00e1;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&#x00f3;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&#x00f3;n. Con un tipo personalizado, tus documentos de mapeo "
+"estar&#x00e1; 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&#x00e1;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&#x00e1;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&#x00f3;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&#x00e1; 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&#x00e1; 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&#x00f3;n de "
+"mapeo directamente en el c&#x00f3;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&#x00ed;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&#x00e1;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&#x00f3;n. Este mecanismo "
+"es m&#x00e1;s potente y que las anotaciones XDoclet, y mejor soportado por "
+"herramientas e IDEs. IntelliJ IDEA, por ejemplo, soporta auto-"
+"compleci&#x00f3;n y resaltado de sintaxis de anotaciones JDK 5.0. La nueva "
+"revisi&#x00f3;n de la especificaci&#x00f3;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&#x00e1; "
+"disponible v&#x00ed;a el paquete <emphasis>Hibernate Annotations</emphasis>, "
+"como una descarga por separado. Tanto metadatos de EJB3 (JSR-220) como de "
+"Hibernate3 est&#x00e1;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&#x00ed;a un trabajo en progreso y no completado. Por favor, para "
+"m&#x00e1;s detalles refi&#x00e9;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00e1;cticas"
 
-#. Tag: term
-#: best_practices.xml:9
-#, no-c-format
+#: index.docbook:9
 msgid ""
 "Write fine-grained classes and map them using <literal>&lt;component&gt;</"
 "literal>."
@@ -26,29 +17,23 @@
 "Escribe clase finamente granularizadas y mapealas usando <literal>&lt;"
 "component&gt;</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&#x00f3;n</literal> para encapsular "
+"<literal>calle</literal>, <literal>distrito</literal>, <literal>estado</"
+"literal>, <literal>c&#x00f3;digo postal</literal>. Esto alienta la "
+"reutilizaci&#x00f3;n de c&#x00f3;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&#x00e9;ticos' (generados, sin ning&#x00fa;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>&lt;"
 "natural-id&gt;</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&#x00ed;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&#x00e1;ctica si tus consultas llaman a funciones SQL "
+"que no son del est&#x00e1;ndar ANSI. Externalizar las cadenas de consulta a "
+"ficheros de mapeo har&#x00e1; la aplicaci&#x00f3;n m&#x00e1;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 \"?\". &#x00a1;"
+"Nunca uses manipulaci&#x00f3;n de cadenas para ligar un valor no constante "
+"en una consulta! Incluso mejor, considera usar par&#x00e1;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&#x00f3;n administre las conexiones JDBC. Este "
+"enfoque debe considerarse como &#x00fa;ltimo recurso. Si no puedes usar los "
+"provedores de conexi&#x00f3;n prefabricados, considera prover tu propia "
+"implementaci&#x00f3;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&#x00f3;n que tienes un tipo Java, digamos de alguna biblioteca, que "
+"necesita hacerse persistente pero no provee los m&#x00e9;todos de acceso "
+"necesarios para mapearlo como un componente. Debes considerar implementar "
+"<literal>org.hibernate.UserType</literal>. Este enfoque libera al c&#x00f3;"
+"digo de aplicaci&#x00f3;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 &#x00e1;reas del sistema de rendimiento cr&#x00ed;tico, algunos tipos de "
+"operaciones podr&#x00ed;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&#x00e1;s "
+"r&#x00e1;pido. Si necesitas usar JDBC directo, podr&#x00ed;a ser valioso "
+"abrir una <literal>Session</literal> de Hibernate y usar esa conexi&#x00f3;n "
+"JDBC. De esta forma puedes usar a&#x00fa;n la misma estrategia de "
+"transacci&#x00f3;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&#x00f3;n sincroniza su estado persistente con la "
+"base de datos. El rendimiento se ver&#x00e1; afectado si este proceso ocurre "
+"demasiado frecuentemente. A veces puedes minimizar limpieza innecesaria "
+"deshabilitando la limpieza autom&#x00e1;tica o incluso cambiando el orden de "
+"las consultas u otras operaciones en una transacci&#x00f3;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&#x00f3;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&#x00f3;n, puedes pasar objetos "
+"persistentes en el bean de sesi&#x00f3;n hacia y desde la capa de servlet / "
+"JSP. Usa una sesi&#x00f3;n nueva para atender el servicio de cada "
+"petici&#x00f3;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&#x00f3;n</emphasis> ejecut&#x00e1;ndose "
+"en largo, una sola unidad de trabajo desde el punto de vista de un usuario. "
+"Una transacci&#x00f3;n de aplicaci&#x00f3;n puede abarcar muchos ciclos "
+"petici&#x00f3;n/respuesta del cliente. Es com&#x00fa;n usar objetos "
+"separados para implementar transacciones de aplicaci&#x00f3;n. Una "
+"alternativa, extremadamente apropiada en arquitecturas en dos gradas, es "
+"mantener un solo contacto de persistencia abierto (sesi&#x00f3;n) para todo "
+"el ciclo de vida de la transacci&#x00f3;n de aplicaci&#x00f3;n y simplemente "
+"desconectar de la conexi&#x00f3;n JDBC al final de cada petici&#x00f3;n, y "
+"reconectar al comienzo de la petici&#x00f3;n subsecuente. Nunca compartas "
+"una &#x00fa;nica sesi&#x00f3;n a trav&#x00e9;s de m&#x00e1;s de una "
+"transacci&#x00f3;n de aplicaci&#x00f3;n, o estar&#x00e1;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&#x00e1;s una pr&#x00e1;ctica necesaria que una \"mejor\" pr&#x00e1;"
+"ctica. Cuando ocurra una excepci&#x00f3;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&#x00f3;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&#x00f3;n temprana. Usa proxies y colecciones "
+"perezosas para la mayor&#x00ed;a de asociaciones a clases probablemente no "
+"est&#x00e9;n mantenidas en el cach&#x00e9; de segundo nivel. Para las "
+"asociaciones a clases en cach&#x00e9;, donde hay una probabilidad de acceso "
+"a cach&#x00e9; extremadamente alta, deshabilita expl&#x00ed;citamente la "
+"recuperaci&#x00f3;n temprana usando <literal>lazy=\"false\"</literal>. "
+"Cuando sea apropiada la recuperaci&#x00f3;n por uni&#x00f3;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&#x00f3;n <emphasis>sesi&#x00f3;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&#x00f3;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&#x00ed;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&#x00f3;n. "
+"Hibernate elimina el primer prop&#x00f3;sito. Sin embargo, a&#x00fa;n "
+"necesitas una fase de ensamblado (piensa en tus m&#x00e9;todos de negocio "
+"como si tuviesen un contrato estricto con la grada de presentaci&#x00f3;n "
+"sobre qu&#x00e9; datos est&#x00e1;n disponibles en los objetos separados) a "
+"menos que est&#x00e9;s preparado para tener el contexto de persistencia (la "
+"sesi&#x00f3;n) abierto a trav&#x00e9;s del proceso de renderizaci&#x00f3;n "
+"de la vista. &#x00a1;Esta no es una limitaci&#x00f3;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&#x00f3;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&#x00f3;digo de acceso a datos (Hibernate) detr&#x00e1;s de una "
+"interface. Combina los patrones <emphasis>DAO</emphasis> y "
+"<emphasis>Sesi&#x00f3;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&#x00e1; pensado para aplicaciones \"suficientemente grandes\"; &#x00a1;"
+"no es apropiado para una aplicaci&#x00f3;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&#x00f3;n ex&#x00f3;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&#x00f3;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&#x00ed;a de asociaciones son uno-a-muchos y muchos-a-uno, debes ser "
+"cuidadoso al usr cualquier otro estilo de asociaci&#x00f3;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&#x00e1;s dif&#x00ed;ciles de "
+"consultar. En una aplicaci&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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&#x00ed;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&#x00e1;s que escribir una "
+"implementaci&#x00f3;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&#x00f3;mo hemos inicializado la variable de instancia de "
+"<literal>HashSet</literal>. Esta es la mejor forma de inicializar "
+"propiedades valuadas en colecci&#x00f3;n de instancias reci&#x00e9;n "
+"instanciadas (no persistentes). Cuando haces persistente la instancia - "
+"llamando a <literal>persist()</literal>, por ejemplo - Hibernate realmente "
+"remplazar&#x00e1; el <literal>HashSet</literal> con una instancia de una "
+"implementaci&#x00f3;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&#x00e1;ticamente persistidas al ser referenciadas por un "
+"objeto persistente y autom&#x00e1;ticamente borradas al desreferenciarse. Si "
+"una colecci&#x00f3;n es pasada de un objeto persistente a otro, sus "
+"elementos ser&#x00ed;an movidos de una tabla a otra. Dos entidades pueden no "
+"compartir una referencia a la misma instancia de colecci&#x00f3;n. Debido al "
+"modelo relacional subyacente, las propiedades valuadas en colecci&#x00f3;n "
+"no soportan la sem&#x00e1;ntica de valor nulo. Hibernate no distingue entre "
+"una referencia de colecci&#x00f3;n nula y una colecci&#x00f3;n vac&#x00ed;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&#x00f3;lo aseg&#x00fa;rate que entiendes la sem&#x00e1;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&#x00f3;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>&lt;set&gt;</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>&lt;set&gt;</"
-"literal> se usa para mapear propiedades de tipo <literal>Set</literal>."
+"El elemento de mapeo de Hibernate usado para mapear una colecci&#x00f3;n "
+"depende del tipo de la interface. Por ejemplom un elemento <literal>&lt;"
+"set&gt;</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>&lt;set&gt;</literal>, there is also <literal>&lt;"
 "list&gt;</literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</"
@@ -191,15 +186,13 @@
 "array&gt;</literal> mapping elements. The <literal>&lt;map&gt;</literal> "
 "element is representative:"
 msgstr ""
-"Aparte de <literal>&lt;set&gt;</literal>, existen además los elementos de "
-"mapeo <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, "
-"<literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> y "
+"Aparte de <literal>&lt;set&gt;</literal>, existen adem&#x00e1;s los "
+"elementos de mapeo <literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</"
+"literal>, <literal>&lt;bag&gt;</literal>, <literal>&lt;array&gt;</literal> y "
 "<literal>&lt;primitive-array&gt;</literal>. El elemento <literal>&lt;map&gt;"
 "</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&#x00f3;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&#x00f3;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&#x00ed;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&#x00f3;n perezosa y "
+"especificar que la asociaci&#x00f3;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&#x00f3;n como el extremo \"inverso\" de una "
+"asociaci&#x00f3;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&#x00f3;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&#x00f3;lo JDK1.4) especifica una "
+"columna de tabla (o columnas) que definen el orden de iteraci&#x00f3;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&#x00f3;n "
+"<literal>WHERE</literal> de SQL arbitrario para ser usada al recuperar o "
+"quitar la colecci&#x00f3;n (&#x00fa;til si la colecci&#x00f3;n debe contener "
+"s&#x00f3;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&#x00f3;n por uni&#x00f3;n externa (outer-join), "
+"recuperar por selecci&#x00f3;n secuencial, y recuperaci&#x00f3;n por "
+"subselecci&#x00f3;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&#x00f1;o de lote\" para la recuperar perezosamente "
+"instancias de esta colecci&#x00f3;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&#x00f3;n "
+"resultan en incrementos de versi&#x00f3;n de la entidad due&#x00f1;a. (Para "
+"asociaciones uno a muchos, frecuentemente es razonable deshabilitar esta "
+"opci&#x00f3;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&#x00e1;neas de collecci&#x00f3;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>&lt;key&gt;</"
 "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>&lt;key&gt;</literal>."
+"Las instancias de colecci&#x00f3;n se distinguen en la base de datos por la "
+"clave for&#x00e1;nea de la entidad que posee la colecci&#x00f3;n. Se hace "
+"referencia a esta clave for&#x00e1;nea como la <emphasis>columna clave de "
+"colecci&#x00f3;n</emphasis> (o columnas) de la tabla de colecci&#x00f3;n. La "
+"columna clave de la colecci&#x00f3;n es mapeada por el elemento <literal>&lt;"
+"key&gt;</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&#x00f3;n de nulabilidad sobre la columna de clave "
+"for&#x00e1;nea. Para la mayor&#x00ed;a de colecciones, esto est&#x00e1; "
+"implicado. Para asociaciones unidireccionales uno a muchos, la columna de "
+"clave for&#x00e1;nea es nulable por defecto, de modo que podr&#x00ed;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&#x00f3;n de clave for&#x00e1;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>&lt;key&gt;</"
 "literal> element."
 msgstr ""
-"Mira el capítulo anterior por una definición completa del elemento "
-"<literal>&lt;key&gt;</literal>."
+"Mira el cap&#x00ed;tulo anterior por una definici&#x00f3;n completa del "
+"elemento <literal>&lt;key&gt;</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&#x00f3;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&#x00e1;sicos, componentes, y por supuesto, referencias a "
+"otras entidades. Esta es una distinci&#x00f3;n importante: un objeto en una "
+"colecci&#x00f3;n puede ser manejado con una sem&#x00e1;ntica de \"valor"
+"\" (su ciclo de vida depende completamente del propietario de la "
+"colecci&#x00f3;n) o podr&#x00ed;a ser una referencia a otra entidad, con su "
+"propio ciclo de vida. En el &#x00fa;ltimo caso, s&#x00f3;lo el estado del "
+"\"enlace\" entre los dos objetos se considera mantenido por la "
+"colecci&#x00f3;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>&lt;element&gt;</"
@@ -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>&lt;element&gt;</literal> o <literal>&lt;composite-element&gt;</"
-"literal>, o en el caso de referencias de entidades, con <literal>&lt;one-to-"
-"many&gt;</literal> o <literal>&lt;many-to-many&gt;</literal>. Las dos "
-"primeras mapean elementos con semántica de valor, los dos siguientes son "
-"usados para mapear asociaciones de entidades."
+"la colecci&#x00f3;n</emphasis>. Los elementos de colecci&#x00f3;n son "
+"mapeados por <literal>&lt;element&gt;</literal> o <literal>&lt;composite-"
+"element&gt;</literal>, o en el caso de referencias de entidades, con "
+"<literal>&lt;one-to-many&gt;</literal> o <literal>&lt;many-to-many&gt;</"
+"literal>. Las dos primeras mapean elementos con sem&#x00e1;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>&lt;map-"
-"key&gt;</literal>, o puede ser una referencia de entidad, mapeada con "
-"<literal>&lt;map-key-many-to-many&gt;</literal>, o puede ser un tipo "
-"compuesto, mapeado con <literal>&lt;composite-map-key&gt;</literal>. El "
-"índice de un array o lista es siempre de tipo <literal>integer</literal> y "
-"se mapea usando el elemento <literal>&lt;list-index&gt;</literal>. La "
-"columna mapeada contiene enteros secuenciales (numerados desde cero, por "
-"defecto)."
+"Todos los mapeos de colecci&#x00f3;n, excepto aquellos con sem&#x00e1;ntica "
+"de set o bag, necesitan una <emphasis>columna &#x00ed;ndice</emphasis> en la "
+"tabla de colecci&#x00f3;n, una columna que mapea a un &#x00ed;ndice de "
+"array, o &#x00ed;ndice de <literal>List</literal>, o clave de <literal>Map</"
+"literal>. El &#x00ed;ndice de un <literal>Map</literal> puede ser de "
+"cualquier tipo b&#x00e1;sico, mapeado con <literal>&lt;map-key&gt;</"
+"literal>, o puede ser una referencia de entidad, mapeada con <literal>&lt;"
+"map-key-many-to-many&gt;</literal>, o puede ser un tipo compuesto, mapeado "
+"con <literal>&lt;composite-map-key&gt;</literal>. El &#x00ed;ndice de un "
+"array o lista es siempre de tipo <literal>integer</literal> y se mapea "
+"usando el elemento <literal>&lt;list-index&gt;</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 &#x00ed;ndice de la "
+"colecci&#x00f3;n. </para> </callout> <callout arearefs=\"index1\"> <para> "
+"<literal>base</literal> (opcional, por defecto a <literal>0</literal>): El "
+"valor de la columna &#x00ed;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 &#x00ed;ndice de la colecci&#x00f3;n. </para> "
+"</callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> "
+"(opcional): Una f&#x00f3;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&#x00e1;nea para los valores &#x00ed;ndice de la colecci&#x00f3;n. </"
+"para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> "
+"<literal>formula</literal> (opcional): Una f&#x00f3;rmula SQL usada para "
+"evaluar la clave for&#x00e1;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>&lt;bag&gt;</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 &#x00ed;ndice, y deseas a&#x00fa;n usar "
+"<literal>List</literal> como tipo de propiedad, debes mapear la propiedad "
+"como un <emphasis>&lt;bag&gt;</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&#x00f3;n de esquemas para "
+"obtener una idea de c&#x00f3;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&#x00f3;n de valores o asociaci&#x00f3;n muchos a muchos "
+"requiere una <emphasis>tabla de colecci&#x00f3;n</emphasis> dedicada con una "
+"columna o columnas de clave for&#x00e1;nea, <emphasis>columna de elemento de "
+"colecci&#x00f3;n</emphasis> o columnas y posiblemente una columna o columnas "
+"&#x00ed;ndice."
 
-#. Tag: para
-#: collection_mapping.xml:373
-#, no-c-format
+#: index.docbook:373
 msgid ""
 "For a collection of values, we use the <literal>&lt;element&gt;</literal> "
 "tag."
 msgstr ""
-"Para una colección de valores, usamos la etiqueta <literal>&lt;element&gt;</"
-"literal>."
+"Para una colecci&#x00f3;n de valores, usamos la etiqueta <literal>&lt;"
+"element&gt;</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&#x00f3;n. </para> </callout> <callout "
+"arearefs=\"element2b\"> <para> <literal>formula</literal> (opcional): Una "
+"f&#x00f3;rmula SQL usada para evaluar el elemento. </para> </callout> "
+"<callout arearefs=\"element3b\"> <para> <literal>type</literal> (requerido): "
+"El tipo del elemento de colecci&#x00f3;n. </para> </callout> </calloutlist> "
+"</programlistingco> <para> Una <emphasis>asociaci&#x00f3;n muchos-a-muchos</"
+"emphasis> se especifica usando el elemento <literal>&lt;many-to-many&gt;</"
+"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&#x00e1;nea del elemento. </para> </callout> <callout arearefs="
+"\"manytomany2\"> <para> <literal>formula</literal> (opcional): Una f&#x00f3;"
+"rmula SQL opcional usada para evaluar el valor de clave for&#x00e1;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&#x00f3;n por uni&#x00f3;n externa o selecci&#x00f3;n secuencial "
+"para esta asociaci&#x00f3;n. Este es un caso especial; para una "
+"recuperaci&#x00f3;n completamente temprana (en un solo <literal>SELECT</"
+"literal>) de una entidad y sus relaciones muchos-a-muchos a otras entidades, "
+"deber&#x00ed;as habilitar la recuperaci&#x00f3;n <literal>join</literal> no "
+"s&#x00f3;lo de la colecci&#x00f3;n misma, sino tambi&#x00e9;n con este "
+"atributo en el elemento anidado <literal>&lt;many-to-many&gt;</literal>. </"
+"para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</"
+"literal> (opcional): Habilita la generaci&#x00f3;n DDL de una "
+"restricci&#x00f3;n de unicidad para la columna clave for&#x00e1;nea. Esto "
+"hace la multiplicidad de la asociaci&#x00f3;n efectivamente uno a muchos. </"
+"para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-"
+"found</literal> (opcional - por defecto a <literal>exception</literal>): "
+"Especifica c&#x00f3;mo ser&#x00e1;n manejadas las claves for&#x00e1;neas que "
+"referencian filas perdidas: <literal>ignore</literal> tratar&#x00e1; una "
+"fila perdida como una asociaci&#x00f3;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&#x00f3;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&#x00f3;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 &#x00ed;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&#x00f3;ximo cap&#x00ed;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&#x00f3;n uno a muchos</emphasis> enlaza las tablas de "
+"dos clases por medio de una clave for&#x00e1;nea, sin intervenci&#x00f3;n de "
+"tabla de colecci&#x00f3;n alguna. Este mapeo pierde cierta sem&#x00e1;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&#x00e1;s "
+"de una instancia de la colecci&#x00f3;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&#x00e1;s "
+"de un valor del &#x00ed;ndice de colecci&#x00f3;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>&lt;one-to-many&gt;</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>&lt;"
-"one-to-many&gt;</literal> indica que ésta es una asociación uno a muchos."
+"Una asociaci&#x00f3;n de <literal>Product</literal> a <literal>Part</"
+"literal> requiere la existencia de una columna clave for&#x00e1;nea y "
+"posiblemente una columna &#x00ed;ndice a la tabla <literal>Part</literal>. "
+"Una etiqueta <literal>&lt;one-to-many&gt;</literal> indica que &#x00e9;sta "
+"es una asociaci&#x00f3;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&#x00f3;mo ser&#x00e1;n manejados los identificadores "
+"en cach&#x00e9; que referencien filas perdidas: <literal>ignore</literal> "
+"tratar&#x00e1; una fila perdida como una asociaci&#x00f3;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>&lt;one-to-many&gt;</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>&lt;one-to-many&gt;</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&#x00fa;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>&lt;one-to-many&gt;</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>&lt;one-to-many&gt;</literal> es declarada <literal>NOT "
-"NULL</literal>, debes declarar el mapeo de <literal>&lt;key&gt;</"
-"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&#x00e1;nea "
+"de una asociaci&#x00f3;n <literal>&lt;one-to-many&gt;</literal> es declarada "
+"<literal>NOT NULL</literal>, debes declarar el mapeo de <literal>&lt;key&gt;"
+"</literal> <literal>not-null=\"true\"</literal> o <emphasis>usar una "
+"asociaci&#x00f3;n bidireccional</emphasis> con el mapeo de colecci&#x00f3;n "
+"marcado <literal>inverse=\"true\"</literal>. Ver la discusi&#x00f3;n sobre "
+"asociaciones bidireccionales m&#x00e1;s adelante en este cap&#x00ed;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 &#x00ed;ndice basado en "
+"f&#x00f3;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&#x00f3;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&#x00f3;"
+"n usa el atributo <literal>order-by</literal> de los mapeos <literal>set</"
+"literal>, <literal>bag</literal> o <literal>map</literal>. Esta "
+"soluci&#x00f3;n est&#x00e1; disponible s&#x00f3;lo bajo el JDK 1.4 o "
+"superior (est&#x00e1; implementado usando <literal>LinkedHashSet</literal> o "
+"<literal>LinkedHashMap</literal>). Esto realiza la ordenaci&#x00f3;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&#x00f3;n SQL, no una ordenaci&#x00f3;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&#x00fa;n criterio "
+"arbitrario en tiempo de ejecuci&#x00f3;n usando un <literal>filter()</"
+"literal> de colecci&#x00f3;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&#x00f3;n bidireccional</emphasis> permite la "
+"nevegaci&#x00f3;n desde ambos \"extremos\" de la asociaci&#x00f3;n. Son "
+"soportados dos tipos de asociaci&#x00f3;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&#x00f3;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&#x00e1;l de ellos es tu elecci&#x00f3;n, pero no puede ser una "
+"colecci&#x00f3;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&#x00ed; un ejemplo de una asociaci&#x00f3;n bidireccional muchos-a-"
+"muchos; cada categor&#x00ed;a puede tener muchos &#x00ed;tems y cada &#x00ed;"
+"tem puede estar en muchas categor&#x00ed;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&#x00f3;lo al extremo inverso de la asociaci&#x00f3;n "
+"<emphasis>no</emphasis> son persistidos. Esto significa que Hibernate tiene "
+"dos representaciones en memoria para cada asociaci&#x00f3;n bidireccional, "
+"una enlaza de A a B y otra enlaza de B a A. Esto es m&#x00e1;s f&#x00e1;cil "
+"de entender si piensas en el modelo de objetos de Java y c&#x00f3;mo creamos "
+"una relaci&#x00f3;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&#x00f3;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&#x00f3;n bidireccional uno-a-muchos mapeando una "
+"asociaci&#x00f3;n uno-a-muchos a la misma columna (o columnas) de tabla como "
+"una asociaci&#x00f3;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&#x00f3;n con <literal>inverse=\"true\"</"
+"literal> no afecta la operaci&#x00f3;n de cascadas; &#x00e9;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>&lt;"
 "list&gt;</literal> or <literal>&lt;map&gt;</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>&lt;list&gt;</literal> o "
-"<literal>&lt;map&gt;</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&#x00f3;n una asociaci&#x00f3;n bidireccional "
+"donde un extremo est&#x00e9; representado como una <literal>&lt;list&gt;</"
+"literal> o <literal>&lt;map&gt;</literal>. Si hay una propiedad de la clase "
+"hija que mapee a la columna &#x00ed;ndice, no hay problema, podemos seguir "
+"usando <literal>inverse=\"true\"</literal> en el mapeo de la colecci&#x00f3;"
+"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&#x00f3;n como verdaderamente bidireccional (hay informaci&#x00f3;n "
+"en un extremo de la asociaci&#x00f3;n que no est&#x00e1; disponible en el "
+"otro extremo). En este caso, no podemos mapear la colecci&#x00f3;n con "
+"<literal>inverse=\"true\"</literal>. En cambio, podr&#x00ed;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&#x00f3;n valuado en "
+"colecci&#x00f3;n es responsable de las actualizaciones a la clave for&#x00e1;"
+"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&#x00f3;n ternaria. Una "
+"es usar un <literal>Map</literal> con una asociaci&#x00f3;n como su &#x00ed;"
+"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&#x00f3;n como una "
+"clase de entidad. Este es el enfoque que usamos m&#x00e1;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&#x00e1;s adelante."
 
-#. Tag: literal
-#: collection_mapping.xml:771
-#, no-c-format
+#: index.docbook:771
 msgid "Using an &lt;idbag&gt;"
 msgstr "Usando un &lt;idbag&gt;"
 
-#. 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&#x00f3;n de que las claves "
+"compuestas son una cosa mala y que las entidades deben tener identificadores "
+"sit&#x00e9;ticos (claves delegadas), entonces podr&#x00ed;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&#x00f3;n no parece beneficiarse demasiado de una clave delegada "
+"(aunque s&#x00ed; <emphasis>podr&#x00ed;a</emphasis> una colecci&#x00f3;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>&lt;idbag&gt;</literal> element lets you map a <literal>List</"
 "literal> (or <literal>Collection</literal>) with bag semantics."
 msgstr ""
 "El elemento <literal>&lt;idbag&gt;</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&#x00e1;"
+"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>&lt;idbag&gt;</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>&lt;idbag&gt;</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&#x00e9;tico, igual que una clase de entidad! Una clave delegada "
+"diferente se asigna a cada fila de la colecci&#x00f3;n. Hibernate no provee "
+"ning&#x00fa;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>&lt;idbag&gt;</literal> is "
 "<emphasis>much</emphasis> better than a regular <literal>&lt;bag&gt;</"
 "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>&lt;idbag&gt;</"
-"literal> es <emphasis>mucho</emphasis> mejor que el de un <literal>&lt;"
-"bag&gt;</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&#x00f3;n de un <literal>&lt;"
+"idbag&gt;</literal> es <emphasis>mucho</emphasis> mejor que el de un "
+"<literal>&lt;bag&gt;</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>&lt;idbag&gt;</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>&lt;idbag&gt;</literal>."
+"En la implementaci&#x00f3;n actual, la estrategia de generaci&#x00f3;n de "
+"identificador <literal>native</literal> no est&#x00e1; soportada para "
+"identificadores de colecciones <literal>&lt;idbag&gt;</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&#x00f3;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&#x00ed; 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&#x00f3;n de instancias de <literal>Child</literal>. Si "
+"cada hijo tiene como mucho un padre, el mapeo m&#x00e1;s natural es una "
+"asociaci&#x00f3;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&#x00f3;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&#x00f3;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>&lt;key&gt;</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>&lt;key&gt;</literal>:"
+"Alternativamente, si absolutamente insistes que esta asociaci&#x00f3;n debe "
+"ser unidireccional, puedes declarar la restricci&#x00f3;n <literal>NOT NULL</"
+"literal> en el mapeo de <literal>&lt;key&gt;</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&#x00fa;ltiples padres, "
+"ser&#x00ed;a apropiada una asociaci&#x00f3;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&#x00e1;s ejemplos y un paseo completo a trav&#x00e9;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&#x00f3;n a&#x00fa;n m&#x00e1;s complejos. "
+"Catalogaremos todas las posibilidades en el pr&#x00f3;ximo cap&#x00ed;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>&lt;many-to-many&gt;</literal> element."
-#~ msgstr ""
-#~ "Una <emphasis>asociación muchos-a-muchos</emphasis> se especifica usando "
-#~ "el elemento <literal>&lt;many-to-many&gt;</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>&lt;many-to-many&gt;</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>&lt;many-to-many&gt;</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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;n de un <emphasis>componente</emphasis> es reusada en muchos "
+"contextos diferentes, para prop&#x00f3;sitos diferentes, a trav&#x00e9;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&#x00e9;rmino \"componente\" hace "
+"referencia a la noci&#x00f3;n orientada a objetos de composici&#x00f3;n (no "
+"a componentes a nivel de arquitectura). Por ejemplo, podr&#x00ed;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&#x00e9;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&#x00ed;a as&#x00ed;:"
 
-#. 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&#x00ed;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&#x00ed;an dos objetos nombre "
+"independientes, s&#x00f3;lo \"iguales\" en valor. La sem&#x00e1;ntica de "
+"valor nulo de un componente es <emphasis>ad hoc</emphasis>. Cuando se "
+"recargue el objeto contenedor, Hibernate asumir&#x00e1; que si todas las "
+"columnas del componente son nulas, el componente entero es nulo. Esto debe "
+"estar bien para la mayor&#x00ed;a de prop&#x00f3;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&#x00f3;tico. Hibernate est&#x00e1; 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>&lt;component&gt;</literal> element allows a <literal>&lt;"
 "parent&gt;</literal> subelement that maps a property of the component class "
@@ -204,9 +235,7 @@
 "<literal>&lt;parent&gt;</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>&lt;"
 "element&gt;</literal> tag with a <literal>&lt;composite-element&gt;</"
 "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>&lt;element&gt;</literal> por una etiqueta "
-"<literal>&lt;composite-element&gt;</literal>."
+"Las colecciones de componentes est&#x00e1;n soportadas (por ejemplo, un "
+"array de tipo <literal>Name</literal>). Declara tu colecci&#x00f3;n de "
+"componentes remplazando la etiqueta <literal>&lt;element&gt;</literal> por "
+"una etiqueta <literal>&lt;composite-element&gt;</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>&lt;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>&lt;nested-composite-element&gt;</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&#x00f3;tico - una colecci&#x00f3;n de componentes que a su vez "
+"tienen componentes. A esta altura debes estar pregunt&#x00e1;ndote si una "
+"asociaci&#x00f3;n uno-a-muchos es m&#x00e1;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&#x00e1;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>&lt;set&gt;</literal>. Hibernate has "
@@ -306,17 +344,15 @@
 "<literal>&lt;idbag&gt;</literal>."
 msgstr ""
 "Por favor observa que un mapeo de elemento compuesto no soporta propiedades "
-"nulables si estás usando un <literal>&lt;set&gt;</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>&lt;list&gt;</"
-"literal>, <literal>&lt;map&gt;</literal>, <literal>&lt;bag&gt;</literal> o "
-"<literal>&lt;idbag&gt;</literal>."
+"nulables si est&#x00e1;s usando un <literal>&lt;set&gt;</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&#x00f3;lo propiedades no nulas en un elemento compuesto o elegir un "
+"<literal>&lt;list&gt;</literal>, <literal>&lt;map&gt;</literal>, "
+"<literal>&lt;bag&gt;</literal> o <literal>&lt;idbag&gt;</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>&lt;many-to-one&gt;</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>&lt;many-to-one&gt;</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&#x00f3;n muchos-a-"
+"muchos a la clase del elemento compuesto. La siguiente es una "
+"asociaci&#x00f3;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&#x00f3;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&#x00f3;n bidireccional de la asociaci&#x00f3;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&#x00e1;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 &#x00ed;ndices de Map"
 
-#. Tag: para
-#: component_mapping.xml:147
-#, no-c-format
+#: index.docbook:147
 msgid ""
 "The <literal>&lt;composite-map-key&gt;</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>&lt;composite-map-key&gt;</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&#x00fa;"
+"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&#x00f3;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&#x00ed;gido de Hibernate. Pero de todas formas, h&#x00e1;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&#x00f3;n debe, en cambio, asignar sus propios "
 "identificadores."
 
-#. Tag: para
-#: component_mapping.xml:188
-#, no-c-format
+#: index.docbook:188
 msgid ""
 "Use the <literal>&lt;composite-id&gt;</literal> tag (with nested "
 "<literal>&lt;key-property&gt;</literal> elements) in place of the usual "
@@ -488,13 +520,11 @@
 msgstr ""
 "Usa la etiqueta <literal>&lt;composite-id&gt;</literal> (con elementos "
 "anidados <literal>&lt;key-property&gt;</literal>) en lugar de la usual "
-"declaración <literal>&lt;id&gt;</literal>. Por ejemplo, la clase "
+"declaraci&#x00f3;n <literal>&lt;id&gt;</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&#x00e1;nea que referencie la tabla de "
+"<literal>OrderLine</literal> es tambi&#x00e9;n compuesta. Debes declarar "
+"esto en tus mapeos de otras clases. Una asociaci&#x00f3;n a "
+"<literal>OrderLine</literal> ser&#x00ed;a mapeado as&#x00ed;:"
 
-#. 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>&lt;column&gt;</literal> tag is an alternative to "
 "the <literal>column</literal> attribute everywhere.)"
@@ -551,19 +599,16 @@
 "(Nota que la etiqueta <literal>&lt;column&gt;</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&#x00f3;n <literal>muchos-a-muchos</literal> a "
+"<literal>OrderLine</literal> tambi&#x00e9;n usa la clave for&#x00e1;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&#x00f3;n de <literal>OrderLine</literal>s en <literal>Order</"
+"literal> usar&#x00ed;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>&lt;one-to-many&gt;</literal> element, as usual, declares no "
 "columns.)"
@@ -608,19 +662,15 @@
 "(El elemento <literal>&lt;one-to-many&gt;</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&#x00f3;n por s&#x00ed; "
+"misma, tiene tambi&#x00e9;n una clave for&#x00e1;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&#x00e1;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>&lt;dynamic-component&gt;</literal> mapping are "
 "identical to <literal>&lt;component&gt;</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>&lt;dynamic-component&gt;</literal> es "
-"ídentica a la de <literal>&lt;component&gt;</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&#x00e1;ntica de un mapeo <literal>&lt;dynamic-component&gt;</literal> "
+"es &#x00ed;dentica a la de <literal>&lt;component&gt;</literal>. La ventaja "
+"de este tipo de mapeos es la habilidad para determinar las propiedades "
+"reales del bean en tiempo de despliegue, s&#x00f3;lo con editar el documento "
+"de mapeo. La manipulaci&#x00f3;n del documento de mapeo en tiempo de "
+"ejecuci&#x00f3;n es tambi&#x00e9;n posible, usando un analizador DOM. "
+"Incluso mejor, puedes acceder (y cambiar) el metamodelo de tiempo de "
+"configuraci&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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&#x00e1; dise&#x00f1;ado para operar en muchos "
+"entornos diferentes, hay un gran n&#x00fa;mero de par&#x00e1;metros de "
+"configuraci&#x00f3;n. Afortunadamente, la mayor&#x00ed;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&#x00f3;lo pon el fichero "
+"de ejemplo en tu classpath y personal&#x00ed;zalo."
 
-#. Tag: title
-#: configuration.xml:16
-#, no-c-format
+#: index.docbook:16
 msgid "Programmatic configuration"
-msgstr "Configuración programática"
+msgstr "Configuraci&#x00f3;n program&#x00e1;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&#x00f3;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&#x00e1;ndola directamente y especificando documentos de mapeo XML. "
+"Si los ficheros de mapeo est&#x00e1;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&#x00e1; 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&#x00f3;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&#x00e9;n te permite especificar "
+"propiedades de configuraci&#x00f3;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 &#x00fa;nica forma de pasar propiedades de configuraci&#x00f3;"
+"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&#x00ed;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>&lt;property&gt;</literal> elements in <literal>hibernate."
 "cfg.xml</literal> (discussed later)."
@@ -185,271 +164,205 @@
 "Incluir elementos <literal>&lt;property&gt;</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&#x00e1;s f&#x00e1;"
+"cil si quieres comenzar r&#x00e1;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&#x00e1; 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&#x00f3;n debe obtener una f&#x00e1;brica de instancias "
+"de <literal>Session</literal>. Esta f&#x00e1;brica est&#x00e1; concebida "
+"para ser compartida por todas las hebras de aplicaci&#x00f3;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&#x00f3;n instancie m&#x00e1;s de una "
+"<literal>SessionFactory</literal>. Esto es &#x00fa;til si est&#x00e1;s "
+"usando m&#x00e1;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&#x00e1; una conexi&#x00f3;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&#x00f3;n JDBC a Hibernate. Todos los nombres de propiedades y su "
+"sem&#x00e1;ntica est&#x00e1;n definidas en la clase <literal>org.hibernate."
+"cfg.Environment</literal>. Describiremos ahora las configuraciones m&#x00e1;"
+"s importantes para la conexi&#x00f3;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&#x00e1; (y tendr&#x00e1; 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&#x00f3;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&#x00f1;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&#x00fa;mero m&#x00e1;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&#x00e1; concebido para ayudarte a comenzar y "
+"<emphasis>no est&#x00e1; concebido para usar en un sistema de "
+"producci&#x00f3;n</emphasis> ni siquiera para pruebas de rendimiento. Debes "
+"usar un pool de terceros para un mejor rendimiento y estabilidad. S&#x00f3;"
+"lo remplaza la propiedad <literal>hibernate.connection.pool_size</literal> "
+"con configuraciones espec&#x00ed;ficas del pool de conexiones. Esto "
+"desactivar&#x00e1; el pool interno de Hibernate. Por ejemplo, podr&#x00ed;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&#x00f3;digo abierto distribuido "
+"junto a Hibernate en el directorio <literal>lib</literal>. Hibernate "
+"usar&#x00e1; su <literal>C3P0ConnectionProvider</literal> para pooling de "
+"conexiones si estableces propiedades <literal>hibernate.c3p0.*</literal>. Si "
+"quieres usar Proxool refi&#x00e9;rete al <literal>hibernate.properties</"
+"literal> empaquetado y al sitio web de Hibernate para m&#x00e1;s "
+"informaci&#x00f3;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&#x00ed; 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&#x00e1;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&#x00f1;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&#x00ed; 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&#x00e1;n "
+"autom&#x00e1;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&#x00f3;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&#x00f3;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&#x00e1;metros de configuraci&#x00f3;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&#x00fa;mero de otras propiedades que controlan el comportamiento de "
+"Hibernate en tiempo de ejecuci&#x00f3;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&#x00f3;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&#x00e9;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&#x00f3;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&#x00e1;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&#x00e1; ligada a este nombre en "
+"JNDI autom&#x00e1;ticamente despu&#x00e9;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&#x00e1;xima del &#x00e1;rbol de "
+"recuperaci&#x00f3;n por outer join para asociaciones de un extremo solo (uno-"
+"a-uno, muchos-a-uno). Un <literal>0</literal> deshabilita la "
+"recuperaci&#x00f3;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&#x00f1;o por defecto para la recuperaci&#x00f3;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&#x00f3;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&#x00e1; en menos "
+"bloqueos muertos de transacci&#x00f3;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&#x00e1; estad&#x00ed;sticas &#x00fa;tiles "
+"para la afinaci&#x00f3;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&#x00e1;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&#x00e1; comentarios dentro del SQL, para una "
+"m&#x00e1;s f&#x00e1;cil depuraci&#x00f3;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&#x00f1;o de "
+"recuperaci&#x00f3;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&#x00f3;n). Hibernate usar&#x00e1; "
+"DML en lote para versionar autom&#x00e1;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&#x00ed;a de "
+"las aplicaciones no necesitar&#x00e1;n esta propiedad de configuraci&#x00f3;"
+"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&#x00f3;lo es necesaria cuando se usan conexiones JDBC provistas "
+"por el usuario, en caso contrario Hibernate usa los metadatos de "
+"conexi&#x00f3;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&#x00e9;s de insertar. "
+"Requiere un driver JDBC3+ y un JRE1.4+. Establ&#x00e9;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&#x00f3;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&#x00f3;n JDBC. Comprueba "
+"<literal>java.sql.Connection</literal> para valores significativos pero "
+"observa que la mayor&#x00ed;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&#x00e1;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&#x00e1;ndo Hibernate debe liberar las conexiones JDBC. Por "
+"defecto, una conexi&#x00f3;n JDBC es retenida hasta que la sesi&#x00f3;n es "
+"cerrada expl&#x00ed;citamente o desconectada. Para un datasource JTA del "
+"servidor de aplicaciones, debes usar <literal>after_statement</literal> para "
+"liberar agresivamente las conexiones despu&#x00e9;s de cada llamada JDBC. "
+"Para una conexi&#x00f3;n no JTA, frecuentemente tiene sentido liberar la "
+"conexi&#x00f3;n al final de cada transacci&#x00f3;n, usando "
+"<literal>after_transaction</literal>. <literal>auto</literal> eligir&#x00e1; "
+"<literal>after_statement</literal> para las estrategias JTA o CMT de "
+"transacci&#x00f3;n y <literal>after_transaction</literal> para la estrategia "
+"JDBC de transacci&#x00f3;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>&lt;propertyName&gt;</"
+"<property>hibernate.connection.</property><emphasis>&lt;propertyName&gt;</"
 "emphasis>"
-msgstr ""
+msgstr "hibernate.connection.<emphasis>&lt;propertyName&gt;</emphasis>"
 
-#. Tag: entry
-#: configuration.xml:700
-#, no-c-format
+#: index.docbook:694
 msgid ""
 "Pass the JDBC property <emphasis>&lt;propertyName&gt;</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>&lt;propertyName&gt;</emphasis>"
-msgstr ""
+"<property>hibernate.jndi.</property><emphasis>&lt;propertyName&gt;</emphasis>"
+msgstr "hibernate.jndi.<emphasis>&lt;propertyName&gt;</emphasis>"
 
-#. Tag: entry
-#: configuration.xml:709
-#, no-c-format
+#: index.docbook:703
 msgid ""
 "Pass the property <emphasis>&lt;propertyName&gt;</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&#x00e9; 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&#x00f3;n del cach&#x00e9; de segundo nivel para "
+"minimizar escrituras, al costo de lecturas m&#x00e1;s frecuentes. Esto es "
+"m&#x00e1;s &#x00fa;til para cach&#x00e9;s en cluster y, en Hibernate3, "
+"est&#x00e1; habilitado por defecto para implementaciones de cach&#x00e9; 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&#x00e9; de lectura, consultas individuales todav&#x00ed;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>&lt;cache&gt;</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&#x00e9; de segundo "
+"nivel, que est&#x00e1; habilitado por defecto para clases que especifican un "
+"mapeo <literal>&lt;cache&gt;</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&#x00f3;n del cach&#x00e9; 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&#x00e9; de segundo nivel "
+"en un formato m&#x00e1;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&#x00f3;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&#x00e9; a nivel de JVM est&#x00e1; 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&#x00f3;n se limpiar&#x00e1; (flushed) autom&#x00e1;"
+"ticamente durante la fase previa a la compleci&#x00f3;n de la "
+"transacci&#x00f3;n. (Muy &#x00fa;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&#x00f3;n ser&#x00e1; cerrada autom&#x00e1;ticamente "
+"durante la fase posterior a la compleci&#x00f3;n de la transacci&#x00f3;n. "
+"(Muy &#x00fa;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&#x00e1;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&#x00f3;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&#x00ed;mbolos en consultas Hibernate a s&#x00ed;mbolos SQL. (los "
+"s&#x00ed;mbolos puedem ser nombres de funci&#x00f3;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&#x00e1;ticamente DDL de esquema cuando al crear la "
+"<literal>SessionFactory</literal>. Con <literal>create-drop</literal>, el "
+"esquema de base de datos ser&#x00e1; desechado cuando la "
+"<literal>SessionFactory</literal> se cierre expl&#x00ed;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&#x00f3;n en tiempo de "
+"ejecuci&#x00f3;n (propiedad a nivel de sistema). La reflecci&#x00f3;n a "
+"veces puede ser &#x00fa;til ante la aparici&#x00f3;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&#x00f3;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&#x00f3;n por Uni&#x00f3;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&#x00f3;n por uni&#x00f3;n externa</emphasis> "
+"aumentar&#x00e1; frecuentemente el rendimiento limitando el n&#x00fa;mero de "
+"llamadas a la base de datos (al costo de m&#x00e1;s trabajo posiblemente "
+"realizado por la base de datos misma). La recuperaci&#x00f3;n por uni&#x00f3;"
+"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&#x00ed;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&#x00f3;n por uni&#x00f3;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&#x00f3;n por "
+"uni&#x00f3;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&#x00e1;s "
+"informaci&#x00f3;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&#x00f1;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&#x00e9; 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&#x00e9; de segundo nivel en el &#x00e1;"
+"mbito de un proceso o cluster con Hibernate. Ver <xref linkend=\"performance-"
+"cache\"/> para m&#x00e1;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&#x00f3;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&#x00ed;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&#x00ed;a que los s&#x00ed;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&#x00ed;a renombrar la funci&#x00f3;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&#x00e1; un n&#x00fa;mero de m&#x00e9;tricas que son &#x00fa;tiles al "
+"afinar un sistema en ejecuci&#x00f3;n v&#x00ed;a <literal>SessionFactory."
+"getStatistics()</literal>. Hibernate puede incluso ser configurado para "
+"exponer estas estad&#x00ed;sticas v&#x00ed;a JMX. Lee el Javadoc de las "
+"interfaces en <literal>org.hibernate.stats</literal> para m&#x00e1;s "
+"informaci&#x00f3;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&#x00e1; 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&#x00e1;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&#x00f3;n de problemas. Las "
+"categor&#x00ed;as de registro m&#x00e1;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&#x00ed;as de Registro de Hibernate"
 
-#. Tag: entry
-#: configuration.xml:1219
-#, no-c-format
+#: index.docbook:1213
 msgid "Category"
-msgstr "Categoría"
+msgstr "Categor&#x00ed;a"
 
-#. Tag: entry
-#: configuration.xml:1220
-#, no-c-format
+#: index.docbook:1214
 msgid "Function"
-msgstr "Función"
+msgstr "Funci&#x00f3;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&#x00e1;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&#x00e1;ximo de 20 entidades) "
+"asociadas con la sesi&#x00f3;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&#x00e9; 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&#x00f3;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&#x00f3;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&#x00ed; como otra informaci&#x00f3;n sobre "
+"an&#x00e1;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&#x00f3;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&#x00f3;n, pero muy &#x00fa;til para la "
+"resoluci&#x00f3;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&#x0ed;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&#x00e1;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&#x00e1;ticamente identificadores de "
+"base de datos a partir de identificadores JDBC o para procesar nombres "
+"\"l&#x00f3;gicos\" de columnas y tablas dados en el fichero de mapeo en "
+"nombres \"f&#x00ed;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&#x00ed;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 &#x00fa;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&#x00f3;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&#x00f3;n es especificar una "
+"configuraci&#x00f3;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&#x00e1;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&#x00f3;n XML se espera por defecto en la ra&#x00ed;"
+"z o tu <literal>CLASSPATH</literal>. He aqu&#x00ed; 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&#x00f3;n de "
+"los nombres de los fichero de mapeo a configuraci&#x00f3;n. El "
+"<literal>hibernate.cfg.xml</literal> es tambi&#x00e9;n m&#x00e1;s "
+"conveniente una vez que hayas afinado el cach&#x00e9; de Hibernate. Observa "
+"que elecci&#x00f3;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&#x00f3;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&#x00f3; 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&#x00f3;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&#x00e9;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&#x00ed;das a "
+"trav&#x00e9;s de varios datasources. Puedes tambi&#x00e9;n, por supuesto, "
+"demarcar los l&#x00ed;mites de las transacciones program&#x00e1;ticamente "
+"(BMT) o podr&#x00ed;as querer usar para esto la API opcional de "
+"<literal>Transaction</literal> de Hibernate para mantener tu c&#x00f3;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&#x00e1;tico JNDI</emphasis>: Hibernate puede ligar "
+"sus <literal>SessionFactory</literal> a JNDI despu&#x00e9;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&#x00f3;n JTA:</emphasis> La <literal>Session</"
+"literal> de Hibernate puede ser ligada autom&#x00e1;ticamente al &#x00e1;"
+"mbito de transacciones JTA si usas EJBs. Simplemente busca la "
+"<literal>SessionFactory</literal> de JNDI y obt&#x00e9;n la "
+"<literal>Session</literal> actual. Deja que Hibernate cuide de limpiar y "
+"cerrar la <literal>Session</literal> cuando se complete tu transacci&#x00f3;"
+"n JTA. La demarcaci&#x00f3;n de transacci&#x00f3;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&#x00f3;digo de una l&#x00ed;nea "
+"de arranque para construir tu <literal>SessionFactory</literal> desde una "
+"<literal>Configuration</literal>. El contenedor arrancar&#x00e1; tu "
+"<literal>HibernateService</literal>, e idealmente tambi&#x00e9;n "
+"cuidar&#x00e1; 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&#x00ed;as tener que establecer la "
+"opci&#x00f3;n de configuraci&#x00f3;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&#x00f3;n de la estrategia de transacci&#x00f3;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&#x00f3;n de transacci&#x00f3;n en tu arquitectura. Si "
+"dejas que Hibernate use JDBC directamente, a trav&#x00e9;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&#x00e9;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&#x00f3;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&#x00e1;brica para las instancias de <literal>Transaction</literal> "
+"estableciendo la propiedad de configuraci&#x00f3;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&#x00e1;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&#x00f3;n "
+"existente est&#x00f3; por debajo en este contexto (ej. m&#x00e9;todo de un "
+"bean de sesi&#x00f3;n EJB), en otro caso una nueva transacci&#x00f3;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&#x00e9;n tus propias estrategias de transacci&#x00f3;n "
+"(para un servicio de transacci&#x00f3;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&#x00e9; de segundo nivel, "
+"ligamento autom&#x00e1;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&#x00f3;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&#x00f3;n de la f&#x00e1;brica y la creaci&#x00f3;n de "
+"nuevas <literal>Session</literal>s. Observa que esto no est&#x00e1; "
+"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&#x00e1; ligada a JNDI (Esto es "
+"especialmente &#x00fa;til en entornos con una implementaci&#x00f3; JNDI de "
+"s&#x00f3;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&#x00e1; "
+"los valores de <literal>hibernate.jndi.url</literal>, <literal>hibernate."
+"jndi.class</literal> para instanciar un contexto inicial. Si &#x00e9;tos no "
+"se especifican, se usar&#x00e1; 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&#x00e1; autom&#x00e1;ticamente la <literal>SessionFactory</"
+"literal> en JNDI despu&#x00e9;s que llames a <literal>cfg.buildSessionFactory"
+"()</literal>. Esto significa que tendr&#x00e1;s al menos esta llamada en "
+"alg&#x00fa;n c&#x00f3;digo de arranque (o clase de utilidad) en tu "
+"aplicaci&#x00f3;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&#x00fa;squeda JNDI. Observa que esta configuraci&#x00f3;n no es necesaria "
+"si usas la clase de ayuda <literal>HibernateUtil</literal> introducida en el "
+"cap&#x00ed;tulo uno, que act&#x00fa;a como un registro Singleton. Sin "
+"embargo, <literal>HibernateUtil</literal> es m&#x00e1;s com&#x00fa;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&#x00e1;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&#x00ed;nea <literal>cfg.buildSessionFactory()</literal> todav&#x00ed;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&#x00f3;n reales son "
+"espec&#x00ed;ficos del vendedor. He aqu&#x00ed; 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&#x00f3;n <literal>."
+"sar</literal> (fichero de servicio). Tambi&#x00e9;n necesitas empaquetar "
+"Hibernate, sus bibliotecas de terceros requeridas, tus clases persistentes "
+"compiladas, as&#x00ed; como tus ficheros de mapeo en el mismo fichero. Tus "
+"beans de empresa (usualmente beans de sesi&#x00f3;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&#x00f3;n de JBoss AS para m&#x00e1;s "
+"informaci&#x00f3;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 "&lt;propertyName&gt;"
-
-#, fuzzy
-#~ msgid "&lt;propertyName&gt;"
-#~ 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 "&lt;propertyName&gt;"
-
-#~ 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 "&lt;cache&gt;"
-#~ msgstr "&lt;cache&gt;"
-
-#~ 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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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 &#x00fa;til para la aplicaci&#x00f3;n reaccionar a ciertos "
+"eventos que ocurran dentro de Hibernate. Esto permite la implementaci&#x00f3;"
+"n de ciertos tipos de funcionalidade gen&#x00e9;rica, y extensi&#x00f3;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&#x00f3;n a la aplicaci&#x00f3;n permitiendo a &#x00e9;sta &#x00fa;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&#x00f3;n de auditor&#x00ed;a. Por ejemplo, el "
+"siguiente <literal>Interceptor</literal> establece autom&#x00e1;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&#x00e9;n la arquitectura de <emphasis>eventos</emphasis> de "
+"Hibernate3. El sistema de eventos puede ser usado en adici&#x00f3;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&#x00e9;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&#x00f3;n XML o el paquete <literal>org.hibernate.event</"
+"literal> para la lista completa de tipos de evento definidos). Cuando se "
+"hace una petici&#x00f3;n de uno de estos m&#x00e9;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&#x00e1;"
+"brica, estos oyentes implementan el mismo procesamiento en los que siempre "
+"resultan aquellos m&#x00e9;todos. Sin embargo, eres libre de implementar una "
+"personalizaci&#x00f3;n de una de las interfaces oyentes (es decir, el "
+"<literal>LoadEvent</literal> es procesado por la implementaci&#x00f3;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&#x00f3;n ser&#x00ed;a responsable de procesar cualquier "
+"petici&#x00f3;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&#x00fa;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&#x00e1;brica al ser &#x00e9;stos declarados non-final para "
+"este prop&#x00f3;sito). Los oyentes personalizados pueden ser registrados "
+"program&#x00e1;ticamente a trav&#x00e9;s del objeto <literal>Configuration</"
+"literal>, o especificados en el XML de configuraci&#x00f3;n de Hibernate (la "
+"declaraci&#x00f3;n declarativa a trav&#x00e9;s del fichero de propiedades no "
+"est&#x00e1; soportada). He aqu&#x00ed; 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&#x00e1;s una entrada de configuraci&#x00f3;n dici&#x00e9;"
+"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&#x00e1;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>&lt;listener/&gt;</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>&lt;"
-"listener/&gt;</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&#x00fa;ltiples elementos <literal>&lt;"
+"listener/&gt;</literal>, cada referencia resultar&#x00e1; 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&#x00f3;n "
+"program&#x00e1;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."
+"&#x00bf;Por qu&#x00e9; implementar una interface y definir el tipo "
+"espc&#x00ed;fico durante la configuraci&#x00f3;n? Bueno, una "
+"implementaci&#x00f3;n de oyente podr&#x00ed;a implementar m&#x00fa;ltiples "
+"interfaces de oyente de eventos. Teniendo el tipo definido adicionalmente "
+"durante la registraci&#x00f3;n lo hace m&#x00e1;s f&#x00e1;cil para activar "
+"o desactivar oyentes personalizados durante la configuraci&#x00f3;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&#x00f3;n. Ahora, Hibernate3 permite que "
+"ciertas acciones sean permitidas v&#x00ed;a JACC, y autorizadas v&#x00ed;a "
+"JAAS. Esta en una funcionalidad opcional constru&#x00ed;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&#x00f3;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>&lt;listener type=\"...\" class=\"...\"/&gt;</literal> is "
 "just a shorthand for <literal>&lt;event type=\"...\"&gt;&lt;listener class="
@@ -452,27 +509,30 @@
 "listener class=\"...\"/&gt;&lt;/event&gt;</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&#x00fa;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00ed;tulo muestra mapeos de asociaciones m&#x00e1;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&#x00f3;n entre <literal>Employer</literal> "
+"y <literal>Employee</literal> usa una clase de entidad real "
+"(<literal>Employment</literal>) para representar la asociaci&#x00f3;n. Esto "
+"se ha hecho esto porque podr&#x00ed;a haber m&#x00e1;s de un per&#x00ed;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&#x00ed; 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&#x00ed; 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&#x00f3;n entre <literal>Work</literal> y "
+"<literal>Author</literal> como una asociaci&#x00f3;n muchos-a-muchos. "
+"Elegimos representar la relaci&#x00f3;n entre <literal>Author</literal> y "
+"<literal>Person</literal> como una asociaci&#x00f3;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&#x00f3;n enlazando autores a obras. He aqu&#x00ed; 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&#x00f3;n uno-a-muchos entre "
+"<literal>Customer</literal> y <literal>Order</literal>, pero, &#x00bf;"
+"c&#x00f3;mo deber&#x00ed;amos representar <literal>Order</literal> / "
+"<literal>LineItem</literal> / <literal>Product</literal>? He elegido mapear "
+"<literal>LineItem</literal> como una clase de asociaci&#x00f3;n "
+"representando la asociaci&#x00f3;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, &#x00ed;tem de l&#x00ed;nea de orden y producto "
+"respectivamente. Adem&#x00e1;s <literal>line_items</literal> act&#x00fa;a "
+"como una tabla de asociaci&#x00f3;n enlazando &#x00f3;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&#x00e1;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&#x00e1;n tomados de la bater&#x00ed;a de pruebas de "
+"Hibernate. Encontrar&#x00e1;s muchos otros mapeos de ejemplo &#x00fa;tiles "
+"all&#x00ed;. Mira en la carpeta <literal>test</literal> de la "
+"distribuci&#x00f3;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&#x00f3;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&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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>&lt;one-to-many&gt;</literal> desde <literal>Parent</"
-"literal> a <literal>Child</literal>. (El enfoque alternativo es declarar el "
-"<literal>Child</literal> como un <literal>&lt;composite-element&gt;</"
-"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&#x00ed;simas cosas que los usuarios nuevos intentan hacer "
+"con Hibernate es modelar una relaci&#x00f3;n de tipo padre / hijo. Para esto "
+"hay dos enfoques diferentes. Por varias razones, el enfoque m&#x00e1;s "
+"conveniente, especialmente para usuarios nuevos, es modelar tanto "
+"<literal>Parent</literal> como <literal>Child</literal> como clases de "
+"entidad con una asociaci&#x00f3;n <literal>&lt;one-to-many&gt;</literal> "
+"desde <literal>Parent</literal> a <literal>Child</literal>. (El enfoque "
+"alternativo es declarar el <literal>Child</literal> como un <literal>&lt;"
+"composite-element&gt;</literal>.) Ahora, resulta que la sem&#x00e1;ntica por "
+"defecto de una asociaci&#x00f3;n uno a muchos (en Hibernate) es mucho menos "
+"cercana a la sem&#x00e1;ntica usual de una relaci&#x00f3;n padre / hijo que "
+"aquellas de un mapeo de elementos compuestos. Explicaremos c&#x00f3;mo usar "
+"una <emphasis>asociaci&#x00f3;n uno a muchos bidireccional con tratamiento "
+"en cascada</emphasis> para modelar una relaci&#x00f3;n padre / hijo "
+"eficiente y elegantemente. &#x00a1;No es para nada dif&#x00ed;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&#x00f3;gica de "
+"la entidad que las posee; nunca de las entidades contenidas. &#x00a1;Esta es "
+"una distinci&#x00f3;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&#x00f1;ade un objeto desde / a una colecci&#x00f3;n, se "
+"incrementa el n&#x00fa;mero de versi&#x00f3;n del due&#x00f1;o de la "
+"colecci&#x00f3;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&#x00f3;n es una instancia de un "
+"tipo de valor (por ejemplo, un elemento compuesto), ese objeta cesar&#x00e1; "
+"de ser persistente y su estado ser&#x00e1; completamente quitado de la base "
+"de datos. Asimismo, a&#x00f1;adir una instancia de tipo de valor a la "
+"colecci&#x00f3;n causar&#x00e1; 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&#x00f3;n (una "
+"asociaci&#x00f3;n uno-a-muchos o muchos-a-muchos), no ser&#x00e1; borrado, "
+"por defecto. Este comportamiento es completamente consistente. &#x00a1;Un "
+"cambio en el estado interno de otra entidad no hace desaparecer la entidad "
+"asociada! Asimismo, a&#x00f1;adir una entidad a una colecci&#x00f3;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&#x00f1;adir una entidad "
+"a una colecci&#x00f3;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&#x00f3;n padre / hijo. donde la vida del hijo est&#x00e1; 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>&lt;one-to-many&gt;</literal> "
 "association from <literal>Parent</literal> to <literal>Child</literal>."
 msgstr ""
-"Supón que empezamos con una asociación simple <literal>&lt;one-to-many&gt;</"
-"literal> desde <literal>Parent</literal> a <literal>Child</literal>."
+"Sup&#x00f3;n que empezamos con una asociaci&#x00f3;n simple <literal>&lt;one-"
+"to-many&gt;</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&#x00e1;semos el siguiente c&#x00f3;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&#x00ed;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&#x00f3;lo ineficiente, sino que adem&#x00e1;s viola cualquier "
+"restricci&#x00f3;n <literal>NOT NULL</literal> en la columna "
+"<literal>parent_id</literal>. Podemos reparar la violaci&#x00f3;n de "
+"restricci&#x00f3;n de nulabilidad especificando <literal>not-null=\"true\"</"
+"literal> en el mapeo de la colecci&#x00f3;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&#x00f3;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&#x00e1;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&#x00f3;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&#x00e1;s a&#x00f1;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&#x00e1; gestionando el "
+"estado del enlace, le decimos a la colecci&#x00f3;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&#x00f3;digo podr&#x00ed;a ser usado para a&#x00f1;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, &#x00a1;S&#x00f3;lo se publicar&#x00ed;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&#x00e1;s las cosas, podr&#x00ed;amos crear un "
+"m&#x00e9;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&#x00f3;digo para a&#x00f1;adir un <literal>Child</literal> se ve "
+"as&#x00ed;"
 
-#. 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&#x00ed;cita a <literal>save()</literal> es a&#x00fa;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&#x00f3;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&#x00f3;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&#x00e1; <literal>c</literal> de la base de datos; s&#x00f3;lo "
+"quitar&#x00e1; el enlace a <literal>p</literal> (y causar&#x00e1; una "
+"violaci&#x00f3;n a una restricci&#x00f3;n <literal>NOT NULL</literal>). "
+"Necesitas borrar el hijo expl&#x00ed;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&#x00f3;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&#x00f3;n especifique <literal>inverse="
+"\"true\"</literal>, el tratamiento en cascada se procesa a&#x00fa;n al "
+"iterar los elementos de colecci&#x00f3;n. De modo que si requieres que un "
+"objeto sea salvado, borrado o actualizado en cascada, debes a&#x00f1;adirlo "
+"a la colecci&#x00f3;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&#x00f3;n que hemos cargado un <literal>Parent</literal> en una "
+"<literal>Session</literal>, hemos hecho algunos cambios en una acci&#x00f3;n "
+"de UI y deseamos hacer persistentes estos cambios en una nueva sesi&#x00f3;n "
+"llamando a <literal>update()</literal>. El <literal>Parent</literal> "
+"contendr&#x00e1; una colecci&#x00f3;n de hijos y, ya que est&#x00e1; "
+"habilitado el tratamiento en cascada, Hibernate necesita saber qu&#x00e9; "
+"hijos est&#x00e1;n reci&#x00e9;n instanciados y cu&#x00e1;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&#x00e1; el "
+"identificador y el valor de la propiedad de versi&#x00f3;n/timestamp para "
+"determinar cu&#x00e1;les de los hijos son nuevos. (Ver <xref linkend="
+"\"objectstate-saveorupdate\"/>.) <emphasis>En Hibernate3, no es m&#x00e1;s "
+"necesario especificar un <literal>unsaved-value</literal> expl&#x00ed;"
+"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&#x00e1; muy bien para el caso de un identificador "
+"generado, pero &#x00bf;qu&#x00e9; de los identificadores asignados y de los "
+"identificadores compuestos? Esto es m&#x00e1;s dif&#x00ed;cil, ya que "
+"Hibernate no puede usar la propiedad identificadora para distinguir entre un "
+"objeto reci&#x00e9;n instanciado (con un identificador asignado por el "
+"usuario) y un objeto cargado en una sesi&#x00f3;n previa. En este caso, "
+"Hibernate bien usar&#x00e1; la propiedad de versi&#x00f3;n o timestamp, o "
+"bien consultar&#x00e1; realmente el cach&#x00e9; 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&#x00f3;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&#x00ed; y podr&#x00ed;a parecer confuso a la "
+"primera vez. Sin embargo, en la pr&#x00e1;ctica, todo funciona muy "
+"agradablemente. La mayor&#x00ed;a de las aplicaciones de Hibernate usan el "
+"patr&#x00f3;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>&lt;composite-element&gt;</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>&lt;composite-element&gt;"
-"</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&#x00e1;rrafo. Ninguno de los "
+"temas anteriores existe en el caso de los mapeos <literal>&lt;composite-"
+"element&gt;</literal>, que tienen exactamente la sem&#x00e1;ntica de una "
+"relaci&#x00f3;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 &#x00fa;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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 &#x00ed;tem enviado a un "
+"weblog. Van a ser modelados como una relaci&#x00f3;n padre/hijo est&#x00f1;"
+"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&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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>&lt;"
@@ -73,24 +58,21 @@
 "<literal>&lt;filter-def/&gt;</literal> dentro de un elemento <literal>&lt;"
 "hibernate-mapping/&gt;</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>&lt;filter-def/&gt;</"
 "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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00e1;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&#x00ed;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&#x00f3;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&#x00ed;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>&lt;subclass&gt;</literal>, y <literal>&lt;joined-subclass&gt;</"
-"literal> y <literal>&lt;union-subclass&gt;</literal> bajo el mismo elemento "
-"<literal>&lt;class&gt;</literal> raíz. Es posible mezclar juntas las "
-"estrategias de tabla por jerarquía y tabla por subclase, bajo el mismo "
-"elemento <literal>&lt;class&gt;</literal>, combinando los elementos "
-"<literal>&lt;subclass&gt;</literal> y <literal>&lt;join&gt;</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&#x00ed;a de herencia, y entonces usar "
+"polimorfismo impl&#x00ed;cito para conseguir polimorfismo a trav&#x00e9;s de "
+"toda la jerarqu&#x00ed;a. Sin embargo, Hibernate no soporta la mezcla de "
+"mapeos <literal>&lt;subclass&gt;</literal>, y <literal>&lt;joined-"
+"subclass&gt;</literal> y <literal>&lt;union-subclass&gt;</literal> bajo el "
+"mismo elemento <literal>&lt;class&gt;</literal> ra&#x00ed;z. Es posible "
+"mezclar juntas las estrategias de tabla por jerarqu&#x00ed;a y tabla por "
+"subclase, bajo el mismo elemento <literal>&lt;class&gt;</literal>, "
+"combinando los elementos <literal>&lt;subclass&gt;</literal> y <literal>&lt;"
+"join&gt;</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&#x00ed;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&#x00f3;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&#x00ed;a se ver&#x00ed;a as&#x00ed;:"
 
-#. 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&#x00f3;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&#x00ed;a as&#x00ed;:"
 
-#. 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&#x00f3;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>&lt;subclass&gt;</"
 "literal> and <literal>&lt;join&gt;</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>&lt;"
-"subclass&gt;</literal> y <literal>&lt;join&gt;</literal>, como sigue:"
+"Observa que la implementaci&#x00f3;n de Hibernate de tabla por subclase no "
+"requiere ninguna columna discriminadora. Otros mapeadores objeto/relacional "
+"usan una implementaci&#x00f3;n diferente de tabla por subclase que requiere "
+"una columna discriminadora de tipo en la tabla de superclase. Este enfoque "
+"es mucho m&#x00e1;s dif&#x00ed;cil de implementar pero discutiblemente "
+"m&#x00e1;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>&lt;subclass&gt;</literal> y <literal>&lt;"
+"join&gt;</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&#x00f3;n opcional <literal>fetch=\"select\"</literal> dice a "
+"Hibernate que no recupere los datos de la subclase <literal>ChequePayment</"
+"literal> usando una uni&#x00f3;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&#x00ed;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&#x00ed;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>&lt;many-to-one&gt;"
 "</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>&lt;many-"
-"to-one&gt;</literal>."
+"Para cualquiera de estas estrategias de mapeo, una asociaci&#x00f3;n "
+"polim&#x00f3;rfica a la clase ra&#x00ed;z <literal>Payment</literal> es "
+"mapeada usando <literal>&lt;many-to-one&gt;</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>&lt;union-subclass&gt;</literal>."
 msgstr ""
-"Podríamos ir de dos maneras a la estrategia de mapeo de tabla por clase "
-"concreta. La primera es usar <literal>&lt;union-subclass&gt;</literal>."
+"Podr&#x00ed;amos ir de dos maneras a la estrategia de mapeo de tabla por "
+"clase concreta. La primera es usar <literal>&lt;union-subclass&gt;</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&#x00e1;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&#x00f3;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&#x00ed;amos relajar esto en un lanzamiento futuro de "
+"Hibernate.) La estrategia de generador de indentidad no est&#x00e1; "
+"permitida en la herencia de uni&#x00f3;n de subclase, de hecho la semilla de "
+"clave primaria tiene que ser compartida a trav&#x00e9;s de todas las "
+"subclases unidas de una jerarqu&#x00ed;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&#x00ed;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&#x00ed;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\"&gt; ]</literal> in the <literal>DOCTYPE</literal> "
 "declartion and <literal>&amp;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>[ &lt;!"
-"ENTITY allproperties SYSTEM \"allproperties.xml\"&gt; ]</literal> en la "
-"declaración <literal>DOCTYPE</literal> y <literal>&amp;allproperties;</"
-"literal> en el mapeo)."
+"Nota que en ning&#x00fa;n sitio mencionamos la interface <literal>Payment</"
+"literal> expl&#x00ed;citamente. Nota adem&#x00e1;s que las propiedades de "
+"<literal>Payment</literal> son mapeadas en cada una de las subclases. Si "
+"quieres evitar duplicaci&#x00f3;n, considera usar entidades XML. (por "
+"ejemplo, <literal>[ &lt;!ENTITY allproperties SYSTEM \"allproperties.xml"
+"\"&gt; ]</literal> en la declaraci&#x00f3;n <literal>DOCTYPE</literal> y "
+"<literal>&amp;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&#x00f3;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>&lt;any&gt;</literal>."
 msgstr ""
-"Para esta estrategia de mapeo, una asociación polimórfica a "
+"Para esta estrategia de mapeo, una asociaci&#x00f3;n polim&#x00f3;rfica a "
 "<literal>Payment</literal> es mapeada generalmente usando <literal>&lt;"
 "any&gt;</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&#x00ed;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>&lt;class&gt;</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>&lt;class&gt;</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&#x00e1;s por notar acerca de este mapeo. Ya que las subclases "
+"se mapean cada una en su propio elemento <literal>&lt;class&gt;</literal> (y "
+"ya que <literal>Payment</literal> es s&#x00f3;lo una interface), cada una de "
+"las subclases podr&#x00ed;a ser parte de otra jerarqu&#x00ed;a de herencia! "
+"(Y todav&#x00ed;a puedes seguir usando consultas polim&#x00f3;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&#x00e1;s, no mencionamos a <literal>Payment</literal> expl&#x00ed;"
+"citamente. Si ejecutamos una consulta contra la interface <literal>Payment</"
+"literal> - por ejemplo, <literal>from Payment</literal> - Hibernate devuelve "
+"autom&#x00e1;ticamente instancias de <literal>CreditCardPayment</literal> (y "
+"sus subclases, ya que ellas tambi&#x00e9;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>&lt;union-subclass&gt;</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>&lt;union-subclass&gt;</literal>."
+"Existen ciertas limitaciones al enfoque de \"polimorfismo impl&#x00ed;cito\" "
+"en la estrategia de mapeo de tabla por clase concreta. Existen limitaciones "
+"algo menos restrictivas a los mapeos <literal>&lt;union-subclass&gt;</"
+"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&#x00ed;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;rficos"
 
-#. Tag: entry
-#: inheritance_mapping.xml:282
-#, no-c-format
+#: index.docbook:282
 msgid "Polymorphic queries"
-msgstr "Consultas polimórficas"
+msgstr "Consultas polim&#x00f3;rficas"
 
-#. Tag: entry
-#: inheritance_mapping.xml:283
-#, no-c-format
+#: index.docbook:283
 msgid "Polymorphic joins"
-msgstr "Uniones polimórficas"
+msgstr "Uniones polim&#x00f3;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&#x00f3;n por uni&#x00f3;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&#x00ed;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 "&lt;many-to-one&gt;"
 msgstr "&lt;many-to-one&gt;"
 
-#. 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 "&lt;one-to-one&gt;"
 msgstr "&lt;one-to-one&gt;"
 
-#. Tag: literal
-#: inheritance_mapping.xml:292 inheritance_mapping.xml:303
-#, no-c-format
+#: index.docbook:292, index.docbook:303
 msgid "&lt;one-to-many&gt;"
 msgstr "&lt;one-to-many&gt;"
 
-#. 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 "&lt;many-to-many&gt;"
 msgstr "&lt;many-to-many&gt;"
 
-#. 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>&lt;one-to-many&gt;</literal> (for <literal>inverse=\"true\"</"
 "literal> only)"
 msgstr ""
+"<literal>&lt;one-to-many&gt;</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&#x00ed;cito)"
 
-#. Tag: literal
-#: inheritance_mapping.xml:323
-#, no-c-format
+#: index.docbook:323
 msgid "&lt;any&gt;"
 msgstr "&lt;any&gt;"
 
-#. 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 "&lt;many-to-any&gt;"
 msgstr "&lt;many-to-any&gt;"
 
-#. 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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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&#x00f3;n</emphasis> es la estrategia "
+"que usar&#x00e1; Hibernate para recuperar los objetos asociados cuando la "
+"aplicaci&#x00f3;n necesite navegar la asociaci&#x00f3;n. Las estrategias de "
+"recuperaci&#x00f3;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&#x00f3;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&#x00f3;n por uni&#x00f3;n (join fetching)</emphasis> - "
+"Hibernate recupera la instancia asociada o colecci&#x00f3;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&#x00f3;n por selecci&#x00f3;n (select fetching)</"
+"emphasis> - se usa una segunda <literal>SELECT</literal> para recuperar la "
+"entidad asociada o colecci&#x00f3;n. A menos que deshabilites expl&#x00ed;"
+"citamente la recuperaci&#x00f3;n perezosa especificando <literal>lazy=\"false"
+"\"</literal>, la segunda selecci&#x00f3;n s&#x00f3;lo ser&#x00e1; ejecutada "
+"cuando realmente accedas a la asociaci&#x00f3;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&#x00f3;n por subselecci&#x00f3;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&#x00f3;n previa. A menos que deshabilites expl&#x00ed;citamente "
+"la recuperaci&#x00f3;n perezosa especificando <literal>lazy=\"false\"</"
+"literal>, esta segunda selecci&#x00f3;n s&#x00f3;lo ser&#x00e1; ejecutada "
+"cuando realmente accedas a la asociaci&#x00f3;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&#x00f3;n en lote</emphasis> - una estrategia de "
+"optimizaci&#x00f3;n para la recuperaci&#x00f3;n por selecci&#x00f3;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&#x00e1;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&#x00e9;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&#x00f3;n inmediata</emphasis> - una asociaci&#x00f3;n, "
+"colecci&#x00f3;n o atributo es recuperado inmediatamente, cuando el "
+"due&#x00f1;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&#x00f3;n perezosa de colecciones</emphasis> - se "
+"recupera una colecci&#x00f3;n cuando la aplicaci&#x00f3;n invoca una "
+"operaci&#x00f3;n sobre la colecci&#x00f3;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&#x00f3;n por proxy</emphasis> - se recupera una "
+"asociaci&#x00f3;n monovaluada cuando se invoca un m&#x00e9;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&#x00f3;n perezosa de atributos</emphasis> - se recupera "
+"un atributo o una asociaci&#x00f3;n monovaluada cuando se accede a la "
+"variable de instancia (requiere instrumentaci&#x00f3;n del bytecode en "
+"tiempo de ejecuci&#x00f3;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&#x00ed; tenemos dos nociones ortogonales: <emphasis>cu&#x00e1;ndo</"
+"emphasis> se recupera la aplicaci&#x00f3;n, y <emphasis>c&#x00f3;mo</"
+"emphasis> es recuperada (qu&#x00e9; SQL es usado). &#x00a1;No las confundas! "
+"Usamos <literal>fetch</literal> para afinar el rendimiento. Podemos usar "
+"<literal>lazy</literal> para definir un contrato sobre qu&#x00e9; datos "
+"est&#x00e1;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&#x00f3;n perezosa por "
+"selecci&#x00f3;n para colecciones y una recuperaci&#x00f3;n por proxy "
+"perezosa para asociaciones monovaluadas. Estas pol&#x00ed;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&#x00e1; la "
+"optimizaci&#x00f3;n de recuperaci&#x00f3;n en lotes para recuperaci&#x00f3;n "
+"perezosa (esta optimizaci&#x00f3;n tambi&#x00e9;n puede ser habilitada a un "
+"nivel m&#x00e1;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&#x00f3;n perezosa plantea un problema del que "
+"tienes que estar al tanto. Acceder a una asociaci&#x00f3;n perezosa fuera "
+"del contexto de una sesi&#x00f3;n de Hibernate abierta resultar&#x00e1; en "
+"una excepci&#x00f3;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&#x00f3;n de permisos no fue inicializada cuando se "
+"cerr&#x00f3; la <literal>Session</literal>, la colecci&#x00f3;n no "
+"ser&#x00e1; capaz de cargar su estado. <emphasis>Hibernate no soporta la "
+"inicializaci&#x00f3;n perezosa de objetos separados</emphasis>. La "
+"soluci&#x00f3;n es mover el c&#x00f3;digo que lee de la colecci&#x00f3;n a "
+"justo antes que la transacci&#x00f3;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&#x00ed;amos usar una colecci&#x00f3;n no perezosa o "
+"asociaci&#x00f3;n, especificando <literal>lazy=\"false\"</literal> para el "
+"mapeo de asociaci&#x00f3;n. Sin embargo, est&#x00e1; pensado que la "
+"inicializaci&#x00f3;n perezosa sea usada para casi todas las colecciones y "
+"asociaciones. &#x00a1;Si defines demasiadas asociaciones no perezosas en tu "
+"modelo de objetos, Hibernate terminar&#x00e1; necesitando recuperar la base "
+"de datos entera en cada transacci&#x00f3;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&#x00f3;n por "
+"uni&#x00f3;n (que es no perezosa por naturaleza) en vez de la "
+"recuperaci&#x00f3;n por selecci&#x00f3;n en una transacci&#x00f3;n en "
+"particular. Veremos ahora c&#x00f3;mo personalizar la estrategia de "
+"recuperaci&#x00f3;n. En Hibernate3, los mecanismos para elegir una "
+"estrategia de recuperaci&#x00f3;n son id&#x00e9;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&#x00f3;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&#x00f3;n por selecci&#x00f3;n (la preestablecida) es "
+"extremadamente vulnerable a problemas de selecci&#x00f3;n N+1, de modo "
+"querr&#x00ed;amos habilitar la recuperaci&#x00f3;n por uni&#x00f3;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&#x00f3;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&#x00ed;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&#x00ed;citamente cuando se navega una "
+"asociaci&#x00f3;n (recuperaci&#x00f3;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&#x00f3;n. En cambio, mantenemos el comportamiento por defecto, y "
+"lo sobrescribimos para una transacci&#x00f3;n en particular, usando "
+"<literal>left join fetch</literal> en HQL. Esto le dice a Hibernate que "
+"recupere la asociaci&#x00f3;n tempranamente en la primera selecci&#x00f3;n, "
+"usando una uni&#x00f3;n externa. En la API de consulta de <literal>Criteria</"
+"literal>, usar&#x00ed;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&#x00ed;as cambiar la estrategia de "
+"recuperaci&#x00f3;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&#x00f3;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&#x00e9; 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&#x00f3;n perezosa de colecciones est&#x00e1; implementada "
+"usando la implementaci&#x00f3;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&#x00f3;n debe ser tratada con proxies. Hibernate "
+"implementa proxies de inicializaci&#x00f3;n perezosa para objetos "
+"persistentes usando mejora del bytecode en tiempo de ejecuci&#x00f3;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&#x00f3;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. &#x00a1;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&#x00f3;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&#x00e1;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&#x00f3;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&#x00e1; a&#x00fa;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&#x00fa;n m&#x00e9;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&#x00f3;n (por ejemplo, en inicializadores o constructores por "
+"defecto), entonces esos recursos ser&#x00e1;n adquiridos tambi&#x00e9;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 &#x00fa;nica de Java. Si deseas evitar estos problemas cada una de "
+"tus clases persistentes deben implementar una interface que declare sus "
+"m&#x00e9;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&#x00e9;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&#x00f3;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&#x00e9;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&#x00e1; 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&#x00e1; lanzada por "
+"Hibernate si una colecci&#x00f3;n o proxy sin inicializar es accedido fuera "
+"del &#x00e1;mbito de la <literal>Session</literal>, es decir, cuando la "
+"entidad que posee la colecci&#x00f3;n o que tiene la referencia al proxy "
+"est&#x00e9; 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&#x00f3;n est&#x00e9; "
+"inicializado antes de cerrar la <literal>Session</literal>. Por supuesto, "
+"siempre podemos forzar la inicializaci&#x00f3;n llamando a <literal>cat."
+"getSex()</literal> o <literal>cat.getKittens().size()</literal>, por "
+"ejemplo. Pero esto es confuso a lectores del c&#x00f3;digo y no es "
+"conveniente para c&#x00f3;digo gen&#x00e9;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&#x00e9;todos est&#x00e1;ticos <literal>Hibernate.initialize()</"
+"literal> y <literal>Hibernate.isInitialized()</literal> proveen a la "
+"aplicaci&#x00f3;n de una forma conveniente de trabajar con colecciones o "
+"proxies inicializados perezosamente. <literal>Hibernate.initialize(cat)</"
+"literal> forzar&#x00e1; la inicializaci&#x00f3;n de un proxy, <literal>cat</"
+"literal>, en tanto su <literal>Session</literal> est&#x00e9; todav&#x00ed;a "
+"abierta. <literal>Hibernate.initialize( cat.getKittens() )</literal> tiene "
+"un efecto similar para la colecci&#x00f3;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&#x00f3;n es mantener la <literal>Session</literal> abierta hasta "
+"que todas las colecciones y proxies necesarios hayan sido cargados. En "
+"algunas arquitecturas de aplicaci&#x00f3;n, particularmente en aquellas "
+"donde el c&#x00f3;digo que accede a los datos usando Hibernate, y el "
+"c&#x00f3;digo que los usa est&#x00e1;n en capas de aplicaci&#x00f3;n "
+"diferentes o procesos f&#x00ed;sicos diferentes, puede ser un problema "
+"asegurar que la <literal>Session</literal> est&#x00e9; abierta cuando se "
+"inicializa una colecci&#x00f3;n. Existen dos formas b&#x00e1;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&#x00f3;n basada web, puede usarse un filtro de servlets para "
+"cerrar la <literal>Session</literal> s&#x00f3;lo bien al final de una "
+"petici&#x00f3;n de usuario, una vez que el rendering de la vista est&#x00e9; "
+"completa (el patr&#x00f3;n <emphasis>Sesi&#x00f3;n Abierta en Vista (Open "
+"Session in View)</emphasis>). Por supuesto, estos sitios requieren una "
+"fuerte demanda de correcci&#x00f3;n del manejo de excepciones de tu "
+"infraestructura de aplicaci&#x00f3;n. Es de una importancia vital que la "
+"<literal>Session</literal> est&#x00e9; cerrada y la transacci&#x00f3;n "
+"terminada antes de volver al usuario, incluso cuando ocurra una "
+"excepci&#x00f3;n durante el rendering de la p&#x00e1;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&#x00ed;tulo 1, <xref linkend=\"quickstart-playingwithcats"
+"\"/>, para una implementaci&#x00f3;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&#x00f3;n con una grada de negocios separada, la l&#x00f3;"
+"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&#x00f3;n web todos los datos que se requieran para un caso de uso "
+"en particular ya inicializados. Usualmente, la aplicaci&#x00f3;n llama a "
+"<literal>Hibernate.initialize()</literal> para cada colecci&#x00f3;n que se "
+"necesitar&#x00e1; en la grada web (esta llamada debe ocurrir antes que la "
+"sesi&#x00f3;n sea cerrada) o recupera la colecci&#x00f3;n tempranamente "
+"usando una consulta de Hibernate con una cl&#x00e1;usula <literal>FETCH</"
+"literal> o una <literal>FetchMode.JOIN</literal> en <literal>Criteria</"
+"literal>. Esto es usualmente m&#x00e1;s f&#x00e1;cil si adoptas el "
+"patr&#x00f3;n <emphasis>Comando</emphasis> en vez de un <emphasis>Fachada de "
+"Sesi&#x00f3;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&#x00e9;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!"
+"&#x00a1;No, Hibernate no, y ciertamente <emphasis>no debe</emphasis> hacer "
+"esto autom&#x00e1;ticamente, ya que introducir&#x00ed;a sem&#x00e1;nticas de "
+"transacci&#x00f3;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&#x00f3;n grande, pero necesitas "
+"a&#x00fa;n alguna informacion sobre ella (como su tama&#x00f1;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&#x00f1;o de una "
+"colecci&#x00f3;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&#x00e9;todo <literal>createFilter()</literal> se usa tambi&#x00e9;n "
+"para recuperar eficientemente subconjuntos de una colecci&#x00f3;n sin "
+"necesidad de inicializar toda la colecci&#x00f3;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&#x00f3;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&#x00f3;n en lotes, "
+"esto es, Hibernate puede cargar muchos proxies sin inicializar si se accede "
+"a un proxy (o colecciones). La recuperaci&#x00f3;n en lotes es una "
+"optimizaci&#x00f3;n de la estrategia de recuperaci&#x00f3;n por "
+"selecci&#x00f3;n perezosa. Hay dos formas en que puedes afinar la "
+"recuperaci&#x00f3;n en lotes: a nivel de la clase o de la colecci&#x00f3;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&#x00f3;n en lotes para clases/entidades es m&#x00e1;s f&#x00e1;"
+"cil de entender. Imagina que tienes la siguiente situaci&#x00f3;n en tiempo "
+"de ejecuci&#x00f3;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&#x00e1; mapeada con un proxy, "
+"<literal>lazy=\"true\"</literal>. Si ahora iteras a trav&#x00e9;s de todos "
+"los gatos y llamas a <literal>getOwner()</literal> para cada uno, Hibernate "
+"por defecto ejecutar&#x00e1; 25 sentencias <literal>SELECT</literal> para "
+"traer los due&#x00f1;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&#x00e1; s&#x00f3;lo tres consultas, el patr&#x00f3;"
+"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&#x00e9;n puedes habilitar la recuperaci&#x00f3;n en lotes para "
+"colecciones. Por ejemplo, si cada <literal>Person</literal> tiene una "
+"colecci&#x00f3;n perezosa de <literal>Cat</literal>s, y hay 10 personas "
+"actualmente cargadas en la <literal>Session</literal>, iterar a trav&#x00e9;"
+"s de las 10 personas generar&#x00e1; 10 <literal>SELECT</literal>s, una para "
+"cada llamada a <literal>getCats()</literal>. Si habilitas la "
+"recuperaci&#x00f3;n en lotes para la colecci&#x00f3;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&#x00e1; 3, 3, 3, "
+"1 colecciones en cuatro <literal>SELECT</literal>s. Una vez m&#x00e1;s, el "
+"valor del atributo depende del n&#x00fa;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&#x00f3;n de coleccione en lotes es particularmente &#x00fa;til "
+"si tienes un &#x00e1;rbol anidado de &#x00ed;tems, es decir, el t&#x00ed;"
+"pico patr&#x00f3;n de cuenta de materiales. (Aunque un <emphasis>conjunto "
+"anidado</emphasis> o una <emphasis>ruta materializada</emphasis> podr&#x00ed;"
+"a ser una mejor opci&#x00f3;n para &#x00e1;rboles que sean de lectura en la "
+"mayor&#x00ed;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&#x00f3;n por subselecci&#x00f3;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&#x00f3;n perezosa o proxy monovaluado tiene que ser "
+"recuperado, Hibernate los carga a todos, volviendo a ejecutar la consulta "
+"original en una subselecci&#x00f3;n. Esto funciona de la misma forma que la "
+"recuperaci&#x00f3;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&#x00f3;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&#x00f3;n perezosa de propiedades "
+"individuales. Esta t&#x00e9;cnica de optimizaci&#x00f3;n es tambi&#x00e9;n "
+"conocida como <emphasis>grupos de recuperaci&#x00f3;n (fetch groups)</"
+"emphasis>. Por favor, nota que &#x00e9;ste es mayormente un aspecto de "
+"marketing, ya que en la pr&#x00e1;ctica, optimizar lecturas de filas es "
+"mucho m&#x00e1;s importante que la optimizaci&#x00f3;n de lectura de "
+"columnas. Sin embargo, cargar s&#x00f3;lo algunas propiedades de una clase "
+"podr&#x00ed;a ser &#x00fa;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."
+"&#x00a1;La carga perezosa de propiedades requiere la instrumentaci&#x00f3;n "
+"del bytecode en tiempo de construcci&#x00f3;n! Si tus clases persistentes no "
+"son mejoradas, Hibernate ignorar&#x00e1; silenciosamente la "
+"configuraci&#x00f3;n perezosa de propiedades y caer&#x00e1; en "
+"recuperaci&#x00f3;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&#x00f3;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 (&#x00bf;mejor?) de evitar lecturas innecesarias de "
+"columnas, al menos para transacciones de s&#x00f3;lo lectura es usar las "
+"funcionalidades de proyecci&#x00f3;n de consultas HQL o Criteria. Esto evita "
+"la necesidad de procesar el bytecode en tiempo de construcci&#x00f3;n y "
+"ciertamente es una soluci&#x00f3;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&#x00f3;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&#x00e9; 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&#x00e9; de datos "
+"persistentes a nivel de transacci&#x00f3;n. Es posible configurar un cluster "
+"o cach&#x00e9; a nivel de JVM (a nivel de <literal>SessionFactory</literal>) "
+"sobre una base de clase-a-clase o colecci&#x00f3;n-a-colecci&#x00f3;n. "
+"Puedes incluso enchufar una cach&#x00e9; en cluster. S&#x00e9; cuidadoso. "
+"Las cach&#x00e9;s nunca est&#x00e1;n al tanto de los cambios hechos por otra "
+"aplicaci&#x00f3;n al almac&#x00e9;n persistente (aunque pueden ser "
+"configurados para expirar regularmente los datos en cach&#x00e9;)."
 
-#. 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&#x00e1; despreciado y ser&#x00e1; quitado en una futura "
+"versi&#x00f3;n de Hibernate.) Puedes elegir una implementaci&#x00f3;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&#x00e9;"
 
-#. Tag: entry
-#: performance.xml:601 performance.xml:774
-#, no-c-format
+#: index.docbook:601, index.docbook:774
 msgid "Cache"
-msgstr "Caché"
+msgstr "Cach&#x00e9;"
 
-#. 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&#x00e9; 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&#x00f3;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&#x00ed;"
 
-#. 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&#x00ed; (invalidaci&#x00f3;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&#x00ed; (replicaci&#x00f3;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&#x00ed; (requiere sincronizaci&#x00f3;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&#x00e9;"
 
-#. Tag: para
-#: performance.xml:651
-#, no-c-format
+#: index.docbook:651
 msgid ""
 "The <literal>&lt;cache&gt;</literal> element of a class or collection "
 "mapping has the following form:"
 msgstr ""
 "El elemento <literal>&lt;cache&gt;</literal> de una mapeo de clase o "
-"colección tiene la siguiente forma:"
+"colecci&#x00f3;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>&lt;class-cache&gt;</"
 "literal> and <literal>&lt;collection-cache&gt;</literal> elements in "
 "<literal>hibernate.cfg.xml</literal>."
 msgstr ""
-"Alternativamente (¿preferiblemente?), puedes especificar los elementos "
-"<literal>&lt;class-cache&gt;</literal> y <literal>&lt;collection-cache&gt;</"
-"literal> en <literal>hibernate.cfg.xml</literal>."
+"Alternativamente (&#x00bf;preferiblemente?), puedes especificar los "
+"elementos <literal>&lt;class-cache&gt;</literal> y <literal>&lt;collection-"
+"cache&gt;</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&#x00e9;</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&#x00f3;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&#x00f3;n necesita leer pero nunca modificar las instancias de "
+"una clase persistente, puede usarse un cach&#x00e9; <literal>read-only</"
+"literal>. Esta es la mejor y m&#x00e1;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&#x00f3;n necesita actualizar datos, un cach&#x00e9; "
+"<literal>read-write</literal> podr&#x00ed;a ser apropiado. Esta estrategia "
+"de cach&#x00e9; nunca debe ser usada si se requiere nivel de aislamiento "
+"serializable de transacciones. Si el cach&#x00e9; 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&#x00f3;n est&#x00e9; 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&#x00f3;n de cach&#x00e9; subyacente soporta bloqueos. Los "
+"provedores de cach&#x00e9; 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&#x00f3;n necesita s&#x00f3;lo ocasionalmente actualizar datos "
+"(es decir, es extremadamente inprobable que dos transacciones intenten "
+"actualizar el mismo &#x00ed;tem simult&#x00e1;neamente) y no se requiere de "
+"un aislamiento de transacciones estricto, un cach&#x00e9; <literal>nonstrict-"
+"read-write</literal> podr&#x00ed;a ser apropiado. Si se usa el cach&#x00e9; "
+"en un entorno JTA, debes especificar <literal>hibernate.transaction."
+"manager_lookup_class</literal>. En otros entornos, debes asegurarte que la "
+"transacci&#x00f3;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&#x00e9; <literal>transactional</literal> brinda "
+"soporte a provedores de cach&#x00e9;s completamente transaccionales como "
+"TreeCache de JBoss. Un cach&#x00e9; as&#x00ed;, puede s&#x00f3;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&#x00e9; soporta todas las estrategias de "
+"concurrencia al cach&#x00e9;. La siguiente tabla muestra qu&#x00e9; "
+"provedores son compatibles con qu&#x00e9; 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&#x00e9;"
 
-#. 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&#x00e9;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&#x00e9; 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&#x00e1; sincronizado con la base de datos. Si no quieres que "
+"ocurra esta sincronizaci&#x00f3;n o si est&#x00e1;s procesando un n&#x00fa;"
+"mero enorme de objetos y necesitas gestionar la memoria eficientemente, "
+"puede usarse el m&#x00e9;todo <literal>evict()</literal> para quitar el "
+"objeto y sus colecciones del cach&#x00e9; 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&#x00e9;n provee un m&#x00e9;todo "
+"<literal>contains()</literal> para determinar si una instancia pertenece al "
+"cach&#x00e9; de la sesi&#x00f3;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&#x00e9; de sesi&#x00f3;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&#x00e9; de segundo nivel, hay m&#x00e9;todos definidos en "
+"<literal>SessionFactory</literal> para desahuciar el estado en cach&#x00e9; "
+"de una instancia, clase entera, instancia de colecci&#x00f3;n o rol enter de "
+"colecci&#x00f3;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&#x00f3;mo una sesi&#x00f3;n en "
+"particular interact&#x00fa;a con el cach&#x00e9; 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 &#x00ed;tems desde y escribe "
+"&#x00ed;tems hacia el cach&#x00e9; 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 &#x00ed;tems del cach&#x00e9; de "
+"segundo nivel, pero no escribe al cach&#x00e9; 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 &#x00ed;tems al cach&#x00e9; de "
+"segundo nivel, pero no lee del cach&#x00e9; 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 &#x00ed;tems al cach&#x00e9; "
+"de segundo nivel, pero no lee del cach&#x00e9; de segundo nivel, salt&#x00e1;"
+"ndose el efecto de <literal>hibernate.cache.use_minimal_puts</literal>, "
+"forzando un refresco del cach&#x00e9; de segundo nivel para todos los "
+"&#x00ed;tems le&#x00ed;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&#x00f3;n de cach&#x00e9; 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&#x00e1;s habilitar las estad&#x00ed;sticas y, opcionalmente, "
+"forzar a Hibernate para que guarde las entradas del cach&#x00e9; en un "
+"formato m&#x00e1;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&#x00e9; 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&#x00e9;n pueden tratarse en "
+"cach&#x00e9;. Esto s&#x00f3;lo es &#x00fa;til para consultas que se ejecutan "
+"frecuentemente con los mismos par&#x00e1;metros. Para usar el cach&#x00e9; "
+"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&#x00f3;n causa la creaci&#x00f3;n de dos nuevas regiones de "
+"cach&#x00e9; - una teniendo en cach&#x00e9; conjuntos resultado de consulta "
+"(<literal>org.hibernate.cache.StandardQueryCache</literal>), el otro "
+"teniendo timestamps de las actualizaciones m&#x00e1;s recientes a tablas "
+"consultables (<literal>org.hibernate.cache.UpdateTimestampsCache</literal>). "
+"Nota que el cach&#x00e9; de consultas no pone en cach&#x00e9; el estado de "
+"las entidades reales en el conjunto resultado; s&#x00f3;lo tiene en "
+"cach&#x00e9; valores indentificadores y resultados de tipo de valor. De modo "
+"que el cach&#x00e9; de consultas siempre debe ser usado en conjunci&#x00f3;n "
+"con el cach&#x00e9; 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&#x00ed;a de consultas no se benefician del tratamiento en "
+"cach&#x00e9;, de modo que por defecto las consultas no son tratadas en "
+"cach&#x00e9;. Para habilitar el tratamiento en cach&#x00e9;, llama a "
+"<literal>Query.setCacheable(true)</literal>. Esta llamada permite a la "
+"consulta buscar resultados existentes en cach&#x00e9; o agregar sus "
+"resultados al cach&#x00e9; 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&#x00ed;ticas "
+"de expiraci&#x00f3;n del cach&#x00e9; de consultas, puedes especificar una "
+"regi&#x00f3;n de cach&#x00e9; 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&#x00f3;n del cach&#x00e9; "
+"de consultas, debes llamar a <literal>Query.setCacheMode(CacheMode.REFRESH)</"
+"literal>. Esto es particularmente &#x00fa;til en casos donde los datos "
+"subyacentes pueden haber sido actualizados por medio de un proceso separado "
+"(es decir, no modificados a trav&#x00e9;s de Hibernate) y permite a la "
+"aplicaci&#x00f3;n refrescar selectivamente conjuntos resultado de consultas "
+"en particular. Esto es una alternativa m&#x00e1;s eficient al "
+"desahuciamiento de una regi&#x00f3;n del cach&#x00e9; de consultas v&#x00ed;"
+"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&#x00f3;n resaltaremos un par de temas m&#x00e1;s sobre c&#x00f3;mo las "
+"colecciones se comportan en tiempo de ejecuci&#x00f3;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&#x00e1;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&#x00f3;n distingue las varias tablas y relaciones de clave "
+"for&#x00e1;nea pero no nos dice absolutamente todo lo que necesitamos saber "
+"sobre el modelo relacional. Para entender completamente la estructura "
+"relacional y las caracter&#x00ed;sticas de rendimiento, debemos considerar "
+"la estructura de la clave primaria que es usada por Hibernate para "
+"actualizar o borrar filas de colecci&#x00f3;n. Esto sugiere la siguiente "
+"clasificaci&#x00f3;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>&lt;key&gt;</literal> and <literal>&lt;index&gt;</literal> "
@@ -2060,12 +1851,10 @@
 "primaria consistente de las columnas <literal>&lt;key&gt;</literal> y "
 "<literal>&lt;index&gt;</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&#x00e1;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>&lt;key&gt;</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>&lt;"
 "key&gt;</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>&lt;set&gt;</literal> por ti, debes declarar "
-"todas las columnas como <literal>not-null=\"true\"</literal>.)"
+"para algunos tipos de elemento de colecci&#x00f3;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&#x00e9;ticos, es probable "
+"que s&#x00f3;lo sea tan eficiente. (Nota al m&#x00e1;rgen: si quieres que "
+"<literal>SchemaExport</literal> realmente cree la clave primaria de un "
+"<literal>&lt;set&gt;</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>&lt;idbag&gt;</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 &#x00ed;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&#x00f3;n siempre que "
+"cambia. Esto podr&#x00ed;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&#x00f3;n uno-a-muchos, la \"clave primaria\" "
+"puede no ser la clave primaria f&#x00ed;sica de la tabla de base de datos; "
+"pero incluso en este caso, la clasificaci&#x00f3;n anterior es &#x00fa;til "
+"todav&#x00ed;a. (A&#x00fa;n refleja c&#x00f3;mo Hibernate \"localiza\" filas "
+"individuales de la colecci&#x00f3;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&#x00e1;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&#x00f3;n anterior, debe quedar claro que las colecciones "
+"indexadas y (usualmente) los conjuntos permiten la operaci&#x00f3;n m&#x00e1;"
+"s eficiente en t&#x00e9;rminos de a&#x00f1;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&#x00e1;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&#x00e1;s, esta "
+"consideraci&#x00f3;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&#x00e9;s de observar que los arrays no pueden ser perezosos, "
+"podr&#x00ed;amos concluir que las listas, mapas e idbags son los tipos "
+"m&#x00e1;s eficientes de colecciones (no inversas), con los conjuntos (sets) "
+"no muy por detr&#x00e1;s. Se espera que los sets sean el tipo m&#x00e1;s "
+"com&#x00fa;n de colecci&#x00f3;n en las aplicaciones de Hibernate. Esto es "
+"debido a que la sem&#x00e1;ntica de los sets es la m&#x00e1;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&#x00f1;ados, "
+"usualmente vemos que la mayor&#x00ed;a de las colecciones son de hecho "
+"asociaciones uno-a-muchos con <literal>inverse=\"true\"</literal>. Para "
+"estas asociaciones, la actualizaci&#x00f3;n es manejada por el extremo "
+"muchos-a-uno de la asociaci&#x00f3;n, y las consideraciones de este tipo "
+"sobre el rendimiento de actualizaci&#x00f3;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&#x00e1;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&#x00e1;s eficientes que los "
+"conjuntos. Para una colecci&#x00f3;n con <literal>inverse=\"true\"</literal> "
+"(el idioma est&#x00e1;ndar de relaciones uno-a-muchos bidireccionales, por "
+"ejemplo) &#x00a1;podemos a&#x00f1;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&#x00f3;digo "
+"com&#x00fa;n mucho m&#x00e1;s r&#x00e1;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&#x00f3;n uno a uno puede "
+"ser extremadamente ineficiente. Hibernate no es completamente est&#x00fa;"
+"pido, de modo que sabe no hacer eso, en el caso de una colecci&#x00f3;n "
+"nueva-vac&#x00ed;a (si has llamado a <literal>list.clear()</literal>, por "
+"ejemplo). En este caso, Hibernate publicar&#x00e1; una sola <literal>DELETE</"
+"literal>, &#x00a1;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&#x00f3;n que a&#x00f1;adimos un solo elemento a una colecci&#x00f3;n de "
+"tama&#x00f1;o veinte y luego quitamos dos elementos. Hibernate "
+"publicar&#x00e1; una sentencia <literal>INSERT</literal> y dos sentencias "
+"<literal>DELETE</literal> (a menos que la colecci&#x00f3;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&#x00f3;n que quitamos dieciocho elementos, dejando dos y "
+"luego a&#x00f1;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&#x00f3;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&#x00f3;n es probablemente m&#x00e1;s r&#x00e1;pida en este caso. (Y que "
+"ser&#x00ed;a probablemente indeseable para Hibernate ser tan inteligente; "
+"este comportamiento podr&#x00ed;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&#x00f3;n original y devolviendo una colecci&#x00f3;n nuevamente "
+"instanciada con todos los elementos actuales. Esto puede ser muy &#x00fa;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&#x00f3;n no es de mucho uso sin el monitoreo y el acceso a "
+"n&#x00fa;meros de rendimiento. Hibernate provee un rango completo de figuras "
+"sobre sus operaciones internas. Las estad&#x00ed;sticas en Hibernate "
+"est&#x00e1;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&#x00e9;tricas de <literal>SessionFactory</literal> de "
+"dos formas. Tu primera opci&#x00f3;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&#x00e9;n usar JMX para publicar las m&#x00e9;tricas si "
+"habilitas el MBean <literal>StatisticsService</literal>. Puede habilitar un "
+"solo MBean para todas tus <literal>SessionFactory</literal> o una por "
+"f&#x00e1;brica. Mira el siguiente c&#x00f3;digo para ejemplos de "
+"configuraci&#x00f3;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&#x00e1;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&#x00f3;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&#x00f3;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&#x00ed;sticas pueden ser reajustadas program&#x00e1;ticamente "
+"usando el m&#x00e9;todo <literal>clear()</literal>. Puede enviarse un "
+"resumen a un logger (nivel info) usando el m&#x00e9;todo <literal>logSummary"
+"()</literal>."
 
-#. Tag: title
-#: performance.xml:1208
-#, no-c-format
+#: index.docbook:1208
 msgid "Metrics"
-msgstr "Métricas"
+msgstr "M&#x00e9;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&#x00fa;mero de m&#x00e9;tricas, desde informaci&#x00f3;"
+"n muy b&#x00e1;sica a la especializada s&#x00f3;lo relevante en ciertos "
+"escenarios. Todos los contadores disponibles se describen en la API de la "
+"interface <literal>Statistics</literal>, en tres categor&#x00ed;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&#x00e9;tricas relacionadas al uso general de <literal>Session</literal> "
+"usage, tales como n&#x00fa;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&#x00e9;tricas relacionadas a las entidades, colecciones, consultas, y "
+"cach&#x00e9;s como un todo. (tambi&#x00e9;n conocidas como m&#x00e9;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&#x00e9;tricas detalladas relacionadas a una entidad, colecci&#x00f3;n, "
+"consulta o regi&#x00f3;n de cach&#x00e9; 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&#x00e9;rdida, y radio de "
+"colocaci&#x00f3;n de entidades, colecciones y consultas en el cach&#x00e9;, "
+"y el tiempo promedio que necesita una consulta. Ten en cuenta que el "
+"n&#x00fa;mero de milisegundos est&#x00e1; sujeto a aproximaci&#x00f3;n en "
+"Java. Hibernate est&#x00e1; pegado a la precisi&#x00f3;n de la JVM, en "
+"algunas plataformas esto podr&#x00ed;a incuso ser tener s&#x00f3;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&#x00e9;tricas globales (es "
+"decir, no pegadas a una entidad, colecci&#x00f3;n, regi&#x00f3;n de "
+"cach&#x00e9;, etc, en particular). Puedes acceder a las m&#x00e9;tricas de "
+"una entidad, colecci&#x00f3;n, regi&#x00f3;n de cach&#x00e9; en particular a "
+"trav&#x00e9;s de su nombre, y a trav&#x00e9;s de su representaci&#x00f3;n "
+"HQL o SQL para las consultas. Por favor refi&#x00e9;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&#x00e1;s informaci&#x00f3;n. El siguiente c&#x00f3;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&#x00e9;s, puedes recuperar la lista de nombres de entidades, "
+"colecciones, consultas y regiones de cach&#x00e9;s con los siguientes "
+"m&#x00e9;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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&#x00f3;n de comercio electr&#x00f3;nico). No todas las instancias "
+"de una clase persistente se considera que est&#x00e9;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&#x00e9;n conocidas como el modelo de programaci&#x00f3;n de Viejas "
+"Clases Java Planas (Plain Old Java Object o POJO). Sin embargo, ninguna de "
+"estas reglas son requerimientos r&#x00ed;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 &#x00e1;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&#x00ed;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&#x00ed; 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&#x00fa;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&#x00f3;n de proxies en tiempo de ejecuci&#x00f3;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&#x00ed;a llamarse cualquierCosa, y su tipo "
+"podr&#x00ed;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&#x00f3;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&#x00e1; disponible s&#x00f3;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&#x00f3;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&#x00fa;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&#x00f3;n de una interface que declare todos los m&#x00e9;todos "
+"p&#x00fa;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&#x00e1;s capaz de usar proxies para "
+"recuperaci&#x00f3;n perezosa de asociaciones, lo que limitar&#x00e1; 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&#x00e9;n evitar declarar m&#x00e9;todos <literal>public final</"
+"literal> en clases non-final. Si quieres usar una clase con un m&#x00e9;todo "
+"<literal>public final</literal>, debes deshabilitar expl&#x00ed;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&#x00e9;todos de acceso y modificaci&#x00f3;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&#x00e9;todos de acceso para todos sus "
+"campos persistente. Muchas otras herramientas ORM persisten directamente "
+"variables de instancia. Creemos que es mejor proveer una indirecci&#x00f3;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&#x00e9;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&#x00fa;"
+"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&#x00e9;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&#x00f3;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&#x00f3;lo dentro del &#x00e1;mbito de una "
+"sesi&#x00f3;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&#x00e1;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&#x00e1;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&#x00f3;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&#x00f3;lo asignar&#x00e1; valores identificadores a "
+"objetos que son persistentes, una instancia reci&#x00e9;n creada no "
+"tendr&#x00e1; ning&#x00fa;n valor identificador! Adem&#x00e1;s, si una "
+"instancia no est&#x00e1; salvada y est&#x00e1; actualmente en un "
+"<literal>Set</literal>, salvarla asignar&#x00e1; 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&#x00e1;n basados en el valor identificador, el c&#x00f3;digo hash "
+"podr&#x00ed;a cambiar, rompiendo el contrato de <literal>Set</literal>. Ver "
+"el sitio web de Hibernate para una discusi&#x00f3;n completa de este "
+"problema. Observa que esto no es una incidencia de Hibernate, sino la "
+"sem&#x00e1;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&#x00e9;"
+"todo <literal>equals()</literal> compara s&#x00f3;lo las propiedades que "
+"forman la clave de negocio, una clave que podr&#x00ed;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&#x00f3;lida como una "
+"clave primaria candidata de base de datos (ver <xref linkend=\"transactions-"
+"basics-identity\"/>). Las propiedades inmutables o &#x00fa;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&#x00e1;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&#x00e1;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&#x00f3;n. "
+"Hibernate soporta adem&#x00e1;s modelos din&#x00e1;micos (usando "
+"<literal>Map</literal>s de <literal>Map</literal>s en tiempo de "
+"ejecuci&#x00f3;n) y la representaci&#x00f3;n de entidades como &#x00e1;"
+"rboles de DOM4J. Con este enfoque no escribes clases persistentes, s&#x00f3;"
+"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&#x00f3;n de entidad por defecto para una "
+"<literal>SessionFactory</literal> en particular usando la opci&#x00f3;n de "
+"configuraci&#x00f3;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&#x00f3;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&#x00f3;n puede ser "
+"adem&#x00e1;s una entidad din&#x00e1;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&#x00e9;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&#x00f3;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&#x00e1;mico es r&#x00e1;pido tiempo de ciclo de "
+"prototipado sin la necesidad de implementaci&#x00f3;n de clases de entidad. "
+"Sin embargo, pierdes chequeo de tipos en tiempo de compilaci&#x00f3;n y muy "
+"probablemente tratar&#x00e1;s con muchas excepciones en tiempo de "
+"ejecuci&#x00f3;n. Gracias al mapeo de Hibernate, el esquema de base de datos "
+"puede estar facilmente sano y normalizado, permitiendo agregar una "
+"implementaci&#x00f3;n apropiada del modelo de dominio m&#x00e1;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&#x00f3;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&#x00e1; 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&#x00f3;"
+"n JDBC, transacci&#x00f3;n y otra informaci&#x00f3;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&#x00e9;n dejar el manejo de la transacci&#x00f3;n y de la "
+"conexi&#x00f3;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&#x00e1;s informaci&#x00f3;n sobre las capacidades de "
+"representaci&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;modo y consumir tiempo en los entornos de empresa de "
+"hoy. Hibernate es una herramienta de mapeo objeto/relacional para entornos "
+"Java. El t&#x00e9;rmino mapeo objeto/relacional (MOR) hace referencia a la "
+"t&#x00e9;cnica de mapear una representaci&#x00f3;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&#x00f3;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&#x00e9;n provee facilidades de consulta y recuperaci&#x00f3;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&#x00f3;n de la persistencia de "
+"los datos. Hibernate puede no ser la mejor soluci&#x00f3;n para aplicaciones "
+"que usan solamente procedimientos almacenados para implementar la l&#x00f3;"
+"gica de negocio en la base de datos, es mas &#x00fa;til con modelos de "
+"dominio orientados a objetos y l&#x00f3;gica de negocio en middle-tier "
+"basada en Java. Sin embargo, Hibernate ciertamente puede ayudarte a quitar o "
+"encapsular c&#x00f3;digo SQL espec&#x00ed;fico de vendedor y ayudar&#x00e1; "
+"con la tarea com&#x00fa;n de traducci&#x00f3;n de resultados desde una "
+"representaci&#x00f3;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&#x00f3;"
+"n de Hibernate, contiene una aplicaci&#x00f3;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&#x00ed;nea de comandos en el directorio de la "
+"distribuci&#x00f3;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&#x00f3;n de referencia como tu fuente de "
+"informaci&#x00f3;n primaria. Ten en consideraci&#x00f3;n leer <emphasis>Java "
+"Persistence with Hibernate</emphasis> (http://www.manning.com/bauer2) si "
+"necesitas mas ayuda con el dise&#x00f1;o de aplicaciones o si prefieres un "
+"tutorial paso a paso. Visita tambi&#x00e9;n http://caveatemptor.hibernate."
+"org y descarga la aplicaci&#x00f3;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&#x00f1;o y varias soluciones de integraci&#x00f3;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&#x00e9;n proveemos un sistema de seguimiento JIRA para "
+"reportes de defectos y peticiones de nuevas caracter&#x00ed;sticas. Si estas "
+"interesado en el desarrollo de Hibernate, &#x00fa;nete a la lista de correo "
+"de desarrolladores. Si estas interesado en traducir esta documentaci&#x00f3;"
+"n a tu lenguaje, cont&#x00e1;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&#x00e9;s de JBoss Inc. (see http://www.hibernate.org/"
+"SupportTraining/) hay disponibilidad de soporte comercial de desarrollo, "
+"soporte de producci&#x00f3;n y entrenamiento en Hibernate. Hibernate es un "
+"proyecto de la suite de productos de c&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f1;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&#x00e1;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&#x00e9;todos de f&#x00e1;"
+"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&#x00f3;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&#x00e1; 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&#x00e1;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&#x00f3;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 "
+"&#x00a1;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&#x00e1;n prefiltradas por los criterios! Si deseas recuperar "
+"s&#x00f3;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&#x00f3;n din&#x00e1;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&#x00e1;ntica de recuperaci&#x00f3;n de "
+"asociaciones en tiempo de ejecuci&#x00f3;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&#x00e1; tanto <literal>mate</literal> como "
+"<literal>kittens</literal> por uni&#x00f3;n exterior (outer join). Ver <xref "
+"linkend=\"performance-fetching\"/> para m&#x00e1;s informaci&#x00f3;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&#x00f3;n, los identificadores y las asociaciones "
+"son ignorados. Por defecto, las propiedades valuadas a nulo son exclu&#x00ed;"
+"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&#x00f3;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&#x00f3;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&#x00e1;brica de instancias de <literal>Projection</literal>. Aplicamos una "
+"proyecci&#x00f3;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&#x00ed;cito en una consulta por "
+"criterios. Ciertos tipos de proyecciones son definidos para ser "
+"<emphasis>proyecciones agrupadas</emphasis>, que adem&#x00e1;s aparecen en "
+"la cl&#x00e1;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&#x00f3;n, de modo que "
+"el valor proyectado pueda ser referido en restricciones u ordenamientos. "
+"Aqu&#x00ed; 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&#x00e9;todos <literal>alias()</literal> y <literal>as()</literal> "
+"simplemente envuelven una instancia de proyecci&#x00f3;n en otra instancia "
+"de <literal>Projection</literal> con alias. Como un atajo, puedes asignar un "
+"alias cuando agregas la proyecci&#x00f3;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&#x00e9;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 &#x00e1;mbito de una sesi&#x00f3;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&#x00e9;n una <literal>DetachedCriteria</literal> puede usarse para "
+"expresar una subconsulta. Las instancias de Criterion implicando "
+"subconsultas pueden obtenerse v&#x00ed;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&#x00ed;a de consultas, incluyendo las consultas por criterios, "
+"el cach&#x00e9; de consulta no es muy eficiente, debido a que la "
+"invalidaci&#x00f3;n del cach&#x00e9; de consulta ocurre demasiado "
+"frecuentemente. Sin embargo, hay un tipo especial de consulta donde podemos "
+"optimizar el algoritmo de invalidaci&#x00f3;n de cach&#x00e9;: búsquedas por "
+"una clave natural constante. En algunas aplicaciones, este tipo de consulta, "
+"ocurre frecuentemente. La API de criterios brinda especial provisi&#x00f3;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>&lt;"
 "natural-id&gt;</literal>, and enable use of the second-level cache."
 msgstr ""
 "Primero, debes mapear la clave natural de tu entidad usando <literal>&lt;"
-"natural-id&gt;</literal>, y habilitar el uso del caché de segundo nivel."
+"natural-id&gt;</literal>, y habilitar el uso del cach&#x00e9; 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&#x00e1; 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&#x00e9; 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&#x00e9; m&#x00e1;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00e1; equipado con un lenguaje de consulta extremadamente "
+"potente que (intencionalmente en absoluto) se parece much&#x00ed;simo a SQL. "
+"Pero no te enga&#x00f1;es por la sintaxis; HQL es completamente orientado a "
+"objetos, entendiendo nociones como herencia, polimorfismo y asociaci&#x00f3;"
+"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&#x00fa;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&#x00fa;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&#x00fa;sculas. Algunos usuarios "
+"encuentran las consultas con palabras clave en may&#x00fa;sculas m&#x00e1;s "
+"le&#x00ed;bles, pero encontramos esta convenci&#x00f3;n fea cuando se encaja "
+"en c&#x00f3;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&#x00e1;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&#x00e1;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&#x00e1; 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&#x00ed;a del tiempo, necesitar&#x00e1;s asignar un <emphasis>alias</"
+"emphasis>, ya que querr&#x00e1;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&#x00ed;amos usar ese alias luego en "
+"la consulta. La palabra clave <literal>as</literal> es opcional; "
+"tambi&#x00e9;n podr&#x00ed;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&#x00fa;ltiples clases, resultando en un producto "
+"cartesiano o uni&#x00f3;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&#x00e1;ctica el nombrar los alias de consulta usando "
+"una inicial en min&#x00fa;sculas, consistente con los est&#x00e1;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&#x00e9;n asignar aliases a entidades asociadas, e incluso a "
+"elementos de una colecci&#x00f3;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 &#x00fa;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&#x00f3;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&#x00f3;n, un \"fetch\" join permite a las asociaciones o "
+"colecciones de valores ser inicializadas junto a sus objetos padres, usando "
+"una sola selecci&#x00f3;n. Esto es particularmente &#x00fa;til en el case de "
+"una colecci&#x00f3;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&#x00e1;s "
+"informaci&#x00f3;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&#x00e1;rsele un alias, "
+"porque los objetos asociados no deben ser usados en la cl&#x00e1;usula "
+"<literal>where</literal> (ni en cualquier otra cl&#x00e1;usula). Adem&#x00e1;"
+"s, los objetos asociados no son devueltos directamente en los resultados de "
+"consulta. En cambio, pueden ser accedidos v&#x00ed;a el objeto padre. La "
+"&#x00fa;nica raz&#x00f3;n por la que necesitar&#x00ed;amos un alias es "
+"estamos uniendo recursivamente otra colecci&#x00f3;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&#x00f3;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&#x00f3;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&#x00e1;s de una colecci&#x00f3;n en una colecci&#x00f3;"
+"n, as&#x00ed; que ten cuidado en este caso. Traer por join m&#x00fa;ltiples "
+"roles de colecci&#x00f3;n tambi&#x00e9;n da a veces resultados inesperados "
+"para mapeos de bag, as&#x00ed; que s&#x00e9; cuidadoso sobre c&#x00f3;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&#x00e1;s usando recuperaci&#x00f3;n perezosa a nivel de propiedad "
+"(con instrumentaci&#x00f3;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&#x00e1;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&#x00e1;usula <literal>select</literal> escoge qu&#x00e9; 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&#x00e1; <literal>mate</literal>s de otros "
+"<literal>Cat</literal>s. Realmente, puedes expresar esta consulta en un "
+"forma m&#x00e1;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&#x00fa;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&#x00e1;s &#x00fa;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00e9;ticos, concatenaci&#x00f3;n, y funciones "
+"SQL reconocidas en la cl&#x00e1;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&#x00e1;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&#x00f3;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&#x00f3;lo de <literal>Cat</literal>, sino "
+"tambi&#x00e9;n de subclases como <literal>DomesticCat</literal>. Las "
+"consultas de Hibernate pueden mencionar <emphasis>cualquier</emphasis> clase "
+"o interface Java en la cl&#x00e1;usula <literal>from</literal>. La consulta "
+"devolver&#x00e1; instancias de todas las clases persistentes que extiendan "
+"esa clase o implementen la interface. La siguiente consulta devolver&#x00ed;"
+"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&#x00ed;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 &#x00fa;ltimas consultas requerir&#x00e1;n m&#x00e1;s de "
+"un <literal>SELECT</literal> SQL. Esto significa que la cl&#x00e1;usula "
+"<literal>order by</literal> no ordenar&#x00e1; correctamente todo el "
+"conjunto resultado. (Significa adem&#x00e1;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&#x00e1;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&#x00e1;usula where te permite estrechar la lista de instancias "
+"devueltas. Si no existe ning&#x00fa;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&#x00e1; 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&#x00e1;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&#x00f3;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&#x00ed;as con una consulta que requerir&#x00ed;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&#x00f3;"
+"lo propiedades, sino tambi&#x00e9;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&#x00fa;sculas) <literal>id</literal> puede ser "
+"usada para referenciar el identificador &#x00fa;nico de un objeto. "
+"(Tambi&#x00e9;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. &#x00a1;No se requiere ninguna uni&#x00f3;"
+"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&#x00e9;n pueden ser usadas las propiedades de identificadores "
+"compuestos. Sup&#x00f3;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&#x00e1;s, la segunda consulta no requiere ninguna uni&#x00f3;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&#x00f3;"
+"rfica. Un nombre de clase Java embebido en la cl&#x00e1;usula where "
+"ser&#x00e1; 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>&lt;any&gt;</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>&lt;any&gt;</literal>)."
+"<literal>class</literal>, permit&#x00e9;ndonos expresar un join en la "
+"siguiente forma (donde <literal>AuditLog.item</literal> es una propiedad "
+"mapeada con <literal>&lt;any&gt;</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&#x00ed;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&#x00e1;usula <literal>where</literal> "
+"incluyen la mayor&#x00ed;a del tipo de cosas que podr&#x00ed;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&#x00e1;ticos <literal>+, -, *, /</literal>"
 
-#. Tag: para
-#: query_hql.xml:522
-#, no-c-format
+#: index.docbook:522
 msgid ""
 "binary comparison operators <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, like</"
 "literal>"
 msgstr ""
-"operadores de comparación binarios <literal>=, &gt;=, &lt;=, &lt;&gt;, !=, "
-"like</literal>"
+"operadores de comparaci&#x00f3;n binarios <literal>=, &gt;=, &lt;=, &lt;"
+"&gt;, !=, 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&#x00f3;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&#x00e9;ntesis <literal>( )</literal>, indicando agrupaci&#x00f3;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&#x00f3;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&#x00f3;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&#x00e9;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&#x00f3;n <literal>index()</literal> de HQL, que se aplica a alias "
+"de una colecci&#x00f3;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&#x00f3;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&#x00e1;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&#x00e1;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&#x00e1;cilmente usados en expresiones declarando "
+"substituciones de consulta HQL en la configuraci&#x00f3;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&#x00e1; 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&#x00f1;o de una colecci&#x00f3;n con la propiedad "
+"especial <literal>size</literal>, o la funci&#x00f3;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 &#x00ed;ndices m&#x00e1;"
+"ximo y m&#x00ed;nimo usando las funciones <literal>minindex</literal> y "
+"<literal>maxindex</literal>. Similarmente, puedes referirte a los elementos "
+"m&#x00e1;ximo y m&#x00ed;nimo de una colecci&#x00f3;n de tipo b&#x00e1;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&#x00e1;n "
+"soportadas cuando se les pasa el conjunto de elementos o &#x00ed;ndices de "
+"una colecci&#x00f3;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&#x00e1;"
+"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 &#x00ed;ndice (en una cl&#x00e1;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&#x00f3;n dentro de <literal>[]</literal> puede incluso ser una "
+"expresi&#x00f3;n aritm&#x00e9;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&#x00e1;s el funci&#x00f3;n prefabricada <literal>index()</"
+"literal>, para elementos de una asociaci&#x00f3;n uno-a-muchos o "
+"colecci&#x00f3;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&#x00fa;n no est&#x00e1;s convencido de todo esto, piensa cu&#x00e1;nto "
+"m&#x00e1;s largo y menos le&#x00ed;ble ser&#x00ed;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&#x00e1;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&#x00e1;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&#x00e9;n una cl&#x00e1;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&#x00f3;n SQL est&#x00e1;n permitidas "
+"en las cl&#x00e1;usulas <literal>having</literal> y <literal>order by</"
+"literal>, si est&#x00e1;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&#x00e1;usula <literal>group by</literal> ni la cl&#x00e1;"
+"usula <literal>order by</literal> pueden contener expresiones aritm&#x00e9;"
+"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&#x00e9;ntesis (frecuentemente por una llamada a una funci&#x00f3;n de "
+"agregaci&#x00f3;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&#x00ed; algunos consultas de ejemplo muy "
+"similares a consultas que he usado en un proyecto reciente. &#x00a1;Nota que "
+"la mayor&#x00ed;a de las consultas que escribir&#x00e1;s som mucho m&#x00e1;"
+"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&#x00fa;mero de items y valor "
+"total de la orden para todas las ordenes inpagas de un cliente en particular "
+"y valor total m&#x00ed;nimo dados, ordenando los resultados por valor total. "
+"Al determinar los precios, usa el cat&#x00e1;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:"
+"&#x00a1;Qu&#x00e9; 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&#x00f3;xima consulta cuenta el n&#x00fa;mero de pagos en cada estado, "
+"excluyendo todos los pagos en el estado <literal>AWAITING_APPROVAL</literal> "
+"donde el estado m&#x00e1;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&#x00f3;n <literal>statusChanges</literal> como "
+"una lista, en vez de un conjunto, la consulta habr&#x00ed;a sido mucho "
+"m&#x00e1;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&#x00f3;xima consulta usa la funci&#x00f3;n <literal>isNull()</literal> "
+"de MS SQL Server para devolver todas las cuentas y pagos inpagos de la "
+"organizaci&#x00f3;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&#x00ed;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 &amp; 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&#x00fa;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&#x00f1;o de una colecci&#x00f3;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&#x00f3;n "
+"sobre el tama&#x00f1;o de selecci&#x00f3;n en la cl&#x00e1;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&#x00f3;n no puede devolver un <literal>User</literal> con "
+"cero mensajes debido a la uni&#x00f3;n interior, la siguiente forma es "
+"tambi&#x00e9;n &#x00fa;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&#x00e1;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&#x00f3;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&#x00f1;o de una colecci&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00e9;n expresar consultas en el dialecto SQL nativo de tu "
+"base de datos. Esto es &#x00fa;til si quieres utilizar aspectos espec&#x00ed;"
+"ficos de base de datos tal como consejos (hints) de consulta o la palabra "
+"clave <literal>CONNECT</literal> en Oracle. Provee adem&#x00e1;s una clara "
+"ruta de migraci&#x00f3;n desde una aplicaci&#x00f3;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&#x00f3;n, "
+"actualizaci&#x00f3;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>&lt;return-join&gt;</literal> and <literal>&lt;load-"
 "collection&gt;</literal> elements are used to join associations and define "
@@ -856,9 +756,7 @@
 "collection&gt;</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>&lt;return-scalar&gt;</literal> "
@@ -889,9 +800,7 @@
 "especificar el alias de columna y tipo Hibernate usando el elementp "
 "<literal>&lt;return-scalar&gt;</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>&lt;"
 "resultset&gt;</literal> element to either reuse them accross several named "
@@ -914,9 +828,7 @@
 "resultset&gt;</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&#x00ed;citamente nombres de "
+"columna/alias"
 
-#. Tag: para
-#: query_sql.xml:401
-#, no-c-format
+#: index.docbook:401
 msgid ""
 "With <literal>&lt;return-property&gt;</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>&lt;return-property&gt;</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>&lt;return-property&gt;</literal> puedes decirle expl&#x00ed;"
+"citamente a Hibernate qu&#x00e9; alias de columna usar, en vez de usar la "
+"sint&#x00e1;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>&lt;return-property&gt;</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>&lt;return-property&gt;</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>&lt;return-property&gt;</literal> tambi&#x00e9;n trabaja con "
+"m&#x00fa;ltiples columnas. Esto resuelve una limitaci&#x00f3;n de la "
+"sint&#x00e1;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>&lt;return-property&gt;</"
 "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>&lt;return-property&gt;</"
-"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&#x00f3;n con la sint&#x00e1;xis <literal>{}</literal> "
+"para inyecci&#x00f3;n, permitiendo a los usuarios elejir c&#x00f3;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>&lt;return-"
 "discriminator&gt;</literal> to specify the discriminator column."
@@ -1054,15 +1002,11 @@
 "Si tu mapeo tiene un discriminador debes usar <literal>&lt;return-"
 "discriminator&gt;</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&#x00ed;a procedimientos "
+"almacenados. Los procedimientos almacenados deben devolver un conjunto "
+"resultado como el primer par&#x00e1;metro de salida para ser capaces de "
+"funcionar con Hibernate. Un ejemplo de uno procedimiento almacenado en "
+"Oracle 9 o superior es as&#x00ed;:"
 
-#. 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>&lt;return-join&gt;</literal> and <literal>&lt;load-collection&gt;</"
 "literal> are not supported."
 msgstr ""
-"Nota que los procedimientos almacenados sólo devuelven escalares y "
-"entidades. No están soportados <literal>&lt;return-join&gt;</literal> y "
-"<literal>&lt;load-collection&gt;</literal>."
+"Nota que los procedimientos almacenados s&#x00f3;lo devuelven escalares y "
+"entidades. No est&#x00e1;n soportados <literal>&lt;return-join&gt;</literal> "
+"y <literal>&lt;load-collection&gt;</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&#x00fa;n quisieras usar estos procedimientos tendr&#x00ed;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&#x00e1;nticas/sint&#x00e1;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"
 "(&lt;parameters&gt;) }</literal> or <literal>{ ? = call procedureName(&lt;"
 "parameters&gt;}</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(&lt;parameters&gt;) }</"
-"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&#x00e1;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&#x00e1;n m&#x00fa;ltiples conjuntos resultados "
+"y cuentas de actualizaci&#x00f3;n, Hibernate iterar&#x00e1; los resultados y "
+"tomar&#x00e1; el primer resultado que sea un conjunto resultado como su "
+"valor a devolver. Todo lo dem&#x00e1;s ser&#x00e1; 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&#x00e1; probablemente m&#x00e1;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>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</"
+"configuraci&#x00f3;n (insertsql, deletesql, updatesql, etc.). Las etiquetas "
+"de mapeo <literal>&lt;sql-insert&gt;</literal>, <literal>&lt;sql-delete&gt;</"
 "literal>, y <literal>&lt;sql-update&gt;</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&#x00e1;, por supuesto, "
+"la portabilidad de tu mapeo si usas SQL espec&#x00ed;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&#x00e1; 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&#x00e1;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&#x00f3;n "
+"para el nivel <literal>org.hibernate.persister.entity</literal>. Con este "
+"nivel habilitado, Hibernate imprimir&#x00e1; el SQL est&#x00e1;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&#x00e1;n el sql est&#x00e1;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&#x00ed;a de los casos "
+"(l&#x00e9;ase, mejor hacerlo que no hacerlo), obligados a devolver el "
+"n&#x00fa;mero de filas insertadas/actualizadas/borradas, ya que Hibernate "
+"tiene algunas comprobaciones en tiempo de ejecuci&#x00f3;n del &#x00e9;xito "
+"de la sentencia. Hibernate siempre registra el primer par&#x00e1;metro de la "
+"sentencia como un par&#x00e1;metro de salida num&#x00e9;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&#x00e9;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&#x00f3;lo una declaraci&#x00f3;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&#x00ed;as incluso definir un cargador de entidades que cargue una "
+"colecci&#x00f3;n por recuperaci&#x00f3;n por uni&#x00f3;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;n completa de mapeo objeto/relacional que no "
+"s&#x00f3;lo abstrae al desarrollador de los detalles del sistema de manejo "
+"de base datos subyacente, sino que adem&#x00e1;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&#x00f3;n de sentencias SQL. Esta parte es "
+"cuidada por Hibernate y es s&#x00f3;lo relevante para el desarrollador de la "
+"aplicaci&#x00f3;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&#x00e9;n instanciado usando el operador <literal>new</literal>, y no "
+"est&#x00e1; asociado a una <literal>Session</literal> de Hibernate. No tiene "
+"una representaci&#x00f3;n persistente en la base de datos y no se le ha "
+"asignado un valor identificador. Las instancias transitorias ser&#x00e1;n "
+"destru&#x00ed;das por el recolector de basura si la aplicaci&#x00f3;n no "
+"mantiene m&#x00e1;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&#x00f3;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&#x00f3;n en la base de datos y un valor identificador. Puede "
+"haber sido salvado o cargado, sin embargo, est&#x00e1; por definici&#x00f3;n "
+"en el &#x00e1;mbito de una <literal>Session</literal>. Hibernate "
+"detectar&#x00e1; cualquier cambio hecho a un objeto en estado persistentey "
+"sincronizar&#x00e1; 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&#x00ed;a es v&#x00e1;lida, por "
+"supuesto, y la instancia separada podr&#x00ed;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&#x00e9;"
+"ndola persistente de nuevo (con todas las modificaciones). Este aspecto "
+"habilita un modelo de programaci&#x00f3;n para unidades de trabajo de "
+"ejecuci&#x00f3;n larga que requieren tiempo-para-pensar del usuario. Las "
+"llamamos <emphasis>transaccciones de aplicaci&#x00f3;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&#x00e9;"
+"todos de Hibernate que disparan una transici&#x00f3;n) en m&#x00e1;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&#x00e9;n instanciadas de una clase persistente son "
+"consideradas <emphasis>transitorias</emphasis> por Hibernate. Podemos hacer "
+"una instancia transitoria <emphasis>persistente</emphasis> asoci&#x00e1;"
+"ndola con una sesi&#x00f3;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&#x00e9;n usar <literal>persist()</"
+"literal> en vez de <literal>save()</literal>, con la sem&#x00e1;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&#x00f3;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&#x00f3;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&#x00f3;n <literal>NOT NULL</literal> sobre "
+"una columna clave for&#x00e1;nea. Nunca hay riesgo de violar restricciones "
+"de clave for&#x00e1;nea. Sin embargo, podr&#x00ed;as violar una "
+"restricci&#x00f3;n <literal>NOT NULL</literal> si llamas a <literal>save()</"
+"literal> sobre objetos en orden err&#x00f3;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&#x00e1;s la funcionalidad de <emphasis>persistencia transitiva</"
+"emphasis> de Hibernate para salvar los objetos asociados autom&#x00e1;"
+"ticamente. Entonces, ni siquiera ocurren violaciones de restricciones "
+"<literal>NOT NULL</literal> - Hibernate cuidar&#x00e1; de todo. La "
+"persistencia transitiva se discute m&#x00e1;s adelante en este cap&#x00ed;"
+"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&#x00e9;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&#x00e1; el estado dentro de una instancia reci&#x00e9;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&#x00e1; una excepci&#x00f3;n "
+"irrecuperable si no hay una fila correspondiente en base de datos. Si la "
+"clase es mapeada con un proxy, <literal>load()</literal> s&#x00f3;lo "
+"devuelve un proxy no inicializado y no llamar&#x00e1; realmente a la base de "
+"datos hasta que invoques un m&#x00e9;todo del proxy. Este comportamiento es "
+"muy &#x00fa;til si deseas crear una asociaci&#x00f3;n a un objeto sin "
+"cargarlo realmente de la base de datos. Permite adem&#x00e1;s que m&#x00fa;"
+"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&#x00e9;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&#x00f3;n de la API para m&#x00e1;s informaci&#x00f3;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&#x00f3;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&#x00f3;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&#x00e9;todo <literal>refresh()</literal>. Esto es "
+"&#x00fa;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&#x00f3;n importante aparece usualmente en este punto: ¿Cu&#x00e1;"
+"nto carga Hibernate de la base de datos y cu&#x00e1;ntos <literal>SELECT</"
+"literal>s de SQL usar&#x00e1;? Esto depende de la <emphasis>estrategia de "
+"recuperaci&#x00f3;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&#x00e1;s buscando, "
+"necesitas una consulta. Hibernate soporta un lenguaje de consulta orientado "
+"a objetos (HQL) f&#x00e1;cil de usar pero potente. Para la creaci&#x00f3;n "
+"de consultas program&#x00e1;ticas, Hibernate soporta una funcionalidad "
+"sofisticada de consulta de Criteria y Example (QBC and QBE). Tambi&#x00e9;n "
+"puedes expresar tu consulta en el SQL nativo de tu base de datos, con "
+"soporte opcional de Hibernate para la conversi&#x00f3;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&#x00e9;todos "
+"para la ligaci&#x00f3;n de par&#x00e1;metros, manejo del conjunto resultado, "
+"y para la ejecuci&#x00f3;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&#x00e1; cargado completamente dentro de una "
+"colecci&#x00f3;n en memoria. Las instancias de entidad tra&#x00ed;das por "
+"una consulta est&#x00e1;n en estado persistente. El m&#x00e9;todo "
+"<literal>uniqueResult()</literal> ofrece un atajo si sabes que tu consulta "
+"devolver&#x00e1; s&#x00f3;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&#x00ed;as ser capaz de lograr mejor rendimiento al "
+"ejecutar la consulta usando el m&#x00e9;todo <literal>iterate()</literal>. "
+"Esto s&#x00f3;lo ser&#x00e1; en el caso que esperes que las instancias "
+"reales de entidad devueltas por la consulta est&#x00e9;n ya en la "
+"sesi&#x00f3;n o cach&#x00e9; de segundo nivel. Si todav&#x00ed;a no "
+"est&#x00e1;n en cach&#x00e9;, <literal>iterate()</literal> ser&#x00e1; "
+"m&#x00e1;s lento que <literal>list()</literal> y podr&#x00ed;a requerir "
+"muchas llamadas a la base de datos para una consulta simple, usualmente "
+"<emphasis>1</emphasis> para la selecci&#x00f3;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&#x00e1;"
+"usula <literal>select</literal>. Pueden incluso llamar a funciones de "
+"agregaci&#x00f3;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&#x00f3;n de par&#x00e1;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&#x00e9;todos en <literal>Query</literal> para ligar valores a "
+"par&#x00e1;metros con nombre o par&#x00e1;metros <literal>?</literal> de "
+"estilo JDBC. <emphasis>Al contrario de JDBC, Hibernate numera los par&#x00e1;"
+"metros desde cero.</emphasis> Los par&#x00e1;metros con nombre son "
+"identificadores de la forma <literal>:name</literal> en la cadena de la "
+"consulta. Las ventajas de los par&#x00e1;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&#x00e1;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&#x00fa;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&#x00f3;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&#x00ed;mites sobre tu conjunto resultado (el "
+"n&#x00fa;mero m&#x00e1;ximo de filas que quieras traer y/o la primera fila "
+"que quieras traer) debes usar los m&#x00e9;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&#x00f3;mo traducir este l&#x00ed;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;n fuera de l&#x00ed;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&#x00e1;s definir consultas con nombre en el documento de mapeo. "
+"(Recuerda usar una secci&#x00f3;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&#x00f3;n de par&#x00e1;metros y ejecuci&#x00f3;n se hace "
+"program&#x00e1;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&#x00f3;digo real del programa es independiente del lenguaje de "
+"consulta usado; puedes adem&#x00e1;s definir consultas SQL nativas en "
+"metadatos, o migrar consultas existentes a Hibernate coloc&#x00e1;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>&lt;hibernate-"
 "mapping&gt;</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&#x00f3;n es un tipo especial de "
+"consulta que puede ser aplicado a una colecci&#x00f3;n persistente o array. "
+"La cadena de consulta puede referirse a <literal>this</literal>, "
+"significando el elemento de colecci&#x00f3;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&#x00f3;n devuelta es considerada un bag, y es una copia de la "
+"colecci&#x00f3;n dada. La colecci&#x00f3;n original no es modificada (esto "
+"es contrario a la implicaci&#x00f3;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&#x00e1;usula <literal>from</"
+"literal> (aunque pueden tener uno si se requiere). Los filtros no est&#x00e1;"
+"n limitados a devolver los elementos de colecci&#x00f3;n por s&#x00ed; "
+"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&#x00ed;o es &#x00fa;til, por ejemplo, "
+"para cargar un subconjunto de elementos en una colecci&#x00f3;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&#x00e1;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&#x00e1;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&#x00e1;metros con nombre y "
+"posicionales, al igual que las consultas de Hibernate. Puede encontrarse "
+"m&#x00e1;s informaci&#x00f3;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&#x00f3;n y cualquier cambio al estado "
+"persistente ser&#x00e1; persistido cuando la <literal>Session</literal> sea "
+"<emphasis>limpiada (flushed)</emphasis> (discutido m&#x00e1;s adelante en "
+"este cap&#x00ed;tulo). No hay necesidad de llamar un m&#x00e9;todo en "
+"particular (como <literal>update()</literal>, que tiene un prop&#x00f3;sito "
+"diferente) para hacer persistentes tus modificaciones. De modo que la forma "
+"m&#x00e1;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&#x00e1; 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&#x00f3;n es ineficiente pues podr&#x00ed;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&#x00f3;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&#x00f3;n directa de "
+"sentencias <literal>UPDATE</literal> o <literal>DELETE</literal>. Hibernate "
+"es un servicio de <emphasis>gesti&#x00f3;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&#x00e1;s, la noci&#x00f3;n de "
+"operaciones masivas entra en conflicto con el mapeo objeto/relacional en "
+"aplicaciones en l&#x00ed;nea orientadas al procesamiento de transacciones. "
+"Versiones futuras de Hibernate pueden, sin embargo, proveer funciones de "
+"operaci&#x00f3;n masiva especiales. Ver <xref linkend=\"batch\"/> por "
+"algunos trucos de operaci&#x00f3;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&#x00f3;n, "
+"enviarla a la capa de UI para su manipulaci&#x00f3;n, y entonces salvar los "
+"cambios en una nueva transacci&#x00f3;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&#x00f3;n de instancias "
+"separadas usando los m&#x00e9;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&#x00f3;n intent&#x00f3; volver a unirlo, se habr&#x00ed;a lanzado "
+"una excepci&#x00f3;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&#x00e1;s seguro que la sesi&#x00f3;"
+"n tenga una instancia ya persistente con el mismo identificador, y "
+"<literal>merge()</literal> si quieres fusionar tus modificaciones en "
+"cualquier momento sin consideraci&#x00f3;n del estado de la sesi&#x00f3;n. "
+"En otras palabras, <literal>update()</literal> es usualmente el primer "
+"m&#x00e9;todo que llamar&#x00ed;as en una sesi&#x00f3;n fresca, asegurando "
+"que la re-uni&#x00f3;n de tus instancias separadas es la primera "
+"operaci&#x00f3;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&#x00f3;n debe actualizar individualmente las instancias "
+"separadas alcanzables por la instancia separada dada llamando a "
+"<literal>update()</literal>, si y <emphasis>s&#x00f3;lo</emphasis> si quiere "
+"que sus estados sean tambi&#x00e9;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&#x00e9;todo <literal>lock()</literal> tambi&#x00e9;n permite a una "
+"aplicaci&#x00f3;n reasociar un objeto con una sesi&#x00f3;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&#x00f3;n de la API y el "
+"cap&#x00ed;tulo sobre manejo de transacciones para m&#x00e1;s "
+"informaci&#x00f3;n. La re-uni&#x00f3;n no es el &#x00fa;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&#x00f3;n autom&#x00e1;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&#x00e9;todo de prop&#x00f3;sito "
+"general que bien salve una instancia transitoria generando un identificador "
+"nuevo, o bien actualice/re&#x00fa;na las instancias separadas asociadas con "
+"su identificador actual. El m&#x00e9;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&#x00e1;ntica de <literal>saveOrUpdate()</literal> parece ser "
+"confuso para usuarios nuevos. Primeramente, en tanto no est&#x00e9;s "
+"intentando usar instancias de una sesi&#x00f3;n en otra sesi&#x00f3;n nueva, "
+"no debes necesitar usar <literal>update()</literal>, <literal>saveOrUpdate()"
+"</literal>, o <literal>merge()</literal>. Algunas aplicaciones enteras nunca "
+"usar&#x00e1;n ninguno de estos m&#x00e9;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&#x00f3;n carga un objeto en la primera sesi&#x00f3;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&#x00f3;n hace estas modificaciones persistentes llamando a "
+"<literal>update()</literal> en una segunda sesi&#x00f3;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&#x00f3;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&#x00f3;n tiene el mismo identificador, "
+"lanza una excepci&#x00f3;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&#x00e9;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>&lt;version&gt;</literal> or "
 "<literal>&lt;timestamp&gt;</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>&lt;version&gt;</literal> o "
-"<literal>&lt;timestamp&gt;</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&#x00e1; versionado (por un <literal>&lt;version&gt;</"
+"literal> o <literal>&lt;timestamp&gt;</literal>), y el valor de la propiedad "
+"de versi&#x00f3;n es el mismo valor asignado a una objeto reci&#x00e9;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00e1; el estado de un objeto de "
+"la base de datos. Por supuesto, tu aplicaci&#x00f3;n podr&#x00ed;a tener "
+"a&#x00fa;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&#x00f3;n de clave for&#x00e1;nea. A&#x00fa;n es posible violar "
+"una restricci&#x00f3;n <literal>NOT NULL</literal> sobre una columna clave "
+"for&#x00e1;nea borrando objetos en un orden err&#x00f3;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&#x00e9;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 &#x00fa;til ser capaz de tomar un grafo de instancias "
+"persistentes y hacerlas persistentes en un almac&#x00e9;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&#x00f3;mo "
+"<literal>replicate()</literal> tratar&#x00e1; 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&#x00f3;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&#x00fa;mero de versi&#x00f3;n es anterior al n&#x00fa;mero de "
+"versi&#x00f3;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&#x00f3;n de configuraci&#x00f3;n de sistema durante "
+"actualizaciones de producto, deshacer cambios producidos durante "
+"transacciones no-ACID y m&#x00e1;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&#x00f3;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&#x00e1; las sentencias "
+"SQL necesarias para sincronizar el estado de la conexi&#x00f3;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&#x00f3;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&#x00f3;n es que los objetos que usan generaci&#x00f3;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&#x00ed;citamente a <literal>flush()</literal>, no "
+"hay en absoluto garant&#x00ed;as sobre <emphasis>cu&#x00e1;ndo</emphasis> la "
+"<literal>Session</literal> ejecuta las llamadas JDBC. s&#x00f3;lo sobre el "
+"<emphasis>orden</emphasis> en que son ejecutadas. Sin embargo, Hibernate "
+"garantiza que los m&#x00e9;todos <literal>Query.list(..)</literal> nunca "
+"devolver&#x00e1;n datos a&#x00f1;ejos o err&#x00f3;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&#x00f3;lo en tiempo de compromiso (y s&#x00f3;lo "
+"cuando se use la API de <literal>Transaction</literal> de Hibernate), "
+"limpieza autom&#x00e1;tica usando la rutina explicada, o nunca limpiar a "
+"menos que se llame a <literal>flush()</literal> expl&#x00ed;citamente. El "
+"&#x00fa;ltimo modo es &#x00fa;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&#x00f3;n (por ejemplo, si una "
+"operaci&#x00f3;n DML violase una restricci&#x00f3;n). Ya que el manejo de "
+"excepciones implica alguna comprensi&#x00f3;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&#x00f3;modo dalvar, borrar, o reunir objetos "
+"individuales, especialmente si tratas con un grafo de objetos asociados. Un "
+"caso com&#x00fa;n es una relaci&#x00f3;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&#x00f3;n padre/hijo pudieran ser tipificados en "
+"valor (por ejemplo, una colecci&#x00f3;n de direcciones o cadenas), sus "
+"ciclos de vida depender&#x00ed;an del padre y se requerir&#x00ed;a ninguna "
+"otra acci&#x00f3;n para el tratamiento en \"cascada\" de cambios de estado. "
+"Cuando el padre es salvado, los objetos hijo tipificados en valor son "
+"salvados tambi&#x00e9;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&#x00f3;n. Hibernate detectar&#x00e1; esto y, ya que los objetos "
+"tipificados en valor no pueden tener referencias compartidas, borrar&#x00e1; "
+"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&#x00ed;as e &#x00ed;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&#x00f3;n no significa que sea borrada), y no hay por defecto "
+"ning&#x00fa;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&#x00f3;n b&#x00e1;sica de la sesi&#x00f3;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&#x00f3;n sea tratada en "
+"cascada a lo largo de una asociaci&#x00f3;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&#x00f3;n. El por defecto <literal>cascade=\"none\"</"
+"literal> especifica que ninguna operaci&#x00f3;n ser&#x00e1; 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&#x00f3;lo a asociaciones uno-a-muchos, e indica que la operaci&#x00f3;n "
+"<literal>delete()</literal> debe aplicarse a cualquier objeto hijo que sea "
+"quitado de la asociaci&#x00f3;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>&lt;many-to-"
 "one&gt;</literal> or <literal>&lt;many-to-many&gt;</literal> association. "
@@ -2013,26 +1940,23 @@
 "<literal>&lt;one-to-many&gt;</literal> associations."
 msgstr ""
 "Usualmente no tiene sentido habilitar el tratamiento en cascada a una "
-"asociación <literal>&lt;many-to-one&gt;</literal> o <literal>&lt;many-to-"
-"many&gt;</literal>. El tratamiento en cascada es frecuentemente útil para "
-"las asociaciones <literal>&lt;one-to-one&gt;</literal> y <literal>&lt;one-to-"
-"many&gt;</literal>. associations."
+"asociaci&#x00f3;n <literal>&lt;many-to-one&gt;</literal> o <literal>&lt;many-"
+"to-many&gt;</literal>. El tratamiento en cascada es frecuentemente &#x00fa;"
+"til para las asociaciones <literal>&lt;one-to-one&gt;</literal> y "
+"<literal>&lt;one-to-many&gt;</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&#x00e1; ligada a la "
+"eesperanza de vida del objeto padre, h&#x00e1;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&#x00e1;s trabajando frecuentemente con padre e "
+"hijos juntos en la misma transacci&#x00f3;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&#x00f3;n (ya sea una asociaci&#x00f3;n monovaluada, o "
+"una colecci&#x00f3;n) con <literal>cascade=\"all\"</literal> marca la "
+"asociaci&#x00f3;n como una relaci&#x00f3;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>&lt;"
-"one-to-many&gt;</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&#x00e1;s, una mera referencia a un hijo desde un padre persistente "
+"resultar&#x00e1; en un save/update del hijo. Esta met&#x00e1;fora "
+"est&#x00e1; incompleta, sin embargo. Un hijo que deje de ser referenciado "
+"por su padre <emphasis>no</emphasis> es borrado autom&#x00e1;ticamente, "
+"excepto en el caso de una asociaci&#x00f3;n <literal>&lt;one-to-many&gt;</"
+"literal> mapeada con <literal>cascade=\"delete-orphan\"</literal>. La "
+"sem&#x00e1;ntica precisa de las operaciones en cascada para una "
+"relaci&#x00f3;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&#x00f3;n debe borrar "
+"expl&#x00ed;citamente el hijo de ser necesario - a menos que "
+"<literal>cascade=\"delete-orphan\"</literal>, en cuyo caso el hijo "
+"\"hu&#x00e9;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 &#x00fa;til "
+"para la aplicaci&#x00f3;n misma. Por ejemplo, la aplicaci&#x00f3;n "
+"podr&#x00ed;a usar los metadatos de Hibernate para implementar un algoritmo "
+"\"inteligente\" de copia en profundidad que entienda qu&#x00e9; objetos "
+"deben ser copiados (por ejemplo, tipo de valor mutables) y cu&#x00e1;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&#x00ed;a las interfaces "
+"<literal>ClassMetadata</literal> y <literal>CollectionMetadata</literal> y "
+"la jerarqu&#x00ed;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00ed;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&#x00ed;a de ida y vuelta con Hibernate es posible usando un "
+"conjunto de plugins de Eclipse, herramientas de l&#x00ed;nea de comandos, "
+"as&#x00ed; 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&#x00ed; como tareas de Ant para la "
+"ingenier&#x00ed;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&#x00f3;n y resaltado de sint&#x00e1;xis. Soporta "
+"tambi&#x00e9;n autocompleci&#x00f3;n sem&#x00e1;ntica de nombres de clases y "
+"nombres de campos/propiedades, haci&#x00e9;ndolo mucho m&#x00e1;s "
+"vers&#x00e1;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&#x00e1;s de la vista de &#x00e1;rbol de tus configuraciones de consola, "
+"tienes tambi&#x00e9;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&#x00e1;pidamente ficheros de configuraci&#x00f3;n de Hibernate (cfg.xml), "
+"o incluso puedes haceruna ingenier&#x00ed;a inversa completa de un esquema "
+"de base de datos existente en ficheros de c&#x00f3;digo de POJO y ficheros "
+"de mapeo de Hibernate. El asistente de ingenier&#x00ed;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&#x00e9;rete al paquete <emphasis>Herramientas de Hibernate</"
+"emphasis> y su documentaci&#x00f3;n para m&#x00e1;s informaci&#x00f3;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&#x00e9;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&#x00f3;n autom&#x00e1;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&#x00e1;neas) para las tablas de entidades y colecciones. Las "
+"tablas y secuencias tambi&#x00e9;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&#x00ed;a la propiedad <literal>hibernate.dialect</literal> al usar esta "
+"herramienta, ya que el DDL es altamente espec&#x00ed;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&#x00f1;o de una columna. (O, para tipos de datos num&#x00e9;ricos/"
+"decimales, la precisi&#x00f3;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&#x00e9;n aceptan un atributo <literal>not-null</"
+"literal> (para generar una restricci&#x00f3;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>&lt;column&gt;</literal> "
 "element. This is particularly useful for mapping multi-column types:"
@@ -288,9 +242,7 @@
 "Many mapping elements also accept a child <literal>&lt;column&gt;</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&#x00f3;n de restricci&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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 &#x00ed;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&#x00f3;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>&lt;one-to-one&gt;</literal>, <literal>&lt;many-"
@@ -533,70 +445,51 @@
 "to-many&gt;</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&#x00f3;n de clave for&#x00e1;nea "
+"generada por una asociaci&#x00f3;n, &#x00fa;salo e <literal>&lt;one-to-"
+"one&gt;</literal>, <literal>&lt;many-to-one&gt;</literal>, <literal>&lt;"
+"key&gt;</literal>, or <literal>&lt;many-to-many&gt;</literal> . Nota que los "
+"lados <literal>inverse=\"true\"</literal> no ser&#x00e1;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>&lt;column&gt;</"
 "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&#x00f3;lo atributo del "
+"elemento <literal>&lt;column&gt;</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&#x00f3;n de comprobaci&#x00f3;n SQL en columna o tabla"
 
-#. Tag: para
-#: toolset_guide.xml:242
-#, no-c-format
+#: index.docbook:242
 msgid ""
 "The <literal>&lt;comment&gt;</literal> element allows you to specify "
 "comments for the generated schema."
@@ -604,19 +497,19 @@
 "El elemento <literal>&lt;comment&gt;</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&#x00e9; "
 "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&#x00f3;n DDL a "
+"la salida est&#x00e1;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&#x00ed;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&#x00f3;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&#x00f3;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&#x00e1;ndar el gui&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00ed;nea para el gui&#x00f3;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&#x00f3;"
+"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>&lt;property&gt;</"
 "emphasis>"
@@ -837,115 +677,79 @@
 "como propiedades de sistema con <literal>-D</literal><emphasis>&lt;"
 "property&gt;</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&#x00f3;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&#x00f1;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&#x00f3;n de "
+"construcci&#x00f3;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&#x00e1; 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&#x00e1; 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&#x00ed;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&#x00f3;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&#x00f3;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 "&lt;one-to-one&gt;"
-#~ msgstr "&lt;one-to-one&gt;"
+msgid "ROLES_OF_TRANSLATORS"
+msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
 
-#~ msgid "&lt;many-to-one&gt;"
-#~ msgstr "&lt;many-to-one&gt;"
-
-#~ msgid "&lt;key&gt;"
-#~ msgstr "&lt;key&gt;"
-
-#~ msgid "&lt;many-to-many&gt;"
-#~ msgstr "&lt;many-to-many&gt;"
-
-#~ msgid "inverse=\"true\""
-#~ msgstr "inverse=\"true\""
-
-#~ msgid "SchemaExport"
-#~ msgstr "SchemaExport"
-
-#~ msgid "&lt;column&gt;"
-#~ msgstr "&lt;column&gt;"
-
-#~ 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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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&#x00f3;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&#x00ed;tulo es un tutorial introductorio de Hibernate. Comenzamos "
+"con una aplicaci&#x00f3;n simple de l&#x00ed;nea de comandos usando un base "
+"de datos en-memoria y desarroll&#x00e1;ndola en f&#x00e1;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&#x00e1; concebido para usuarios nuevos de Hibernate pero "
+"requiere conocimiento en Java y SQL. Est&#x00e1; basado en un tutorial de "
+"Michael Gloegl. Las bibliotecas de terceros que mencionamos son para JDK 1.4 "
+"y 5.0. Podr&#x00ed;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&#x00f3;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&#x00f3;n simple de Hibenate basada en "
+"consola. Usamos usamos una base de datos en-memoria (HSQL DB), de modo que "
+"no necesitamos instalar ning&#x00fa;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&#x00f3;n peque&#x00f1;a de base de "
+"datos que pueda almacenar eventos que queremos atender, e informaci&#x00f3;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 &#x00e9;l todas las bibliotecas Java que necesitamos. Descarga la "
+"distribuci&#x00f3;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&#x00ed;nimo de bibliotecas requeridas para Hibernate "
+"(observa que tambi&#x00e9;n hemos copiado hibernate3.jar, el fichero "
+"principal). Ver el fichero <literal>README.txt</literal> en el directorio "
+"<literal>lib/</literal> de la distribuci&#x00f3;n de Hibernate para m&#x00e1;"
+"s informaci&#x00f3;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&#x00e1;ndar "
+"de JavaBean para m&#x00e9;todos getter y setter de propiedad, as&#x00ed; "
+"como visibilidad privada para los campos. Esto es un dise&#x00f1;o "
+"recomendado, aunque no requerido. Hibernate tambi&#x00e9;n puede acceder a "
+"los campos directamente; el beneficio de los m&#x00e9;todos de acceso es la "
+"robustez para la refactorizaci&#x00f3;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 &#x00fa;nico de "
+"identificador para un evento en particular. Todas las clase de entidad "
+"persistentes ( tambi&#x00e9;n hay clases dependientes menos importantes) "
+"necesitar&#x00e1;n una propiedad identificadora similar si queremos usar el "
+"conjunto completo de funcionalidades de Hibernate. De hecho, la mayor&#x00ed;"
+"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&#x00f3;n. Sin embargo, usualmente no manipulamos la "
+"identidad de un objeto, por lo tanto el m&#x00e9;todo setter debe ser "
+"privado. S&#x00f3;lo Hibernate asignar&#x00e1; identificadores cuando un "
+"objeto sea salvado. Puedes ver que Hibernate puede acceder a m&#x00e9;todos "
+"de acceso p&#x00fa;blicos, privados y protegidos, tanto como directamente a "
+"campos (p&#x00fa;blicos, privados y protegidos). La elecci&#x00f3;n "
+"est&#x00e1; en ti, y puedes ajustarla a tu dise&#x00f1;o de aplicaci&#x00f3;"
+"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&#x00f3;n Java. El constructor puede ser privado, sin embargo, la "
+"visibilidad de paquete es requerida para la generaci&#x00f3;n de proxies en "
+"tiempo de ejecuci&#x00f3;n y la recuperaci&#x00f3;n de datos sin "
+"instrumentaci&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;mo cargar y almacenar objetos de la clase "
+"persistente. Aqu&#x00ed; es donde el fichero de mapeo de Hibernate entra en "
+"juego. El fichero de mapeo le dice a Hibernate a qu&#x00e9; tabla en la base "
+"de datos tiene que acceder, y qu&#x00e9; 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&#x00e1;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&#x00f3;n de los elementos y atributos XML de mapeo en tu editor "
+"o IDE. Debes tambi&#x00e9;n abrir el fichero DTD en tu editor de texto. Es "
+"la forma m&#x00e1;s f&#x00e1;cil para tener un panorama de todos los "
+"elementos y atributos y ver los valores por defectos, as&#x00ed; como "
+"algunos comentarios. Nota que Hibernate no cargar&#x00e1; el fichero DTD de "
+"la web, sino que primero buscar&#x00e1; en el classpath de la "
+"aplicaci&#x00f3;n. El fichero DTD est&#x00e1; inclu&#x00ed;do en "
+"<literal>hibernate3.jar</literal> as&#x00ed; como tambi&#x00e9;n en el "
+"directorio <literal>src/</literal> de la distribuci&#x00f3;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&#x00f3;n de DTD en futuros ejemplos para acortar el "
+"c&#x00f3;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&#x00ed;a haber m&#x00e1;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&#x00f3;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 &#x00fa;nico a la clave primaria de la "
+"tabla. Adem&#x00e1;s, como no queremos cuidar del manejo de este "
+"identificador, configuramos la estrategia de generaci&#x00f3;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&#x00f3;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&#x00e1; los m&#x00e9;todos getter y setter "
+"para acceder a la propiedad. El attributo de columna dice a Hibernate "
+"cu&#x00e1;l columna de la tabla <literal>EVENTS</literal> usamos para esta "
+"clave primaria. El elemento anidado <literal>generator</literal> especifica "
+"la estrategia de generaci&#x00f3;n de identificadores, en este caso usamos "
+"<literal>increment</literal>, que es un m&#x00e9;todo muy simple de "
+"incremento de n&#x00fa;mero en-memoria &#x00fa;til mayormente para testeo (y "
+"tutoriales). Hibernate tambi&#x0e9;n soporta identificadores generados por "
+"base de datos, globalmente &#x00fa;nicos, as&#x00ed; como tambi&#x00e9;n "
+"asignados por aplicaci&#x00f3;n (o cualquier estrategia para la que hayas "
+"escrito una extensi&#x00f3;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&#x00ed;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&#x00e1;les m&#x00e9;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&#x00e9; 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&#x00ed;a de las bases de datos, "
+"as&#x00ed; 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&#x00f3;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&#x00ed;as "
+"esperar, tipos de datos Java. Tampoco son tipos de base de datos SQL. Estos "
+"tipos son los llamados as&#x00ed; <emphasis>Tipos de mapeo de Hibernate</"
+"emphasis>, convertidores que pueden traducir de tipos Java a SQL y vice "
+"versa. De nuevo, Hibernate intentar&#x00e1; determinar la conversi&#x00f3;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&#x00f3;n "
+"autom&#x00e1;tica (usando reflecci&#x00f3;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&#x00e1; a una "
+"columna <literal>date</literal>, <literal>timestamp</literal> o "
+"<literal>time</literal>. Declaramos que queremos preservar la "
+"informaci&#x00f3;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&#x00f3;ximo al fichero de c&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00ed;z del "
+"directorio de desarrollo. All&#x00ed; es donde HSQL DB almacenar&#x00e1; 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&#x00f3;n que se conecta a esta base de "
+"datos, de modo que necesita informaci&#x00f3;n de conexi&#x00f3;n. Las "
+"conexiones se hacen a trav&#x00e9;s de un pool de conexiones JDBC, que "
+"tamb&#x00e9;n tenemos que configurar. La distribuci&#x00f3;n de Hibernate "
+"contiene muchas herramientas de pooling de conexiones JDBC de c&#x00f3;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&#x00f3;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&#x00f3;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&#x00e1;s sofisticado, o "
+"incluso una configuraci&#x00f3;n completamente program&#x00e1;tica. La "
+"mayor&#x00ed;a de los usuarios prefieren el fichero de configuraci&#x00f3;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>&lt;session-factory&gt;</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&#x00f3;n XML usa un DTD diferente. Configuramos "
+"la <literal>SessionFactory</literal> de Hibernate, una f&#x00e1;brica global "
 "responsable de una base de datos en particular. Si tienes varias bases de "
 "datos, usa varias configuraciones <literal>&lt;session-factory&gt;</"
-"literal> , usualmente en varios ficheros de configuración (para un arranque "
-"más fácil)."
+"literal> , usualmente en varios ficheros de configuraci&#x00f3;n (para un "
+"arranque m&#x00e1;s f&#x00e1;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&#x00f3;n necesaria para la conexi&#x00f3;n JDBC. El elemento de "
+"dialecto <literal>property</literal> especifica la variante de SQL en "
+"particular que genera Hibernate. La opci&#x00f3;n <literal>hbm2ddl.auto</"
+"literal> activa la generaci&#x00f3;n autom&#x00e1;tica de esquemas de base "
+"de datos, directamente en la base de datos. Esto, por supuesto, puede "
+"desactivarse (quitando la opci&#x00f3;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&#x00f3;digo fuente, de modo "
+"que termine ubicado en la rai&#x00ed;z del classpath. Hibernate busca "
+"autom&#x00e1;ticamente un fichero llamado <literal>hibernate.cfg.xml</"
+"literal> en la ra&#x00ed;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&#x00e1;s tener Ant "
+"instalado. Obt&#x00e9;nlo de <ulink url=\"http://ant.apache.org/bindownload."
+"cgi\">P&#x00e1;gina de descarga de Ant</ulink>. No se cubrir&#x00e1; "
+"aqu&#x00ed; c&#x00f3;mo instalar Ant. Por favor refi&#x00e9;rete al <ulink "
+"url=\"http://ant.apache.org/manual/index.html\"> Manual de Ant</ulink>. "
+"Despu&#x00e9;s que hayas instalado Ant, podemos comenzar a crear el "
+"buildfile. Ser&#x00e1; 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&#x00f3;n de Ant est&#x00e1; 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&#x00f3;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&#x00f3;n b&#x00e1;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&#x00e1; a Ant que agregue todos los ficheros en el directorio lib "
+"que terminen con <literal>.jar</literal> al classpath usado para la "
+"compilaci&#x00f3;n. Tambi&#x00e9;n copiar&#x00e1; todos los ficheros que no "
+"sean c&#x00f3;digo Java al directorio objetivo, por ejemplo, ficheros de "
+"configuraci&#x00f3;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&#x00f3;n de alg&#x00fa;n "
+"c&#x00f3;digo de infraestructura. Tenemos que arrancar Hibernate. Este "
+"arranque incluye construir un objeto <literal>SessionFactory</literal> "
+"global y almacenarlo en alg&#x00fa;n sitio de f&#x00e1;cil acceso en el "
+"c&#x00f3;digo de aplicaci&#x00f3;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&#x00ed; llamado patr&#x00f3;n <emphasis>Sesi&#x00f3;n de Hebra Local "
+"(ThreadLocal Session)</emphasis> es &#x00fa;til aqu&#x00ed;; mantenemos la "
+"unidad de trabajo actual asociada a la hebra actual. Echemos una mirada a la "
+"implementaci&#x00f3;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 &#x00f3;lo produce la <literal>SessionFactory</literal> global "
+"en su inicializador static (llamado s&#x00f3;lo una vez por la JVM al cargar "
+"la clase), sino que tambi&#x00e9;n tiene una variable <literal>ThreadLocal</"
+"literal> para tener la <literal>Session</literal> para la hebra actual. No "
+"importa cu&#x00e1;ndo llames a <literal>HibernateUtil.currentSession()</"
+"literal>, siempre devolver&#x00e1; 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&#x00fa;rate de entender el concepto Java de una variable local a una "
+"hebra antes de usar esta ayuda. Una clase <literal>HibernateUtil</literal> "
+"m&#x00e1;s potente puede encontrarse en <literal>CaveatEmptor</literal>, "
+"http://caveatemptor.hibernate.org/, as&#x00ed; 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&#x00e1; autom&#x00e1;ticamente ligada a la "
+"transacci&#x00f3;n JTA actual, y puedes buscar la <literal>SessionFactory</"
+"literal> a trav&#x00e9;s de JNDI. Si usas JBoss AS, Hibernate puede ser "
+"desplegado como un servicio de sistema manejado y autom&#x00e1;ticamente "
+"ligar&#x00e1; 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&#x00e9;n debe compilar sin problemas. Finalmente necesitamos "
+"configurar un sistema de logging (registro). Hibernate usa commons logging y "
+"te deja la elecci&#x00f3;n entre Log4J y logging de JDK 1.4. La mayor&#x00ed;"
+"a de los desarrolladores prefieren Log4J: copia <literal>log4j.properties</"
+"literal> de la distribuci&#x00f3;n de Hibernate (est&#x00e1; 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&#x00f3;n de ejemplo y cambia los ajustes si te gusta tener una "
+"salida m&#x00e1;s verborr&#x00e1;gica. Por defecto, s&#x00f3;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&#x00e1; completa, y estamos listos para "
+"hacer alg&#x00fa;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&#x00e9;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&#x00ed;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&#x00f3;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&#x00ed;a "
+"sorprenderte que tengamos una API adicional, <literal>Transaction</literal>. "
+"Esto implica que una unidad de trabajo puede ser \"m&#x00e1;s larga\" que "
+"una sola transacci&#x00f3;n de base de datos; imagina una unidad de trabajo "
+"que se abarca varios ciclos petici&#x00f3;n/respuesta HTTP (por ejemplo, un "
+"di&#x00e1;logo asistente) en una aplicaci&#x00f3;n web. Separar las "
+"transacciones de base de datos de \"las unidades de trabajo de la "
+"aplicaci&#x00f3;n desde el punto de vista del usuario\" es uno de los "
+"conceptos b&#x00e1;sicos de dise&#x00f1;o de Hibernate. Llamamos una unidad "
+"de trabajo larga <emphasis>Transacci&#x00f3;n de Aplicaci&#x00f3;n</"
+"emphasis>, usualmente encapsulando varias transacciones de base de datos "
+"m&#x00e1;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&#x00e9; es lo que hacen <literal>Transaction.begin()</literal> y "
+"<literal>commit()</literal>? ¿D&#x00f3;nde est&#x00e1; 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&#x00f3;n de base de datos por ti mismo (por ejemplo, "
+"llamando a <literal>session.connection.commit()</literal>), ligar&#x00ed;as "
+"el c&#x00f3;digo a un entorno de despliegue particular, en este JDBC directo "
+"no manejado. Estableciendo la f&#x00e1;brica de <literal>Transaction</"
+"literal> en tu configuraci&#x00f3;n de Hibernate puedes desplegar tu capa de "
+"persistencia en cualquier sitio. Echa una mirada al <xref linkend="
+"\"transactions\"/> para m&#x00e1;s informaci&#x00f3;n sobre manejo y "
+"demarcaci&#x00f3;n de transacciones. Hemos saltado tambi&#x00e9;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&#x00f3;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&#x00ed;"
+"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&#x00e9;s de la compilaci&#x00f3;n, a Hibernate arrancando "
+"y, dependiendo de tu configuraci&#x00f3;n mucha salida de registro (log). Al "
+"final encontrar&#x00e1;s la siguiente l&#x00ed;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&#x00e1;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&#x00e9;ramos listar acontecimientos almacenados tambi&#x00e9;n, "
+"as&#x00ed; que agregamos una opci&#x00f3;n al m&#x00e9;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&#x00e9;n un nuevo m&#x00e9;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&#x00ed; 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&#x00e1; el SQL apropiado, lo enviar&#x00e1; a la base de datosy "
+"poblar&#x00e1; los objetos <literal>Event</literal> con datos. Puedes, por "
+"supuesto, crear consultas m&#x00e1;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&#x00f3;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&#x00f3;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&#x00f3;n entre estas dos entidades. Obviamente, "
+"las personas pueden participar en eventos, y los eventos tienen "
+"participantes. Las cuestiones de dise&#x00f1;o con que tenemos que tratar "
+"son: direccionalidad, multiplicidad y comportamiento de colecci&#x00f3;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&#x00f3;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&#x00f3;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&#x00ed;cita, llamando "
+"a <literal>aPerson.getEvents()</literal>. Usamos una colecci&#x00f3;n Java, "
+"un <literal>Set</literal>, porque la colecci&#x00f3;n no contendr&#x00e1; "
+"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&#x00f1;ado asociaciones unidireccionales "
+"multivaluadas, implementadas con un <literal>Set</literal>. Escribamos el "
+"c&#x00f3;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&#x00f3;n, piensa sobre el otro lado. "
+"Claramente, podemos mantener esto solamente unidireccional. O podemos crear "
+"otra colecci&#x00f3;n en el <literal>Event</literal>, si queremos ser "
+"capaces de navegarlos bidireccionalmente; por ejemplo, <literal>anEvent."
+"getParticipants()</literal>. Esta es una elecci&#x00f3;n de dise&#x00f1;o "
+"que recae en ti, pero lo que est&#x00e1; claro de esta discusi&#x00f3;n es "
+"la multiplicidad de la asociaci&#x00f3;n: \"multi\" valuada a ambos lados, "
+"llamamos a esto una asociaci&#x00f3;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>&lt;set&gt;</"
 "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>&lt;set&gt;</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&#x00f3;n, siendo el "
+"m&#x00e1;s com&#x00fa;n un <literal>&lt;set&gt;</literal>. Para una "
+"asociaci&#x00f3;n muchos-a-muchos (o relaci&#x00f3;n de entidad <emphasis>n:"
+"m</emphasis>), se necesita una tabla de asociaci&#x00f3;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&#x00f3;n, para el lado de la persona, se define con el elemento "
 "<literal>&lt;key&gt;</literal>. El nombre de columna para el lado del evento "
 "se define con el atributo <literal>column</literal> del <literal>&lt;many-to-"
-"many&gt;</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&gt;</literal>. Tambi&#x00e9;n tienes que decirle a Hibernate la clase "
+"de los objetos en tu colecci&#x00f3;n (correcto: la clase del otro lado de "
+"la colecci&#x00f3;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&#x00f3;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&#x00e9;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&#x00e9;s de cargar una <literal>Person</literal> y un <literal>Event</"
+"literal>, simplemente modifica la colecci&#x00f3;n usando sus m&#x00e9;todos "
+"normales. Como puedes ver, no hay una llamada expl&#x00ed;cita a "
+"<literal>update()</literal> o <literal>save()</literal>. Hibernate detecta "
+"autom&#x00e1;ticamente que la colecci&#x00f3;n ha sido modificada y necesita "
+"ser salvada. Esto es llamado <emphasis>chequeo sucio autom&#x00f3;tico "
+"(automatic dirty checking)</emphasis>, y tambi&#x00e9;n puedes intentarlo "
+"modificando el nombre de la propiedad de fecha de cualquiera de tus objetos. "
+"Mientras est&#x00e9;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&#x00e1;"
+"s. El proceso de sincronizaci&#x00f3;n del estado de memoria con la base de "
+"datos, usualmente s&#x00f3;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&#x00ed;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&#x00e1; en estado persistente (si antes era persistente "
+"llamamos a este estado <emphasis>separado (detached) </emphasis>). En "
+"c&#x00f3;digo (no muy realista), esto se ver&#x00ed;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&#x00ed;as decir que la liga a una nueva unidad de trabajo, de "
+"modo que cualquier modificaci&#x00f3;n que le hagas mientras est&#x00e9; "
+"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&#x00f3;n actual, pero es un "
+"concepto importante que puedes dise&#x00f1;ar en tu propia aplicaci&#x00f3;"
+"n. Por ahora, completa este ejercicio agregando una nueva acci&#x00f3;n al "
+"m&#x00e9;todo main de <literal>EventManager</literal> y ll&#x00e1;mala desde "
+"la l&#x00ed;nea de comandos. Si necesitas los identificadores de una persona "
+"o evento, el m&#x00e9;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&#x00f3;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&#x00ed;pico, usualmente \"menos importantes\". "
+"Algunos ya los habr&#x00e1;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&#x00f3;lo pueden "
+"encontrarse en el JDK (de hecho, en una aplicaci&#x00f3;n Hibernate todas "
+"las clases del JDK son consideradas tipos de valor), sino que adem&#x00e1;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&#x00e9;n puedes dise&#x00f1;ar una colecci&#x00f3;n de tipos de valor. "
+"Esto es conceptualmente muy diferente de una colecci&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;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&#x00f3;n no contiene "
+"referencias a otra entidad, sino una colecci&#x00f3;n de elementos de tipo "
+"<literal>String</literal> (el nombre en min&#x00fa;sculas te dice que es un "
+"tipo/conversor de mapeo de Hibernate). Una vez m&#x00e1;s, el atributo "
+"<literal>table</literal> del elemento <literal>set</literal> determina el "
+"nombre de la tabla para la colecci&#x00f3;n. El elemento <literal>key</"
+"literal> define el nombre de la columna clave for&#x00e1;nea en la tabla de "
+"colecci&#x00f3;n. El atributo <literal>column</literal> en el elemento "
+"<literal>element</literal> define el nombre de columna donde realmente "
+"ser&#x00e1;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&#x00f3;n es de hecho "
+"una clave compuesta, usando ambas columnas. Esto implica tambi&#x00e9;n que "
+"no pueden haber direcciones de email duplicadas por persona, que es "
+"exactamente la sem&#x00e1;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&#x00f3;n, al igual "
+"que hicimos antes enlazando personas y eventos. Es el mismo c&#x00f3;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&#x00f3;n bidireccional, haciendo "
+"que la asociaci&#x00f3;n entre persona y evento funcione desde ambos lados "
+"en Java. Por supuesto, el esquema de base de datos no cambia; todav&#x00ed;a "
+"necesitamos multiplicidad muchos-a-muchos. Una base de datos relacional es "
+"m&#x00e1;s flexible que un lenguaje de programaci&#x00f3;n de red, "
+"as&#x00ed; que no necesita nada parecido a una direcci&#x00f3;n de "
+"navegaci&#x00f3;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&#x00f3;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&#x00f3;n tambi&#x00e9;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&#x00ed; la adici&#x00f3;n m&#x00e1;s importante es "
+"el atributo <literal>inverse=\"true\"</literal> en el elemento <literal>set</"
+"literal> del mapeo de colecci&#x00f3;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&#x00f3;n "
+"sobre el enlace entre las dos. Esto ser&#x00e1; mucho m&#x00e1;s f&#x00e1;"
+"cil de entender una vez que veas c&#x00f3;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&#x00e1;ntica normal de "
+"Java. ¿C&#x00f3;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&#x00f3;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&#x00f3;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&#x00e9;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&#x00e9;todos get y set para esta colecci&#x00f3;n son ahora "
+"protegidos. Esto le permite a clases en el mismo paquete y a subclases "
+"acceder a&#x00fa;n a los m&#x00e9;todos, pero previene a cualquier otro de "
+"ensuciarse con la colecci&#x00f3;n directamente (bueno, casi). Probablemente "
+"debas hacer lo mismo con la colecci&#x00f3;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&#x00e9; del atributo de mapeo <literal>inverse</literal>? Para ti, y "
+"para Java, un enlace bidireccional es simplemente cuesti&#x00f3;n de "
+"establecer correctamente las referencias a ambos lados. Hibernate, sin "
+"embargo, no tiene suficiente informaci&#x00f3;n para arreglar correctamente "
+"sentencias <literal>INSERT</literal> y <literal>UPDATE</literal> de SQL "
+"(para evitar violaci&#x00f3;n de restricciones), y necesita alguna ayuda "
+"para manejar asociaciones bidireccionales apropiadamente. El hacer un lado "
+"de la asociaci&#x00f3;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&#x00f3;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&#x00f3;n uno-a-muchos debe "
+"ser el lado-de-muchos. En una asociaci&#x00f3;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>&mdash;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&mdash;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&#x00f3; los fundamentos de escribir una simple "
+"aplicaci&#x00f3;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&#x00fa;a navegando a "
+"trav&#x00e9;s de la tabla de contenidos de la documentaci&#x00f3;n de "
+"referencia para los temas que encuentres interesantes. Los m&#x00e1;s "
+"consultados son procesamiento transaccional (<xref linkend=\"transactions\"/"
+">), rendimiento de recuperaci&#x00f3;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&#x00e1;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 at ADDRESS>\n"
-"Language-Team: LANGUAGE <LL at 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>&lt;one-to-"
 "many&gt;</literal> mapping, the data might look more like this:"
@@ -351,9 +379,7 @@
 "Si estableces <literal>embed-xml=\"true\"</literal> en el mapeo <literal>&lt;"
 "one-to-many&gt;</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-->"




More information about the hibernate-commits mailing list