Hibernate SVN: r14154 - core/trunk/documentation/manual/translations/es-ES/content.
by hibernate-commits@lists.jboss.org
Author: xhuang(a)jboss.com
Date: 2007-10-27 08:56:49 -0400 (Sat, 27 Oct 2007)
New Revision: 14154
Modified:
core/trunk/documentation/manual/translations/es-ES/content/architecture.po
core/trunk/documentation/manual/translations/es-ES/content/association_mapping.po
core/trunk/documentation/manual/translations/es-ES/content/basic_mapping.po
core/trunk/documentation/manual/translations/es-ES/content/batch.po
core/trunk/documentation/manual/translations/es-ES/content/best_practices.po
core/trunk/documentation/manual/translations/es-ES/content/collection_mapping.po
core/trunk/documentation/manual/translations/es-ES/content/component_mapping.po
core/trunk/documentation/manual/translations/es-ES/content/configuration.po
core/trunk/documentation/manual/translations/es-ES/content/events.po
core/trunk/documentation/manual/translations/es-ES/content/example_mappings.po
core/trunk/documentation/manual/translations/es-ES/content/example_parentchild.po
core/trunk/documentation/manual/translations/es-ES/content/example_weblog.po
core/trunk/documentation/manual/translations/es-ES/content/filters.po
core/trunk/documentation/manual/translations/es-ES/content/inheritance_mapping.po
core/trunk/documentation/manual/translations/es-ES/content/performance.po
core/trunk/documentation/manual/translations/es-ES/content/persistent_classes.po
core/trunk/documentation/manual/translations/es-ES/content/preface.po
core/trunk/documentation/manual/translations/es-ES/content/query_criteria.po
core/trunk/documentation/manual/translations/es-ES/content/query_hql.po
core/trunk/documentation/manual/translations/es-ES/content/query_sql.po
core/trunk/documentation/manual/translations/es-ES/content/session_api.po
core/trunk/documentation/manual/translations/es-ES/content/toolset_guide.po
core/trunk/documentation/manual/translations/es-ES/content/transactions.po
core/trunk/documentation/manual/translations/es-ES/content/tutorial.po
core/trunk/documentation/manual/translations/es-ES/content/xml.po
Log:
PO generated via es-ES XML and English XML
Modified: core/trunk/documentation/manual/translations/es-ES/content/architecture.po
===================================================================
--- core/trunk/documentation/manual/translations/es-ES/content/architecture.po 2007-10-27 12:53:39 UTC (rev 14153)
+++ core/trunk/documentation/manual/translations/es-ES/content/architecture.po 2007-10-27 12:56:49 UTC (rev 14154)
@@ -1,216 +1,580 @@
-#, fuzzy
msgid ""
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:21
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: architecture.xml:21
+#, no-c-format
msgid "Architecture"
msgstr "Arquitectura"
-#: index.docbook:24
+#. Tag: title
+#: architecture.xml:24
+#, no-c-format
msgid "Overview"
-msgstr "Visión General"
+msgstr "Visión General"
-#: index.docbook:26
+#. Tag: para
+#: architecture.xml:26
+#, no-c-format
msgid "A (very) high-level view of the Hibernate architecture:"
-msgstr "Una visión a (muy) alto nivel de la arquitectura de Hibernate:"
+msgstr "Una visión a (muy) alto nivel de la arquitectura de Hibernate:"
-#: 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."
+#. Tag: para
+#: architecture.xml:39
+#, no-c-format
+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."
-#: 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 will show the two extremes. The \"lite\" architecture has the application 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:"
+#. Tag: para
+#: architecture.xml:44
+#, no-c-format
+msgid ""
+"We would like to show a more detailed view of the runtime architecture. "
+"Unfortunately, Hibernate is flexible and supports several approaches. We "
+"will show the two extremes. The \"lite\" architecture has the application "
+"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:"
-#: 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."
+#. Tag: para
+#: architecture.xml:61
+#, no-c-format
+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."
-#: index.docbook:75
+#. Tag: para
+#: architecture.xml:75
+#, fuzzy, no-c-format
msgid "Heres some definitions of the objects in the diagrams:"
-msgstr "He aquí algunas definiciones de los objetos en los diagramas:"
+msgstr ""
+"He aquí algunas definiciones de los objetos en los diagramas: <placeholder-1/"
+">"
-#: index.docbook:80
+#. Tag: term
+#: architecture.xml:80
+#, no-c-format
msgid "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
msgstr "SessionFactory (<literal>org.hibernate.SessionFactory</literal>)"
-#: 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 <literal>ConnectionProvider</literal>. Might hold an optional (second-level) 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."
+#. Tag: para
+#: architecture.xml:82
+#, no-c-format
+msgid ""
+"A threadsafe (immutable) cache of compiled mappings for a single database. A "
+"factory for <literal>Session</literal> and a client of "
+"<literal>ConnectionProvider</literal>. Might hold an optional (second-level) "
+"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."
-#: index.docbook:92
+#. Tag: term
+#: architecture.xml:92
+#, no-c-format
msgid "Session (<literal>org.hibernate.Session</literal>)"
msgstr "Session (<literal>org.hibernate.Session</literal>)"
-#: 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 for <literal>Transaction</literal>. Holds a mandatory (first-level) cache of 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."
+#. Tag: para
+#: architecture.xml:94
+#, no-c-format
+msgid ""
+"A single-threaded, short-lived object representing a conversation between "
+"the application and the persistent store. Wraps a JDBC connection. Factory "
+"for <literal>Transaction</literal>. Holds a mandatory (first-level) cache of "
+"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."
-#: index.docbook:104
+#. Tag: term
+#: architecture.xml:104
+#, no-c-format
msgid "Persistent objects and collections"
msgstr "Objetos y colecciones persistentes"
-#: index.docbook:106
-msgid "Short-lived, single threaded objects containing persistent state and business function. These might be ordinary JavaBeans/POJOs, the only special thing about them is that they are currently associated with (exactly one) <literal>Session</literal>. As soon as the <literal>Session</literal> is closed, they will be detached and free to use in any application layer (e.g. 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)."
+#. Tag: para
+#: architecture.xml:106
+#, no-c-format
+msgid ""
+"Short-lived, single threaded objects containing persistent state and "
+"business function. These might be ordinary JavaBeans/POJOs, the only special "
+"thing about them is that they are currently associated with (exactly one) "
+"<literal>Session</literal>. As soon as the <literal>Session</literal> is "
+"closed, they will be detached and free to use in any application layer (e.g. "
+"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)."
-#: index.docbook:117
+#. Tag: term
+#: architecture.xml:117
+#, no-c-format
msgid "Transient and detached objects and collections"
msgstr "Objetos y colecciones transitorios y separados"
-#: 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 application and not (yet) persisted or they may have been instantiated by a closed <literal>Session</literal>."
-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."
+#. Tag: para
+#: architecture.xml:119
+#, no-c-format
+msgid ""
+"Instances of persistent classes that are not currently associated with a "
+"<literal>Session</literal>. They may have been instantiated by the "
+"application and not (yet) persisted or they may have been instantiated by a "
+"closed <literal>Session</literal>."
+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."
-#: index.docbook:128
+#. Tag: term
+#: architecture.xml:128
+#, no-c-format
msgid "Transaction (<literal>org.hibernate.Transaction</literal>)"
msgstr "Transaction (<literal>org.hibernate.Transaction</literal>)"
-#: 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, JTA or CORBA transaction. A <literal>Session</literal> might span several <literal>Transaction</literal>s in some cases. However, transaction 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</literal>, nunca es opcional!"
+#. Tag: para
+#: architecture.xml:130
+#, no-c-format
+msgid ""
+"(Optional) A single-threaded, short-lived object used by the application to "
+"specify atomic units of work. Abstracts application from underlying JDBC, "
+"JTA or CORBA transaction. A <literal>Session</literal> might span several "
+"<literal>Transaction</literal>s in some cases. However, transaction "
+"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</"
+"literal>, nunca es opcional!"
-#: index.docbook:141
-msgid "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)"
-msgstr "ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</literal>)"
+#. Tag: term
+#: architecture.xml:141
+#, no-c-format
+msgid ""
+"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
+"literal>)"
+msgstr ""
+"ConnectionProvider (<literal>org.hibernate.connection.ConnectionProvider</"
+"literal>)"
-#: 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."
+#. Tag: para
+#: architecture.xml:143
+#, no-c-format
+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."
-#: index.docbook:151
-msgid "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
-msgstr "TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
+#. Tag: term
+#: architecture.xml:151
+#, no-c-format
+msgid ""
+"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
+msgstr ""
+"TransactionFactory (<literal>org.hibernate.TransactionFactory</literal>)"
-#: 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."
+#. Tag: para
+#: architecture.xml:153
+#, no-c-format
+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."
-#: index.docbook:160
+#. Tag: emphasis
+#: architecture.xml:160
+#, no-c-format
msgid "Extension Interfaces"
-msgstr "Interfaces de Extensión"
+msgstr "Interfaces de Extensión"
-#: 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 implementar para modificar a medida el comportamiento de tu capa de persistencia. Para más detalles, mira la documentación de la API."
+#. Tag: para
+#: architecture.xml:162
+#, no-c-format
+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 "
+"implementar para modificar a medida el comportamiento de tu capa de "
+"persistencia. Para más detalles, mira la documentación de la API."
-#: 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."
+#. Tag: para
+#: architecture.xml:171
+#, no-c-format
+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."
-#: index.docbook:179
+#. Tag: title
+#: architecture.xml:179
+#, no-c-format
msgid "Instance states"
msgstr "Estados de instancia"
-#: 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</emphasis>. The Hibernate <literal>Session</literal> object is the persistence context:"
-msgstr "Una instancia de una clase persistente puede estar en uno de tres estados diferentes, definidos respecto de su <emphasis>contexto de persistencia</emphasis>. El objeto <literal>Session</literal> de Hibernate es el contexto de persistencia:"
+#. Tag: para
+#: architecture.xml:180
+#, no-c-format
+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</"
+"emphasis>. The Hibernate <literal>Session</literal> object is the "
+"persistence context:"
+msgstr ""
+"Una instancia de una clase persistente puede estar en uno de tres estados "
+"diferentes, definidos respecto de su <emphasis>contexto de persistencia</"
+"emphasis>. El objeto <literal>Session</literal> de Hibernate es el contexto "
+"de persistencia:"
-#: index.docbook:188
+#. Tag: term
+#: architecture.xml:188
+#, no-c-format
msgid "transient"
msgstr "transitorio"
-#: 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 persistencia. No tiene identidad persistente (valor de clave primaria)."
+#. Tag: para
+#: architecture.xml:190
+#, no-c-format
+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 "
+"persistencia. No tiene identidad persistente (valor de clave primaria)."
-#: index.docbook:198
+#. Tag: term
+#: architecture.xml:198
+#, no-c-format
msgid "persistent"
msgstr "persistente"
-#: 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 the database. For a particular persistence context, Hibernate <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)."
+#. Tag: para
+#: architecture.xml:200
+#, no-c-format
+msgid ""
+"The instance is currently associated with a persistence context. It has a "
+"persistent identity (primary key value) and, perhaps, a corresponding row in "
+"the database. For a particular persistence context, Hibernate "
+"<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)."
-#: index.docbook:212
+#. Tag: term
+#: architecture.xml:212
+#, no-c-format
msgid "detached"
msgstr "separado"
-#: 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 has a persistent identity and, perhaps, a corrsponding row in the database. For detached instances, Hibernate makes no guarantees about the relationship between persistent identity and Java identity."
-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."
+#. Tag: para
+#: architecture.xml:214
+#, no-c-format
+msgid ""
+"The instance was once associated with a persistence context, but that "
+"context was closed, or the instance was serialized to another process. It "
+"has a persistent identity and, perhaps, a corrsponding row in the database. "
+"For detached instances, Hibernate makes no guarantees about the relationship "
+"between persistent identity and Java identity."
+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."
-#: index.docbook:229
+#. Tag: title
+#: architecture.xml:229
+#, no-c-format
msgid "JMX Integration"
-msgstr "Integración JMX"
+msgstr "Integración JMX"
-#: 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>."
+#. Tag: para
+#: architecture.xml:231
+#, no-c-format
+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>."
-#: 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:"
+#. Tag: para
+#: architecture.xml:237
+#, no-c-format
+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:"
-#: 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 transaction. This means you no longer have to manually open and close the <literal>Session</literal>, this becomes the job of a JBoss EJB interceptor. You also don't have to worry about transaction demarcation in your code anymore (unless you'd like to write a portable persistence layer of course, use the optional Hibernate <literal>Transaction</literal> API for this). You 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>."
+#. Tag: para
+#: architecture.xml:245
+#, no-c-format
+msgid ""
+"<emphasis>Session Management:</emphasis> The Hibernate <literal>Session</"
+"literal>'s life cycle can be automatically bound to the scope of a JTA "
+"transaction. This means you no longer have to manually open and close the "
+"<literal>Session</literal>, this becomes the job of a JBoss EJB interceptor. "
+"You also don't have to worry about transaction demarcation in your code "
+"anymore (unless you'd like to write a portable persistence layer of course, "
+"use the optional Hibernate <literal>Transaction</literal> API for this). You "
+"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>."
-#: 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 file), it supports all the usual configuration options of a Hibernate <literal>SessionFactory</literal>. However, you still have to name all your mapping files in the deployment descriptor. If you decide to use the optional HAR deployment, JBoss will automatically detect all mapping files in your HAR file."
-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."
+#. Tag: para
+#: architecture.xml:257
+#, no-c-format
+msgid ""
+"<emphasis>HAR deployment:</emphasis> Usually you deploy the Hibernate JMX "
+"service using a JBoss service deployment descriptor (in an EAR and/or SAR "
+"file), it supports all the usual configuration options of a Hibernate "
+"<literal>SessionFactory</literal>. However, you still have to name all your "
+"mapping files in the deployment descriptor. If you decide to use the "
+"optional HAR deployment, JBoss will automatically detect all mapping files "
+"in your HAR file."
+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."
-#: 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."
+#. Tag: para
+#: architecture.xml:268
+#, no-c-format
+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."
-#: 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\"/>."
+#. Tag: para
+#: architecture.xml:272
+#, no-c-format
+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\"/>."
-#: index.docbook:279
+#. Tag: title
+#: architecture.xml:279
+#, no-c-format
msgid "JCA Support"
msgstr "Soporte JCA:"
-#: 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."
+#. Tag: para
+#: architecture.xml:280
+#, no-c-format
+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."
-#: index.docbook:287
+#. Tag: title
+#: architecture.xml:287
+#, no-c-format
msgid "Contextual Sessions"
-msgstr ""
+msgstr "translator-credits"
-#: 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. 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:288
+#, no-c-format
+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. "
+"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."
msgstr ""
-#: index.docbook:297
-msgid "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:297
+#, no-c-format
+msgid ""
+"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."
msgstr ""
-#: 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 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:307
+#, no-c-format
+msgid ""
+"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."
msgstr ""
-#: index.docbook:314
-msgid "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:314
+#, no-c-format
+msgid ""
+"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."
msgstr ""
-#: 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."
+#. Tag: para
+#: architecture.xml:324
+#, no-c-format
+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 ""
-#: index.docbook:332
-msgid "<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current sessions are tracked by thread of execution. Again, see the Javadocs for details."
+#. Tag: para
+#: architecture.xml:332
+#, no-c-format
+msgid ""
+"<literal>org.hibernate.context.ThreadLocalSessionContext</literal> - current "
+"sessions are tracked by thread of execution. Again, see the Javadocs for "
+"details."
msgstr ""
-#: 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>."
+#. Tag: para
+#: architecture.xml:338
+#, no-c-format
+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 ""
-#: index.docbook:347
-msgid "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:347
+#, no-c-format
+msgid ""
+"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."
msgstr ""
-#: index.docbook:359
-msgid "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\"."
+#. Tag: para
+#: architecture.xml:359
+#, no-c-format
+msgid ""
+"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\"."
msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
Modified: core/trunk/documentation/manual/translations/es-ES/content/association_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/es-ES/content/association_mapping.po 2007-10-27 12:53:39 UTC (rev 14153)
+++ core/trunk/documentation/manual/translations/es-ES/content/association_mapping.po 2007-10-27 12:56:49 UTC (rev 14154)
@@ -1,881 +1,873 @@
-#, fuzzy
msgid ""
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:6
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: association_mapping.xml:6
+#, no-c-format
msgid "Association Mappings"
-msgstr "Mapeos de Asociación"
+msgstr "Mapeos de Asociación"
-#: index.docbook:9
+#. Tag: title
+#: association_mapping.xml:9
+#, no-c-format
msgid "Introduction"
-msgstr "Introducción"
+msgstr "Introducción"
-#: 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 unidirectional mappings, and then considering the bidirectional cases. We'll 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."
+#. Tag: para
+#: association_mapping.xml:11
+#, no-c-format
+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 "
+"unidirectional mappings, and then considering the bidirectional cases. We'll "
+"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."
-#: 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."
+#. Tag: para
+#: association_mapping.xml:19
+#, no-c-format
+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."
-#: 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."
+#. Tag: para
+#: association_mapping.xml:24
+#, no-c-format
+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."
-#: index.docbook:34
+#. Tag: title
+#: association_mapping.xml:34
+#, no-c-format
msgid "Unidirectional associations"
msgstr "Asociaciones Unidireccionales"
-#: index.docbook:37, index.docbook:108
+#. Tag: title
+#: association_mapping.xml:37 association_mapping.xml:108
+#, no-c-format
msgid "many to one"
msgstr "muchos a uno"
-#: 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."
+#. Tag: para
+#: association_mapping.xml:39
+#, no-c-format
+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."
-#: index.docbook:44
+#. Tag: programlisting
+#: association_mapping.xml:44
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:45, index.docbook:161
+#. Tag: programlisting
+#: association_mapping.xml:45 association_mapping.xml:161
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: index.docbook:50, index.docbook:121, index.docbook:185, index.docbook:225
+#. Tag: title
+#: association_mapping.xml:50 association_mapping.xml:121
+#: association_mapping.xml:185 association_mapping.xml:225
+#, no-c-format
msgid "one to one"
msgstr "uno a uno"
-#: 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."
+#. Tag: para
+#: association_mapping.xml:52
+#, no-c-format
+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."
-#: index.docbook:57
+#. Tag: programlisting
+#: association_mapping.xml:57
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:58, index.docbook:193
+#. Tag: programlisting
+#: association_mapping.xml:58 association_mapping.xml:193
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: 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)."
+#. Tag: para
+#: association_mapping.xml:60
+#, no-c-format
+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)."
-#: index.docbook:66
+#. Tag: programlisting
+#: association_mapping.xml:66
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:67, index.docbook:201
+#. Tag: programlisting
+#: association_mapping.xml:67 association_mapping.xml:201
+#, no-c-format
msgid ""
- "<![CDATA[\n"
- "create table Person ( personId bigint not null primary key )\n"
- "create table Address ( personId bigint not null primary key )\n"
- " ]]>"
+"<![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"
- " ]]>"
-#: index.docbook:72, index.docbook:94
+#. Tag: title
+#: association_mapping.xml:72 association_mapping.xml:94
+#, no-c-format
msgid "one to many"
msgstr "uno a muchos"
-#: 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."
+#. Tag: para
+#: association_mapping.xml:74
+#, no-c-format
+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."
-#: index.docbook:79
+#. Tag: programlisting
+#: association_mapping.xml:79
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:80
+#. Tag: programlisting
+#: association_mapping.xml:80
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: index.docbook:82
+#. Tag: para
+#: association_mapping.xml:82
+#, no-c-format
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."
+msgstr ""
+"Creemos que es mejor usar una tabla de unión para este tipo de asociación."
-#: index.docbook:91
+#. Tag: title
+#: association_mapping.xml:91
+#, no-c-format
msgid "Unidirectional associations with join tables"
-msgstr "Asociaciones unidireccionales con tablas de unión"
+msgstr "Asociaciones unidireccionales con tablas de unión"
-#: 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."
+#. Tag: para
+#: association_mapping.xml:96
+#, no-c-format
+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."
-#: index.docbook:102
+#. Tag: programlisting
+#: association_mapping.xml:102
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:103
+#. Tag: programlisting
+#: association_mapping.xml:103
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: 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."
+#. Tag: para
+#: association_mapping.xml:110
+#, no-c-format
+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."
-#: index.docbook:115
+#. Tag: programlisting
+#: association_mapping.xml:115
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:116
+#. Tag: programlisting
+#: association_mapping.xml:116
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: 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."
+#. Tag: para
+#: association_mapping.xml:123
+#, no-c-format
+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."
-#: index.docbook:128
+#. Tag: programlisting
+#: association_mapping.xml:128
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:129, index.docbook:233
+#. Tag: programlisting
+#: association_mapping.xml:129 association_mapping.xml:233
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: index.docbook:134, index.docbook:238
+#. Tag: title
+#: association_mapping.xml:134 association_mapping.xml:238
+#, no-c-format
msgid "many to many"
msgstr "muchos a muchos"
-#: 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>"
+#. Tag: para
+#: association_mapping.xml:136
+#, no-c-format
+msgid ""
+"Finally, we have a <emphasis>unidirectional many-to-many association</"
+"emphasis>."
+msgstr ""
+"Finalmente, tenemos una <emphasis>asociación unidireccional muchos-a-muchos</"
+"emphasis>"
-#: index.docbook:140
+#. Tag: programlisting
+#: association_mapping.xml:140
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:141, index.docbook:246
+#. Tag: programlisting
+#: association_mapping.xml:141 association_mapping.xml:246
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"<![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"
+" ]]>"
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"
- " ]]>"
-#: index.docbook:148
+#. Tag: title
+#: association_mapping.xml:148
+#, no-c-format
msgid "Bidirectional associations"
msgstr "Asociaciones Bidireccionales"
-#: index.docbook:151, index.docbook:211
+#. Tag: title
+#: association_mapping.xml:151 association_mapping.xml:211
+#, no-c-format
msgid "one to many / many to one"
msgstr "uno a muchos / muchos a uno"
-#: 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.)"
+#. Tag: para
+#: association_mapping.xml:153
+#, no-c-format
+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.)"
-#: index.docbook:159
+#. Tag: programlisting
+#: association_mapping.xml:159
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: 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 null</literal>, and let Hibernate manage the association from the collections side to maintain the index of each element (making the other side virtually inverse by setting <literal>update=\"false\"</literal> and <literal>insert=\"false\"</literal>):"
-msgstr "uno a uno"
+#. Tag: para
+#: association_mapping.xml:163
+#, no-c-format
+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 "
+"null</literal>, and let Hibernate manage the association from the "
+"collections side to maintain the index of each element (making the other "
+"side virtually inverse by setting <literal>update=\"false\"</literal> and "
+"<literal>insert=\"false\"</literal>):"
+msgstr ""
+"UNTRANSLATED! 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 null</literal>, and let Hibernate manage the association "
+"from the collections side to maintain the index of each element (making the "
+"other side virtually inverse by setting <literal>update=\"false\"</literal> "
+"and <literal>insert=\"false\"</literal>):"
-#: index.docbook:171
+#. Tag: programlisting
+#: association_mapping.xml:171
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Una <emphasis>asociación bidireccional uno-a-uno en una clave foránea</emphasis> es bastante común."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:173
-msgid "It is important that you define <literal>not-null=\"true\"</literal> on the <literal><key></literal> element of the collection mapping if the underlying foreign key column is <literal>NOT NULL</literal>. Don't only declare <literal>not-null=\"true\"</literal> on a possible nested <literal><column></literal> element, but on the <literal><key></literal> element."
+#. Tag: para
+#: association_mapping.xml:173
+#, no-c-format
+msgid ""
+"It is important that you define <literal>not-null=\"true\"</literal> on the "
+"<literal><key></literal> element of the collection mapping if the "
+"underlying foreign key column is <literal>NOT NULL</literal>. Don't only "
+"declare <literal>not-null=\"true\"</literal> on a possible nested "
+"<literal><column></literal> element, but on the <literal><key></"
+"literal> element."
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>]]>"
+"UNTRANSLATED! It is important that you define <literal>not-null=\"true\"</"
+"literal> on the <literal><key></literal> element of the collection "
+"mapping if the underlying foreign key column is <literal>NOT NULL</literal>. "
+"Don't only declare <literal>not-null=\"true\"</literal> on a possible nested "
+"<literal><column></literal> element, but on the <literal><key></"
+"literal> element."
-#: 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 primaria</emphasis> usa el generador de id especial."
+#. Tag: para
+#: association_mapping.xml:187
+#, no-c-format
+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."
-#: index.docbook:192
+#. Tag: programlisting
+#: association_mapping.xml:192
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:195
-msgid "A <emphasis>bidirectional one-to-one association on a primary key</emphasis> uses the special id generator."
-msgstr "Asociaciones bidireccionales con tablas de unión"
+#. Tag: para
+#: association_mapping.xml:195
+#, no-c-format
+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."
-#: index.docbook:200
+#. Tag: programlisting
+#: association_mapping.xml:200
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "uno a muchos / muchos a uno"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:208
+#. Tag: title
+#: association_mapping.xml:208
+#, no-c-format
msgid "Bidirectional associations with join tables"
+msgstr "Asociaciones bidireccionales con tablas de unión"
+
+#. Tag: para
+#: association_mapping.xml:213
+#, no-c-format
+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 ""
- "<![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>]]>"
+"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."
-#: 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 "uno a uno"
+#. Tag: programlisting
+#: association_mapping.xml:219
+#, no-c-format
+msgid ""
+"<![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>]]>"
+msgstr ""
-#: index.docbook:219
+#. Tag: programlisting
+#: association_mapping.xml:220
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Una <emphasis>asociación bidireccional uno-a-uno en una tabla de unión</emphasis> es inusual en extremo, pero posible."
+"<![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"
+" ]]>"
+msgstr ""
-#: index.docbook:220
+#. Tag: para
+#: association_mapping.xml:227
+#, no-c-format
msgid ""
- "<![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"
- " ]]>"
+"A <emphasis>bidirectional one-to-one association on a join table</emphasis> "
+"is extremely unusual, but possible."
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>]]>"
+"Una <emphasis>asociación bidireccional uno-a-uno en una tabla de unión</"
+"emphasis> es inusual en extremo, pero posible."
-#: index.docbook:227
-msgid "A <emphasis>bidirectional one-to-one association on a join table</emphasis> is extremely unusual, but possible."
-msgstr "muchos a muchos"
-
-#: index.docbook:232
+#. Tag: programlisting
+#: association_mapping.xml:232
+#, no-c-format
msgid ""
- "<![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=\"person\"\n"
- " column=\"personId\" \n"
- " not-null=\"true\"\n"
- " unique=\"true\"/>\n"
- " </join>\n"
- "</class>]]>"
-msgstr "Finalmente, tenemos una <emphasis>asociación bidireccional muchos-a-muchos</emphasis>."
+"<![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=\"person\"\n"
+" column=\"personId\" \n"
+" not-null=\"true\"\n"
+" unique=\"true\"/>\n"
+" </join>\n"
+"</class>]]>"
+msgstr ""
-#: index.docbook:240
-msgid "Finally, we have a <emphasis>bidirectional many-to-many association</emphasis>."
+#. Tag: para
+#: association_mapping.xml:240
+#, no-c-format
+msgid ""
+"Finally, we have a <emphasis>bidirectional many-to-many association</"
+"emphasis>."
msgstr ""
+"Finalmente, tenemos una <emphasis>asociación bidireccional muchos-a-muchos</"
+"emphasis>."
-#: index.docbook:244
+#. Tag: programlisting
+#: association_mapping.xml:244
+#, no-c-format
msgid ""
- "<![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"
- " <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
- " <key column=\"addressId\"/>\n"
- " <many-to-many column=\"personId\"\n"
- " class=\"Person\"/>\n"
- " </set>\n"
- "</class>]]>"
+"<![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"
+" <set name=\"people\" inverse=\"true\" table=\"PersonAddress\">\n"
+" <key column=\"addressId\"/>\n"
+" <many-to-many column=\"personId\"\n"
+" class=\"Person\"/>\n"
+" </set>\n"
+"</class>]]>"
msgstr ""
-#: index.docbook:253
+#. Tag: title
+#: association_mapping.xml:253
+#, no-c-format
msgid "More complex association mappings"
-msgstr ""
+msgstr "translator-credits"
-#: index.docbook:255
-msgid "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: para
+#: association_mapping.xml:255
+#, no-c-format
+msgid ""
+"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:"
msgstr ""
-#: index.docbook:264
+#. Tag: programlisting
+#: association_mapping.xml:264
+#, no-c-format
msgid ""
- "<![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\"/>]]>"
+"<![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\"/>]]>"
msgstr ""
-#: index.docbook:266
-msgid "Then we can map an association to the <emphasis>current</emphasis> instance (the one with null <literal>effectiveEndDate</literal>) using:"
+#. Tag: para
+#: association_mapping.xml:266
+#, no-c-format
+msgid ""
+"Then we can map an association to the <emphasis>current</emphasis> instance "
+"(the one with null <literal>effectiveEndDate</literal>) using:"
msgstr ""
-#: index.docbook:271
+#. Tag: programlisting
+#: association_mapping.xml:271
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
-#: index.docbook:273
-msgid "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: para
+#: association_mapping.xml:273
+#, no-c-format
+msgid ""
+"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:"
msgstr ""
-#: index.docbook:281
+#. Tag: programlisting
+#: association_mapping.xml:281
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
-#: 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."
+#. Tag: para
+#: association_mapping.xml:283
+#, no-c-format
+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 ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
Modified: core/trunk/documentation/manual/translations/es-ES/content/basic_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/es-ES/content/basic_mapping.po 2007-10-27 12:53:39 UTC (rev 14153)
+++ core/trunk/documentation/manual/translations/es-ES/content/basic_mapping.po 2007-10-27 12:56:49 UTC (rev 14154)
@@ -1,3067 +1,5724 @@
-#, fuzzy
msgid ""
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: basic_mapping.xml:5
+#, no-c-format
msgid "Basic O/R Mapping"
-msgstr "Mapeo O/R Básico"
+msgstr "Mapeo O/R Básico"
-#: index.docbook:8
+#. Tag: title
+#: basic_mapping.xml:8
+#, no-c-format
msgid "Mapping declaration"
-msgstr "Declaración de mapeo"
+msgstr "Declaración de mapeo"
-#: 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 language is Java-centric, meaning that mappings are constructed around 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."
+#. Tag: para
+#: basic_mapping.xml:10
+#, no-c-format
+msgid ""
+"Object/relational mappings are usually defined in an XML document. The "
+"mapping document is designed to be readable and hand-editable. The mapping "
+"language is Java-centric, meaning that mappings are constructed around "
+"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."
-#: 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, Middlegen and AndroMDA."
-msgstr "Observa que, incluso aunque muchos usuarios de Hibernate eligen escribir el XML a mano, existe una cantidad de herramientas para generar el documento de mapeo, incluyendo XDoclet, Middlegen y AndroMDA."
+#. Tag: para
+#: basic_mapping.xml:17
+#, no-c-format
+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, "
+"Middlegen and AndroMDA."
+msgstr ""
+"Observa que, incluso aunque muchos usuarios de Hibernate eligen escribir el "
+"XML a mano, existe una cantidad de herramientas para generar el documento de "
+"mapeo, incluyendo XDoclet, Middlegen y AndroMDA."
-#: index.docbook:23
+#. Tag: para
+#: basic_mapping.xml:23
+#, no-c-format
msgid "Lets kick off with an example mapping:"
msgstr "Comencemos por un mapeo de ejemplo:"
-#: index.docbook:27
+#. Tag: programlisting
+#: basic_mapping.xml:27
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: 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 runtime. The mapping document also contains some extra optional attributes 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>.)"
+#. Tag: para
+#: basic_mapping.xml:29
+#, no-c-format
+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 "
+"runtime. The mapping document also contains some extra optional attributes "
+"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>.)"
-#: index.docbook:40
+#. Tag: title
+#: basic_mapping.xml:40
+#, no-c-format
msgid "Doctype"
msgstr "Doctype"
-#: 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/hibernate </literal> or in <literal>hibernate3.jar</literal>. Hibernate will always look for the DTD in its classpath first. If you experience lookups of the DTD using an Internet connection, check your DTD declaration against the contents of your claspath."
-msgstr "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."
+#. Tag: para
+#: basic_mapping.xml:42
+#, no-c-format
+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/"
+"hibernate </literal> or in <literal>hibernate3.jar</literal>. Hibernate will "
+"always look for the DTD in its classpath first. If you experience lookups of "
+"the DTD using an Internet connection, check your DTD declaration against the "
+"contents of your claspath."
+msgstr ""
+"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."
-#: index.docbook:52
+#. Tag: title
+#: basic_mapping.xml:52
+#, no-c-format
msgid "EntityResolver"
-msgstr "hibernate-mapping"
+msgstr "UNTRANSLATED! EntityResolver"
-#: 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 <literal>org.xml.sax.EntityResolver</literal> implementation with the SAXReader it uses to read in the xml files. This custom <literal>EntityResolver</literal> recognizes two different systemId namespaces."
-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."
+#. Tag: para
+#: basic_mapping.xml:53
+#, no-c-format
+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 "
+"<literal>org.xml.sax.EntityResolver</literal> implementation with the "
+"SAXReader it uses to read in the xml files. This custom "
+"<literal>EntityResolver</literal> recognizes two different systemId "
+"namespaces."
+msgstr ""
+"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 "
+"<literal>org.xml.sax.EntityResolver</literal> implementation with the "
+"SAXReader it uses to read in the xml files. This custom "
+"<literal>EntityResolver</literal> recognizes two different systemId "
+"namespaces."
-#: index.docbook:61
-msgid "a <literal>hibernate namespace</literal> is recognized whenever the resolver encounteres a systemId starting with <literal>http://hibernate.sourceforge.net/</literal>; the resolver attempts to resolve these entities via the classlaoder which loaded the Hibernate classes."
+#. Tag: para
+#: basic_mapping.xml:61
+#, no-c-format
+msgid ""
+"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
+"net/</literal>; the resolver attempts to resolve these entities via the "
+"classlaoder which loaded the Hibernate classes."
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"
- " />]]>"
+"a <literal>hibernate namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId starting with <literal>http://hibernate.sourceforge."
+"net/</literal>; the resolver attempts to resolve these entities via the "
+"classlaoder which loaded the Hibernate classes."
-#: index.docbook:70
-msgid "a <literal>user namespace</literal> is recognized whenever the resolver encounteres a systemId using a <literal>classpath://</literal> URL protocol; the resolver will attempt to resolve these entities via (1) the current thread context classloader and (2) the classloader which loaded the Hibernate classes."
-msgstr "<literal>schema</literal> (opcional): El nombre de un esquema de la base de datos."
+#. Tag: para
+#: basic_mapping.xml:70
+#, no-c-format
+msgid ""
+"a <literal>user namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
+"the resolver will attempt to resolve these entities via (1) the current "
+"thread context classloader and (2) the classloader which loaded the "
+"Hibernate classes."
+msgstr ""
+"a <literal>user namespace</literal> is recognized whenever the resolver "
+"encounteres a systemId using a <literal>classpath://</literal> URL protocol; "
+"the resolver will attempt to resolve these entities via (1) the current "
+"thread context classloader and (2) the classloader which loaded the "
+"Hibernate classes."
-#: index.docbook:79
+#. Tag: para
+#: basic_mapping.xml:79
+#, no-c-format
msgid "An example of utilizing user namespacing:"
-msgstr "<literal>catalog</literal> (opcional): El nombre de un catálogo de la base de datos."
+msgstr "An example of utilizing user namespacing:"
-#: index.docbook:82
+#. Tag: programlisting
+#: basic_mapping.xml:82
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "<literal>default-cascade</literal> (opcional - por defecto a <literal>none</literal>): Un estilo de cascada por defecto."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:83
-msgid "Where <literal>types.xml</literal> is a resource in the <literal>your.domain</literal> package and contains a custom <xref linkend=\"mapping-types-custom\"/>typedef."
-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>."
+#. Tag: para
+#: basic_mapping.xml:83
+#, no-c-format
+msgid ""
+"Where <literal>types.xml</literal> is a resource in the <literal>your."
+"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
+"custom\">typedef</link>."
+msgstr ""
+"Where <literal>types.xml</literal> is a resource in the <literal>your."
+"domain</literal> package and contains a custom <link linkend=\"mapping-types-"
+"custom\">typedef</link>."
-#: index.docbook:91
+#. Tag: title
+#: basic_mapping.xml:91
+#, no-c-format
msgid "hibernate-mapping"
-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."
+msgstr "hibernate-mapping"
-#: 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 this mapping belong to the named schema and/or catalog. If specified, tablenames will be qualified by the given schema and catalog names. If missing, tablenames will be unqualified. The <literal>default-cascade</literal> attribute specifies what cascade style should be assumed for properties and collections which do not specify a <literal>cascade</literal> attribute. The <literal>auto-import</literal> attribute lets us use unqualified class names in the query language, by default."
-msgstr "<literal>auto-import</literal> (opcional - por defecto a <literal>true</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:93
+#, no-c-format
+msgid ""
+"This element has several optional attributes. The <literal>schema</literal> "
+"and <literal>catalog</literal> attributes specify that tables referred to in "
+"this mapping belong to the named schema and/or catalog. If specified, "
+"tablenames will be qualified by the given schema and catalog names. If "
+"missing, tablenames will be unqualified. The <literal>default-cascade</"
+"literal> attribute specifies what cascade style should be assumed for "
+"properties and collections which do not specify a <literal>cascade</literal> "
+"attribute. The <literal>auto-import</literal> attribute lets us use "
+"unqualified class names in the query language, by default."
+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."
-#: index.docbook:114
+#. Tag: programlisting
+#: basic_mapping.xml:114
+#, no-c-format
msgid ""
- "<![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"
- " />]]>"
-msgstr "<literal>package</literal> (opcional): Especifica un prefijo de paquete a asumir para los nombres no cualificados de clase en el documento de mapeo."
+"<![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"
+" />]]>"
+msgstr ""
-#: index.docbook:117
+#. Tag: para
+#: basic_mapping.xml:117
+#, no-c-format
msgid "<literal>schema</literal> (optional): The name of a database schema."
-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\"."
+msgstr ""
+"<literal>schema</literal> (opcional): El nombre de un esquema de la base de "
+"datos."
-#: index.docbook:122
+#. Tag: para
+#: basic_mapping.xml:122
+#, no-c-format
msgid "<literal>catalog</literal> (optional): The name of a database catalog."
-msgstr "Observa que el elemento <literal>hibernate-mapping</literal> te permite anidar muchos mapeos <literal><class></literal> persistentes, como se muestra arriba. Sin embargo, es una buena práctica (y se espera de algunas herramientas) mapear sólo a una sola clase persistente (o a una sola jerarquía de clases) en un fichero de mapeo y nombrarlo después de la superclase persistente; por ejemplo, <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal>, o, si se usa herencia, <literal>Animal.hbm.xml</literal>."
+msgstr ""
+"<literal>catalog</literal> (opcional): El nombre de un catálogo de la base "
+"de datos."
-#: index.docbook:127
-msgid "<literal>default-cascade</literal> (optional - defaults to <literal>none</literal>): A default cascade style."
-msgstr "<title>class</title>"
+#. Tag: para
+#: basic_mapping.xml:127
+#, no-c-format
+msgid ""
+"<literal>default-cascade</literal> (optional - defaults to <literal>none</"
+"literal>): A default cascade style."
+msgstr ""
+"<literal>default-cascade</literal> (opcional - por defecto a <literal>none</"
+"literal>): Un estilo de cascada por defecto."
-#: index.docbook:133
-msgid "<literal>default-access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing all properties. Can be a custom implementation of <literal>PropertyAccessor</literal>."
-msgstr "Puedes declarar una clase persistente usando el elemento <literal>class</literal>:"
+#. Tag: para
+#: basic_mapping.xml:133
+#, no-c-format
+msgid ""
+"<literal>default-access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing all properties. "
+"Can be a custom implementation of <literal>PropertyAccessor</literal>."
+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>."
-#: index.docbook:140
-msgid "<literal>default-lazy</literal> (optional - defaults to <literal>true</literal>): The default value for unspecifed <literal>lazy</literal> attributes of class and collection mappings."
+#. Tag: para
+#: basic_mapping.xml:140
+#, no-c-format
+msgid ""
+"<literal>default-lazy</literal> (optional - defaults to <literal>true</"
+"literal>): The default value for unspecifed <literal>lazy</literal> "
+"attributes of class and collection mappings."
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"
- "/>]]>"
+"<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."
-#: index.docbook:147
-msgid "<literal>auto-import</literal> (optional - defaults to <literal>true</literal>): Specifies whether we can use unqualified class names (of classes in this mapping) in the query language."
-msgstr "<literal>name</literal> (opcional): El nombre completamente cualificado de 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:147
+#, no-c-format
+msgid ""
+"<literal>auto-import</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies whether we can use unqualified class names (of classes "
+"in this mapping) in the query language."
+msgstr ""
+"<literal>auto-import</literal> (opcional - por defecto a <literal>true</"
+"literal>): Especifica si podemos usar nombres de clases no cualificados (de "
+"clases en este mapeo) en el lenguaje de consulta."
-#: index.docbook:154
-msgid "<literal>package</literal> (optional): Specifies a package prefix to assume for unqualified class names in the mapping document."
-msgstr "<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:154
+#, no-c-format
+msgid ""
+"<literal>package</literal> (optional): Specifies a package prefix to assume "
+"for unqualified class names in the mapping document."
+msgstr ""
+"<literal>package</literal> (opcional): Especifica un prefijo de paquete a "
+"asumir para los nombres no cualificados de clase en el documento de mapeo."
-#: 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 "<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>."
+#. Tag: para
+#: basic_mapping.xml:162
+#, no-c-format
+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\"."
-#: index.docbook:168
-msgid "Note that the <literal>hibernate-mapping</literal> element allows you to nest several persistent <literal><class></literal> mappings, as shown above. It is however good practice (and expected by some tools) to map only a single persistent class (or a single class hierarchy) in one mapping file and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, <literal>Animal.hbm.xml</literal>."
-msgstr "<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:168
+#, no-c-format
+msgid ""
+"Note that the <literal>hibernate-mapping</literal> element allows you to "
+"nest several persistent <literal><class></literal> mappings, as shown "
+"above. It is however good practice (and expected by some tools) to map only "
+"a single persistent class (or a single class hierarchy) in one mapping file "
+"and name it after the persistent superclass, e.g. <literal>Cat.hbm.xml</"
+"literal>, <literal>Dog.hbm.xml</literal>, or if using inheritance, "
+"<literal>Animal.hbm.xml</literal>."
+msgstr ""
+"Observa que el elemento <literal>hibernate-mapping</literal> te permite "
+"anidar muchos mapeos <literal><class></literal> persistentes, como se "
+"muestra arriba. Sin embargo, es una buena práctica (y se espera de algunas "
+"herramientas) mapear sólo a una sola clase persistente (o a una sola "
+"jerarquía de clases) en un fichero de mapeo y nombrarlo después de la "
+"superclase persistente; por ejemplo, <literal>Cat.hbm.xml</literal>, "
+"<literal>Dog.hbm.xml</literal>, o, si se usa herencia, <literal>Animal.hbm."
+"xml</literal>."
-#: index.docbook:181
+#. Tag: title
+#: basic_mapping.xml:181
+#, no-c-format
msgid "<title>class</title>"
-msgstr "<literal>schema</literal> (opcional): Sobreescribe el nombre de esquema especificado por el elemento raíz <literal><hibernate-mapping></literal>."
+msgstr ""
-#: index.docbook:183
-msgid "You may declare a persistent class using the <literal>class</literal> element:"
-msgstr "<literal>catalog</literal> (opcional): Sobreescribe el nombre de catálogo especificado por el elemento raíz <literal><hibernate-mapping></literal>."
+#. Tag: para
+#: basic_mapping.xml:183
+#, no-c-format
+msgid ""
+"You may declare a persistent class using the <literal>class</literal> "
+"element:"
+msgstr ""
+"Puedes declarar una clase persistente usando el elemento <literal>class</"
+"literal>:"
-#: index.docbook:211
+#. Tag: programlisting
+#: basic_mapping.xml:211
+#, no-c-format
msgid ""
- "<![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"
- "/>]]>"
-msgstr "<literal>proxy</literal> (opcional): Especifica una interface a usar para proxies de inicialización perezosa. Puedes especificar el nombre mismo de la clase."
+"<![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"
+"/>]]>"
+msgstr ""
-#: 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 assumed that the mapping is for a non-POJO entity."
-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."
+#. Tag: para
+#: basic_mapping.xml:214
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional): The fully qualified Java class name of "
+"the persistent class (or interface). If this attribute is missing, it is "
+"assumed that the mapping is for a non-POJO entity."
+msgstr ""
+"<literal>name</literal> (opcional): El nombre completamente cualificado de "
+"la clase Java persistente (o interface). Si este atributo es omitido, se "
+"asume que el mapeo es para una entidad non-POJO."
-#: index.docbook:221
-msgid "<literal>table</literal> (optional - defaults to the unqualified class name): The name of its database table."
-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."
+#. Tag: para
+#: basic_mapping.xml:221
+#, no-c-format
+msgid ""
+"<literal>table</literal> (optional - defaults to the unqualified class "
+"name): The name of its database table."
+msgstr ""
+"<literal>table</literal> (opcional - por defecto al nombre no cualificado de "
+"la clase): El nombre de su tabla en base de datos."
-#: index.docbook:227
-msgid "<literal>discriminator-value</literal> (optional - defaults to the class name): A value that distiguishes individual subclasses, used for polymorphic behaviour. Acceptable values include <literal>null</literal> and <literal>not null</literal>."
-msgstr "<literal>select-before-update</literal> (opcional, por defecto a <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."
+#. Tag: para
+#: basic_mapping.xml:227
+#, no-c-format
+msgid ""
+"<literal>discriminator-value</literal> (optional - defaults to the class "
+"name): A value that distiguishes individual subclasses, used for polymorphic "
+"behaviour. Acceptable values include <literal>null</literal> and "
+"<literal>not null</literal>."
+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>."
-#: index.docbook:234
-msgid "<literal>mutable</literal> (optional, defaults to <literal>true</literal>): Specifies that instances of the class are (not) mutable."
-msgstr "<literal>polymorphism</literal> (opcional, por defecto a <literal>implicit</literal>): Determina si se usa polimorfismo de consulta implícito o explícito."
+#. Tag: para
+#: basic_mapping.xml:234
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional, defaults to <literal>true</literal>): "
+"Specifies that instances of the class are (not) mutable."
+msgstr ""
+"<literal>mutable</literal> (opcional, por defecto a <literal>true</"
+"literal>): Especifica que las instancias de la clase (no) son mutables."
-#: index.docbook:240, index.docbook:2204
-msgid "<literal>schema</literal> (optional): Override the schema name specified by the root <literal><hibernate-mapping></literal> element."
-msgstr "<literal>where</literal> (opcional) especifica una condición SQL <literal>WHERE</literal> arbitraria paraa ser usada al recuperar objetos de esta clase."
+#. Tag: para
+#: basic_mapping.xml:240 basic_mapping.xml:2204
+#, fuzzy, no-c-format
+msgid ""
+"<literal>schema</literal> (optional): Override the schema name specified by "
+"the root <literal><hibernate-mapping></literal> element."
+msgstr ""
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>schema</literal> (opcional): Sobreescribe el nombre de esquema "
+"especificado por el elemento raíz <literal><hibernate-mapping></"
+"literal>.\n"
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>schema</literal> (opcional): Sobrescribe el nombre de esquema "
+"especificado por el elemento raíz <literal><hibernate-mapping></"
+"literal>."
-#: index.docbook:246, index.docbook:2210
-msgid "<literal>catalog</literal> (optional): Override the catalog name specified by the root <literal><hibernate-mapping></literal> element."
-msgstr "<literal>persister</literal> (opcional): Especifica un <literal>ClassPersister</literal> personalizado."
+#. Tag: para
+#: basic_mapping.xml:246 basic_mapping.xml:2210
+#, fuzzy, no-c-format
+msgid ""
+"<literal>catalog</literal> (optional): Override the catalog name specified "
+"by the root <literal><hibernate-mapping></literal> element."
+msgstr ""
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>catalog</literal> (opcional): Sobreescribe el nombre de catálogo "
+"especificado por el elemento raíz <literal><hibernate-mapping></"
+"literal>.\n"
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>catalog</literal> (opcional): Sobrescribe el nombre de catálogo "
+"especificado por el elemento raíz <literal><hibernate-mapping></"
+"literal>."
-#: 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>batch-size</literal> (opcional, por defecto a <literal>1</literal>) especifica un \"tamaño de lote\" para traer instancias de esta clase por identificador."
+#. Tag: para
+#: basic_mapping.xml:252
+#, no-c-format
+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."
-#: index.docbook:258
-msgid "<literal>dynamic-update</literal> (optional, defaults to <literal>false</literal>): Specifies that <literal>UPDATE</literal> SQL should be generated at runtime and contain only those columns whose values have changed."
-msgstr "<literal>optimistic-lock</literal> (opcional, por defecto a <literal>version</literal>): Determina la estrategia optimista de bloqueo."
+#. Tag: para
+#: basic_mapping.xml:258
+#, no-c-format
+msgid ""
+"<literal>dynamic-update</literal> (optional, defaults to <literal>false</"
+"literal>): Specifies that <literal>UPDATE</literal> SQL should be generated "
+"at runtime and contain only those columns whose values have changed."
+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."
-#: index.docbook:265
-msgid "<literal>dynamic-insert</literal> (optional, defaults to <literal>false</literal>): Specifies that <literal>INSERT</literal> SQL should be generated at runtime and contain only the columns whose values are not null."
-msgstr "<literal>lazy</literal> (opcional): La recuperación perezosa puede ser deshabilitada por completo estableciendo <literal>lazy=\"false\"</literal>."
+#. Tag: para
+#: basic_mapping.xml:265
+#, no-c-format
+msgid ""
+"<literal>dynamic-insert</literal> (optional, defaults to <literal>false</"
+"literal>): Specifies that <literal>INSERT</literal> SQL should be generated "
+"at runtime and contain only the columns whose values are not null."
+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."
-#: index.docbook:272
-msgid "<literal>select-before-update</literal> (optional, defaults to <literal>false</literal>): Specifies that Hibernate should <emphasis>never</emphasis> perform an SQL <literal>UPDATE</literal> unless it is certain that an object is actually modified. In certain cases (actually, only when a transient object has been associated with a new session using <literal>update()</literal>), this means that Hibernate will perform an extra SQL <literal>SELECT</literal> to determine if an <literal>UPDATE</literal> is actually required."
-msgstr "<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\"/>."
+#. Tag: para
+#: basic_mapping.xml:272
+#, no-c-format
+msgid ""
+"<literal>select-before-update</literal> (optional, defaults to "
+"<literal>false</literal>): Specifies that Hibernate should <emphasis>never</"
+"emphasis> perform an SQL <literal>UPDATE</literal> unless it is certain that "
+"an object is actually modified. In certain cases (actually, only when a "
+"transient object has been associated with a new session using <literal>update"
+"()</literal>), this means that Hibernate will perform an extra SQL "
+"<literal>SELECT</literal> to determine if an <literal>UPDATE</literal> is "
+"actually required."
+msgstr ""
+"<literal>select-before-update</literal> (opcional, por defecto a "
+"<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."
-#: index.docbook:282
-msgid "<literal>polymorphism</literal> (optional, defaults to <literal>implicit</literal>): Determines whether implicit or explicit query polymorphism is used."
-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."
+#. Tag: para
+#: basic_mapping.xml:282
+#, no-c-format
+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."
-#: 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>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."
+#. Tag: para
+#: basic_mapping.xml:288
+#, no-c-format
+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> arbitraria paraa ser usada al recuperar objetos de "
+"esta clase."
-#: index.docbook:294
-msgid "<literal>persister</literal> (optional): Specifies a custom <literal>ClassPersister</literal>."
-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."
+#. Tag: para
+#: basic_mapping.xml:294
+#, no-c-format
+msgid ""
+"<literal>persister</literal> (optional): Specifies a custom "
+"<literal>ClassPersister</literal>."
+msgstr ""
+"<literal>persister</literal> (opcional): Especifica un "
+"<literal>ClassPersister</literal> personalizado."
-#: 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>abstract</literal> (opcional): Usado para marcar superclases abstractas en jerarquías <literal><union-subclass></literal>."
+#. Tag: para
+#: basic_mapping.xml:299
+#, no-c-format
+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."
-#: index.docbook:305
-msgid "<literal>optimistic-lock</literal> (optional, defaults to <literal>version</literal>): Determines the optimistic locking strategy."
-msgstr "Es perfectamente aceptable que la clase persistente mencionada sea una interface. Entonces declararías clases que implementan esa interface usando el elemento <literal><subclass></literal>. Puedes persistir cualquier clase interna <emphasis>estática</emphasis>. Debes especificar el nombre de la clase usando la forma estándar. Por ejemplo, <literal>eg.Foo$Bar</literal>."
+#. Tag: para
+#: basic_mapping.xml:305
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional, defaults to <literal>version</"
+"literal>): Determines the optimistic locking strategy."
+msgstr ""
+"<literal>optimistic-lock</literal> (opcional, por defecto a "
+"<literal>version</literal>): Determina la estrategia optimista de bloqueo."
-#: index.docbook:311
-msgid "<literal>lazy</literal> (optional): Lazy fetching may be completely disabled by setting <literal>lazy=\"false\"</literal>."
-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."
+#. Tag: para
+#: basic_mapping.xml:311
+#, no-c-format
+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>."
-#: 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, potentially), and allows entity mappings that are represented by Maps or XML at the Java level. In these cases, you should provide an explicit arbitrary name for the entity. See <xref linkend=\"persistent-classes-dynamicmodels\"/> and <xref linkend=\"xml\"/> for more information."
-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."
+#. Tag: para
+#: basic_mapping.xml:317
+#, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional, defaults to the class name): "
+"Hibernate3 allows a class to be mapped multiple times (to different tables, "
+"potentially), and allows entity mappings that are represented by Maps or XML "
+"at the Java level. In these cases, you should provide an explicit arbitrary "
+"name for the entity. See <xref linkend=\"persistent-classes-dynamicmodels\"/"
+"> and <xref linkend=\"xml\"/> for more information."
+msgstr ""
+"<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\"/>."
-#: 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 "Por polimorfismo <emphasis>implícito</emphasis> se entiende que las instancias de la clase serán devueltas por una consulta que mencione cualquier superclase, o interface implementada, o la clase misma; y que las instancias de cualquier subclase de la clase serán devueltas por una clase que mencione a la clase en sí. Por polimorfismo <emphasis>explícito</emphasis> se entiende que instancias de la clase serán devueltas sólo por consultas que mencionen explícitamente la clase; y que las consultas que mencionen la clase devolverán sólo instancias de subclases mapeadas dentro de esta declaración <literal><class></literal> como una <literal><subclass></literal> o <literal><joined-subclass></literal>. Para la mayoría de los propósitos el defecto, <literal>polymorphism=\"implicit\"</literal>, resulta apropiado. El polimorfismo explícito es útil cuando !
dos clases diferentes están mapeadas a la misma tabla (esto permite tener una clase \"liviana\" que contenga un subconjunto de columnas de la tabla)."
+#. Tag: para
+#: basic_mapping.xml:327
+#, no-c-format
+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."
-#: 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 <literal>rowid</literal> extra column for fast updates if you set this option to <literal>rowid</literal>. A ROWID is an implementation detail and represents the physical location of a stored tuple."
-msgstr "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>."
+#. Tag: para
+#: basic_mapping.xml:333
+#, no-c-format
+msgid ""
+"<literal>rowid</literal> (optional): Hibernate can use so called ROWIDs on "
+"databases which support. E.g. on Oracle, Hibernate can use the "
+"<literal>rowid</literal> extra column for fast updates if you set this "
+"option to <literal>rowid</literal>. A ROWID is an implementation detail and "
+"represents the physical location of a stored tuple."
+msgstr ""
+"<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."
-#: 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 "Observa que los valores de <literal>dynamic-update</literal> y <literal>dynamic-insert</literal> no son heredados por las subclases y por lo tanto deben especificarse en los elementos <literal><subclass></literal> o <literal><joined-subclass></literal>. Estos ajustes pueden incrementar el rendimiento en algunos casos, pero podrían mermarlo en otros. Ten juicio en su uso."
+#. Tag: para
+#: basic_mapping.xml:341
+#, no-c-format
+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."
-#: index.docbook:348
-msgid "<literal>abstract</literal> (optional): Used to mark abstract superclasses in <literal><union-subclass></literal> hierarchies."
-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>."
+#. Tag: para
+#: basic_mapping.xml:348
+#, no-c-format
+msgid ""
+"<literal>abstract</literal> (optional): Used to mark abstract superclasses "
+"in <literal><union-subclass></literal> hierarchies."
+msgstr ""
+"<literal>abstract</literal> (opcional): Usado para marcar superclases "
+"abstractas en jerarquías <literal><union-subclass></literal>."
-#: 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 using the <literal><subclass></literal> element. You may persist any <emphasis>static</emphasis> inner class. You should specify the class name using the standard form ie. <literal>eg.Foo$Bar</literal>."
-msgstr "Si habilitas <literal>dynamic-update</literal>, tendrás opción de estrategias de bloqueo optimistas:"
+#. Tag: para
+#: basic_mapping.xml:356
+#, no-c-format
+msgid ""
+"It is perfectly acceptable for the named persistent class to be an "
+"interface. You would then declare implementing classes of that interface "
+"using the <literal><subclass></literal> element. You may persist any "
+"<emphasis>static</emphasis> inner class. You should specify the class name "
+"using the standard form ie. <literal>eg.Foo$Bar</literal>."
+msgstr ""
+"Es perfectamente aceptable que la clase persistente mencionada sea una "
+"interface. Entonces declararías clases que implementan esa interface usando "
+"el elemento <literal><subclass></literal>. Puedes persistir cualquier "
+"clase interna <emphasis>estática</emphasis>. Debes especificar el nombre de "
+"la clase usando la forma estándar. Por ejemplo, <literal>eg.Foo$Bar</"
+"literal>."
-#: 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 "<literal>version</literal> chequea las columnas de versión/timestamp"
+#. Tag: para
+#: basic_mapping.xml:363
+#, no-c-format
+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."
-#: index.docbook:368
-msgid "The optional <literal>proxy</literal> attribute enables lazy initialization of persistent instances of the class. Hibernate will initially return CGLIB proxies which implement the named interface. The actual persistent object will be loaded when a method of the proxy is invoked. See \"Initializing collections and proxies\" below."
-msgstr "<literal>all</literal> chequea todas las columnas"
+#. Tag: para
+#: basic_mapping.xml:368
+#, no-c-format
+msgid ""
+"The optional <literal>proxy</literal> attribute enables lazy initialization "
+"of persistent instances of the class. Hibernate will initially return CGLIB "
+"proxies which implement the named interface. The actual persistent object "
+"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."
-#: 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 interface or the class and that instances of any subclass of the class will be returned by a query that names the class itself. <emphasis>Explicit</emphasis> polymorphism means that class instances will be returned only by queries that explicitly name that class and that queries that name the class will return only instances of subclasses mapped inside this <literal><class></literal> declaration as a <literal><subclass></literal> or <literal><joined-subclass></literal>. For most purposes the default, <literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit polymorphism is useful when two different classes are mapped to the same table (this allows a \"lightweight\" class that contains a subset of the table columns)."
-msgstr "<literal>dirty</literal> chequea las columnas modificadas, permitiendo algunas actualizaciones concurrentes"
+#. Tag: para
+#: basic_mapping.xml:375
+#, no-c-format
+msgid ""
+"<emphasis>Implicit</emphasis> polymorphism means that instances of the class "
+"will be returned by a query that names any superclass or implemented "
+"interface or the class and that instances of any subclass of the class will "
+"be returned by a query that names the class itself. <emphasis>Explicit</"
+"emphasis> polymorphism means that class instances will be returned only by "
+"queries that explicitly name that class and that queries that name the class "
+"will return only instances of subclasses mapped inside this <literal><"
+"class></literal> declaration as a <literal><subclass></literal> or "
+"<literal><joined-subclass></literal>. For most purposes the default, "
+"<literal>polymorphism=\"implicit\"</literal>, is appropriate. Explicit "
+"polymorphism is useful when two different classes are mapped to the same "
+"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 "
+"cualquier superclase, o interface implementada, o la clase misma; y que las "
+"instancias de cualquier subclase de la clase serán devueltas por una clase "
+"que mencione a la clase en sí. Por polimorfismo <emphasis>explícito</"
+"emphasis> se entiende que instancias de la clase serán devueltas sólo por "
+"consultas que mencionen explícitamente la clase; y que las consultas que "
+"mencionen la clase devolverán sólo instancias de subclases mapeadas dentro "
+"de esta declaración <literal><class></literal> como una <literal><"
+"subclass></literal> o <literal><joined-subclass></literal>. Para la "
+"mayoría de los propósitos el defecto, <literal>polymorphism=\"implicit\"</"
+"literal>, resulta apropiado. El polimorfismo explícito es útil cuando dos "
+"clases diferentes están mapeadas a la misma tabla (esto permite tener una "
+"clase \"liviana\" que contenga un subconjunto de columnas de la tabla)."
-#: 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 own subclass of <literal>org.hibernate.persister.EntityPersister</literal> or you might even provide a completely new implementation of the interface <literal>org.hibernate.persister.ClassPersister</literal> that implements persistence via, for example, stored procedure calls, serialization to flat files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for a simple example (of \"persistence\" to a <literal>Hashtable</literal>)."
-msgstr "<literal>none</literal> no usa bloqueo optimista"
+#. Tag: para
+#: basic_mapping.xml:387
+#, no-c-format
+msgid ""
+"The <literal>persister</literal> attribute lets you customize the "
+"persistence strategy used for the class. You may, for example, specify your "
+"own subclass of <literal>org.hibernate.persister.EntityPersister</literal> "
+"or you might even provide a completely new implementation of the interface "
+"<literal>org.hibernate.persister.ClassPersister</literal> that implements "
+"persistence via, for example, stored procedure calls, serialization to flat "
+"files or LDAP. See <literal>org.hibernate.test.CustomPersister</literal> for "
+"a simple example (of \"persistence\" to a <literal>Hashtable</literal>)."
+msgstr ""
+"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>."
-#: 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 specified on the <literal><subclass></literal> or <literal><joined-subclass></literal> elements. These settings may increase performance in some cases, but might actually decrease performance in others. Use judiciously."
-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>)."
+#. Tag: para
+#: basic_mapping.xml:398
+#, no-c-format
+msgid ""
+"Note that the <literal>dynamic-update</literal> and <literal>dynamic-insert</"
+"literal> settings are not inherited by subclasses and so may also be "
+"specified on the <literal><subclass></literal> or <literal><joined-"
+"subclass></literal> elements. These settings may increase performance in "
+"some cases, but might actually decrease performance in others. Use "
+"judiciously."
+msgstr ""
+"Observa que los valores de <literal>dynamic-update</literal> y "
+"<literal>dynamic-insert</literal> no son heredados por las subclases y por "
+"lo tanto deben especificarse en los elementos <literal><subclass></"
+"literal> o <literal><joined-subclass></literal>. Estos ajustes pueden "
+"incrementar el rendimiento en algunos casos, pero podrían mermarlo en otros. "
+"Ten juicio en su uso."
-#: 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 "Para un mapeo de Hibernate, no hay diferencia entre una vista y una tabla base. Como se supone esto es transparente a nivel de base de datos (observa 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."
+#. Tag: para
+#: basic_mapping.xml:406
+#, no-c-format
+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>."
-#: index.docbook:412
-msgid "If you enable <literal>dynamic-update</literal>, you will have a choice of optimistic locking strategies:"
+#. Tag: para
+#: basic_mapping.xml:412
+#, no-c-format
+msgid ""
+"If you enable <literal>dynamic-update</literal>, you will have a choice of "
+"optimistic locking strategies:"
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>]]>"
+"Si habilitas <literal>dynamic-update</literal>, tendrás opción de "
+"estrategias de bloqueo optimistas:"
-#: index.docbook:418
+#. Tag: para
+#: basic_mapping.xml:418
+#, no-c-format
msgid "<literal>version</literal> check the version/timestamp columns"
-msgstr "Declara las tablas con las que sincronizar esta entidad, asegurando que el auto-flush ocurre correctamente, y que las consultas contra la entidad derivada no devuelven datos desactualizados. El <literal><subselect></literal> está disponible tanto como un atributo o como un elemento anidado de mapeo."
+msgstr "<literal>version</literal> chequea las columnas de versión/timestamp"
-#: index.docbook:423
+#. Tag: para
+#: basic_mapping.xml:423
+#, no-c-format
msgid "<literal>all</literal> check all columns"
-msgstr "<title>id</title>"
+msgstr "<literal>all</literal> chequea todas las columnas"
-#: index.docbook:428
-msgid "<literal>dirty</literal> check the changed columns, allowing some concurrent updates"
-msgstr "Las clases mapeadas <emphasis>deben</emphasis> declarar la columna de clave primaria de la tabla de la base de datos. En la mayoría de los casos tendrá también una propiedad estilo Javabeans que tenga el identificador único de una instancia. El elemento <literal><id></literal> define el mapeo de esa propiedad a la columna de clave primaria."
+#. Tag: para
+#: basic_mapping.xml:428
+#, no-c-format
+msgid ""
+"<literal>dirty</literal> check the changed columns, allowing some concurrent "
+"updates"
+msgstr ""
+"<literal>dirty</literal> chequea las columnas modificadas, permitiendo "
+"algunas actualizaciones concurrentes"
-#: index.docbook:433
+#. Tag: para
+#: basic_mapping.xml:433
+#, no-c-format
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
+msgid ""
+"We <emphasis>very</emphasis> strongly recommend that you use version/"
+"timestamp columns for optimistic locking with Hibernate. This is the optimal "
+"strategy with respect to performance and is the only strategy that correctly "
+"handles modifications made to detached instances (ie. when <literal>Session."
+"merge()</literal> is used)."
msgstr ""
- "<![CDATA[<id\n"
- " name=\"propertyName\"\n"
- " type=\"typename\"\n"
- " column=\"column_name\"\n"
- " unsaved-value=\"null|any|none|undefined|id_value\"\n"
- " access=\"field|property|ClassName\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\">\n"
- "\n"
- " <generator class=\"generatorClass\"/>\n"
- "</id>]]>"
+"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>)."
-#: 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 strategy with respect to performance and is the only strategy that correctly handles modifications made to detached instances (ie. when <literal>Session.merge()</literal> is used)."
-msgstr "<literal>name</literal> (opcional): El nombre de la propiedad del indentificador."
+#. Tag: para
+#: basic_mapping.xml:445
+#, no-c-format
+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 "
+"some DBMS don't support views properly, especially with updates). Sometimes "
+"you want to use a view, but can't create one in the database (ie. with a "
+"legacy schema). In this case, you can map an immutable and read-only entity "
+"to a given SQL subselect expression:"
+msgstr ""
+"Para un mapeo de Hibernate, no hay diferencia entre una vista y una tabla "
+"base. Como se supone esto es transparente a nivel de base de datos (observa "
+"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."
-#: 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 some DBMS don't support views properly, especially with updates). Sometimes you want to use a view, but can't create one in the database (ie. with a legacy schema). In this case, you can map an immutable and read-only entity to a given SQL subselect expression:"
-msgstr "<literal>type</literal> (opcional): Un nombre que indica el tipo Hibernate."
+#. Tag: programlisting
+#: basic_mapping.xml:453
+#, no-c-format
+msgid ""
+"<![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>]]>"
+msgstr ""
-#: index.docbook:453
+#. Tag: para
+#: basic_mapping.xml:455
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "<literal>column</literal> (opcional - por defecto al nombre de la propiedad): El nombre de la columna de clave primaria."
+"Declare the tables to synchronize this entity with, ensuring that auto-flush "
+"happens correctly, and that queries against the derived entity do not return "
+"stale data. The <literal><subselect></literal> is available as both as "
+"an attribute and a nested mapping element."
+msgstr ""
+"Declara las tablas con las que sincronizar esta entidad, asegurando que el "
+"auto-flush ocurre correctamente, y que las consultas contra la entidad "
+"derivada no devuelven datos desactualizados. El <literal><subselect></"
+"literal> está disponible tanto como un atributo o como un elemento anidado "
+"de mapeo."
-#: 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 stale data. The <literal><subselect></literal> is available as both as an attribute and a nested mapping element."
-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."
-
-#: index.docbook:465
+#. Tag: title
+#: basic_mapping.xml:465
+#, no-c-format
msgid "<title>id</title>"
-msgstr "<literal>access</literal> (opcional - por defecto a <literal>property</literal>): La estrategia que Hibernate debe usar para acceder al valor de la propiedad."
+msgstr ""
-#: 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 holding the unique identifier of an instance. The <literal><id></literal> element defines the mapping from that property to the primary key column."
-msgstr "Si se omite el atributo <literal>name</literal>, se asume que la clase no tiene propiedad identificadora."
+#. Tag: para
+#: basic_mapping.xml:467
+#, no-c-format
+msgid ""
+"Mapped classes <emphasis>must</emphasis> declare the primary key column of "
+"the database table. Most classes will also have a JavaBeans-style property "
+"holding the unique identifier of an instance. The <literal><id></"
+"literal> element defines the mapping from that property to the primary key "
+"column."
+msgstr ""
+"Las clases mapeadas <emphasis>deben</emphasis> declarar la columna de clave "
+"primaria de la tabla de la base de datos. En la mayoría de los casos tendrá "
+"también una propiedad estilo Javabeans que tenga el identificador único de "
+"una instancia. El elemento <literal><id></literal> define el mapeo de "
+"esa propiedad a la columna de clave primaria."
-#: index.docbook:482
+#. Tag: programlisting
+#: basic_mapping.xml:482
+#, no-c-format
msgid ""
- "<![CDATA[<id\n"
- " name=\"propertyName\"\n"
- " type=\"typename\"\n"
- " column=\"column_name\"\n"
- " unsaved-value=\"null|any|none|undefined|id_value\"\n"
- " access=\"field|property|ClassName\">\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- "\n"
- " <generator class=\"generatorClass\"/>\n"
- "</id>]]>"
-msgstr "El atributo <literal>unsaved-value</literal> es importante! Si la propiedad 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."
+"<![CDATA[<id\n"
+" name=\"propertyName\"\n"
+" type=\"typename\"\n"
+" column=\"column_name\"\n"
+" unsaved-value=\"null|any|none|undefined|id_value\"\n"
+" access=\"field|property|ClassName\">\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"\n"
+" <generator class=\"generatorClass\"/>\n"
+"</id>]]>"
+msgstr ""
-#: index.docbook:485
-msgid "<literal>name</literal> (optional): The name of the identifier property."
-msgstr "Hay una declaración <literal><composite-id></literal> alternativa para permitir acceso a datos heredados con claves compuestas. Desalentamos fuertemente su uso para cualquier otra cosa."
+#. Tag: para
+#: basic_mapping.xml:485
+#, no-c-format
+msgid ""
+"<literal>name</literal> (optional): The name of the identifier property."
+msgstr ""
+"<literal>name</literal> (opcional): El nombre de la propiedad del "
+"indentificador."
-#: index.docbook:490
-msgid "<literal>type</literal> (optional): A name that indicates the Hibernate type."
-msgstr "Generator"
+#. Tag: para
+#: basic_mapping.xml:490
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional): A name that indicates the Hibernate type."
+msgstr ""
+"<literal>type</literal> (opcional): Un nombre que indica el tipo Hibernate."
-#: index.docbook:495
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the primary key column."
-msgstr "El elemento hijo opcional <literal><generator></literal> nombra una clase Java usada en generar identificadores únicos para instancias de la clase persistente. De requerirse algún parámetro para configurar o inicializar la instancia del generador, se pasa usando el elemento <literal><param></literal>."
+#. Tag: para
+#: basic_mapping.xml:495
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of the primary key column."
+msgstr ""
+"<literal>column</literal> (opcional - por defecto al nombre de la "
+"propiedad): El nombre de la columna de clave primaria."
-#: index.docbook:501
-msgid "<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" value): An identifier property value that indicates that an instance is newly instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session."
+#. Tag: para
+#: basic_mapping.xml:501
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to a \"sensible\" "
+"value): An identifier property value that indicates that an instance is "
+"newly instantiated (unsaved), distinguishing it from detached instances that "
+"were saved or loaded in a previous session."
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>]]>"
+"<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."
-#: 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 "Todos los generadores implementan la interface <literal>org.hibernate.id.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:"
+#. 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
+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."
-#: index.docbook:517
-msgid "If the <literal>name</literal> attribute is missing, it is assumed that the class has no identifier property."
-msgstr "increment"
+#. Tag: para
+#: basic_mapping.xml:517
+#, no-c-format
+msgid ""
+"If the <literal>name</literal> attribute is missing, it is assumed that the "
+"class has no identifier property."
+msgstr ""
+"Si se omite el atributo <literal>name</literal>, se asume que la clase no "
+"tiene propiedad identificadora."
-#: index.docbook:522
-msgid "The <literal>unsaved-value</literal> attribute is almost never needed in Hibernate3."
-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>"
+#. Tag: para
+#: basic_mapping.xml:522
+#, no-c-format
+msgid ""
+"The <literal>unsaved-value</literal> attribute is almost never needed in "
+"Hibernate3."
+msgstr ""
+"El atributo <literal>unsaved-value</literal> es importante! Si la propiedad "
+"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."
-#: index.docbook:526
-msgid "There is an alternative <literal><composite-id></literal> declaration to allow access to legacy data with composite keys. We strongly discourage its use for anything else."
-msgstr "identity"
+#. Tag: para
+#: basic_mapping.xml:526
+#, no-c-format
+msgid ""
+"There is an alternative <literal><composite-id></literal> declaration "
+"to allow access to legacy data with composite keys. We strongly discourage "
+"its use for anything else."
+msgstr ""
+"Hay una declaración <literal><composite-id></literal> alternativa para "
+"permitir acceso a datos heredados con claves compuestas. Desalentamos "
+"fuertemente su uso para cualquier otra cosa."
-#: index.docbook:532
+#. Tag: title
+#: basic_mapping.xml:532
+#, no-c-format
msgid "Generator"
-msgstr "soporta columnas de identidad en DB2, MySQL, MS SQL Server, Sybase y HypersonicSQL. El identificador devuelto es de tipo <literal>long</literal>, <literal>short</literal> o <literal>int</literal>."
+msgstr "Generator"
-#: index.docbook:534
-msgid "The optional <literal><generator></literal> child element names a Java class used to generate unique identifiers for instances of the persistent class. If any parameters are required to configure or initialize the generator instance, they are passed using the <literal><param></literal> element."
-msgstr "sequence"
+#. Tag: para
+#: basic_mapping.xml:534
+#, no-c-format
+msgid ""
+"The optional <literal><generator></literal> child element names a Java "
+"class used to generate unique identifiers for instances of the persistent "
+"class. If any parameters are required to configure or initialize the "
+"generator instance, they are passed using the <literal><param></"
+"literal> element."
+msgstr ""
+"El elemento hijo opcional <literal><generator></literal> nombra una "
+"clase Java usada en generar identificadores únicos para instancias de la "
+"clase persistente. De requerirse algún parámetro para configurar o "
+"inicializar la instancia del generador, se pasa usando el elemento "
+"<literal><param></literal>."
-#: index.docbook:541
+#. Tag: programlisting
+#: basic_mapping.xml:541
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "usa una secuencia en DB2, PostgreSQL, Oracle, SAP DB, McKoi o un generador en Interbase. El identificador devuelto es de tipo <literal>long</literal>, <literal>short</literal> o <literal>int</literal>."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:543
-msgid "All generators implement the interface <literal>org.hibernate.id.IdentifierGenerator</literal>. This is a very simple interface; some applications may choose to provide their own specialized implementations. However, Hibernate provides a range of built-in implementations. There are shortcut names for the built-in generators:"
-msgstr "hilo"
+#. Tag: para
+#: basic_mapping.xml:543
+#, fuzzy, no-c-format
+msgid ""
+"All generators implement the interface <literal>org.hibernate.id."
+"IdentifierGenerator</literal>. This is a very simple interface; some "
+"applications may choose to provide their own specialized implementations. "
+"However, Hibernate provides a range of built-in implementations. There are "
+"shortcut names for the built-in generators:"
+msgstr ""
+"Todos los generadores implementan la interface <literal>org.hibernate.id."
+"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/>"
-#: index.docbook:551
+#. Tag: literal
+#: basic_mapping.xml:551
+#, no-c-format
msgid "increment"
-msgstr "usa un algoritmo alto/bajo para generar eficientemente identificadores de tipo <literal>long</literal>, <literal>short</literal> o <literal>int</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."
+msgstr "increment"
-#: 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 process is inserting data into the same table. <emphasis>Do not use in a cluster.</emphasis>"
-msgstr "seqhilo"
+#. Tag: para
+#: basic_mapping.xml:553
+#, no-c-format
+msgid ""
+"generates identifiers of type <literal>long</literal>, <literal>short</"
+"literal> or <literal>int</literal> that are unique only when no other "
+"process is inserting data into the same table. <emphasis>Do not use in a "
+"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>"
-#: index.docbook:562
+#. Tag: literal
+#: basic_mapping.xml:562
+#, no-c-format
msgid "identity"
-msgstr "usa un algoritmo alto/bajo para generar eficientemente identificadores de tipo <literal>long</literal>, <literal>short</literal> o <literal>int</literal>, dada una secuencia de base de datos."
+msgstr "identity"
-#: 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>, <literal>short</literal> or <literal>int</literal>."
-msgstr "uuid"
+#. Tag: para
+#: basic_mapping.xml:564
+#, no-c-format
+msgid ""
+"supports identity columns in DB2, MySQL, MS SQL Server, Sybase and "
+"HypersonicSQL. The returned identifier is of type <literal>long</literal>, "
+"<literal>short</literal> or <literal>int</literal>."
+msgstr ""
+"soporta columnas de identidad en DB2, MySQL, MS SQL Server, Sybase y "
+"HypersonicSQL. El identificador devuelto es de tipo <literal>long</literal>, "
+"<literal>short</literal> o <literal>int</literal>."
-#: index.docbook:572
+#. Tag: literal
+#: basic_mapping.xml:572
+#, no-c-format
msgid "sequence"
-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."
+msgstr "sequence"
-#: 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>, <literal>short</literal> or <literal>int</literal>"
-msgstr "guid"
+#. Tag: para
+#: basic_mapping.xml:574
+#, no-c-format
+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>, "
+"<literal>short</literal> or <literal>int</literal>"
+msgstr ""
+"usa una secuencia en DB2, PostgreSQL, Oracle, SAP DB, McKoi o un generador "
+"en Interbase. El identificador devuelto es de tipo <literal>long</literal>, "
+"<literal>short</literal> o <literal>int</literal>."
-#: index.docbook:582
+#. Tag: literal
+#: basic_mapping.xml:582
+#, no-c-format
msgid "hilo"
-msgstr "usa una cadena GUID generada por base de datos en MS SQL Server y MySQL."
+msgstr "hilo"
-#: 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>, given a table and column (by default <literal>hibernate_unique_key</literal> and <literal>next_hi</literal> respectively) as a source of hi values. The hi/lo algorithm generates identifiers that are unique only for a particular database."
-msgstr "native"
+#. Tag: para
+#: basic_mapping.xml:584
+#, no-c-format
+msgid ""
+"uses a hi/lo algorithm to efficiently generate identifiers of type "
+"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
+"given a table and column (by default <literal>hibernate_unique_key</literal> "
+"and <literal>next_hi</literal> respectively) as a source of hi values. The "
+"hi/lo algorithm generates identifiers that are unique only for a particular "
+"database."
+msgstr ""
+"usa un algoritmo alto/bajo para generar eficientemente identificadores de "
+"tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
+"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."
-#: index.docbook:594
+#. Tag: literal
+#: basic_mapping.xml:594
+#, no-c-format
msgid "seqhilo"
-msgstr "selecciona <literal>identity</literal>, <literal>sequence</literal> o <literal>hilo</literal> dependiendo de las capacidades de la base de datos subyacente."
+msgstr "seqhilo"
-#: 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>, given a named database sequence."
-msgstr "assigned"
+#. Tag: para
+#: basic_mapping.xml:596
+#, no-c-format
+msgid ""
+"uses a hi/lo algorithm to efficiently generate identifiers of type "
+"<literal>long</literal>, <literal>short</literal> or <literal>int</literal>, "
+"given a named database sequence."
+msgstr ""
+"usa un algoritmo alto/bajo para generar eficientemente identificadores de "
+"tipo <literal>long</literal>, <literal>short</literal> o <literal>int</"
+"literal>, dada una secuencia de base de datos."
-#: index.docbook:604
+#. Tag: literal
+#: basic_mapping.xml:604
+#, no-c-format
msgid "uuid"
-msgstr "deja a la aplicación asignar un identificador al objeto antes de que se llame a <literal>save()</literal>. Esta es la estrategia por defecto si no se especifica un elemento <literal><generator></literal>."
+msgstr "uuid"
-#: 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 "select"
+#. Tag: para
+#: basic_mapping.xml:606
+#, no-c-format
+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."
-#: index.docbook:614
+#. Tag: literal
+#: basic_mapping.xml:614
+#, no-c-format
msgid "guid"
-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."
+msgstr "guid"
-#: index.docbook:616
+#. Tag: para
+#: basic_mapping.xml:616
+#, no-c-format
msgid "uses a database-generated GUID string on MS SQL Server and MySQL."
-msgstr "foreign"
+msgstr ""
+"usa una cadena GUID generada por base de datos en MS SQL Server y MySQL."
-#: index.docbook:622
+#. Tag: literal
+#: basic_mapping.xml:622
+#, no-c-format
msgid "native"
-msgstr "usa el identificador de otro objeto asociado. Generalmente usado en conjuncón a una asociacón de clave primaria <literal><uno-a-uno></literal>"
+msgstr "native"
-#: index.docbook:624
-msgid "picks <literal>identity</literal>, <literal>sequence</literal> or <literal>hilo</literal> depending upon the capabilities of the underlying database."
-msgstr "Algoritmo alto/bajo"
+#. Tag: para
+#: basic_mapping.xml:624
+#, no-c-format
+msgid ""
+"picks <literal>identity</literal>, <literal>sequence</literal> or "
+"<literal>hilo</literal> depending upon the capabilities of the underlying "
+"database."
+msgstr ""
+"selecciona <literal>identity</literal>, <literal>sequence</literal> o "
+"<literal>hilo</literal> dependiendo de las capacidades de la base de datos "
+"subyacente."
-#: index.docbook:632
+#. Tag: literal
+#: basic_mapping.xml:632
+#, no-c-format
msgid "assigned"
-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)."
+msgstr "assigned"
-#: index.docbook:634
-msgid "lets the application to assign an identifier to the object before <literal>save()</literal> is called. This is the default strategy if no <literal><generator></literal> element is specified."
+#. Tag: para
+#: basic_mapping.xml:634
+#, no-c-format
+msgid ""
+"lets the application to assign an identifier to the object before "
+"<literal>save()</literal> is called. This is the default strategy if no "
+"<literal><generator></literal> element is specified."
msgstr ""
- "<![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>]]>"
+"deja a la aplicación asignar un identificador al objeto antes de que se "
+"llame a <literal>save()</literal>. Esta es la estrategia por defecto si no "
+"se especifica un elemento <literal><generator></literal>."
-#: index.docbook:642
+#. Tag: literal
+#: basic_mapping.xml:642
+#, no-c-format
msgid "select"
+msgstr "select"
+
+#. Tag: para
+#: basic_mapping.xml:644
+#, no-c-format
+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 ""
- "<![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>]]>"
+"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."
-#: 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 "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>."
-
-#: index.docbook:651
+#. Tag: literal
+#: basic_mapping.xml:651
+#, no-c-format
msgid "foreign"
-msgstr "Algoritmo UUID"
+msgstr "foreign"
-#: index.docbook:653
-msgid "uses the identifier of another associated object. Usually used in conjunction with a <literal><one-to-one></literal> primary key association."
-msgstr "El UUID contiene: la dirección IP, el instante de arranque de la JVM (con una precisión de un cuarto de segundo), el tiempo de sistema y un valor de contador (único en la JVM). No es posible obtener una dirección MAC o una dirección de memoria desde código Java, así que esto es lo mejor que podemos hacer sin usar JNI."
+#. Tag: para
+#: basic_mapping.xml:653
+#, no-c-format
+msgid ""
+"uses the identifier of another associated object. Usually used in "
+"conjunction with a <literal><one-to-one></literal> primary key "
+"association."
+msgstr ""
+"usa el identificador de otro objeto asociado. Generalmente usado en "
+"conjuncón a una asociacón de clave primaria <literal><uno-a-uno></"
+"literal>"
-#: index.docbook:660
+#. Tag: literal
+#: basic_mapping.xml:660
+#, no-c-format
msgid "sequence-identity"
-msgstr "Columnas de identidad y secuencias"
+msgstr "UNTRANSLATED! sequence-identity"
-#: index.docbook:662
-msgid "a specialized sequence generation strategy which utilizes a database sequence for the actual value generation, but combines this with JDBC3 getGeneratedKeys to actually return the generated identifier value as part of the insert statement execution. This strategy is only known to be 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."
-msgstr "Para las bases de datos que soportan columnas de identidad (DB2, MySQL, Sybase, MS SQL), puedes usar generación de claves <literal>identity</literal>. Para las bases de datos que soportan secuencias (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generación de claves del estilo <literal>sequence</literal>. Ambas estrategias requieren dos consultas SQL para insertar un nuevo objeto."
+#. Tag: para
+#: basic_mapping.xml:662
+#, no-c-format
+msgid ""
+"a specialized sequence generation strategy which utilizes a database "
+"sequence for the actual value generation, but combines this with JDBC3 "
+"getGeneratedKeys to actually return the generated identifier value as part "
+"of the insert statement execution. This strategy is only known to be "
+"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."
+msgstr ""
+"a specialized sequence generation strategy which utilizes a database "
+"sequence for the actual value generation, but combines this with JDBC3 "
+"getGeneratedKeys to actually return the generated identifier value as part "
+"of the insert statement execution. This strategy is only known to be "
+"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."
-#: index.docbook:679
+#. Tag: title
+#: basic_mapping.xml:679
+#, no-c-format
msgid "Hi/lo algorithm"
+msgstr "Algoritmo alto/bajo"
+
+#. Tag: para
+#: basic_mapping.xml:680
+#, no-c-format
+msgid ""
+"The <literal>hilo</literal> and <literal>seqhilo</literal> generators "
+"provide two alternate implementations of the hi/lo algorithm, a favorite "
+"approach to identifier generation. The first implementation requires a "
+"\"special\" database table to hold the next available \"hi\" value. The "
+"second uses an Oracle-style sequence (where supported)."
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>]]>"
+"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)."
-#: index.docbook:680
-msgid "The <literal>hilo</literal> and <literal>seqhilo</literal> generators provide two alternate implementations of the hi/lo algorithm, a favorite approach to identifier generation. The first implementation requires a \"special\" database table to hold the next available \"hi\" value. The second uses an Oracle-style sequence (where supported)."
+#. Tag: programlisting
+#: basic_mapping.xml:687
+#, no-c-format
+msgid ""
+"<![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>]]>"
msgstr ""
- "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0\">\n"
- " <generator class=\"identity\"/>\n"
- "</id>]]>"
-#: index.docbook:687
+#. Tag: programlisting
+#: basic_mapping.xml:689
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Para desarrollos multiplataforma, la estrategia <literal>native</literal> eiligirá de entre las estrategias <literal>identity</literal>, <literal>sequence</literal> y <literal>hilo</literal>, dependiendo de las capacidades de la base de datos subyacentes."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:689
+#. Tag: para
+#: basic_mapping.xml:691
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Identificadores asignados"
+"Unfortunately, you can't use <literal>hilo</literal> when supplying your own "
+"<literal>Connection</literal> to Hibernate. When Hibernate is using an "
+"application server datasource to obtain connections enlisted with JTA, you "
+"must properly configure the <literal>hibernate.transaction."
+"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>."
-#: 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 application server datasource to obtain connections enlisted with JTA, you must properly configure the <literal>hibernate.transaction.manager_lookup_class</literal>."
-msgstr "Si quieres que la aplicación asigne los identificadores (en contraposición a que los genere Hibernate), puedes usar el generador <literal>assigned</literal>. Este generador especial usará el valor identificador ya asignado a la propiedad identificadora del objeto. Este generador se usa cuandola clave primaria es una clave natural en vez de una clave sustituta. Este es el comportamiento por defecto si no especificas un elemento <literal><generator></literal>."
-
-#: index.docbook:700
+#. Tag: title
+#: basic_mapping.xml:700
+#, no-c-format
msgid "UUID algorithm"
-msgstr "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>."
+msgstr "Algoritmo UUID"
-#: 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 "Claves primarias asignadas por disparadores"
+#. Tag: para
+#: basic_mapping.xml:701
+#, no-c-format
+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."
-#: index.docbook:710
+#. Tag: title
+#: basic_mapping.xml:710
+#, no-c-format
msgid "Identity columns and sequences"
-msgstr "Para esquemas heredados solamente (Hibernate no genera DDL con disparadores)."
+msgstr "Columnas de identidad y secuencias"
-#: 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 support sequences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) you may use <literal>sequence</literal> style key generation. Both these strategies require two SQL queries to insert a new object."
+#. Tag: para
+#: basic_mapping.xml:711
+#, no-c-format
+msgid ""
+"For databases which support identity columns (DB2, MySQL, Sybase, MS SQL), "
+"you may use <literal>identity</literal> key generation. For databases that "
+"support sequences (DB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB) you "
+"may use <literal>sequence</literal> style key generation. Both these "
+"strategies require two SQL queries to insert a new object."
msgstr ""
- "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
- " <generator class=\"select\">\n"
- " <param name=\"key\">socialSecurityNumber</param>\n"
- " </generator>\n"
- "</id>]]>"
+"Para las bases de datos que soportan columnas de identidad (DB2, MySQL, "
+"Sybase, MS SQL), puedes usar generación de claves <literal>identity</"
+"literal>. Para las bases de datos que soportan secuencias (DB2, Oracle, "
+"PostgreSQL, Interbase, McKoi, SAP DB) puedes usar la generación de claves "
+"del estilo <literal>sequence</literal>. Ambas estrategias requieren dos "
+"consultas SQL para insertar un nuevo objeto."
-#: index.docbook:719
+#. Tag: programlisting
+#: basic_mapping.xml:719
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "En el ejemplo de arriba, hay una propiedad ánica llamada <literal>socialSecurityNumber</literal> definida por la clase, como una clave natural, y una clave sustituta llamada <literal>person_id</literal> cuyo valor es generado por un disparador."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:721
+#. Tag: programlisting
+#: basic_mapping.xml:721
+#, no-c-format
msgid ""
- "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0\">\n"
- " <generator class=\"identity\"/>\n"
- "</id>]]>"
-msgstr "composite-id"
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\" unsaved-value=\"0"
+"\">\n"
+" <generator class=\"identity\"/>\n"
+"</id>]]>"
+msgstr ""
-#: index.docbook:723
-msgid "For cross-platform development, the <literal>native</literal> strategy will choose from the <literal>identity</literal>, <literal>sequence</literal> and <literal>hilo</literal> strategies, dependant upon the capabilities of the underlying database."
+#. Tag: para
+#: basic_mapping.xml:723
+#, no-c-format
+msgid ""
+"For cross-platform development, the <literal>native</literal> strategy will "
+"choose from the <literal>identity</literal>, <literal>sequence</literal> and "
+"<literal>hilo</literal> strategies, dependant upon the capabilities of the "
+"underlying database."
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>]]>"
+"Para desarrollos multiplataforma, la estrategia <literal>native</literal> "
+"eiligirá de entre las estrategias <literal>identity</literal>, "
+"<literal>sequence</literal> y <literal>hilo</literal>, dependiendo de las "
+"capacidades de la base de datos subyacentes."
-#: index.docbook:732
+#. Tag: title
+#: basic_mapping.xml:732
+#, no-c-format
msgid "Assigned identifiers"
-msgstr "Para una tabla con clave compuesta, puedes mapear múltiples propiedades de la clase como propiedades identificadoras. El elemento <literal><composite-id></literal> acepta los mapeos de propiedad <literal><key-property></literal> y los mapeos <literal><key-many-to-one></literal> como elementos hijo."
+msgstr "Identificadores asignados"
-#: 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> generator. This special generator will use the identifier value already assigned to the object's identifier property. This generator is used when the primary key is a natural key instead of a surrogate key. This is the default behavior if you do no specify a <literal><generator></literal> element."
+#. Tag: para
+#: basic_mapping.xml:733
+#, no-c-format
+msgid ""
+"If you want the application to assign identifiers (as opposed to having "
+"Hibernate generate them), you may use the <literal>assigned</literal> "
+"generator. This special generator will use the identifier value already "
+"assigned to the object's identifier property. This generator is used when "
+"the primary key is a natural key instead of a surrogate key. This is the "
+"default behavior if you do no specify a <literal><generator></literal> "
+"element."
msgstr ""
- "<![CDATA[<composite-id>\n"
- " <key-property name=\"medicareNumber\"/>\n"
- " <key-property name=\"dependent\"/>\n"
- "</composite-id>]]>"
+"Si quieres que la aplicación asigne los identificadores (en contraposición a "
+"que los genere Hibernate), puedes usar el generador <literal>assigned</"
+"literal>. Este generador especial usará el valor identificador ya asignado a "
+"la propiedad identificadora del objeto. Este generador se usa cuandola clave "
+"primaria es una clave natural en vez de una clave sustituta. Este es el "
+"comportamiento por defecto si no especificas un elemento <literal><"
+"generator></literal>."
-#: index.docbook:742
-msgid "Choosing the <literal>assigned</literal> generator makes Hibernate use <literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to the database to determine if an instance is transient or detached, unless there is a version or timestamp property, or you define <literal>Interceptor.isUnsaved()</literal>."
-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>."
+#. Tag: para
+#: basic_mapping.xml:742
+#, no-c-format
+msgid ""
+"Choosing the <literal>assigned</literal> generator makes Hibernate use "
+"<literal>unsaved-value=\"undefined\"</literal>, forcing Hibernate to go to "
+"the database to determine if an instance is transient or detached, unless "
+"there is a version or timestamp property, or you define <literal>Interceptor."
+"isUnsaved()</literal>."
+msgstr ""
+"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>."
-#: index.docbook:752
+#. Tag: title
+#: basic_mapping.xml:752
+#, no-c-format
msgid "Primary keys assigned by triggers"
-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 <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 solamente se aplican a este enfoque alternativo:"
+msgstr "Claves primarias asignadas por disparadores"
-#: index.docbook:753
-msgid "For legacy schemas only (Hibernate does not generate DDL with triggers)."
-msgstr "<literal>name</literal> (opcional): Una propiedad de tipo componente que tiene el identificador compuesto (ver siguiente sección)."
+#. Tag: para
+#: basic_mapping.xml:753
+#, no-c-format
+msgid ""
+"For legacy schemas only (Hibernate does not generate DDL with triggers)."
+msgstr ""
+"Para esquemas heredados solamente (Hibernate no genera DDL con disparadores)."
-#: index.docbook:757
+#. Tag: programlisting
+#: basic_mapping.xml:757
+#, no-c-format
msgid ""
- "<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
- " <generator class=\"select\">\n"
- " <param name=\"key\">socialSecurityNumber</param>\n"
- " </generator>\n"
- "</id>]]>"
-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)."
+"<![CDATA[<id name=\"id\" type=\"long\" column=\"person_id\">\n"
+" <generator class=\"select\">\n"
+" <param name=\"key\">socialSecurityNumber</param>\n"
+" </generator>\n"
+"</id>]]>"
+msgstr ""
-#: 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 "<literal>unsaved-value</literal> (opcional - por defecto a <literal>undefined</literal>): Indica que las instancias transitorias deben ser consideradas como recién instanciadas, si se establece a <literal>any</literal>, o separadas, si se establece a <literal>none</literal>. Lo mejor Indicates that transient instances should be considered newly instantiated, if set to <literal>any</literal>, or detached, if set to <literal>none</literal>. Lo mejor en todos los casos es dejar el valor por defecto."
+#. Tag: para
+#: basic_mapping.xml:759
+#, no-c-format
+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 "
+"<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."
-#: index.docbook:771
+#. Tag: title
+#: basic_mapping.xml:771
+#, no-c-format
msgid "Enhanced identifier generators"
-msgstr "discriminator"
+msgstr "Enhanced identifier generators"
-#: 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 is database portability; the second is optimization (not having to query the database for every request for a new identifier value). These two new generators are intended to take the place of some of the named generators described above (starting in 3.3.x); however, they are included in the current releases and can be referenced by FQN."
-msgstr "El elemento <literal><discriminator></literal> es requerido para la persistencia polimórfica usando la estrategia de mapeo de tabla-por-jerarquía-de-clases y declara una columna discriminadora de la tabla. La columna discriminidora contiene valores de marca que le dicen a la capa de persistencia qué subclase instanciar para una fila en particular. Un conjunto restringido de tipos puede ser usado: <literal>string</literal>, <literal>character</literal>, <literal>integer</literal>, <literal>byte</literal>, <literal>short</literal>, <literal>boolean</literal>, <literal>yes_no</literal>, <literal>true_false</literal>."
+#. Tag: para
+#: basic_mapping.xml:773
+#, no-c-format
+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 "
+"is database portability; the second is optimization (not having to query the "
+"database for every request for a new identifier value). These two new "
+"generators are intended to take the place of some of the named generators "
+"described above (starting in 3.3.x); however, they are included in the "
+"current releases and can be referenced by FQN."
+msgstr ""
+"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 "
+"is database portability; the second is optimization (not having to query the "
+"database for every request for a new identifier value). These two new "
+"generators are intended to take the place of some of the named generators "
+"described above (starting in 3.3.x); however, they are included in the "
+"current releases and can be referenced by FQN."
-#: 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 for the <literal>sequence</literal> generator and secondly as a better portability generator than <literal>native</literal> (because <literal>native</literal> (generally) chooses between <literal>identity</literal> and <literal>sequence</literal> which have largely different semantics which can cause subtle isssues in applications eyeing portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</literal> however achieves portability in a different manner. It chooses between using a table or a sequence in the database to store its incrementing values depending on the capabilities of the dialect being used. 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:"
+#. Tag: para
+#: basic_mapping.xml:781
+#, fuzzy, no-c-format
+msgid ""
+"The first of these new generators is <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
+"for the <literal>sequence</literal> generator and secondly as a better "
+"portability generator than <literal>native</literal> (because "
+"<literal>native</literal> (generally) chooses between <literal>identity</"
+"literal> and <literal>sequence</literal> which have largely different "
+"semantics which can cause subtle isssues in applications eyeing "
+"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
+"literal> however achieves portability in a different manner. It chooses "
+"between using a table or a sequence in the database to store its "
+"incrementing values depending on the capabilities of the dialect being used. "
+"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:"
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"
- "/>]]>"
+"The first of these new generators is <literal>org.hibernate.id.enhanced."
+"SequenceStyleGenerator</literal> which is intended firstly as a replacement "
+"for the <literal>sequence</literal> generator and secondly as a better "
+"portability generator than <literal>native</literal> (because "
+"<literal>native</literal> (generally) chooses between <literal>identity</"
+"literal> and <literal>sequence</literal> which have largely different "
+"semantics which can cause subtle isssues in applications eyeing "
+"portability). <literal>org.hibernate.id.enhanced.SequenceStyleGenerator</"
+"literal> however achieves portability in a different manner. It chooses "
+"between using a table or a sequence in the database to store its "
+"incrementing values depending on the capabilities of the dialect being used. "
+"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/>"
-#: index.docbook:795
-msgid "<literal>sequence_name</literal> (optional, defaults to <literal>hibernate_sequence</literal>): The name of the sequence (or table) to be used."
-msgstr "<literal>column</literal> (opcional - por defecto a <literal>class</literal>) el nombre de la columna discriminadora."
+#. Tag: para
+#: basic_mapping.xml:795
+#, no-c-format
+msgid ""
+"<literal>sequence_name</literal> (optional, defaults to "
+"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
+"to be used."
+msgstr ""
+"<literal>sequence_name</literal> (optional, defaults to "
+"<literal>hibernate_sequence</literal>): The name of the sequence (or table) "
+"to be used."
-#: 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 sequence creation terms, this is analogous to the clause typical named \"STARTS WITH\"."
-msgstr "<literal>type</literal> (opcional - por defecto a <literal>string</literal>) un nombre que indique el tipo Hibernate"
+#. Tag: para
+#: basic_mapping.xml:801
+#, no-c-format
+msgid ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the sequence/table. In "
+"sequence creation terms, this is analogous to the clause typical named "
+"\"STARTS WITH\"."
+msgstr ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the sequence/table. In "
+"sequence creation terms, this is analogous to the clause typical named "
+"\"STARTS WITH\"."
-#: 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 differ. In sequence creation terms, this is analogous to the clause typical named \"INCREMENT BY\"."
-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."
+#. Tag: para
+#: basic_mapping.xml:808
+#, no-c-format
+msgid ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the sequence/table should "
+"differ. In sequence creation terms, this is analogous to the clause typical "
+"named \"INCREMENT BY\"."
+msgstr ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the sequence/table should "
+"differ. In sequence creation terms, this is analogous to the clause typical "
+"named \"INCREMENT BY\"."
-#: 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 though the dialect might support sequence?"
-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.)"
+#. Tag: para
+#: basic_mapping.xml:815
+#, no-c-format
+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 "
+"though the dialect might support sequence?"
+msgstr ""
+"<literal>force_table_use</literal> (optional, defaults to <literal>false</"
+"literal>): Should we force the use of a table as the backing structure even "
+"though the dialect might support sequence?"
-#: 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 table which is used to hold the value."
-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."
+#. Tag: para
+#: basic_mapping.xml:822
+#, no-c-format
+msgid ""
+"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
+"literal>): Only relevant for table structures! The name of the column on the "
+"table which is used to hold the value."
+msgstr ""
+"<literal>value_column</literal> (optional, defaults to <literal>next_val</"
+"literal>): Only relevant for table structures! The name of the column on the "
+"table which is used to hold the value."
-#: index.docbook:829
-msgid "<literal>optimizer</literal> (optional, defaults to <literal>none</literal>): See"
-msgstr "Los valores reales de la columna discriminadora están especificados por el atributo <literal>discriminator-value</literal> de los elementos <literal><class></literal> y <literal><subclass></literal>."
+#. Tag: para
+#: basic_mapping.xml:829
+#, fuzzy, no-c-format
+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."
-#: 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 <literal>table</literal> generator (although it actually functions much more like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and secondly as a re-implementation of <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable 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:"
-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."
+#. Tag: para
+#: basic_mapping.xml:836
+#, fuzzy, no-c-format
+msgid ""
+"The second of these new generators is <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal> which is intended firstly as a replacement for the "
+"<literal>table</literal> generator (although it actually functions much more "
+"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
+"secondly as a re-implementation of <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
+"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:"
+msgstr ""
+"The second of these new generators is <literal>org.hibernate.id.enhanced."
+"TableGenerator</literal> which is intended firstly as a replacement for the "
+"<literal>table</literal> generator (although it actually functions much more "
+"like <literal>org.hibernate.id.MultipleHiLoPerTableGenerator</literal>) and "
+"secondly as a re-implementation of <literal>org.hibernate.id."
+"MultipleHiLoPerTableGenerator</literal> utilizing the notion of pluggable "
+"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/>"
-#: index.docbook:846
-msgid "<literal>table_name</literal> (optional, defaults to <literal>hibernate_sequences</literal>): The name of the table to be used."
-msgstr "Usando el atributo <literal>formula</literal> puedes declarar una expresión SQL arbitraria que será usada para evaluar el tipo de una fila:"
+#. Tag: para
+#: basic_mapping.xml:846
+#, no-c-format
+msgid ""
+"<literal>table_name</literal> (optional, defaults to "
+"<literal>hibernate_sequences</literal>): The name of the table to be used."
+msgstr ""
+"<literal>table_name</literal> (optional, defaults to "
+"<literal>hibernate_sequences</literal>): The name of the table to be used."
-#: 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 used to hold the value."
+#. Tag: para
+#: basic_mapping.xml:852
+#, no-c-format
+msgid ""
+"<literal>value_column_name</literal> (optional, defaults to "
+"<literal>next_val</literal>): The name of the column on the table which is "
+"used to hold the value."
msgstr ""
- "<![CDATA[<discriminator\n"
- " formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
- " type=\"integer\"/>]]>"
+"<literal>value_column_name</literal> (optional, defaults to "
+"<literal>next_val</literal>): The name of the column on the table which is "
+"used to hold the value."
-#: 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 is used to hold the \"segement key\". This is the value which distinctly identifies which increment value to use."
-msgstr "version (opcional)"
+#. Tag: para
+#: basic_mapping.xml:858
+#, no-c-format
+msgid ""
+"<literal>segment_column_name</literal> (optional, defaults to "
+"<literal>sequence_name</literal>): The name of the column on the table which "
+"is used to hold the \"segement key\". This is the value which distinctly "
+"identifies which increment value to use."
+msgstr ""
+"<literal>segment_column_name</literal> (optional, defaults to "
+"<literal>sequence_name</literal>): The name of the column on the table which "
+"is used to hold the \"segement key\". This is the value which distinctly "
+"identifies which increment value to use."
-#: 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 pull increment values for this generator."
-msgstr "El elemento <literal><version></literal> es opcional e indica que la tabla contiene datos versionados. Esto es particularmente útil si planeas usar <emphasis>transacciones largas</emphasis> (ver debajo)."
+#. Tag: para
+#: basic_mapping.xml:865
+#, no-c-format
+msgid ""
+"<literal>segment_value</literal> (optional, defaults to <literal>default</"
+"literal>): The \"segment key\" value for the segment from which we want to "
+"pull increment values for this generator."
+msgstr ""
+"<literal>segment_value</literal> (optional, defaults to <literal>default</"
+"literal>): The \"segment key\" value for the segment from which we want to "
+"pull increment values for this generator."
-#: 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 segment key column."
+#. Tag: para
+#: basic_mapping.xml:872
+#, no-c-format
+msgid ""
+"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
+"literal>): Used for schema generation; the column size to create this "
+"segment key column."
msgstr ""
- "<![CDATA[<version\n"
- " column=\"version_column\"\n"
- " name=\"propertyName\"\n"
- " type=\"typename\"\n"
- " access=\"field|property|ClassName\"\n"
- " unsaved-value=\"null|negative|undefined\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- "/>]]>"
+"<literal>segment_value_length</literal> (optional, defaults to <literal>255</"
+"literal>): Used for schema generation; the column size to create this "
+"segment key column."
-#: index.docbook:878
-msgid "<literal>initial_value</literal> (optional, defaults to <literal>1</literal>): The initial value to be retrieved from the table."
-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."
+#. Tag: para
+#: basic_mapping.xml:878
+#, no-c-format
+msgid ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the table."
+msgstr ""
+"<literal>initial_value</literal> (optional, defaults to <literal>1</"
+"literal>): The initial value to be retrieved from the table."
-#: 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."
-msgstr "<literal>name</literal>: El nombre de una propiedad de la clase persistente."
+#. Tag: para
+#: basic_mapping.xml:884
+#, no-c-format
+msgid ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the table should differ."
+msgstr ""
+"<literal>increment_size</literal> (optional, defaults to <literal>1</"
+"literal>): The value by which subsequent calls to the table should differ."
-#: index.docbook:890
-msgid "<literal>optimizer</literal> (optional, defaults to <literal></literal>): See"
-msgstr "<literal>type</literal> (opcional - por defecto a <literal>integer</literal>): El tipo del nú.mero de vesión."
+#. Tag: para
+#: basic_mapping.xml:890
+#, fuzzy, no-c-format
+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."
-#: index.docbook:900
+#. Tag: title
+#: basic_mapping.xml:900
+#, no-c-format
msgid "Identifier generator optimization"
-msgstr "<literal>access</literal> (opcional - por defecto a <literal>property</literal>): La estrategia que Hibernate debe usar para acceder al valor de la propiedad."
+msgstr "Identifier generator optimization"
-#: 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 a new identifier value. Instead, you'd ideally want to group a bunch of them 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."
-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.)"
+#. Tag: para
+#: basic_mapping.xml:901
+#, fuzzy, no-c-format
+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 "
+"a new identifier value. Instead, you'd ideally want to group a bunch of them "
+"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."
+msgstr ""
+"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 "
+"a new identifier value. Instead, you'd ideally want to group a bunch of them "
+"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/>"
-#: 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 each and every request."
-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."
+#. Tag: para
+#: basic_mapping.xml:909
+#, no-c-format
+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 "
+"each and every request."
+msgstr ""
+"<literal>none</literal> (generally this is the default if no optimizer was "
+"specified): This says to not perform any optimizations, and hit the database "
+"each and every request."
-#: 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 expected to be sequential. The values retrieved from the database structure for this optimizer indicates the \"group number\"; the <literal>increment_size</literal> is multiplied by that value in memory to define a group \"hi value\"."
-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>"
+#. Tag: para
+#: basic_mapping.xml:915
+#, no-c-format
+msgid ""
+"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
+"retrieved values. The values from the database for this optimizer are "
+"expected to be sequential. The values retrieved from the database structure "
+"for this optimizer indicates the \"group number\"; the "
+"<literal>increment_size</literal> is multiplied by that value in memory to "
+"define a group \"hi value\"."
+msgstr ""
+"<literal>hilo</literal>: applies a hi/lo algorithm around the database "
+"retrieved values. The values from the database for this optimizer are "
+"expected to be sequential. The values retrieved from the database structure "
+"for this optimizer indicates the \"group number\"; the "
+"<literal>increment_size</literal> is multiplied by that value in memory to "
+"define a group \"hi value\"."
-#: 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. Here, however, we simply store the starting value for the \"next group\" into the database structure rather than a sequential value in combination with an in-memory grouping algorithm. <literal>increment_size</literal> here refers to the values coming from the database."
-msgstr "timestamp (opcional)"
+#. Tag: para
+#: basic_mapping.xml:924
+#, no-c-format
+msgid ""
+"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
+"this optimizers attempts to minimize the number of hits to the database. "
+"Here, however, we simply store the starting value for the \"next group\" "
+"into the database structure rather than a sequential value in combination "
+"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
+"refers to the values coming from the database."
+msgstr ""
+"<literal>pooled</literal>: like was discussed for <literal>hilo</literal>, "
+"this optimizers attempts to minimize the number of hits to the database. "
+"Here, however, we simply store the starting value for the \"next group\" "
+"into the database structure rather than a sequential value in combination "
+"with an in-memory grouping algorithm. <literal>increment_size</literal> here "
+"refers to the values coming from the database."
-#: index.docbook:937
+#. Tag: title
+#: basic_mapping.xml:937
+#, no-c-format
msgid "composite-id"
-msgstr "El elemento opcional <literal><timestamp></literal> indica que la tabla contiene datos con sellos de tiempo. Esto esta concebido como una alternativa al versionado. Los timestamps (sellos de tiempo) son por su naturaleza una implementación menos segura de bloqueo optimista. Sin embrago, a veces la aplicación puede usar los timestamps en otras formas."
+msgstr "composite-id"
-#: index.docbook:939
+#. Tag: programlisting
+#: basic_mapping.xml:939
+#, no-c-format
msgid ""
- "<![CDATA[<composite-id\n"
- " name=\"propertyName\"\n"
- " class=\"ClassName\"\n"
- " mapped=\"true|false\"\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>]]>"
+"<![CDATA[<composite-id\n"
+" name=\"propertyName\"\n"
+" class=\"ClassName\"\n"
+" mapped=\"true|false\"\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>]]>"
msgstr ""
- "<![CDATA[<timestamp\n"
- " column=\"timestamp_column\"\n"
- " name=\"propertyName\"\n"
- " access=\"field|property|ClassName\"\n"
- " unsaved-value=\"null|undefined\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- "/>]]>"
-#: index.docbook:941
-msgid "For a table with a composite key, you may map multiple properties of the class as identifier properties. The <literal><composite-id></literal> element accepts <literal><key-property></literal> property mappings and <literal><key-many-to-one></literal> mappings as child elements."
-msgstr "<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:941
+#, no-c-format
+msgid ""
+"For a table with a composite key, you may map multiple properties of the "
+"class as identifier properties. The <literal><composite-id></literal> "
+"element accepts <literal><key-property></literal> property mappings "
+"and <literal><key-many-to-one></literal> mappings as child elements."
+msgstr ""
+"Para una tabla con clave compuesta, puedes mapear múltiples propiedades de "
+"la clase como propiedades identificadoras. El elemento <literal><"
+"composite-id></literal> acepta los mapeos de propiedad <literal><key-"
+"property></literal> y los mapeos <literal><key-many-to-one></"
+"literal> como elementos hijo."
-#: index.docbook:948
+#. Tag: programlisting
+#: basic_mapping.xml:948
+#, no-c-format
msgid ""
- "<![CDATA[<composite-id>\n"
- " <key-property name=\"medicareNumber\"/>\n"
- " <key-property name=\"dependent\"/>\n"
- "</composite-id>]]>"
-msgstr "<literal>name</literal>: El nombre de una propiedad del estilo JavaBeans de tipo Java <literal>Date</literal> o <literal>Timestamp</literal> de la clase persistente."
+"<![CDATA[<composite-id>\n"
+" <key-property name=\"medicareNumber\"/>\n"
+" <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
+msgstr ""
-#: index.docbook:950
-msgid "Your persistent class <emphasis>must</emphasis> override <literal>equals()</literal> and <literal>hashCode()</literal> to implement composite identifier equality. It must also implements <literal>Serializable</literal>."
-msgstr "<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:950
+#, no-c-format
+msgid ""
+"Your persistent class <emphasis>must</emphasis> override <literal>equals()</"
+"literal> and <literal>hashCode()</literal> to implement composite identifier "
+"equality. It must also implements <literal>Serializable</literal>."
+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>."
-#: index.docbook:956
-msgid "Unfortunately, this approach to composite identifiers means that a persistent object is its own identifier. There is no convenient \"handle\" other than the object itself. You must instantiate an instance of the persistent class itself and populate its identifier properties before you can <literal>load()</literal> the persistent state associated with a composite key. We call this approach an <emphasis>embedded</emphasis> composite identifier, and discourage it for serious applications."
-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.)"
+#. Tag: para
+#: basic_mapping.xml:956
+#, no-c-format
+msgid ""
+"Unfortunately, this approach to composite identifiers means that a "
+"persistent object is its own identifier. There is no convenient \"handle\" "
+"other than the object itself. You must instantiate an instance of the "
+"persistent class itself and populate its identifier properties before you "
+"can <literal>load()</literal> the persistent state associated with a "
+"composite key. We call this approach an <emphasis>embedded</emphasis> "
+"composite identifier, and discourage it for serious applications."
+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 "
+"<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 "
+"solamente se aplican a este enfoque alternativo:"
-#: 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><composite-id></literal> element are duplicated on both the persistent class and a separate identifier class."
-msgstr "Note that <literal><timestamp></literal> is equivalent to <literal><version type=\"timestamp\"></literal>."
+#. Tag: para
+#: basic_mapping.xml:965
+#, no-c-format
+msgid ""
+"A second approach is what we call a <emphasis>mapped</emphasis> composite "
+"identifier, where the identifier properties named inside the <literal><"
+"composite-id></literal> element are duplicated on both the persistent "
+"class and a separate identifier class."
+msgstr ""
+"A second approach is what we call a <emphasis>mapped</emphasis> composite "
+"identifier, where the identifier properties named inside the <literal><"
+"composite-id></literal> element are duplicated on both the persistent "
+"class and a separate identifier class."
-#: index.docbook:971
+#. Tag: programlisting
+#: basic_mapping.xml:971
+#, no-c-format
msgid ""
- "<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
- " <key-property name=\"medicareNumber\"/>\n"
- " <key-property name=\"dependent\"/>\n"
- "</composite-id>]]>"
-msgstr "property"
+"<![CDATA[<composite-id class=\"MedicareId\" mapped=\"true\">\n"
+" <key-property name=\"medicareNumber\"/>\n"
+" <key-property name=\"dependent\"/>\n"
+"</composite-id>]]>"
+msgstr ""
-#: index.docbook:973
-msgid "In this example, both the composite identifier class, <literal>MedicareId</literal>, and the entity class itself have properties named <literal>medicareNumber</literal> and <literal>dependent</literal>. The identifier class must override <literal>equals()</literal> and <literal>hashCode()</literal> and implement. <literal>Serializable</literal>. The disadvantage of this approach is quite obvious—code duplication."
-msgstr "El elemento <literal><property></literal> declara una propiedad persistente estilo JavaBean de la clase."
+#. Tag: para
+#: basic_mapping.xml:973
+#, no-c-format
+msgid ""
+"In this example, both the composite identifier class, <literal>MedicareId</"
+"literal>, and the entity class itself have properties named "
+"<literal>medicareNumber</literal> and <literal>dependent</literal>. The "
+"identifier class must override <literal>equals()</literal> and "
+"<literal>hashCode()</literal> and implement. <literal>Serializable</"
+"literal>. The disadvantage of this approach is quite obvious—code "
+"duplication."
+msgstr ""
+"In this example, both the composite identifier class, <literal>MedicareId</"
+"literal>, and the entity class itself have properties named "
+"<literal>medicareNumber</literal> and <literal>dependent</literal>. The "
+"identifier class must override <literal>equals()</literal> and "
+"<literal>hashCode()</literal> and implement. <literal>Serializable</"
+"literal>. The disadvantage of this approach is quite obvious—code "
+"duplication."
-#: index.docbook:982
-msgid "The following attributes are used to specify a mapped composite identifier:"
+#. Tag: para
+#: basic_mapping.xml:982
+#, no-c-format
+msgid ""
+"The following attributes are used to specify a mapped composite identifier:"
msgstr ""
- "<![CDATA[<property\n"
- " name=\"propertyName\"\n"
- " column=\"column_name\"\n"
- " type=\"typename\"\n"
- " update=\"true|false\"\n"
- " insert=\"true|false\"\n"
- " formula=\"arbitrary SQL expression\"\n"
- " access=\"field|property|ClassName\"\n"
- " lazy=\"true|false\"\n"
- " unique=\"true|false\"\n"
- " not-null=\"true|false\"\n"
- " optimistic-lock=\"true|false\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- " index=\"index_name\"\n"
- " unique_key=\"unique_key_id\"\n"
- " length=\"L\"\n"
- " precision=\"P\"\n"
- " scale=\"S\"\n"
- "/>]]>"
+"The following attributes are used to specify a mapped composite identifier:"
-#: 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 property mappings refer to both the entity class and the composite identifier class."
-msgstr "<literal>name</literal>: el nombre de la propiedad, con la letra inicial en minúsculas."
+#. Tag: para
+#: basic_mapping.xml:988
+#, no-c-format
+msgid ""
+"<literal>mapped</literal> (optional, defaults to <literal>false</literal>): "
+"indicates that a mapped composite identifier is used, and that the contained "
+"property mappings refer to both the entity class and the composite "
+"identifier class."
+msgstr ""
+"<literal>mapped</literal> (optional, defaults to <literal>false</literal>): "
+"indicates that a mapped composite identifier is used, and that the contained "
+"property mappings refer to both the entity class and the composite "
+"identifier class."
-#: index.docbook:996
-msgid "<literal>class</literal> (optional, but required for a mapped composite identifier): The class used as a composite identifier."
-msgstr "<literal>column</literal> (opcional - por defecto al nombre de la propiedad): el nombre de la columna de tabla de base de datos mapeada. Esto puede también ser especificado con elemento(s) <literal><column></literal> anidado(s)."
+#. Tag: para
+#: basic_mapping.xml:996
+#, no-c-format
+msgid ""
+"<literal>class</literal> (optional, but required for a mapped composite "
+"identifier): The class used as a composite identifier."
+msgstr ""
+"<literal>class</literal> (optional, but required for a mapped composite "
+"identifier): The class used as a composite identifier."
-#: 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-compositeid\"/>. The attributes described below apply only to this alternative approach:"
-msgstr "<literal>type</literal> (opcional): un nombre que indica el nobre Hibernate."
+#. Tag: para
+#: basic_mapping.xml:1003
+#, no-c-format
+msgid ""
+"We will describe a third, even more convenient approach where the composite "
+"identifier is implemented as a component class in <xref linkend=\"components-"
+"compositeid\"/>. The attributes described below apply only to this "
+"alternative approach:"
+msgstr ""
+"We will describe a third, even more convenient approach where the composite "
+"identifier is implemented as a component class in <xref linkend=\"components-"
+"compositeid\"/>. The attributes described below apply only to this "
+"alternative approach:"
-#: 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>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."
+#. Tag: para
+#: basic_mapping.xml:1011
+#, no-c-format
+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)."
-#: 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>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:1023
+#, no-c-format
+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)."
-#: index.docbook:1030
-msgid "This third approach, an <emphasis>identifier component</emphasis> is the one we recommend for almost all applications."
-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)."
+#. Tag: para
+#: basic_mapping.xml:1030
+#, no-c-format
+msgid ""
+"This third approach, an <emphasis>identifier component</emphasis> is the one "
+"we recommend for almost all applications."
+msgstr ""
+"This third approach, an <emphasis>identifier component</emphasis> is the one "
+"we recommend for almost all applications."
-#: index.docbook:1038
+#. Tag: title
+#: basic_mapping.xml:1038
+#, no-c-format
msgid "discriminator"
-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>."
+msgstr "discriminator"
-#: index.docbook:1040
-msgid "The <literal><discriminator></literal> element is required for polymorphic persistence using the table-per-class-hierarchy mapping strategy and declares a discriminator column of the table. The discriminator column contains marker values that tell the persistence layer what subclass to instantiate for a particular row. A restricted set of types may be used: <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>."
-msgstr "<literal>not-null</literal> (opcional): Habilita la generació DDL de una restricción de nulabilidad para las columnas."
+#. Tag: para
+#: basic_mapping.xml:1040
+#, no-c-format
+msgid ""
+"The <literal><discriminator></literal> element is required for "
+"polymorphic persistence using the table-per-class-hierarchy mapping strategy "
+"and declares a discriminator column of the table. The discriminator column "
+"contains marker values that tell the persistence layer what subclass to "
+"instantiate for a particular row. A restricted set of types may be used: "
+"<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>."
+msgstr ""
+"El elemento <literal><discriminator></literal> es requerido para la "
+"persistencia polimórfica usando la estrategia de mapeo de tabla-por-"
+"jerarquía-de-clases y declara una columna discriminadora de la tabla. La "
+"columna discriminidora contiene valores de marca que le dicen a la capa de "
+"persistencia qué subclase instanciar para una fila en particular. Un "
+"conjunto restringido de tipos puede ser usado: <literal>string</literal>, "
+"<literal>character</literal>, <literal>integer</literal>, <literal>byte</"
+"literal>, <literal>short</literal>, <literal>boolean</literal>, "
+"<literal>yes_no</literal>, <literal>true_false</literal>."
-#: index.docbook:1058
+#. Tag: programlisting
+#: basic_mapping.xml:1058
+#, no-c-format
msgid ""
- "<![CDATA[<discriminator\n"
- " column=\"discriminator_column\"\n"
- " type=\"discriminator_type\"\n"
- " force=\"true|false\"\n"
- " insert=\"true|false\"\n"
- " formula=\"arbitrary sql expression\"\n"
- "/>]]>"
-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)."
+"<![CDATA[<discriminator\n"
+" column=\"discriminator_column\"\n"
+" type=\"discriminator_type\"\n"
+" force=\"true|false\"\n"
+" insert=\"true|false\"\n"
+" formula=\"arbitrary sql expression\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1061
-msgid "<literal>column</literal> (optional - defaults to <literal>class</literal>) the name of the discriminator column."
-msgstr "<emphasis>typename</emphasis> puede ser:"
+#. Tag: para
+#: basic_mapping.xml:1061
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to <literal>class</literal>) "
+"the name of the discriminator column."
+msgstr ""
+"<literal>column</literal> (opcional - por defecto a <literal>class</"
+"literal>) el nombre de la columna discriminadora."
-#: index.docbook:1067
-msgid "<literal>type</literal> (optional - defaults to <literal>string</literal>) a name that indicates the Hibernate type"
-msgstr "El nombre de un tipo básico Hibernate (por ejemplo, <literal>integer, string, character, date, timestamp, float, binary, serializable, object, blob</literal>)."
+#. Tag: para
+#: basic_mapping.xml:1067
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional - defaults to <literal>string</literal>) a "
+"name that indicates the Hibernate type"
+msgstr ""
+"<literal>type</literal> (opcional - por defecto a <literal>string</literal>) "
+"un nombre que indique el tipo Hibernate"
-#: index.docbook:1073
-msgid "<literal>force</literal> (optional - defaults to <literal>false</literal>) \"force\" Hibernate to specify allowed discriminator values even when retrieving all instances of the root class."
-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>)."
+#. Tag: para
+#: basic_mapping.xml:1073
+#, no-c-format
+msgid ""
+"<literal>force</literal> (optional - defaults to <literal>false</literal>) "
+"\"force\" Hibernate to specify allowed discriminator values even when "
+"retrieving all instances of the root class."
+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."
-#: 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 part of a mapped composite identifier. (Tells Hibernate to not include the column in SQL <literal>INSERT</literal>s.)"
-msgstr "El nombre de una clase Java serializable."
+#. Tag: para
+#: basic_mapping.xml:1080
+#, no-c-format
+msgid ""
+"<literal>insert</literal> (optional - defaults to <literal>true</literal>) "
+"set this to <literal>false</literal> if your discriminator column is also "
+"part of a mapped composite identifier. (Tells Hibernate to not include the "
+"column in SQL <literal>INSERT</literal>s.)"
+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.)"
-#: 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 "El nombre de un tipo personalizado (por ejemplo, <literal>com.illflow.type.MyCustomType</literal>)."
+#. Tag: para
+#: basic_mapping.xml:1088
+#, no-c-format
+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."
-#: index.docbook:1096
-msgid "Actual values of the discriminator column are specified by the <literal>discriminator-value</literal> attribute of the <literal><class></literal> and <literal><subclass></literal> elements."
-msgstr "Si no especificas un tipo, Hibernate usará reflección sobre la propiedad mencionada para deducir el tipo Hibernate correcto. Hibernate intentará interpretar el nombre de la clase de retorno del getter de la propiedad usando las reglas 2, 3 y 4 en ese orden. Sin embargo, esto no siempre suficiente. En ciertos casos, necesitarás aún el atributo <literal>type</literal>. (Por ejemplo, para distinguir entre <literal>Hibernate.DATE</literal> y <literal>Hibernate.TIMESTAMP</literal>, o especificar un tipo personalizado.)"
+#. Tag: para
+#: basic_mapping.xml:1096
+#, no-c-format
+msgid ""
+"Actual values of the discriminator column are specified by the "
+"<literal>discriminator-value</literal> attribute of the <literal><"
+"class></literal> and <literal><subclass></literal> elements."
+msgstr ""
+"Los valores reales de la columna discriminadora están especificados por el "
+"atributo <literal>discriminator-value</literal> de los elementos "
+"<literal><class></literal> y <literal><subclass></literal>."
-#: 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>access</literal> te deja controlar cómo Hibernate accederá a la propiedad en tiempo de ejecución. Por defecto, Hibernate llamará al par de getter/setter de la propiedad. Si especificas <literal>access=\"field\"</literal>, Hibernate se saltará el par get/set y accederá al campo directamente usando reflección. Puedes especificar tu propia estrategia de acceso a la propiedad mencionando una clase que implemente la interface <literal>org.hibernate.property.PropertyAccessor</literal>."
+#. Tag: para
+#: basic_mapping.xml:1102
+#, no-c-format
+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."
-#: 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 "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:"
+#. Tag: para
+#: basic_mapping.xml:1108
+#, no-c-format
+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:"
-#: index.docbook:1113
+#. Tag: programlisting
+#: basic_mapping.xml:1113
+#, no-c-format
msgid ""
- "<![CDATA[<discriminator\n"
- " formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
- " type=\"integer\"/>]]>"
+"<![CDATA[<discriminator\n"
+" formula=\"case when CLASS_TYPE in ('a', 'b', 'c') then 0 else 1 end\"\n"
+" type=\"integer\"/>]]>"
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 )\"/>]]>"
-#: index.docbook:1118
+#. Tag: title
+#: basic_mapping.xml:1118
+#, no-c-format
msgid "version (optional)"
-msgstr "Observa que puedes referenciar la propia tabla de las entidades sin declarar un alias o una columna particular (<literal>customerId</literal> en el ejemplo dado). Observa además que puedes usar el elemento anidado de mapeo <literal><formula></literal> si no te gusta usar el atributo."
+msgstr "version (opcional)"
-#: index.docbook:1120
-msgid "The <literal><version></literal> element is optional and indicates that the table contains versioned data. This is particularly useful if you plan to use <emphasis>long transactions</emphasis> (see below)."
-msgstr "many-to-one"
+#. Tag: para
+#: basic_mapping.xml:1120
+#, no-c-format
+msgid ""
+"The <literal><version></literal> element is optional and indicates "
+"that the table contains versioned data. This is particularly useful if you "
+"plan to use <emphasis>long transactions</emphasis> (see below)."
+msgstr ""
+"El elemento <literal><version></literal> es opcional e indica que la "
+"tabla contiene datos versionados. Esto es particularmente útil si planeas "
+"usar <emphasis>transacciones largas</emphasis> (ver debajo)."
-#: index.docbook:1136
+#. Tag: programlisting
+#: basic_mapping.xml:1136
+#, no-c-format
msgid ""
- "<![CDATA[<version\n"
- " column=\"version_column\"\n"
- " name=\"propertyName\"\n"
- " type=\"typename\"\n"
- " access=\"field|property|ClassName\"\n"
- " unsaved-value=\"null|negative|undefined\"\n"
- " generated=\"never|always\"\n"
- " insert=\"true|false\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- "/>]]>"
-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."
+"<![CDATA[<version\n"
+" column=\"version_column\"\n"
+" name=\"propertyName\"\n"
+" type=\"typename\"\n"
+" access=\"field|property|ClassName\"\n"
+" unsaved-value=\"null|negative|undefined\"\n"
+" generated=\"never|always\"\n"
+" insert=\"true|false\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1139
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of the column holding the version number."
+#. Tag: para
+#: basic_mapping.xml:1139
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of the column holding the version number."
msgstr ""
- "<![CDATA[<many-to-one\n"
- " name=\"propertyName\"\n"
- " column=\"column_name\"\n"
- " class=\"ClassName\"\n"
- " cascade=\"cascade_style\"\n"
- " fetch=\"join|select\"\n"
- " update=\"true|false\"\n"
- " insert=\"true|false\"\n"
- " property-ref=\"propertyNameFromAssociatedClass\"\n"
- " access=\"field|property|ClassName\"\n"
- " unique=\"true|false\"\n"
- " not-null=\"true|false\"\n"
- " optimistic-lock=\"true|false\"\n"
- " lazy=\"true|proxy|false\"\n"
- " not-found=\"ignore|exception\"\n"
- " entity-name=\"EntityName\"\n"
- " formula=\"cualquier expresión SQL\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- " embed-xml=\"true|false\"\n"
- " index=\"index_name\"\n"
- " unique_key=\"unique_key_id\"\n"
- " foreign-key=\"foreign_key_name\"\n"
- "/>]]>"
+"<literal>column</literal> (opcional - por defecto al nombre de la "
+"propiedad): El nombre de la columna que tiene el número de versión."
-#: index.docbook:1145
-msgid "<literal>name</literal>: The name of a property of the persistent class."
-msgstr "<literal>name</literal>: El nombre de la propiedad."
+#. Tag: para
+#: basic_mapping.xml:1145
+#, no-c-format
+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."
-#: index.docbook:1150
-msgid "<literal>type</literal> (optional - defaults to <literal>integer</literal>): The type of the version number."
-msgstr "<literal>column</literal> (opcional): El nombre de la columna clave foránea. También puede ser especificado por uno o varios elementos anidados <literal><column></literal>."
+#. Tag: para
+#: basic_mapping.xml:1150
+#, no-c-format
+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."
-#: 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 instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session. (<literal>undefined</literal> specifies that the identifier property value should be used.)"
-msgstr "<literal>cascade</literal> (opcional): Especifica qué operaciones deben ir en cascada desde el objeto padre al objeto asociado"
+#. Tag: para
+#: basic_mapping.xml:1162
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to <literal>undefined</"
+"literal>): A version property value that indicates that an instance is newly "
+"instantiated (unsaved), distinguishing it from detached instances that were "
+"saved or loaded in a previous session. (<literal>undefined</literal> "
+"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.)"
-#: index.docbook:1171
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this version property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "<literal>fetch</literal> (opcional - por defecto a 1<literal>select</literal>): Escoge entre recuperación outer-join o por selección secuencial."
+#. Tag: para
+#: basic_mapping.xml:1171
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this version property value is actually generated "
+"by the database. See the discussion of <link linkend=\"mapping-generated"
+"\">generated properties</link>."
+msgstr ""
+"UNTRANSLATED! <literal>generated</literal> (optional - defaults to "
+"<literal>never</literal>): Specifies that this version property value is "
+"actually generated by the database. See the discussion of <link linkend="
+"\"mapping-generated\">generated properties</link>."
-#: index.docbook:1178
-msgid "<literal>insert</literal> (optional - defaults to <literal>true</literal>): Specifies whether the version column should be included in SQL insert statements. May be set to <literal>false</literal> if and only if the database column is defined with a default value of <literal>0</literal>."
-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."
+#. Tag: para
+#: basic_mapping.xml:1178
+#, no-c-format
+msgid ""
+"<literal>insert</literal> (optional - defaults to <literal>true</literal>): "
+"Specifies whether the version column should be included in SQL insert "
+"statements. May be set to <literal>false</literal> if and only if the "
+"database column is defined with a default value of <literal>0</literal>."
+msgstr ""
+"UNTRANSLATED! <literal>insert</literal> (optional - defaults to "
+"<literal>true</literal>): Specifies whether the version column should be "
+"included in SQL insert statements. May be set to <literal>false</literal> if "
+"and only if the database column is defined with a default value of "
+"<literal>0</literal>."
-#: 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 "<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."
+#. Tag: para
+#: basic_mapping.xml:1188
+#, no-c-format
+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."
-#: 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 timestamp as transient, no matter what other <literal>unsaved-value</literal> strategies are specified. <emphasis>Declaring a nullable version or timestamp property is an easy way to avoid any problems with transitive reattachment in Hibernate, especially useful for people using assigned identifiers or composite keys!</emphasis>"
-msgstr "<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:1193
+#, no-c-format
+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 "
+"timestamp as transient, no matter what other <literal>unsaved-value</"
+"literal> strategies are specified. <emphasis>Declaring a nullable version or "
+"timestamp property is an easy way to avoid any problems with transitive "
+"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>"
-#: index.docbook:1204
+#. Tag: title
+#: basic_mapping.xml:1204
+#, no-c-format
msgid "timestamp (optional)"
-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."
+msgstr "timestamp (opcional)"
-#: index.docbook:1206
-msgid "The optional <literal><timestamp></literal> element indicates that the table contains timestamped data. This is intended as an alternative to versioning. Timestamps are by nature a less safe implementation of optimistic locking. However, sometimes the application might use the timestamps in other ways."
-msgstr "<literal>not-null</literal> (opcional): Habilita la generación DDL de una restricción de nulabilidad para las columnas de clave foránea."
+#. Tag: para
+#: basic_mapping.xml:1206
+#, no-c-format
+msgid ""
+"The optional <literal><timestamp></literal> element indicates that the "
+"table contains timestamped data. This is intended as an alternative to "
+"versioning. Timestamps are by nature a less safe implementation of "
+"optimistic locking. However, sometimes the application might use the "
+"timestamps in other ways."
+msgstr ""
+"El elemento opcional <literal><timestamp></literal> indica que la "
+"tabla contiene datos con sellos de tiempo. Esto esta concebido como una "
+"alternativa al versionado. Los timestamps (sellos de tiempo) son por su "
+"naturaleza una implementación menos segura de bloqueo optimista. Sin "
+"embrago, a veces la aplicación puede usar los timestamps en otras formas."
-#: index.docbook:1222
+#. Tag: programlisting
+#: basic_mapping.xml:1222
+#, no-c-format
msgid ""
- "<![CDATA[<timestamp\n"
- " column=\"timestamp_column\"\n"
- " name=\"propertyName\"\n"
- " access=\"field|property|ClassName\"\n"
- " unsaved-value=\"null|undefined\"\n"
- " source=\"vm|db\"\n"
- " generated=\"never|always\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- "/>]]>"
-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."
+"<![CDATA[<timestamp\n"
+" column=\"timestamp_column\"\n"
+" name=\"propertyName\"\n"
+" access=\"field|property|ClassName\"\n"
+" unsaved-value=\"null|undefined\"\n"
+" source=\"vm|db\"\n"
+" generated=\"never|always\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1225
-msgid "<literal>column</literal> (optional - defaults to the property name): The name of a column holding the timestamp."
-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."
+#. Tag: para
+#: basic_mapping.xml:1225
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): The "
+"name of a column holding the timestamp."
+msgstr ""
+"<literal>column</literal> (opcional - por defecto al nombre de la "
+"propiedad): El nombre de una columna que tiene el timestamp."
-#: 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 class."
-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."
+#. Tag: para
+#: basic_mapping.xml:1231
+#, no-c-format
+msgid ""
+"<literal>name</literal>: The name of a JavaBeans style property of Java type "
+"<literal>Date</literal> or <literal>Timestamp</literal> of the persistent "
+"class."
+msgstr ""
+"<literal>name</literal>: El nombre de una propiedad del estilo JavaBeans de "
+"tipo Java <literal>Date</literal> o <literal>Timestamp</literal> de la clase "
+"persistente."
-#: 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 instantiated (unsaved), distinguishing it from detached instances that were saved or loaded in a previous session. (<literal>undefined</literal> specifies that the identifier property value should be used.)"
-msgstr "<literal>formula</literal> (opcional): una expresión SQL que define el valor para una clave foránea <emphasis>computada</emphasis>."
+#. Tag: para
+#: basic_mapping.xml:1244
+#, no-c-format
+msgid ""
+"<literal>unsaved-value</literal> (optional - defaults to <literal>null</"
+"literal>): A version property value that indicates that an instance is newly "
+"instantiated (unsaved), distinguishing it from detached instances that were "
+"saved or loaded in a previous session. (<literal>undefined</literal> "
+"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.)"
-#: index.docbook:1253
-msgid "<literal>source</literal> (optional - defaults to <literal>vm</literal>): From where should Hibernate retrieve the timestamp value? From the database, or from the current JVM? Database-based timestamps incur an overhead because Hibernate must hit the database in order to determine the \"next value\", but will be safer for use in clustered environments. Note also, that not all <literal>Dialect</literal>s are known to support 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)."
-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\"/>."
+#. Tag: para
+#: basic_mapping.xml:1253
+#, no-c-format
+msgid ""
+"<literal>source</literal> (optional - defaults to <literal>vm</literal>): "
+"From where should Hibernate retrieve the timestamp value? From the database, "
+"or from the current JVM? Database-based timestamps incur an overhead because "
+"Hibernate must hit the database in order to determine the \"next value\", "
+"but will be safer for use in clustered environments. Note also, that not all "
+"<literal>Dialect</literal>s are known to support 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)."
+msgstr ""
+"UNTRANSLATED! <literal>source</literal> (optional - defaults to <literal>vm</"
+"literal>): From where should Hibernate retrieve the timestamp value? From "
+"the database, or from the current JVM? Database-based timestamps incur an "
+"overhead because Hibernate must hit the database in order to determine the "
+"\"next value\", but will be safer for use in clustered environments. Note "
+"also, that not all <literal>Dialect</literal>s are known to support "
+"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)."
-#: index.docbook:1265
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this timestamp property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "Una declaración típica <literal>muchos-a-uno</literal> se parece a esto:"
+#. Tag: para
+#: basic_mapping.xml:1265
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this timestamp property value is actually "
+"generated by the database. See the discussion of <link linkend=\"mapping-"
+"generated\">generated properties</link>."
+msgstr ""
+"UNTRANSLATED! <literal>generated</literal> (optional - defaults to "
+"<literal>never</literal>): Specifies that this timestamp property value is "
+"actually generated by the database. See the discussion of <link linkend="
+"\"mapping-generated\">generated properties</link>."
-#: index.docbook:1274
-msgid "Note that <literal><timestamp></literal> is equivalent to <literal><version type=\"timestamp\"></literal>. And <literal><timestamp source=\"db\"></literal> is equivalent to <literal><version type=\"dbtimestamp\"></literal>"
-msgstr "<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1274
+#, no-c-format
+msgid ""
+"Note that <literal><timestamp></literal> is equivalent to <literal><"
+"version type=\"timestamp\"></literal>. And <literal><timestamp source="
+"\"db\"></literal> is equivalent to <literal><version type=\"dbtimestamp"
+"\"></literal>"
+msgstr ""
+"Note that <literal><timestamp></literal> is equivalent to <literal><"
+"version type=\"timestamp\"></literal>."
-#: index.docbook:1284
+#. Tag: title
+#: basic_mapping.xml:1284
+#, no-c-format
msgid "property"
-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.)"
+msgstr "property"
-#: index.docbook:1286
-msgid "The <literal><property></literal> element declares a persistent, JavaBean style property of the class."
-msgstr "<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" column=\"SERIAL_NUMBER\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1286
+#, no-c-format
+msgid ""
+"The <literal><property></literal> element declares a persistent, "
+"JavaBean style property of the class."
+msgstr ""
+"El elemento <literal><property></literal> declara una propiedad "
+"persistente estilo JavaBean de la clase."
-#: index.docbook:1308
+#. Tag: programlisting
+#: basic_mapping.xml:1308
+#, no-c-format
msgid ""
- "<![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"
- " generated=\"never|insert|always\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- " index=\"index_name\"\n"
- " unique_key=\"unique_key_id\"\n"
- " length=\"L\"\n"
- " precision=\"P\"\n"
- " scale=\"S\"\n"
- "/>]]>"
-msgstr "Entonces el mapeo para <literal>OrderItem</literal> debería usar:"
+"<![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"
+" generated=\"never|insert|always\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" length=\"L\"\n"
+" precision=\"P\"\n"
+" scale=\"S\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1311
-msgid "<literal>name</literal>: the name of the property, with an initial lowercase letter."
-msgstr "<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column=\"PRODUCT_SERIAL_NUMBER\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1311
+#, no-c-format
+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."
-#: 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 nested <literal><column></literal> element(s)."
-msgstr "Sin embargo, esto no esta ciertamente alentado."
+#. Tag: para
+#: basic_mapping.xml:1317
+#, no-c-format
+msgid ""
+"<literal>column</literal> (optional - defaults to the property name): the "
+"name of the mapped database table column. This may also be specified by "
+"nested <literal><column></literal> element(s)."
+msgstr ""
+"<literal>column</literal> (opcional - por defecto al nombre de la "
+"propiedad): el nombre de la columna de tabla de base de datos mapeada. Esto "
+"puede también ser especificado con elemento(s) <literal><column></"
+"literal> anidado(s)."
-#: index.docbook:1324
-msgid "<literal>type</literal> (optional): a name that indicates the Hibernate type."
-msgstr "Si la clave única referenciada abarca múltiples propiedades de la entidad asociada, debes mapear las propiedades dentro de un elemento <literal><properties></literal>."
+#. Tag: para
+#: basic_mapping.xml:1324
+#, no-c-format
+msgid ""
+"<literal>type</literal> (optional): a name that indicates the Hibernate type."
+msgstr ""
+"<literal>type</literal> (opcional): un nombre que indica el nobre Hibernate."
-#: index.docbook:1329
-msgid "<literal>update, insert</literal> (optional - defaults to <literal>true</literal>) : specifies that the mapped columns should be included in SQL <literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. Setting both to <literal>false</literal> allows a pure \"derived\" property whose value is initialized from some other property that maps to the same colum(s) or by a trigger or other application."
-msgstr "one-to-one"
+#. Tag: para
+#: basic_mapping.xml:1329
+#, no-c-format
+msgid ""
+"<literal>update, insert</literal> (optional - defaults to <literal>true</"
+"literal>) : specifies that the mapped columns should be included in SQL "
+"<literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. "
+"Setting both to <literal>false</literal> allows a pure \"derived\" property "
+"whose value is initialized from some other property that maps to 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> . "
+"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."
-#: 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 "Una asociación uno-a-uno a otra clase persistente se declara usando un elemento <literal>one-to-one</literal>."
+#. Tag: para
+#: basic_mapping.xml:1338
+#, no-c-format
+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 "
+"computadas no tienen una columna mapeada propia."
-#: 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>name</literal>: El nombre de la propiedad."
+#. Tag: para
+#: basic_mapping.xml:1351
+#, no-c-format
+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)."
-#: 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>class</literal> (opcional - por defecto al tipo de la propiedad determinado por reflección): El nombre de la clase asociada."
+#. Tag: para
+#: basic_mapping.xml:1358
+#, no-c-format
+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>."
-#: index.docbook:1365
-msgid "<literal>not-null</literal> (optional): Enable the DDL generation of a nullability constraint for the columns."
-msgstr "<literal>cascade</literal> (opcional) especifica qué operaciones deben ir en cascada desde el objeto padre al objeto asociado."
+#. Tag: para
+#: basic_mapping.xml:1365
+#, no-c-format
+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."
-#: 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 acquisition of the optimistic lock. In other words, determines if a version increment should occur when this property is dirty."
-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)."
+#. Tag: para
+#: basic_mapping.xml:1371
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when this property is dirty."
+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)."
-#: index.docbook:1379
-msgid "<literal>generated</literal> (optional - defaults to <literal>never</literal>): Specifies that this property value is actually generated by the database. See the discussion of <xref linkend=\"mapping-generated\"/>generated properties."
-msgstr "<literal>fetch</literal> (opcional - por defecto <literal>select</literal>): Elige entre recuperación outer-join o recuperación por consulta secuencial."
+#. Tag: para
+#: basic_mapping.xml:1379
+#, no-c-format
+msgid ""
+"<literal>generated</literal> (optional - defaults to <literal>never</"
+"literal>): Specifies that this property value is actually generated by the "
+"database. See the discussion of <link linkend=\"mapping-generated"
+"\">generated properties</link>."
+msgstr ""
+"UNTRANSLATED! <literal>generated</literal> (optional - defaults to "
+"<literal>never</literal>): Specifies that this property value is actually "
+"generated by the database. See the discussion of <link linkend=\"mapping-"
+"generated\">generated properties</link>."
-#: index.docbook:1388
+#. Tag: para
+#: basic_mapping.xml:1388
+#, no-c-format
msgid "<emphasis>typename</emphasis> could be:"
-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."
+msgstr "<emphasis>typename</emphasis> puede ser:"
-#: 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 "<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:1394
+#, no-c-format
+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, "
+"string, character, date, timestamp, float, binary, serializable, object, "
+"blob</literal>)."
-#: 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 "<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>)."
+#. Tag: para
+#: basic_mapping.xml:1400
+#, no-c-format
+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>)."
-#: index.docbook:1406
+#. Tag: para
+#: basic_mapping.xml:1406
+#, no-c-format
msgid "The name of a serializable Java class."
-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>"
+msgstr "El nombre de una clase Java serializable."
-#: index.docbook:1411
-msgid "The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</literal>)."
-msgstr "Hay dos variedades de asociaciones uno-a-uno:"
+#. Tag: para
+#: basic_mapping.xml:1411
+#, no-c-format
+msgid ""
+"The class name of a custom type (eg. <literal>com.illflow.type.MyCustomType</"
+"literal>)."
+msgstr ""
+"El nombre de un tipo personalizado (por ejemplo, <literal>com.illflow.type."
+"MyCustomType</literal>)."
-#: 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 to interpret the name of the return class of the property getter using rules 2, 3, 4 in that order. However, this is not always enough. In certain cases you will still need the <literal>type</literal> attribute. (For example, to distinguish between <literal>Hibernate.DATE</literal> and <literal>Hibernate.TIMESTAMP</literal>, or to specify a custom type.)"
-msgstr "asociaciones de clave primaria"
+#. Tag: para
+#: basic_mapping.xml:1417
+#, no-c-format
+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 "
+"to interpret the name of the return class of the property getter using rules "
+"2, 3, 4 in that order. However, this is not always enough. In certain cases "
+"you will still need the <literal>type</literal> attribute. (For example, to "
+"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.)"
-#: 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 get/set pair. If you specify <literal>access=\"field\"</literal>, Hibernate will bypass the get/set pair and access the field directly, using reflection. You may specify your own strategy for property access by naming a class that implements the interface <literal>org.hibernate.property.PropertyAccessor</literal>."
-msgstr "asociaciones de clave foráneas única"
+#. Tag: para
+#: basic_mapping.xml:1427
+#, no-c-format
+msgid ""
+"The <literal>access</literal> attribute lets you control how Hibernate will "
+"access the property at runtime. By default, Hibernate will call the property "
+"get/set pair. If you specify <literal>access=\"field\"</literal>, Hibernate "
+"will bypass the get/set pair and access the field directly, using "
+"reflection. You may specify your own strategy for property access by naming "
+"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>."
-#: 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 declare the computation as a SQL expression, this translates to a <literal>SELECT</literal> clause subquery in the SQL query that loads an instance:"
-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!"
+#. Tag: para
+#: basic_mapping.xml:1436
+#, no-c-format
+msgid ""
+"An especially powerful feature are derived properties. These properties are "
+"by definition read-only, the property value is computed at load time. You "
+"declare the computation as a SQL expression, this translates to a "
+"<literal>SELECT</literal> clause subquery in the SQL query that loads an "
+"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:"
-#: index.docbook:1443
+#. Tag: programlisting
+#: basic_mapping.xml:1443
+#, no-c-format
msgid ""
- "<![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 )\"/>]]>"
-msgstr "Para una asociación de clave primaria, añade los siguientes mapeos a <literal>Employee</literal> y <literal>Person</literal>, respectivamente."
+"<![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 )\"/>]]>"
+msgstr ""
-#: 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). Also note that you can use the nested <literal><formula></literal> mapping element if you don't like to use the attribute."
-msgstr "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1445
+#, no-c-format
+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). "
+"Also note that you can use the nested <literal><formula></literal> "
+"mapping element if you don't like to use the attribute."
+msgstr ""
+"Observa que puedes referenciar la propia tabla de las entidades sin declarar "
+"un alias o una columna particular (<literal>customerId</literal> en el "
+"ejemplo dado). Observa además que puedes usar el elemento anidado de mapeo "
+"<literal><formula></literal> si no te gusta usar el atributo."
-#: index.docbook:1455
+#. Tag: title
+#: basic_mapping.xml:1455
+#, no-c-format
msgid "many-to-one"
-msgstr "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true\"/>]]>"
+msgstr "many-to-one"
-#: 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 "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</literal>:"
+#. Tag: para
+#: basic_mapping.xml:1457
+#, no-c-format
+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."
-#: index.docbook:1485
+#. Tag: programlisting
+#: basic_mapping.xml:1485
+#, no-c-format
msgid ""
- "<![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=\"proxy|no-proxy|false\"\n"
- " not-found=\"ignore|exception\"\n"
- " entity-name=\"EntityName\"\n"
- " formula=\"arbitrary SQL expression\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- " embed-xml=\"true|false\"\n"
- " index=\"index_name\"\n"
- " unique_key=\"unique_key_id\"\n"
- " foreign-key=\"foreign_key_name\"\n"
- "/>]]>"
+"<![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=\"proxy|no-proxy|false\"\n"
+" not-found=\"ignore|exception\"\n"
+" entity-name=\"EntityName\"\n"
+" formula=\"arbitrary SQL expression\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" index=\"index_name\"\n"
+" unique_key=\"unique_key_id\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
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>]]>"
-#: index.docbook:1488, index.docbook:1669, index.docbook:1855
+#. Tag: para
+#: basic_mapping.xml:1488 basic_mapping.xml:1669 basic_mapping.xml:1855
+#, no-c-format
msgid "<literal>name</literal>: The name of the property."
-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 <literal>Employee</literal> referida por la propiedad <literal>employee</literal> de esta <literal>Person</literal>."
+msgstr "<literal>name</literal>: El nombre de la propiedad."
-#: index.docbook:1493, index.docbook:2284
-msgid "<literal>column</literal> (optional): The name of the foreign key column. This may also be specified by nested <literal><column></literal> element(s)."
-msgstr "Alternativamente, una clave foránea con una restricción de unicidad, desde <literal>Employee</literal> a <literal>Person</literal>, puede ser expresada como:"
+#. Tag: para
+#: basic_mapping.xml:1493 basic_mapping.xml:2284
+#, fuzzy, no-c-format
+msgid ""
+"<literal>column</literal> (optional): The name of the foreign key column. "
+"This may also be specified by nested <literal><column></literal> "
+"element(s)."
+msgstr ""
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>column</literal> (opcional): El nombre de la columna clave foránea. "
+"También puede ser especificado por uno o varios elementos anidados "
+"<literal><column></literal>.\n"
+"#-#-#-#-# - (PACKAGE VERSION) #-#-#-#-#\n"
+"<literal>column</literal> (opcional): El nombre de columna de la clave "
+"foránea. Puede ser también especificado por elemento(s) anidado(s) "
+"<literal><column></literal>."
-#: 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 "<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" unique=\"true\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1500 basic_mapping.xml:1674
+#, no-c-format
+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."
-#: index.docbook:1506
-msgid "<literal>cascade</literal> (optional): Specifies which operations should be cascaded from the parent object to the associated object."
-msgstr "Y esta asociación puede hacerse bidireccional agregando lo siguiente al mapeo de <literal>Person</literal> :"
+#. Tag: para
+#: basic_mapping.xml:1506
+#, no-c-format
+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"
-#: 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 "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref=\"person\"/>]]>"
+#. Tag: para
+#: basic_mapping.xml:1512 basic_mapping.xml:1695
+#, fuzzy, no-c-format
+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."
-#: index.docbook:1518
-msgid "<literal>update, insert</literal> (optional - defaults to <literal>true</literal>) specifies that the mapped columns should be included in SQL <literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. Setting both to <literal>false</literal> allows a pure \"derived\" association whose value is initialized from some other property that maps to the same colum(s) or by a trigger or other application."
-msgstr "natural-id"
+#. Tag: para
+#: basic_mapping.xml:1518
+#, no-c-format
+msgid ""
+"<literal>update, insert</literal> (optional - defaults to <literal>true</"
+"literal>) specifies that the mapped columns should be included in SQL "
+"<literal>UPDATE</literal> and/or <literal>INSERT</literal> statements. "
+"Setting both to <literal>false</literal> allows a pure \"derived\" "
+"association whose value is initialized from some other property that maps to "
+"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."
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:1527
+#, no-c-format
+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 ""
- "<![CDATA[<natural-id mutable=\"true|false\"/>\n"
- " <property ... />\n"
- " <many-to-one ... />\n"
- " ......\n"
- "</natural-id>]]>"
+"<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."
-#: 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 "Recomendamos fuertemente que implementes <literal>equals()</literal> y <literal>hashCode()</literal> para comparar las propiedades de clave natural de la entidad."
+#. Tag: para
+#: basic_mapping.xml:1540
+#, no-c-format
+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."
-#: index.docbook:1548
-msgid "<literal>not-null</literal> (optional): Enable the DDL generation of a nullability constraint for the foreign key columns."
-msgstr "Este mapeo no está concebido para usar con entidades con claves primarias naturales."
+#. Tag: para
+#: basic_mapping.xml:1548
+#, no-c-format
+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."
-#: 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 acquisition of the optimistic lock. In other words, dertermines if a version increment should occur when this property is dirty."
-msgstr "<literal>mutable</literal> (opcional, por defecto a <literal>false</literal>): Por defecto, se asume que las propiedades de identificadores naturales son inmutables (constantes)."
+#. Tag: para
+#: basic_mapping.xml:1554
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, dertermines if a version "
+"increment should occur when this property is dirty."
+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."
-#: index.docbook:1562
-msgid "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): By default, single point associations are proxied. <literal>lazy=\"no-proxy\"</literal> specifies that the property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation). <literal>lazy=\"false\"</literal> specifies that the association will always be eagerly fetched."
-msgstr "component, dynamic-component"
+#. Tag: para
+#: basic_mapping.xml:1562
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
+"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
+"\"</literal> specifies that the property should be fetched lazily when the "
+"instance variable is first accessed (requires build-time bytecode "
+"instrumentation). <literal>lazy=\"false\"</literal> specifies that the "
+"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."
-#: index.docbook:1572
-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 "El elemento <literal><component></literal> mapea propiedades de un objeto hijo a columnas de la tabla de la clase padre. Los componentes pueden a su vez declarar sus propias propiedades, componentes o colecciones. Ver debajo \"Componentes\"."
+#. Tag: para
+#: basic_mapping.xml:1572
+#, no-c-format
+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 deben manejarse las claves foráneas que "
+"referencien filas inexistentes: <literal>ignore</literal> tratará una fila "
+"perdida como una asociación nula."
-#: index.docbook:1579, index.docbook:1733
-msgid "<literal>entity-name</literal> (optional): The entity name of the associated class."
+#. Tag: para
+#: basic_mapping.xml:1579 basic_mapping.xml:1733
+#, fuzzy, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional): The entity name of the associated "
+"class."
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>]]>"
+"#-#-#-#-# - (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."
-#: index.docbook:1585
-msgid "<literal>formula</literal> (optional): an SQL expression that defines the value for a <emphasis>computed</emphasis> foreign key."
-msgstr "<literal>name</literal>: El nombre de la propiedad."
+#. Tag: para
+#: basic_mapping.xml:1585
+#, no-c-format
+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>."
-#: 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 operations to the associated object. The meaningful values are the names of Hibernate's basic operations, <literal>persist, merge, delete, save-update, evict, replicate, lock, refresh</literal>, as well as the special values <literal>delete-orphan</literal> and <literal>all</literal> and comma-separated combinations of operation names, for example, <literal>cascade=\"persist,merge,evict\"</literal> or <literal>cascade=\"all,delete-orphan\"</literal>. See <xref linkend=\"objectstate-transitive\"/> for a full explanation. Note that single valued associations (many-to-one and one-to-one associations) do not support orphan delete."
-msgstr "<literal>class</literal> (opcional - por defecto al tipo de la propiedad determinado por reflección): El nombre de la clase del componente (hijo)."
+#. Tag: para
+#: basic_mapping.xml:1592
+#, no-c-format
+msgid ""
+"Setting a value of the <literal>cascade</literal> attribute to any "
+"meaningful value other than <literal>none</literal> will propagate certain "
+"operations to the associated object. The meaningful values are the names of "
+"Hibernate's basic operations, <literal>persist, merge, delete, save-update, "
+"evict, replicate, lock, refresh</literal>, as well as the special values "
+"<literal>delete-orphan</literal> and <literal>all</literal> and comma-"
+"separated combinations of operation names, for example, <literal>cascade="
+"\"persist,merge,evict\"</literal> or <literal>cascade=\"all,delete-orphan\"</"
+"literal>. See <xref linkend=\"objectstate-transitive\"/> for a full "
+"explanation. Note that single valued associations (many-to-one and one-to-"
+"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\"/>."
-#: index.docbook:1605
-msgid "A typical <literal>many-to-one</literal> declaration looks as simple as this:"
-msgstr "<literal>insert</literal>: Aparecen las columnas mapeadas en <literal>INSERT</literal>s SQL?"
+#. Tag: para
+#: basic_mapping.xml:1605
+#, no-c-format
+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:"
-#: index.docbook:1609
-msgid "<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID\"/>]]>"
-msgstr "<literal>update</literal>: Aparecen las columnas mapeadas en <literal>UPDATE</literal>s SQL?"
+#. Tag: programlisting
+#: basic_mapping.xml:1609
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"product\" class=\"Product\" column=\"PRODUCT_ID"
+"\"/>]]>"
+msgstr ""
-#: 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 associated table other than the primary key. This is an ugly relational model. For example, suppose the <literal>Product</literal> class had a unique serial number, that is not the primary key. (The <literal>unique</literal> attribute controls Hibernate's DDL generation with the SchemaExport tool.)"
-msgstr "<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:1611
+#, no-c-format
+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 "
+"associated table other than the primary key. This is an ugly relational "
+"model. For example, suppose the <literal>Product</literal> class had a "
+"unique serial number, that is not the primary key. (The <literal>unique</"
+"literal> attribute controls Hibernate's DDL generation with the SchemaExport "
+"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.)"
-#: index.docbook:1620
-msgid "<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" column=\"SERIAL_NUMBER\"/>]]>"
-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)."
+#. Tag: programlisting
+#: basic_mapping.xml:1620
+#, no-c-format
+msgid ""
+"<![CDATA[<property name=\"serialNumber\" unique=\"true\" type=\"string\" "
+"column=\"SERIAL_NUMBER\"/>]]>"
+msgstr ""
-#: index.docbook:1622
+#. Tag: para
+#: basic_mapping.xml:1622
+#, no-c-format
msgid "Then the mapping for <literal>OrderItem</literal> might use:"
-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."
+msgstr "Entonces el mapeo para <literal>OrderItem</literal> debería usar:"
-#: index.docbook:1626
-msgid "<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column=\"PRODUCT_SERIAL_NUMBER\"/>]]>"
-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."
+#. Tag: programlisting
+#: basic_mapping.xml:1626
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"product\" property-ref=\"serialNumber\" column="
+"\"PRODUCT_SERIAL_NUMBER\"/>]]>"
+msgstr ""
-#: index.docbook:1628
+#. Tag: para
+#: basic_mapping.xml:1628
+#, no-c-format
msgid "This is certainly not encouraged, however."
-msgstr "Las etiquetas hijas <literal><property></literal> mapean propiedades de la clase hija columnas de la tabla."
+msgstr "Sin embargo, esto no esta ciertamente alentado."
-#: index.docbook:1632
-msgid "If the referenced unique key comprises multiple properties of the associated entity, you should map the referenced properties inside a named <literal><properties></literal> element."
-msgstr "El elemento <literal><component></literal> permite un subelemento <literal><parent></literal> que mapea una propiedad de la clase del componente como una referencia de regreso a la entidad contenedora."
+#. Tag: para
+#: basic_mapping.xml:1632
+#, no-c-format
+msgid ""
+"If the referenced unique key comprises multiple properties of the associated "
+"entity, you should map the referenced properties inside a named <literal><"
+"properties></literal> element."
+msgstr ""
+"Si la clave única referenciada abarca múltiples propiedades de la entidad "
+"asociada, debes mapear las propiedades dentro de un elemento <literal><"
+"properties></literal>."
-#: index.docbook:1637
-msgid "If the referenced unique key is the property of a component, you may specify a property path:"
-msgstr "El elemento <literal><dynamic-component></literal> permite que un <literal>Map</literal> sea mapeado como un componente, donde los nombres de las propiedades se corresponden a las claves del mapa, ver <xref linkend=\"components-dynamic\"/>."
+#. Tag: para
+#: basic_mapping.xml:1637
+#, no-c-format
+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:"
-#: index.docbook:1641
-msgid "<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column=\"OWNER_SSN\"/>]]>"
-msgstr "properties"
+#. Tag: programlisting
+#: basic_mapping.xml:1641
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"owner\" property-ref=\"identity.ssn\" column="
+"\"OWNER_SSN\"/>]]>"
+msgstr ""
-#: index.docbook:1646
+#. Tag: title
+#: basic_mapping.xml:1646
+#, no-c-format
msgid "one-to-one"
-msgstr "El elemento <literal><properties></literal> permite la definición de un grupo de propiedades lógico con nombre de una clase. El uso más importante de la contrucción es que permite que una combinación de propiedades sea objetivo de una <literal>property-ref</literal>. Es también una forma conveniente de definir una restricción de unicidad multicolumna."
+msgstr "one-to-one"
-#: index.docbook:1648
-msgid "A one-to-one association to another persistent class is declared using a <literal>one-to-one</literal> element."
+#. Tag: para
+#: basic_mapping.xml:1648
+#, no-c-format
+msgid ""
+"A one-to-one association to another persistent class is declared using a "
+"<literal>one-to-one</literal> element."
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>]]>"
+"Una asociación uno-a-uno a otra clase persistente se declara usando un "
+"elemento <literal>one-to-one</literal>."
-#: index.docbook:1666
+#. Tag: programlisting
+#: basic_mapping.xml:1666
+#, no-c-format
msgid ""
- "<![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=\"any SQL expression\"\n"
- " lazy=\"proxy|no-proxy|false\"\n"
- " entity-name=\"EntityName\"\n"
- " node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
- " embed-xml=\"true|false\"\n"
- " foreign-key=\"foreign_key_name\"\n"
- "/>]]>"
-msgstr "<literal>name</literal>: El nombre lógico del agrupamiento - <emphasis>no</emphasis> un nombre de propiedad real."
+"<![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=\"any SQL expression\"\n"
+" lazy=\"proxy|no-proxy|false\"\n"
+" entity-name=\"EntityName\"\n"
+" node=\"element-name|@attribute-name|element/(a)attribute|.\"\n"
+" embed-xml=\"true|false\"\n"
+" foreign-key=\"foreign_key_name\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:1680
-msgid "<literal>cascade</literal> (optional) specifies which operations should be cascaded from the parent object to the associated object."
-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."
+#. Tag: para
+#: basic_mapping.xml:1680
+#, no-c-format
+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."
-#: 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 the associated class. This option affects the order in which <literal>save()</literal> and <literal>delete()</literal> are cascaded, and determines whether the association may be proxied (it is also used by the schema export tool)."
-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."
+#. Tag: para
+#: basic_mapping.xml:1686
+#, no-c-format
+msgid ""
+"<literal>constrained</literal> (optional) specifies that a foreign key "
+"constraint on the primary key of the mapped table references the table of "
+"the associated class. This option affects the order in which <literal>save()"
+"</literal> and <literal>delete()</literal> are cascaded, and determines "
+"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)."
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:1701
+#, no-c-format
+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 ""
- "<![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>]]>"
+"<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."
-#: 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 not the case, you may specify a some other column, columns or expression to join on using an SQL formula. (See <literal>org.hibernate.test.onetooneformula</literal> for an example.)"
+#. Tag: para
+#: basic_mapping.xml:1714
+#, no-c-format
+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 "
+"not the case, you may specify a some other column, columns or expression to "
+"join on using an SQL formula. (See <literal>org.hibernate.test."
+"onetooneformula</literal> for an example.)"
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>]]>"
+"<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>)."
-#: index.docbook:1722
-msgid "<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): By default, single point associations are proxied. <literal>lazy=\"no-proxy\"</literal> specifies that the property should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation). <literal>lazy=\"false\"</literal> specifies that the association will always be eagerly fetched. <emphasis>Note that if <literal>constrained=\"false\"</literal>, proxying is impossible and Hibernate will eager fetch the association!</emphasis>"
-msgstr "No recomendamos el uso de este tipo de cosas fuera del contexto del mapeo de datos heredados."
+#. Tag: para
+#: basic_mapping.xml:1722
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>proxy</literal>): "
+"By default, single point associations are proxied. <literal>lazy=\"no-proxy"
+"\"</literal> specifies that the property should be fetched lazily when the "
+"instance variable is first accessed (requires build-time bytecode "
+"instrumentation). <literal>lazy=\"false\"</literal> specifies that the "
+"association will always be eagerly fetched. <emphasis>Note that if "
+"<literal>constrained=\"false\"</literal>, proxying is impossible and "
+"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>"
-#: index.docbook:1740
+#. Tag: para
+#: basic_mapping.xml:1740
+#, no-c-format
msgid "There are two varieties of one-to-one association:"
-msgstr "Finalmente, la persistencia polimórfica requiere la declaración de la clase persistente raíz. Para la estrategia de mapeo tabla-por-jerarquía-de-clases, se usa la declaración de <literal><subclass></literal>."
+msgstr "Hay dos variedades de asociaciones uno-a-uno:"
-#: index.docbook:1744
+#. Tag: para
+#: basic_mapping.xml:1744
+#, no-c-format
msgid "primary key associations"
-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>]]>"
+msgstr "asociaciones de clave primaria"
-#: index.docbook:1747
+#. Tag: para
+#: basic_mapping.xml:1747
+#, no-c-format
msgid "unique foreign key associations"
-msgstr "<literal>name</literal>: El nombre de clase cualificado completamente de la subclase."
+msgstr "asociaciones de clave foráneas única"
-#: 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 key value. So if you want two objects to be related by a primary key association, you must make sure that they are assigned the same identifier value!"
-msgstr "<literal>discriminator-value</literal> (opcional - por defecto al nombre de la clase): Un valor que distingue a subclases individuales."
+#. Tag: para
+#: basic_mapping.xml:1752
+#, no-c-format
+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 "
+"key value. So if you want two objects to be related by a primary key "
+"association, you must make sure that they are assigned the same identifier "
+"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!"
-#: index.docbook:1759
-msgid "For a primary key association, add the following mappings to <literal>Employee</literal> and <literal>Person</literal>, respectively."
-msgstr "<literal>proxy</literal> (opcional): Especifica una clase o interface a usar para proxies de inicialización perezosa."
+#. Tag: para
+#: basic_mapping.xml:1759
+#, no-c-format
+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."
-#: index.docbook:1764
+#. Tag: programlisting
+#: basic_mapping.xml:1764
+#, no-c-format
msgid "<![CDATA[<one-to-one name=\"person\" class=\"Person\"/>]]>"
-msgstr "<literal>lazy</literal> (opcional, por defecto a <literal>true</literal>): Establecer <literal>lazy=\"false\"</literal> deshabilita el uso de recuperación perezosa."
+msgstr ""
-#: index.docbook:1765
-msgid "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true\"/>]]>"
-msgstr "Cada subclase debe declarar sus propias propiedades persistentes y subclases. Se asume que las propiedades <literal><version></literal> y <literal><id></literal> son heredadas de la clase raíz. Cada subclase en una jerarquía debe definir un <literal>discriminator-value</literal> único. Si no se especifica ninguno, se usa el nombre completamente cualificado de clase Java."
+#. Tag: programlisting
+#: basic_mapping.xml:1765
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" constrained=\"true"
+"\"/>]]>"
+msgstr ""
-#: 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 strategy called <literal>foreign</literal>:"
-msgstr "Es posible definir mapeos <literal>subclass</literal>, <literal>union-subclass</literal>, y <literal>joined-subclass</literal> en documentos de mapeo separados, directamente debajo de <literal>hibernate-mapping</literal>. Esto te permite extender una jerarquía de clases con sólo agregar un nuevo fichero de mapeo. Debes especificar un atributo <literal>extends</literal> en el mapeo de la subclase, mencionando una superclase previamente mapeada. Nota: Previamente esta funcionalidad hacía importante el orden de los documentos de mapeo. Desde Hibernate3, el orden de los ficheros de mapeo no importa cuando se usa la palabra reservada extends. El orden dentro de un mismo fichero de mapeo todavía necesita ser definido como superclases antes de subclases."
+#. Tag: para
+#: basic_mapping.xml:1767
+#, no-c-format
+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 "
+"strategy called <literal>foreign</literal>:"
+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</"
+"literal>:"
-#: index.docbook:1773
+#. Tag: programlisting
+#: basic_mapping.xml:1773
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
- "<![CDATA[\n"
- "<hibernate-mapping>\n"
- " <subclass name=\"DomesticCat\" extends=\"Cat\" discriminator-value=\"D\">\n"
- " <property name=\"name\" type=\"string\"/>\n"
- " </subclass>\n"
- "</hibernate-mapping>]]>"
-#: 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 "Para información acerca de mapeos de herencia, ver <xref linkend=\"inheritance\"/>."
+#. Tag: para
+#: basic_mapping.xml:1775
+#, no-c-format
+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 "
+"<literal>Employee</literal> referida por la propiedad <literal>employee</"
+"literal> de esta <literal>Person</literal>."
-#: 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 "joined-subclass"
+#. Tag: para
+#: basic_mapping.xml:1781
+#, no-c-format
+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:"
-#: index.docbook:1786
-msgid "<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" unique=\"true\"/>]]>"
-msgstr "Alternativamente, cada subclase puede ser mapeada a su propia tabla (estrategia de mapeo tabla-por-subclase). El estado heredado se recupera uniendo con la tabla de la superclase. Usamos el elemento <literal><joined-subclass></literal>."
+#. Tag: programlisting
+#: basic_mapping.xml:1786
+#, no-c-format
+msgid ""
+"<![CDATA[<many-to-one name=\"person\" class=\"Person\" column=\"PERSON_ID\" "
+"unique=\"true\"/>]]>"
+msgstr ""
-#: index.docbook:1788
-msgid "And this association may be made bidirectional by adding the following to the <literal>Person</literal> mapping:"
+#. Tag: para
+#: basic_mapping.xml:1788
+#, no-c-format
+msgid ""
+"And this association may be made bidirectional by adding the following to "
+"the <literal>Person</literal> mapping:"
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>]]>"
+"Y esta asociación puede hacerse bidireccional agregando lo siguiente al "
+"mapeo de <literal>Person</literal> :"
-#: index.docbook:1793
-msgid "<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref=\"person\"/>]]>"
-msgstr "<literal>name</literal>: El nombre de clase completamente cualificado de la subclase."
+#. Tag: programlisting
+#: basic_mapping.xml:1793
+#, no-c-format
+msgid ""
+"<![CDATA[<one-to-one name=\"employee\" class=\"Employee\" property-ref="
+"\"person\"/>]]>"
+msgstr ""
-#: index.docbook:1798
+#. Tag: title
+#: basic_mapping.xml:1798
+#, no-c-format
msgid "natural-id"
-msgstr "<literal>table</literal>: El nombre de tabla de la subclase."
+msgstr "natural-id"
-#: index.docbook:1800
+#. Tag: programlisting
+#: basic_mapping.xml:1800
+#, no-c-format
msgid ""
- "<![CDATA[<natural-id mutable=\"true|false\"/>\n"
- " <property ... />\n"
- " <many-to-one ... />\n"
- " ......\n"
- "</natural-id>]]>"
-msgstr "<literal>proxy</literal> (opcional): Especifica una clase o interface a usar para proxies de inicializacón perezosa."
+"<![CDATA[<natural-id mutable=\"true|false\"/>\n"
+" <property ... />\n"
+" <many-to-one ... />\n"
+" ......\n"
+"</natural-id>]]>"
+msgstr ""
-#: 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 a property or combination of properties that is unique and non-null. If it is also immutable, even better. Map the properties of the natural key inside the <literal><natural-id></literal> element. Hibernate will generate the necessary unique key and nullability constraints, and your mapping will be more self-documenting."
-msgstr "<literal>lazy</literal> (opcional, por defecto a <literal>true</literal>): Establecer <literal>lazy=\"false\"</literal> deshabilita el uso de recuperación perezosa."
+#. Tag: para
+#: basic_mapping.xml:1802
+#, no-c-format
+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 "
+"a property or combination of properties that is unique and non-null. If it "
+"is also immutable, even better. Map the properties of the natural key inside "
+"the <literal><natural-id></literal> element. Hibernate will generate "
+"the necessary unique key and nullability constraints, and your mapping will "
+"be more self-documenting."
+msgstr ""
+"Aunque recomendamos el uso de claves delegadas como claves primarias, "
+"todavía debes intentar identificar claves naturales para todas las "
+"entidades. Una clave natural es una propiedad o combinación de propiedades "
+"que es única y no nula. Si además es inmutable, mejor aún. Mapea las "
+"propiedades de la clave natural dentro del elemento <literal><natural-"
+"id></literal>. Hibernate generará las restricciones de clave única y "
+"nulabilidad necesarias, y tu mapeo será más auto-documentado."
-#: 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 entity."
-msgstr "No se requiere de una columna discriminadora para esta estrategia de mapeo. Cada subclase debe, sin embargo, declarar una columna de tabla que tenga el identificador del objeto usando el elemento <literal><key></literal>. El mapeo del comienzo del capítulo debería ser reescrito como:"
+#. Tag: para
+#: basic_mapping.xml:1811
+#, no-c-format
+msgid ""
+"We strongly recommend that you implement <literal>equals()</literal> and "
+"<literal>hashCode()</literal> to compare the natural key properties of the "
+"entity."
+msgstr ""
+"Recomendamos fuertemente que implementes <literal>equals()</literal> y "
+"<literal>hashCode()</literal> para comparar las propiedades de clave natural "
+"de la entidad."
-#: index.docbook:1816
-msgid "This mapping is not intended for use with entities with natural primary keys."
+#. Tag: para
+#: basic_mapping.xml:1816
+#, no-c-format
+msgid ""
+"This mapping is not intended for use with entities with natural primary keys."
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>]]>"
+"Este mapeo no está concebido para usar con entidades con claves primarias "
+"naturales."
-#: index.docbook:1822
-msgid "<literal>mutable</literal> (optional, defaults to <literal>false</literal>): By default, natural identifier properties as assumed to be immutable (constant)."
-msgstr "Para información acerca de mapeos de herencia, ver <xref linkend=\"inheritance\"/>."
+#. Tag: para
+#: basic_mapping.xml:1822
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional, defaults to <literal>false</literal>): "
+"By default, natural identifier properties as assumed to be immutable "
+"(constant)."
+msgstr ""
+"<literal>mutable</literal> (opcional, por defecto a <literal>false</"
+"literal>): Por defecto, se asume que las propiedades de identificadores "
+"naturales son inmutables (constantes)."
-#: index.docbook:1832
+#. Tag: title
+#: basic_mapping.xml:1832
+#, no-c-format
msgid "component, dynamic-component"
-msgstr "union-subclass"
+msgstr "component, dynamic-component"
-#: index.docbook:1834
-msgid "The <literal><component></literal> element maps properties of a child object to columns of the table of a parent class. Components may, in turn, declare their own properties, components or collections. See \"Components\" below."
-msgstr "Una tercera opción es mapear sólo las clases concretas de una jerarquía de clases a tablas, (la estrategia tabla-por-clase-concreta) donde cada tabla define todo el estado persistente de la clase, incluyendo el estado heredado. En Hibernate, no es absolutamente necesario mapear dichas jerarquías de herencia. Puedes simplemente mapear cada clase con una declaración <literal><class></literal> separada. Sin embargo, si deseas usar asociaciones polimórficas (por ejemplo, una asociación a la superclase de tu jerarquía), debes usar el mapeo <literal><union-subclass></literal>."
+#. Tag: para
+#: basic_mapping.xml:1834
+#, no-c-format
+msgid ""
+"The <literal><component></literal> element maps properties of a child "
+"object to columns of the table of a parent class. Components may, in turn, "
+"declare their own properties, components or collections. See \"Components\" "
+"below."
+msgstr ""
+"El elemento <literal><component></literal> mapea propiedades de un "
+"objeto hijo a columnas de la tabla de la clase padre. Los componentes pueden "
+"a su vez declarar sus propias propiedades, componentes o colecciones. Ver "
+"debajo \"Componentes\"."
-#: index.docbook:1852
+#. Tag: programlisting
+#: basic_mapping.xml:1852
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: 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>table</literal>: El nombre de tabla de la subclase."
+#. Tag: para
+#: basic_mapping.xml:1860
+#, no-c-format
+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)."
-#: index.docbook:1866, index.docbook:1955
-msgid "<literal>insert</literal>: Do the mapped columns appear in SQL <literal>INSERT</literal>s?"
-msgstr "<literal>proxy</literal> (optional): Especifica una clase o interface a usar para proxies de inicializacón perezosa."
+#. Tag: para
+#: basic_mapping.xml:1866 basic_mapping.xml:1955
+#, no-c-format
+msgid ""
+"<literal>insert</literal>: Do the mapped columns appear in SQL "
+"<literal>INSERT</literal>s?"
+msgstr ""
+"<literal>insert</literal>: Aparecen las columnas mapeadas en "
+"<literal>INSERT</literal>s SQL?"
-#: index.docbook:1872, index.docbook:1961
-msgid "<literal>update</literal>: Do the mapped columns appear in SQL <literal>UPDATE</literal>s?"
-msgstr "<literal>lazy</literal> (opcional, por defecto a <literal>true</literal>): Establecer <literal>lazy=\"false\"</literal> deshabilita el uso de recuperación perezosa."
+#. Tag: para
+#: basic_mapping.xml:1872 basic_mapping.xml:1961
+#, no-c-format
+msgid ""
+"<literal>update</literal>: Do the mapped columns appear in SQL "
+"<literal>UPDATE</literal>s?"
+msgstr ""
+"<literal>update</literal>: Aparecen las columnas mapeadas en "
+"<literal>UPDATE</literal>s SQL?"
-#: index.docbook:1884
-msgid "<literal>lazy</literal> (optional - defaults to <literal>false</literal>): Specifies that this component should be fetched lazily when the instance variable is first accessed (requires build-time bytecode instrumentation)."
-msgstr "Para información acerca de mapeos de herencia, ver <xref linkend=\"inheritance\"/>."
+#. Tag: para
+#: basic_mapping.xml:1884
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>false</literal>): "
+"Specifies that this component 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 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)."
-#: 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 acquisition of the optimistic lock. In other words, determines if a version increment should occur when this property is dirty."
-msgstr "join"
+#. Tag: para
+#: basic_mapping.xml:1891
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this component do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when this property is dirty."
+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."
-#: 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 "Usando el elemento <literal><join></literal>, es posible mapear propiedades de una clase a varias tablas."
+#. Tag: para
+#: basic_mapping.xml:1899 basic_mapping.xml:1975
+#, no-c-format
+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."
-#: index.docbook:1908
-msgid "The child <literal><property></literal> tags map properties of the child class to table columns."
+#. Tag: para
+#: basic_mapping.xml:1908
+#, no-c-format
+msgid ""
+"The child <literal><property></literal> tags map properties of the "
+"child class to table columns."
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>]]>"
+"Las etiquetas hijas <literal><property></literal> mapean propiedades "
+"de la clase hija columnas de la tabla."
-#: index.docbook:1913
-msgid "The <literal><component></literal> element allows a <literal><parent></literal> subelement that maps a property of the component class as a reference back to the containing entity."
-msgstr "<literal>table</literal>: El nombre de la clase unida."
+#. Tag: para
+#: basic_mapping.xml:1913
+#, no-c-format
+msgid ""
+"The <literal><component></literal> element allows a <literal><"
+"parent></literal> subelement that maps a property of the component class "
+"as a reference back to the containing entity."
+msgstr ""
+"El elemento <literal><component></literal> permite un subelemento "
+"<literal><parent></literal> que mapea una propiedad de la clase del "
+"componente como una referencia de regreso a la entidad contenedora."
-#: index.docbook:1919
-msgid "The <literal><dynamic-component></literal> element allows a <literal>Map</literal> to be mapped as a component, where the property names refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
-msgstr "<literal>schema</literal> (opcional): Sobrescribe el nombre de esquema especificado por el elemento raíz <literal><hibernate-mapping></literal>."
+#. Tag: para
+#: basic_mapping.xml:1919
+#, no-c-format
+msgid ""
+"The <literal><dynamic-component></literal> element allows a "
+"<literal>Map</literal> to be mapped as a component, where the property names "
+"refer to keys of the map, see <xref linkend=\"components-dynamic\"/>."
+msgstr ""
+"El elemento <literal><dynamic-component></literal> permite que un "
+"<literal>Map</literal> sea mapeado como un componente, donde los nombres de "
+"las propiedades se corresponden a las claves del mapa, ver <xref linkend="
+"\"components-dynamic\"/>."
-#: index.docbook:1928
+#. Tag: title
+#: basic_mapping.xml:1928
+#, no-c-format
msgid "properties"
-msgstr "<literal>catalog</literal> (opcional): Sobrescribe el nombre de catálogo especificado por el elemento raíz <literal><hibernate-mapping></literal>."
+msgstr "properties"
-#: index.docbook:1930
-msgid "The <literal><properties></literal> element allows the definition of a named, logical grouping of properties of a class. The most important use of the construct is that it allows a combination of properties to be the target of a <literal>property-ref</literal>. It is also a convenient way to define a multi-column unique constraint."
-msgstr "<literal>fetch</literal> (opcional - por defecto a <literal>join</literal>): Si se establece a <literal>join</literal>, por defecto, Hibernate usará una unión interior (inner join) para recuperar un <literal><join></literal> definido por una clase o sus superclases y una unión externa (outer join) para un <literal><join></literal> definido por una subclase. Si se establece a <literal>select</literal>, entonces Hibernate usará una select secuencial para un <literal><join></literal> definido en una subclase, que será publicada sólo si una fila resulta representar una instancia de la subclase. Las uniones interiores todavía serán usados para recuperar un <literal><join></literal> definido por la clase y sus superclases."
+#. Tag: para
+#: basic_mapping.xml:1930
+#, no-c-format
+msgid ""
+"The <literal><properties></literal> element allows the definition of a "
+"named, logical grouping of properties of a class. The most important use of "
+"the construct is that it allows a combination of properties to be the target "
+"of a <literal>property-ref</literal>. It is also a convenient way to define "
+"a multi-column unique constraint."
+msgstr ""
+"El elemento <literal><properties></literal> permite la definición de "
+"un grupo de propiedades lógico con nombre de una clase. El uso más "
+"importante de la contrucción es que permite que una combinación de "
+"propiedades sea objetivo de una <literal>property-ref</literal>. Es también "
+"una forma conveniente de definir una restricción de unicidad multicolumna."
-#: index.docbook:1946
+#. Tag: programlisting
+#: basic_mapping.xml:1946
+#, no-c-format
msgid ""
- "<![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>]]>"
-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."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:1949
-msgid "<literal>name</literal>: The logical name of the grouping - <emphasis>not</emphasis> an actual property name."
-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."
+#. Tag: para
+#: basic_mapping.xml:1949
+#, no-c-format
+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."
-#: 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 acquisition of the optimistic lock. In other words, determines if a version increment should occur when these properties are dirty."
-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."
+#. Tag: para
+#: basic_mapping.xml:1967
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to these properties do or do not require "
+"acquisition of the optimistic lock. In other words, determines if a version "
+"increment should occur when these properties are dirty."
+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."
-#: index.docbook:1984
-msgid "For example, if we have the following <literal><properties></literal> mapping:"
-msgstr "Hasta ahora hemos visto el elemento <literal><key></literal> pocas veces. Aparece en cualquier sitio en que el elemento padre de mapeo defina una unión a una nueva tabla, y define la clave foránea en la tabla unida, que referencia la clave primaria de la tabla original."
+#. Tag: para
+#: basic_mapping.xml:1984
+#, no-c-format
+msgid ""
+"For example, if we have the following <literal><properties></literal> "
+"mapping:"
+msgstr ""
+"Por ejemplo, si tenemos el siguiente mapeo de <literal><properties></"
+"literal>:"
-#: index.docbook:1988
+#. Tag: programlisting
+#: basic_mapping.xml:1988
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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"
- "/>]]>"
-#: 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 "<literal>column</literal> (opcional): El nombre de columna de la clave foránea. Puede ser también especificado por elemento(s) anidado(s) <literal><column></literal>."
+#. Tag: para
+#: basic_mapping.xml:1990
+#, no-c-format
+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:"
-#: index.docbook:1995
+#. Tag: programlisting
+#: basic_mapping.xml:1995
+#, no-c-format
msgid ""
- "<![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>]]>"
-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."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:1997
-msgid "We don't recommend the use of this kind of thing outside the context of mapping 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.)"
+#. Tag: para
+#: basic_mapping.xml:1997
+#, no-c-format
+msgid ""
+"We don't recommend the use of this kind of thing outside the context of "
+"mapping legacy data."
+msgstr ""
+"No recomendamos el uso de este tipo de cosas fuera del contexto del mapeo de "
+"datos heredados."
-#: index.docbook:2005
+#. Tag: title
+#: basic_mapping.xml:2005
+#, no-c-format
msgid "subclass"
-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)."
+msgstr "subclass"
-#: index.docbook:2007
-msgid "Finally, polymorphic persistence requires the declaration of each subclass of the root persistent class. For the table-per-class-hierarchy mapping strategy, the <literal><subclass></literal> declaration is used."
-msgstr "<literal>update</literal> (opcional): Especifica que la clave foránea nunca debe ser actualizada (esto está implicado si la clave foránea es también parte de la clave primaria)."
+#. Tag: para
+#: basic_mapping.xml:2007
+#, no-c-format
+msgid ""
+"Finally, polymorphic persistence requires the declaration of each subclass "
+"of the root persistent class. For the table-per-class-hierarchy mapping "
+"strategy, the <literal><subclass></literal> declaration is used."
+msgstr ""
+"Finalmente, la persistencia polimórfica requiere la declaración de la clase "
+"persistente raíz. Para la estrategia de mapeo tabla-por-jerarquía-de-clases, "
+"se usa la declaración de <literal><subclass></literal>."
-#: index.docbook:2020
+#. Tag: programlisting
+#: basic_mapping.xml:2020
+#, no-c-format
msgid ""
- "<![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"
- " extends=\"SuperclassName\">\n"
- "\n"
- " <property .... />\n"
- " .....\n"
- "</subclass>]]>"
-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)."
+"<![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"
+" extends=\"SuperclassName\">\n"
+"\n"
+" <property .... />\n"
+" .....\n"
+"</subclass>]]>"
+msgstr ""
-#: index.docbook:2023, index.docbook:2081, index.docbook:2144
-msgid "<literal>name</literal>: The fully qualified class name of the subclass."
-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."
+#. Tag: para
+#: basic_mapping.xml:2023 basic_mapping.xml:2081 basic_mapping.xml:2144
+#, fuzzy, no-c-format
+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."
-#: index.docbook:2028
-msgid "<literal>discriminator-value</literal> (optional - defaults to the class name): A value that distiguishes individual subclasses."
-msgstr "Los atributos <literal>not-null</literal> y <literal>update</literal> son útiles al mapear una asociación uno a muchos unidireccional. Si mapeas una uno a muchos unidireccional a una clave foránea no nulable, <emphasis>debes</emphasis> declarar la columna clave usando <literal><key not-null=\"true\"></literal>."
+#. Tag: para
+#: basic_mapping.xml:2028
+#, no-c-format
+msgid ""
+"<literal>discriminator-value</literal> (optional - defaults to the class "
+"name): A value that distiguishes individual subclasses."
+msgstr ""
+"<literal>discriminator-value</literal> (opcional - por defecto al nombre de "
+"la clase): Un valor que distingue a subclases individuales."
-#: 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 "los elementos column y formula"
+#. Tag: para
+#: basic_mapping.xml:2034 basic_mapping.xml:2091 basic_mapping.xml:2154
+#, fuzzy, no-c-format
+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."
-#: 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 "Cualquier elemento de mapeo que acepte un atributo <literal>column</literal> aceptará alternativamente un subelemento <literal><column></literal>. De forma similar, <literal><formula></literal> es una alternativa al atributo <literal>formula</literal>."
+#. Tag: para
+#: basic_mapping.xml:2040 basic_mapping.xml:2097 basic_mapping.xml:2160
+#, no-c-format
+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."
-#: index.docbook:2048
-msgid "Each subclass should declare its own persistent properties and subclasses. <literal><version></literal> and <literal><id></literal> properties are assumed to be inherited from the root class. Each 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:2048
+#, no-c-format
+msgid ""
+"Each subclass should declare its own persistent properties and subclasses. "
+"<literal><version></literal> and <literal><id></literal> "
+"properties are assumed to be inherited from the root class. Each subclass in "
+"a heirarchy must define a unique <literal>discriminator-value</literal>. If "
+"none is specified, the fully qualified Java class name is used."
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\"/>]]>"
+"UNTRANSLATED! Each subclass should declare its own persistent properties and "
+"subclasses. <literal><version></literal> and <literal><id></"
+"literal> properties are assumed to be inherited from the root class. Each "
+"subclass in a heirarchy must define a unique <literal>discriminator-value</"
+"literal>. If none is specified, the fully qualified Java class name is used."
-#: index.docbook:2056, index.docbook:2114, index.docbook:2172
-msgid "For information about inheritance mappings, see <xref linkend=\"inheritance\"/>."
-msgstr "<![CDATA[<formula>expresión SQL</formula>]]>"
+#. Tag: para
+#: basic_mapping.xml:2056 basic_mapping.xml:2114 basic_mapping.xml:2172
+#, no-c-format
+msgid ""
+"For information about inheritance mappings, see <xref linkend=\"inheritance"
+"\"/>."
+msgstr ""
+"Para información acerca de mapeos de herencia, ver <xref linkend="
+"\"inheritance\"/>."
-#: index.docbook:2063
+#. Tag: title
+#: basic_mapping.xml:2063
+#, no-c-format
msgid "joined-subclass"
-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."
+msgstr "joined-subclass"
-#: 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 table of the superclass. We use the <literal><joined-subclass></literal> element."
+#. Tag: para
+#: basic_mapping.xml:2065
+#, no-c-format
+msgid ""
+"Alternatively, each subclass may be mapped to its own table (table-per-"
+"subclass mapping strategy). Inherited state is retrieved by joining with the "
+"table of the superclass. We use the <literal><joined-subclass></"
+"literal> element."
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>]]>"
+"Alternativamente, cada subclase puede ser mapeada a su propia tabla "
+"(estrategia de mapeo tabla-por-subclase). El estado heredado se recupera "
+"uniendo con la tabla de la superclase. Usamos el elemento <literal><"
+"joined-subclass></literal>."
-#: index.docbook:2078
+#. Tag: programlisting
+#: basic_mapping.xml:2078
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "import"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:2086, index.docbook:2149
+#. Tag: para
+#: basic_mapping.xml:2086 basic_mapping.xml:2149
+#, no-c-format
msgid "<literal>table</literal>: The name of the subclass table."
-msgstr "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
+msgstr "<literal>table</literal>: El nombre de tabla de la subclase."
-#: 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 the <literal><key></literal> element. The mapping at the start of the chapter would be re-written as:"
-msgstr "<literal>rename</literal> (opcional - por defecto al nombre de clase sin cualificar): Un nombre que será usado en el leguaje de consulta."
+#. Tag: para
+#: basic_mapping.xml:2105
+#, no-c-format
+msgid ""
+"No discriminator column is required for this mapping strategy. Each subclass "
+"must, however, declare a table column holding the object identifier using "
+"the <literal><key></literal> element. The mapping at the start of the "
+"chapter would be re-written as:"
+msgstr ""
+"No se requiere de una columna discriminadora para esta estrategia de mapeo. "
+"Cada subclase debe, sin embargo, declarar una columna de tabla que tenga el "
+"identificador del objeto usando el elemento <literal><key></literal>. "
+"El mapeo del comienzo del capítulo debería ser reescrito como:"
-#: index.docbook:2112
+#. Tag: programlisting
+#: basic_mapping.xml:2112
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "<title>any</title>"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:2121
+#. Tag: title
+#: basic_mapping.xml:2121
+#, no-c-format
msgid "union-subclass"
-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."
+msgstr "union-subclass"
-#: 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 table defines all persistent state of the class, including inherited state. In Hibernate, it is not absolutely necessary to explicitly map such inheritance hierarchies. You can simply map each class with a separate <literal><class></literal> declaration. However, if you wish use polymorphic associations (e.g. an association to the superclass of your hierarchy), you need to use the <literal><union-subclass></literal> mapping."
+#. Tag: para
+#: basic_mapping.xml:2123
+#, no-c-format
+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 "
+"table defines all persistent state of the class, including inherited state. "
+"In Hibernate, it is not absolutely necessary to explicitly map such "
+"inheritance hierarchies. You can simply map each class with a separate "
+"<literal><class></literal> declaration. However, if you wish use "
+"polymorphic associations (e.g. an association to the superclass of your "
+"hierarchy), you need to use the <literal><union-subclass></literal> "
+"mapping."
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>]]>"
+"Una tercera opción es mapear sólo las clases concretas de una jerarquía de "
+"clases a tablas, (la estrategia tabla-por-clase-concreta) donde cada tabla "
+"define todo el estado persistente de la clase, incluyendo el estado "
+"heredado. En Hibernate, no es absolutamente necesario mapear dichas "
+"jerarquías de herencia. Puedes simplemente mapear cada clase con una "
+"declaración <literal><class></literal> separada. Sin embargo, si "
+"deseas usar asociaciones polimórficas (por ejemplo, una asociación a la "
+"superclase de tu jerarquía), debes usar el mapeo <literal><union-"
+"subclass></literal>."
-#: index.docbook:2141
+#. Tag: programlisting
+#: basic_mapping.xml:2141
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:2168
-msgid "No discriminator column or key column is required for this mapping strategy."
-msgstr "<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:2168
+#, no-c-format
+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."
-#: index.docbook:2179
+#. Tag: title
+#: basic_mapping.xml:2179
+#, no-c-format
msgid "join"
-msgstr "Tipos de Hibernate"
+msgstr "join"
-#: index.docbook:2181
-msgid "Using the <literal><join></literal> element, it is possible to map properties of one class to several tables, when there's a 1-to-1 relationship between the tables."
-msgstr "Entidades y Valores"
+#. Tag: para
+#: basic_mapping.xml:2181
+#, no-c-format
+msgid ""
+"Using the <literal><join></literal> element, it is possible to map "
+"properties of one class to several tables, when there's a 1-to-1 "
+"relationship between the tables."
+msgstr ""
+"Usando el elemento <literal><join></literal>, es posible mapear "
+"propiedades de una clase a varias tablas."
-#: index.docbook:2195
+#. Tag: programlisting
+#: basic_mapping.xml:2195
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Para entender el comportamiento de varios objetos a nivel de lenguaje Java con respecto al servicio de persistencia, necesitamos clasificarlos en dos grupos:"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:2199
+#. Tag: para
+#: basic_mapping.xml:2199
+#, no-c-format
msgid "<literal>table</literal>: The name of the joined table."
-msgstr "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."
+msgstr "<literal>table</literal>: El nombre de la clase unida."
-#: 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 join to retrieve a <literal><join></literal> defined by a class or its superclasses and an outer join for a <literal><join></literal> defined by a subclass. If set to <literal>select</literal> then Hibernate will use a sequential select for a <literal><join></literal> defined on a subclass, which will be issued only if a row turns out to represent an instance of the subclass. Inner joins will still be used to retrieve a <literal><join></literal> defined by the class and its superclasses."
-msgstr "Volveremos a visitar ambos conceptos a lo largo de la documentación."
+#. Tag: para
+#: basic_mapping.xml:2216
+#, no-c-format
+msgid ""
+"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
+"If set to <literal>join</literal>, the default, Hibernate will use an inner "
+"join to retrieve a <literal><join></literal> defined by a class or its "
+"superclasses and an outer join for a <literal><join></literal> defined "
+"by a subclass. If set to <literal>select</literal> then Hibernate will use a "
+"sequential select for a <literal><join></literal> defined on a "
+"subclass, which will be issued only if a row turns out to represent an "
+"instance of the subclass. Inner joins will still be used to retrieve a "
+"<literal><join></literal> defined by the class and its superclasses."
+msgstr ""
+"<literal>fetch</literal> (opcional - por defecto a <literal>join</literal>): "
+"Si se establece a <literal>join</literal>, por defecto, Hibernate usará una "
+"unión interior (inner join) para recuperar un <literal><join></"
+"literal> definido por una clase o sus superclases y una unión externa (outer "
+"join) para un <literal><join></literal> definido por una subclase. Si "
+"se establece a <literal>select</literal>, entonces Hibernate usará una "
+"select secuencial para un <literal><join></literal> definido en una "
+"subclase, que será publicada sólo si una fila resulta representar una "
+"instancia de la subclase. Las uniones interiores todavía serán usados para "
+"recuperar un <literal><join></literal> definido por la clase y sus "
+"superclases."
-#: 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 "EL desafío es mapear el sistema de tipos de Java (y la definición de entidades y tipos de valor de los desarrolladores) al sistema de tipos de SQL/base de datos. EL puente entre ambos sistemas es provisto por Hibernate: para las entidades usamos <literal><class></literal>, <literal><subclass></literal>, etc. Para los tipos de valor usamos <literal><property></literal>, <literal><component></literal>, etc, usualmente con un atributo <literal>type</literal>. El valor de este atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de Hibernate. Hibernate provee de fábrica muchos mapeos (para tipos de valores del JDK estándar). Puedes escribir tus propios mapeos de tipo, así como implementar tus estrategias de conversión personalizadas, como veremos luego."
+#. Tag: para
+#: basic_mapping.xml:2229
+#, no-c-format
+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."
-#: index.docbook:2236
-msgid "<literal>optional</literal> (optional - defaults to <literal>false</literal>): If enabled, Hibernate will insert a row only if the properties defined by this join are non-null and will always use an outer join to retrieve the properties."
-msgstr "Todos los tipos prefabricados de Hibernate soportan semántica de nulos excepto las colecciones."
+#. Tag: para
+#: basic_mapping.xml:2236
+#, no-c-format
+msgid ""
+"<literal>optional</literal> (optional - defaults to <literal>false</"
+"literal>): If enabled, Hibernate will insert a row only if the properties "
+"defined by this join are non-null and will always use an outer join to "
+"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."
-#: 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 "Tipos de valores básicos"
+#. Tag: para
+#: basic_mapping.xml:2245
+#, no-c-format
+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):"
-#: index.docbook:2250
+#. Tag: programlisting
+#: basic_mapping.xml:2250
+#, no-c-format
msgid ""
- "<![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"
- " ...]]>"
-msgstr "Los <emphasis>tipos de mapeo básicos</emphasis> prefabricados pueden ser categorizado a grandes rasgos en:"
+"<![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"
+" ...]]>"
+msgstr ""
-#: 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 "integer, long, short, float, double, character, byte, boolean, yes_no, true_false"
+#. Tag: para
+#: basic_mapping.xml:2252
+#, no-c-format
+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."
-#: index.docbook:2262
+#. Tag: title
+#: basic_mapping.xml:2262
+#, no-c-format
msgid "<title>key</title>"
-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 <literal>boolean</literal> de Java o <literal>java.lang.Boolean</literal>."
+msgstr ""
-#: index.docbook:2264
-msgid "We've seen the <literal><key></literal> element crop up a few times now. It appears anywhere the parent mapping element defines a join to a new table, and defines the foreign key in the joined table, that references the primary key of the original table."
-msgstr "string"
+#. Tag: para
+#: basic_mapping.xml:2264
+#, no-c-format
+msgid ""
+"We've seen the <literal><key></literal> element crop up a few times "
+"now. It appears anywhere the parent mapping element defines a join to a new "
+"table, and defines the foreign key in the joined table, that references the "
+"primary key of the original table."
+msgstr ""
+"Hasta ahora hemos visto el elemento <literal><key></literal> pocas "
+"veces. Aparece en cualquier sitio en que el elemento padre de mapeo defina "
+"una unión a una nueva tabla, y define la clave foránea en la tabla unida, "
+"que referencia la clave primaria de la tabla original."
-#: index.docbook:2280
+#. Tag: programlisting
+#: basic_mapping.xml:2280
+#, no-c-format
msgid ""
- "<![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"
- "/>]]>"
-msgstr "Un mapeo del tipo <literal>java.lang.String</literal> a <literal>VARCHAR</literal> (u Oracle <literal>VAARCHAR2</literal>)."
+"<![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"
+"/>]]>"
+msgstr ""
-#: 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 "Mapeos de tipo desde <literal>java.util.Date</literal> y sus subclases a tipos SQL <literal>DATE</literal>, <literal>TIME</literal> y <literal>TIMESTAMP</literal> (o equivalente)."
+#. Tag: para
+#: basic_mapping.xml:2291
+#, no-c-format
+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."
-#: 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 "calendar, calendar_date"
+#. Tag: para
+#: basic_mapping.xml:2298
+#, no-c-format
+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.)"
-#: 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 "Mapeos de tipo desde <literal>java.util.Date</literal> y sus subclases a tipos SQL <literal>TIMESTAMP</literal> y <literal>DATE</literal> (o equivalente)."
+#. Tag: para
+#: basic_mapping.xml:2305
+#, no-c-format
+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)."
-#: 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 "big_decimal, big_integer"
+#. Tag: para
+#: basic_mapping.xml:2312
+#, no-c-format
+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)."
-#: 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 "Mapeos de tipo desde <literal>java.math.BigDecimal</literal> y <literal>java.math.BigInteger</literal> a <literal>NUMERIC</literal> (o <literal>NUMBER</literal> de Oracle)."
+#. Tag: para
+#: basic_mapping.xml:2319
+#, no-c-format
+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)."
-#: 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 Hibernate will use a database-level <literal>ON CASCADE DELETE</literal> constraint, instead of many individual <literal>DELETE</literal> statements. Be aware that this feature bypasses Hibernate's usual optimistic locking strategy for versioned data."
-msgstr "locale, timezone, currency"
+#. Tag: para
+#: basic_mapping.xml:2327
+#, no-c-format
+msgid ""
+"We recommend that for systems where delete performance is important, all "
+"keys should be defined <literal>on-delete=\"cascade\"</literal>, and "
+"Hibernate will use a database-level <literal>ON CASCADE DELETE</literal> "
+"constraint, instead of many individual <literal>DELETE</literal> statements. "
+"Be aware that this feature bypasses Hibernate's usual optimistic locking "
+"strategy for versioned data."
+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."
-#: 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 unidirectional one to many to a non-nullable foreign key, you <emphasis>must</emphasis> declare the key column using <literal><key not-null=\"true\"></literal>."
-msgstr "Mapeos de tipo desde <literal>java.util.Locale</literal>, <literal>java.util.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>."
+#. Tag: para
+#: basic_mapping.xml:2335
+#, no-c-format
+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 "
+"unidirectional one to many to a non-nullable foreign key, you "
+"<emphasis>must</emphasis> declare the key column using <literal><key not-"
+"null=\"true\"></literal>."
+msgstr ""
+"Los atributos <literal>not-null</literal> y <literal>update</literal> son "
+"útiles al mapear una asociación uno a muchos unidireccional. Si mapeas una "
+"uno a muchos unidireccional a una clave foránea no nulable, <emphasis>debes</"
+"emphasis> declarar la columna clave usando <literal><key not-null=\"true"
+"\"></literal>."
-#: index.docbook:2345
+#. Tag: title
+#: basic_mapping.xml:2345
+#, no-c-format
msgid "column and formula elements"
-msgstr "<literal>class</literal>"
+msgstr "los elementos column y formula"
-#: index.docbook:2346
-msgid "Any mapping element which accepts a <literal>column</literal> attribute will alternatively accept a <literal><column></literal> subelement. Likewise, <literal><formula></literal> is an alternative to the <literal>formula</literal> attribute."
-msgstr "Un mapeo de tipo <literal>java.lang.Class</literal> a <literal>VARCHAR</literal> (o <literal>VARCHAR2</literal> de Oracle). Una <literal>Class</literal> es mapeara a su nombre completamente cualificado."
+#. Tag: para
+#: basic_mapping.xml:2346
+#, no-c-format
+msgid ""
+"Any mapping element which accepts a <literal>column</literal> attribute will "
+"alternatively accept a <literal><column></literal> subelement. "
+"Likewise, <literal><formula></literal> is an alternative to the "
+"<literal>formula</literal> attribute."
+msgstr ""
+"Cualquier elemento de mapeo que acepte un atributo <literal>column</literal> "
+"aceptará alternativamente un subelemento <literal><column></literal>. "
+"De forma similar, <literal><formula></literal> es una alternativa al "
+"atributo <literal>formula</literal>."
-#: index.docbook:2352
+#. Tag: programlisting
+#: basic_mapping.xml:2352
+#, no-c-format
msgid ""
- "<![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\"\n"
- " default=\"SQL expression\"/>]]>"
-msgstr "binary"
+"<![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\"\n"
+" default=\"SQL expression\"/>]]>"
+msgstr ""
-#: index.docbook:2354
+#. Tag: programlisting
+#: basic_mapping.xml:2354
+#, no-c-format
msgid "<![CDATA[<formula>SQL expression</formula>]]>"
-msgstr "Mapea arreglos de bytes a un tipo binario SQL apropiado."
+msgstr ""
-#: 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 "text"
+#. Tag: para
+#: basic_mapping.xml:2356
+#, no-c-format
+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."
-#: index.docbook:2362
+#. Tag: programlisting
+#: basic_mapping.xml:2362
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Mapea cadenas largas Java al tipo SQL <literal>CLOB</literal> o <literal>TEXT</literal>."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:2367
+#. Tag: title
+#: basic_mapping.xml:2367
+#, no-c-format
msgid "import"
-msgstr "serializable"
+msgstr "import"
-#: 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 queries. Classes may be \"imported\" explicitly, rather than relying upon <literal>auto-import=\"true\"</literal>. You may even import classes and interfaces that are not explicitly mapped."
-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."
+#. Tag: para
+#: basic_mapping.xml:2369
+#, no-c-format
+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 "
+"queries. Classes may be \"imported\" explicitly, rather than relying upon "
+"<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."
-#: index.docbook:2376
+#. Tag: programlisting
+#: basic_mapping.xml:2376
+#, no-c-format
msgid "<![CDATA[<import class=\"java.lang.Object\" rename=\"Universe\"/>]]>"
-msgstr "clob, blob"
+msgstr ""
-#: index.docbook:2383
+#. Tag: programlisting
+#: basic_mapping.xml:2383
+#, no-c-format
msgid ""
- "<![CDATA[<import\n"
- " class=\"ClassName\"\n"
- " rename=\"ShortName\"\n"
- "/>]]>"
-msgstr "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)."
+"<![CDATA[<import\n"
+" class=\"ClassName\"\n"
+" rename=\"ShortName\"\n"
+"/>]]>"
+msgstr ""
-#: index.docbook:2386
-msgid "<literal>class</literal>: The fully qualified class name of of any Java class."
-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.)"
+#. Tag: para
+#: basic_mapping.xml:2386
+#, no-c-format
+msgid ""
+"<literal>class</literal>: The fully qualified class name of of any Java "
+"class."
+msgstr ""
+"<literal>class</literal>: El nombre de clase completamente cualificado de "
+"cualquier clase Java."
-#: 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 "Los tipos de valor básicos tienen sus constantes <literal>Type</literal> correspondientes definidas en <literal>org.hibernate.Hibernate</literal>. Por ejemplo, <literal>Hibernate.STRING</literal> representa el tipo <literal>string</literal>."
+#. Tag: para
+#: basic_mapping.xml:2391
+#, no-c-format
+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."
-#: index.docbook:2402
+#. Tag: title
+#: basic_mapping.xml:2402
+#, no-c-format
msgid "<title>any</title>"
-msgstr "Tipos de valor personalizados"
+msgstr ""
-#: index.docbook:2404
-msgid "There is one further type of property mapping. The <literal><any></literal> mapping element defines a polymorphic association to classes from multiple tables. This type of mapping always requires more than one column. The first column holds the type of the associated entity. The remaining columns hold the identifier. It is impossible to specify a foreign key constraint for this kind of association, so this is most certainly not meant 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 "Es relativamente fácil para los desarrolladores crear sus propios tipos de valor. Por ejemplo, podrías querer persistir propiedades del tipo <literal>java.lang.BigInteger</literal> a columnas <literal>VARCHAR</literal>. Hibernate no provee un tipo de fábrica para esto. Pero los tipos personalizados no están limitados a mapear una propiedad (o elemento de colección) a una sola columna de tabla. Así, por ejemplo, podrías tener una propiedad Java <literal>getName()</literal>/<literal>setName()</literal> de tipo <literal>java.lang.String</literal> que fuera persistida a las columnas <literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</literal>."
+#. Tag: para
+#: basic_mapping.xml:2404
+#, no-c-format
+msgid ""
+"There is one further type of property mapping. The <literal><any></"
+"literal> mapping element defines a polymorphic association to classes from "
+"multiple tables. This type of mapping always requires more than one column. "
+"The first column holds the type of the associated entity. The remaining "
+"columns hold the identifier. It is impossible to specify a foreign key "
+"constraint for this kind of association, so this is most certainly not meant "
+"as the usual way of mapping (polymorphic) associations. You should use this "
+"only in very special cases (eg. audit logs, user session data, etc)."
+msgstr ""
+"Hay un tipo más de mapeo de propiedad. El elemento de mapeo <literal><"
+"any></literal> define una asociacián polimórfica a clases desde múltiples "
+"tablas. Este tipo de mapeo siempre requiere más de una columna. La primera "
+"columna contiene el tipo de la entidad asociada. Las columnas restantes "
+"contienen el identificador. Es imposible especificar una restricción de "
+"clave foránea para este tipo de asociación, por lo que esto ciertamente no "
+"está concebido como la forma habitual de mapear asociaciones (polimórficas). "
+"Sólo debes usar esto en casos muy especiales (por ejemplo, trazas de "
+"auditoréa, datos de sesión de usuario, etc)."
-#: 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 have identifier properties of the type specified by <literal>id-type</literal>. You must specify the mapping from values of the meta-type to class names."
-msgstr "Para implementar un tipo personalizado, implementa bien <literal>org.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."
+#. Tag: para
+#: basic_mapping.xml:2414
+#, no-c-format
+msgid ""
+"The <literal>meta-type</literal> attribute lets the application specify a "
+"custom type that maps database column values to persistent classes which "
+"have identifier properties of the type specified by <literal>id-type</"
+"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."
-#: index.docbook:2421
+#. Tag: programlisting
+#: basic_mapping.xml:2421
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
- "<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test.DoubleStringType\">\n"
- " <column name=\"first_string\"/>\n"
- " <column name=\"second_string\"/>\n"
- "</property>]]>"
-#: index.docbook:2432
+#. Tag: programlisting
+#: basic_mapping.xml:2432
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Observa el uso de etiquetas <literal><column></literal> para mapear una propiedad a múltiples columnas."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:2435
+#. Tag: para
+#: basic_mapping.xml:2435
+#, no-c-format
msgid "<literal>name</literal>: the property name."
-msgstr "Las interfaces <literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, y <literal>UserVersionType</literal> proveen soporte a usos más especializados."
+msgstr "<literal>name</literal>: el nombre de la propiedad."
-#: index.docbook:2440
+#. Tag: para
+#: basic_mapping.xml:2440
+#, no-c-format
msgid "<literal>id-type</literal>: the identifier type."
-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 implementar la interface <literal>org.hibernate.usertype.ParameterizedType</literal>. Para proveer de parámetros a tu tipo personalizado, puedes usar el elemento <literal><type></literal> en tus ficheros de mapeo."
+msgstr "<literal>id-type</literal>: el tipo del identificador."
-#: index.docbook:2445
-msgid "<literal>meta-type</literal> (optional - defaults to <literal>string</literal>): Any type that is allowed for a discriminator mapping."
+#. Tag: para
+#: basic_mapping.xml:2445
+#, no-c-format
+msgid ""
+"<literal>meta-type</literal> (optional - defaults to <literal>string</"
+"literal>): Any type that is allowed for a discriminator mapping."
msgstr ""
- "<![CDATA[<property name=\"priority\">\n"
- " <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
- " <param name=\"default\">0</param>\n"
- " </type>\n"
- "</property>]]>"
+"<literal>meta-type</literal> (opcional - por defecto a <literal>string</"
+"literal>): Cualquier tipo que sea permitido para un mapeo de discriminador."
-#: index.docbook:2451
-msgid "<literal>cascade</literal> (optional- defaults to <literal>none</literal>): the cascade style."
-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."
+#. Tag: para
+#: basic_mapping.xml:2451
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional- defaults to <literal>none</literal>): "
+"the cascade style."
+msgstr ""
+"<literal>cascade</literal> (opcional- por defecto a <literal>none</"
+"literal>): el estilo de cascada."
-#: 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 acquisition of the optimistic lock. In other words, define if a version increment should occur if this property is dirty."
+#. Tag: para
+#: basic_mapping.xml:2463
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Specifies that updates to this property do or do not require "
+"acquisition of the optimistic lock. In other words, define if a version "
+"increment should occur if this property is dirty."
msgstr ""
- "<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" name=\"default_zero\">\n"
- " <param name=\"default\">0</param>\n"
- "</typedef>]]>"
+"<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."
-#: index.docbook:2478
+#. Tag: title
+#: basic_mapping.xml:2478
+#, no-c-format
msgid "Hibernate Types"
-msgstr "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
+msgstr "Tipos de Hibernate"
-#: index.docbook:2481
+#. Tag: title
+#: basic_mapping.xml:2481
+#, no-c-format
msgid "Entities and values"
-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."
+msgstr "Entidades y Valores"
-#: 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:"
-msgstr "Aunque el rico espectro de tipos prefabricados y soporte de componentes de 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."
+#. Tag: para
+#: basic_mapping.xml:2483
+#, no-c-format
+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:"
+msgstr ""
+"Para entender el comportamiento de varios objetos a nivel de lenguaje Java "
+"con respecto al servicio de persistencia, necesitamos clasificarlos en dos "
+"grupos:"
-#: 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 where an unreferenced object is garbage collected. Entities must be explicitly saved and deleted (except that saves and deletions may be <emphasis>cascaded</emphasis> from a parent entity to its children). This is different from the ODMG model of object persistence by reachablity - and corresponds more closely to how application objects are usually used in large systems. Entities support circular and shared references. They may also be versioned."
-msgstr "Mapeando una clase más de una vez"
+#. Tag: para
+#: basic_mapping.xml:2488
+#, no-c-format
+msgid ""
+"An <emphasis>entity</emphasis> exists independently of any other objects "
+"holding references to the entity. Contrast this with the usual Java model "
+"where an unreferenced object is garbage collected. Entities must be "
+"explicitly saved and deleted (except that saves and deletions may be "
+"<emphasis>cascaded</emphasis> from a parent entity to its children). This is "
+"different from the ODMG model of object persistence by reachablity - and "
+"corresponds more closely to how application objects are usually used in "
+"large systems. Entities support circular and shared references. They may "
+"also be versioned."
+msgstr ""
+"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."
-#: 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, collections (not what's inside a collection), components and certain immutable objects. Unlike entities, values (in particular collections and components) <emphasis>are</emphasis> persisted and deleted by reachability. Since value objects (and primitives) are persisted and deleted along with their containing entity they may not be independently versioned. Values have no independent identity, so they cannot be shared by two entities or collections."
-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."
+#. Tag: para
+#: basic_mapping.xml:2499
+#, no-c-format
+msgid ""
+"An entity's persistent state consists of references to other entities and "
+"instances of <emphasis>value</emphasis> types. Values are primitives, "
+"collections (not what's inside a collection), components and certain "
+"immutable objects. Unlike entities, values (in particular collections and "
+"components) <emphasis>are</emphasis> persisted and deleted by reachability. "
+"Since value objects (and primitives) are persisted and deleted along with "
+"their containing entity they may not be independently versioned. Values have "
+"no independent identity, so they cannot be shared by two entities or "
+"collections."
+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."
-#: 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 user-defined classes with persistent state are entities. A <emphasis>component</emphasis> is a user defined class with value semantics. A Java property of type <literal>java.lang.String</literal> also has value semantics. Given this definition, we can say that all types (classes) provided by the JDK have value type semantics in Java, while user-defined types may be mapped with entity or value type semantics. This decision is up to the application developer. A good hint for an entity class in a domain model are shared references to a single instance of that class, while composition or aggregation usually translates to a value type."
+#. Tag: para
+#: basic_mapping.xml:2510
+#, no-c-format
+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 "
+"user-defined classes with persistent state are entities. A "
+"<emphasis>component</emphasis> is a user defined class with value semantics. "
+"A Java property of type <literal>java.lang.String</literal> also has value "
+"semantics. Given this definition, we can say that all types (classes) "
+"provided by the JDK have value type semantics in Java, while user-defined "
+"types may be mapped with entity or value type semantics. This decision is up "
+"to the application developer. A good hint for an entity class in a domain "
+"model are shared references to a single instance of that class, while "
+"composition or aggregation usually translates to a value type."
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>]]>"
+"Hasta ahora, hemos estado usando el término \"clase persistente\" para "
+"referirnos a entidades. Continuaremos haciéndolo. Hablando estrictamente, "
+"sin embargo, no todas la clases con estado persistente definidas por el "
+"usuario son entidades. Un <emphasis>componente</emphasis> es una clase "
+"definida por el usuario con semántica de valor. Una propiedad Java de tipo "
+"<literal>java.lang.String</literal> también tiene semántica de valor. Dada "
+"esta definición, podemos decir que todos los tipo (clases) provistos por el "
+"JDK tienen una semántica de tipo valor en Java, mientras que los tipos "
+"definidos por el usuario pueden ser mapeados con semántica de tipo valor o "
+"de entidad. La desición corre por cuenta del desarrollador de la aplicación. "
+"Un buen consejo para una clase entidad en un modelo de dominio son las "
+"referencias compartidas a una sola instancia de esa clase, mientras que la "
+"composición o agregación usualmente se traducen a un tipo de valor."
-#: index.docbook:2524
+#. Tag: para
+#: basic_mapping.xml:2524
+#, no-c-format
msgid "We'll revisit both concepts throughout the documentation."
-msgstr "Observa cómo las asociaciones ahora se especifican usando <literal>entity-name</literal> en vez de <literal>class</literal>."
+msgstr "Volveremos a visitar ambos conceptos a lo largo de la documentación."
-#: 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 between both systems is provided by Hibernate: for entities we use <literal><class></literal>, <literal><subclass></literal> and so on. For value types we use <literal><property></literal>, <literal><component></literal>, etc, usually with a <literal>type</literal> attribute. The value of this attribute is the name of a Hibernate <emphasis>mapping type</emphasis>. Hibernate provides many mappings (for standard JDK value types) out of the box. You can write your own mapping types and implement your custom conversion strategies as well, as you'll see later."
-msgstr "identificadores SQL encomillados"
+#. Tag: para
+#: basic_mapping.xml:2528
+#, no-c-format
+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 "
+"between both systems is provided by Hibernate: for entities we use "
+"<literal><class></literal>, <literal><subclass></literal> and so "
+"on. For value types we use <literal><property></literal>, <literal><"
+"component></literal>, etc, usually with a <literal>type</literal> "
+"attribute. The value of this attribute is the name of a Hibernate "
+"<emphasis>mapping type</emphasis>. Hibernate provides many mappings (for "
+"standard JDK value types) out of the box. You can write your own mapping "
+"types and implement your custom conversion strategies as well, as you'll see "
+"later."
+msgstr ""
+"EL desafío es mapear el sistema de tipos de Java (y la definición de "
+"entidades y tipos de valor de los desarrolladores) al sistema de tipos de "
+"SQL/base de datos. EL puente entre ambos sistemas es provisto por Hibernate: "
+"para las entidades usamos <literal><class></literal>, <literal><"
+"subclass></literal>, etc. Para los tipos de valor usamos <literal><"
+"property></literal>, <literal><component></literal>, etc, "
+"usualmente con un atributo <literal>type</literal>. El valor de este "
+"atributo es el nombre de un <emphasis>tipo de mapeo</emphasis> de Hibernate. "
+"Hibernate provee de fábrica muchos mapeos (para tipos de valores del JDK "
+"estándar). Puedes escribir tus propios mapeos de tipo, así como implementar "
+"tus estrategias de conversión personalizadas, como veremos luego."
-#: index.docbook:2541
+#. Tag: para
+#: basic_mapping.xml:2541
+#, no-c-format
msgid "All built-in Hibernate types except collections support null semantics."
-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)."
+msgstr ""
+"Todos los tipos prefabricados de Hibernate soportan semántica de nulos "
+"excepto las colecciones."
-#: index.docbook:2548
+#. Tag: title
+#: basic_mapping.xml:2548
+#, no-c-format
msgid "Basic value types"
+msgstr "Tipos de valores básicos"
+
+#. Tag: para
+#: basic_mapping.xml:2550
+#, fuzzy, no-c-format
+msgid ""
+"The built-in <emphasis>basic mapping types</emphasis> may be roughly "
+"categorized into"
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>]]>"
+"Los <emphasis>tipos de mapeo básicos</emphasis> prefabricados pueden ser "
+"categorizado a grandes rasgos en: <placeholder-1/>"
-#: index.docbook:2550
-msgid "The built-in <emphasis>basic mapping types</emphasis> may be roughly categorized into"
-msgstr "Alternativas de metadatos"
+#. Tag: literal
+#: basic_mapping.xml:2555
+#, no-c-format
+msgid ""
+"integer, long, short, float, double, character, byte, boolean, yes_no, "
+"true_false"
+msgstr ""
+"integer, long, short, float, double, character, byte, boolean, yes_no, "
+"true_false"
-#: index.docbook:2555
-msgid "integer, long, short, float, double, character, byte, boolean, yes_no, true_false"
-msgstr "XML no es para todos, asá que hay algunas formas alternativas de definir metadatos de mapeo O/R en Hibernate."
+#. Tag: para
+#: basic_mapping.xml:2558
+#, no-c-format
+msgid ""
+"Type mappings from Java primitives or wrapper classes to appropriate (vendor-"
+"specific) SQL column types. <literal>boolean, yes_no</literal> and "
+"<literal>true_false</literal> are all alternative encodings for a Java "
+"<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 "
+"<literal>boolean</literal> de Java o <literal>java.lang.Boolean</literal>."
-#: 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 <literal>true_false</literal> are all alternative encodings for a Java <literal>boolean</literal> or <literal>java.lang.Boolean</literal>."
-msgstr "Usando marcado de XDoclet"
-
-#: index.docbook:2567
+#. Tag: literal
+#: basic_mapping.xml:2567
+#, no-c-format
msgid "string"
-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."
+msgstr "string"
-#: index.docbook:2569
-msgid "A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>)."
+#. Tag: para
+#: basic_mapping.xml:2569
+#, no-c-format
+msgid ""
+"A type mapping from <literal>java.lang.String</literal> to <literal>VARCHAR</"
+"literal> (or Oracle <literal>VARCHAR2</literal>)."
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"
- "}]]>"
+"Un mapeo del tipo <literal>java.lang.String</literal> a <literal>VARCHAR</"
+"literal> (u Oracle <literal>VAARCHAR2</literal>)."
-#: index.docbook:2576
+#. Tag: literal
+#: basic_mapping.xml:2576
+#, no-c-format
msgid "date, time, timestamp"
-msgstr "Para más ejemplos de XDoclet e Hibernate ver en el sitio web de Hibernate."
+msgstr "date, time, timestamp"
-#: 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 <literal>TIMESTAMP</literal> (or equivalent)."
-msgstr "Usando anotaciones JDK 5.0"
+#. Tag: para
+#: basic_mapping.xml:2578
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Date</literal> and its subclasses to "
+"SQL types <literal>DATE</literal>, <literal>TIME</literal> and "
+"<literal>TIMESTAMP</literal> (or equivalent)."
+msgstr ""
+"Mapeos de tipo desde <literal>java.util.Date</literal> y sus subclases a "
+"tipos SQL <literal>DATE</literal>, <literal>TIME</literal> y "
+"<literal>TIMESTAMP</literal> (o equivalente)."
-#: index.docbook:2586
+#. Tag: literal
+#: basic_mapping.xml:2586
+#, no-c-format
msgid "calendar, calendar_date"
-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."
+msgstr "calendar, calendar_date"
-#: index.docbook:2588
-msgid "Type mappings from <literal>java.util.Calendar</literal> to SQL types <literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
-msgstr "Este es un ejemplo de una clase POJO anotada como un bean de entidad EJB:"
+#. Tag: para
+#: basic_mapping.xml:2588
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Calendar</literal> to SQL types "
+"<literal>TIMESTAMP</literal> and <literal>DATE</literal> (or equivalent)."
+msgstr ""
+"Mapeos de tipo desde <literal>java.util.Date</literal> y sus subclases a "
+"tipos SQL <literal>TIMESTAMP</literal> y <literal>DATE</literal> (o "
+"equivalente)."
-#: index.docbook:2596
+#. Tag: literal
+#: basic_mapping.xml:2596
+#, no-c-format
msgid "big_decimal, big_integer"
+msgstr "big_decimal, big_integer"
+
+#. Tag: para
+#: basic_mapping.xml:2598
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java."
+"math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle "
+"<literal>NUMBER</literal>)."
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"
- "}]]>"
+"Mapeos de tipo desde <literal>java.math.BigDecimal</literal> y <literal>java."
+"math.BigInteger</literal> a <literal>NUMERIC</literal> (o <literal>NUMBER</"
+"literal> de Oracle)."
-#: index.docbook:2598
-msgid "Type mappings from <literal>java.math.BigDecimal</literal> and <literal>java.math.BigInteger</literal> to <literal>NUMERIC</literal> (or Oracle <literal>NUMBER</literal>)."
-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."
-
-#: index.docbook:2606
+#. Tag: literal
+#: basic_mapping.xml:2606
+#, no-c-format
msgid "locale, timezone, currency"
-msgstr ""
+msgstr "locale, timezone, currency"
-#: index.docbook:2608
-msgid "Type mappings from <literal>java.util.Locale</literal>, <literal>java.util.TimeZone</literal> and <literal>java.util.Currency</literal> to <literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). Instances of <literal>Locale</literal> and <literal>Currency</literal> are mapped to their ISO codes. Instances of <literal>TimeZone</literal> are mapped to their <literal>ID</literal>."
+#. Tag: para
+#: basic_mapping.xml:2608
+#, no-c-format
+msgid ""
+"Type mappings from <literal>java.util.Locale</literal>, <literal>java.util."
+"TimeZone</literal> and <literal>java.util.Currency</literal> to "
+"<literal>VARCHAR</literal> (or Oracle <literal>VARCHAR2</literal>). "
+"Instances of <literal>Locale</literal> and <literal>Currency</literal> are "
+"mapped to their ISO codes. Instances of <literal>TimeZone</literal> are "
+"mapped to their <literal>ID</literal>."
msgstr ""
+"Mapeos de tipo desde <literal>java.util.Locale</literal>, <literal>java.util."
+"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>."
-#: index.docbook:2620
+#. Tag: literal
+#: basic_mapping.xml:2620
+#, fuzzy, no-c-format
msgid "<literal>class</literal>"
-msgstr ""
+msgstr "<literal>all</literal> chequea todas las columnas"
-#: 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> is mapped to its fully qualified name."
+#. Tag: para
+#: basic_mapping.xml:2622
+#, no-c-format
+msgid ""
+"A type mapping from <literal>java.lang.Class</literal> to <literal>VARCHAR</"
+"literal> (or Oracle <literal>VARCHAR2</literal>). A <literal>Class</literal> "
+"is mapped to its fully qualified name."
msgstr ""
+"Un mapeo de tipo <literal>java.lang.Class</literal> a <literal>VARCHAR</"
+"literal> (o <literal>VARCHAR2</literal> de Oracle). Una <literal>Class</"
+"literal> es mapeara a su nombre completamente cualificado."
-#: index.docbook:2630
+#. Tag: literal
+#: basic_mapping.xml:2630
+#, no-c-format
msgid "binary"
-msgstr ""
+msgstr "binary"
-#: index.docbook:2632
+#. Tag: para
+#: basic_mapping.xml:2632
+#, no-c-format
msgid "Maps byte arrays to an appropriate SQL binary type."
-msgstr ""
+msgstr "Mapea arreglos de bytes a un tipo binario SQL apropiado."
-#: index.docbook:2638
+#. Tag: literal
+#: basic_mapping.xml:2638
+#, no-c-format
msgid "text"
-msgstr ""
+msgstr "text"
-#: index.docbook:2640
-msgid "Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</literal> type."
+#. Tag: para
+#: basic_mapping.xml:2640
+#, no-c-format
+msgid ""
+"Maps long Java strings to a SQL <literal>CLOB</literal> or <literal>TEXT</"
+"literal> type."
msgstr ""
+"Mapea cadenas largas Java al tipo SQL <literal>CLOB</literal> o "
+"<literal>TEXT</literal>."
-#: index.docbook:2647
+#. Tag: literal
+#: basic_mapping.xml:2647
+#, no-c-format
msgid "serializable"
-msgstr ""
+msgstr "serializable"
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:2649
+#, no-c-format
+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."
-#: index.docbook:2658
+#. Tag: literal
+#: basic_mapping.xml:2658
+#, no-c-format
msgid "clob, blob"
-msgstr ""
+msgstr "clob, blob"
-#: 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 applications, since the blob or clob object may not be reused outside of a transaction. (Furthermore, driver support is patchy and inconsistent.)"
+#. Tag: para
+#: basic_mapping.xml:2660
+#, no-c-format
+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 "
+"applications, since the blob or clob object may not be reused outside of a "
+"transaction. (Furthermore, driver support is patchy and inconsistent.)"
msgstr ""
+"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)."
-#: index.docbook:2670
-msgid "imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, imm_serializable, imm_binary"
+#. Tag: literal
+#: basic_mapping.xml:2670
+#, no-c-format
+msgid ""
+"imm_date, imm_time, imm_timestamp, imm_calendar, imm_calendar_date, "
+"imm_serializable, imm_binary"
msgstr ""
+"UNTRANSLATED! imm_date, imm_time, imm_timestamp, imm_calendar, "
+"imm_calendar_date, imm_serializable, imm_binary"
-#: index.docbook:2674
-msgid "Type mappings for what are usually considered mutable Java types, where Hibernate makes certain optimizations appropriate only for immutable Java types, and the application treats the object as immutable. For example, you should not call <literal>Date.setTime()</literal> for an instance mapped as <literal>imm_timestamp</literal>. To change the value of the property, and have that change made persistent, the application must assign a new (nonidentical) object to the property."
+#. Tag: para
+#: basic_mapping.xml:2674
+#, no-c-format
+msgid ""
+"Type mappings for what are usually considered mutable Java types, where "
+"Hibernate makes certain optimizations appropriate only for immutable Java "
+"types, and the application treats the object as immutable. For example, you "
+"should not call <literal>Date.setTime()</literal> for an instance mapped as "
+"<literal>imm_timestamp</literal>. To change the value of the property, and "
+"have that change made persistent, the application must assign a new "
+"(nonidentical) object to the property."
msgstr ""
+"Type mappings for what are usually considered mutable Java types, where "
+"Hibernate makes certain optimizations appropriate only for immutable Java "
+"types, and the application treats the object as immutable. For example, you "
+"should not call <literal>Date.setTime()</literal> for an instance mapped as "
+"<literal>imm_timestamp</literal>. To change the value of the property, and "
+"have that change made persistent, the application must assign a new "
+"(nonidentical) object to the property."
-#: 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.)"
+#. Tag: para
+#: basic_mapping.xml:2689
+#, no-c-format
+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.)"
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:2695
+#, no-c-format
+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>."
-#: index.docbook:2704
+#. Tag: title
+#: basic_mapping.xml:2704
+#, no-c-format
msgid "Custom value types"
-msgstr ""
+msgstr "Tipos de valor personalizados"
-#: 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.BigInteger</literal> to <literal>VARCHAR</literal> columns. Hibernate does not provide a built-in type for this. But custom types are not limited to mapping a property (or collection element) to a single table column. So, for example, you might have a Java property <literal>getName()</literal>/<literal>setName()</literal> of type <literal>java.lang.String</literal> that is persisted to the columns <literal>FIRST_NAME</literal>, <literal>INITIAL</literal>, <literal>SURNAME</literal>."
+#. Tag: para
+#: basic_mapping.xml:2706
+#, no-c-format
+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."
+"BigInteger</literal> to <literal>VARCHAR</literal> columns. Hibernate does "
+"not provide a built-in type for this. But custom types are not limited to "
+"mapping a property (or collection element) to a single table column. So, for "
+"example, you might have a Java property <literal>getName()</literal>/"
+"<literal>setName()</literal> of type <literal>java.lang.String</literal> "
+"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>."
-#: index.docbook:2717
-msgid "To implement a custom type, implement either <literal>org.hibernate.UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and declare properties using the fully qualified classname of the type. Check out <literal>org.hibernate.test.DoubleStringType</literal> to see the kind of things that are possible."
+#. Tag: para
+#: basic_mapping.xml:2717
+#, no-c-format
+msgid ""
+"To implement a custom type, implement either <literal>org.hibernate."
+"UserType</literal> or <literal>org.hibernate.CompositeUserType</literal> and "
+"declare properties using the fully qualified classname of the type. Check "
+"out <literal>org.hibernate.test.DoubleStringType</literal> to see the kind "
+"of things that are possible."
msgstr ""
+"Para implementar un tipo personalizado, implementa bien <literal>org."
+"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."
-#: index.docbook:2725
+#. Tag: programlisting
+#: basic_mapping.xml:2725
+#, no-c-format
msgid ""
- "<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test.DoubleStringType\">\n"
- " <column name=\"first_string\"/>\n"
- " <column name=\"second_string\"/>\n"
- "</property>]]>"
+"<![CDATA[<property name=\"twoStrings\" type=\"org.hibernate.test."
+"DoubleStringType\">\n"
+" <column name=\"first_string\"/>\n"
+" <column name=\"second_string\"/>\n"
+"</property>]]>"
msgstr ""
-#: index.docbook:2727
-msgid "Notice the use of <literal><column></literal> tags to map a property to multiple columns."
+#. Tag: para
+#: basic_mapping.xml:2727
+#, no-c-format
+msgid ""
+"Notice the use of <literal><column></literal> tags to map a property "
+"to multiple columns."
msgstr ""
+"Observa el uso de etiquetas <literal><column></literal> para mapear "
+"una propiedad a múltiples columnas."
-#: index.docbook:2732
-msgid "The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, and <literal>UserVersionType</literal> interfaces provide support for more specialized uses."
+#. Tag: para
+#: basic_mapping.xml:2732
+#, no-c-format
+msgid ""
+"The <literal>CompositeUserType</literal>, <literal>EnhancedUserType</"
+"literal>, <literal>UserCollectionType</literal>, and "
+"<literal>UserVersionType</literal> interfaces provide support for more "
+"specialized uses."
msgstr ""
+"Las interfaces <literal>CompositeUserType</literal>, "
+"<literal>EnhancedUserType</literal>, <literal>UserCollectionType</literal>, "
+"y <literal>UserVersionType</literal> proveen soporte a usos más "
+"especializados."
-#: 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 the <literal>org.hibernate.usertype.ParameterizedType</literal> interface. To supply parameters to your custom type, you can use the <literal><type></literal> element in your mapping files."
+#. Tag: para
+#: basic_mapping.xml:2738
+#, no-c-format
+msgid ""
+"You may even supply parameters to a <literal>UserType</literal> in the "
+"mapping file. To do this, your <literal>UserType</literal> must implement "
+"the <literal>org.hibernate.usertype.ParameterizedType</literal> interface. "
+"To supply parameters to your custom type, you can use the <literal><"
+"type></literal> element in your mapping files."
msgstr ""
+"Puedes incluso proveer de parámetros a un <literal>UserType</literal> en el "
+"fichero de mapeo. Para hacer esto, tu <literal>UserType</literal> debe "
+"implementar la interface <literal>org.hibernate.usertype.ParameterizedType</"
+"literal>. Para proveer de parámetros a tu tipo personalizado, puedes usar el "
+"elemento <literal><type></literal> en tus ficheros de mapeo."
-#: index.docbook:2746
+#. Tag: programlisting
+#: basic_mapping.xml:2746
+#, no-c-format
msgid ""
- "<![CDATA[<property name=\"priority\">\n"
- " <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
- " <param name=\"default\">0</param>\n"
- " </type>\n"
- "</property>]]>"
+"<![CDATA[<property name=\"priority\">\n"
+" <type name=\"com.mycompany.usertypes.DefaultValueIntegerType\">\n"
+" <param name=\"default\">0</param>\n"
+" </type>\n"
+"</property>]]>"
msgstr ""
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:2748
+#, no-c-format
+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."
-#: 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 <literal><typedef></literal> element. Typedefs assign a name to a custom type, and may also contain a list of default parameter values if the type is parameterized."
+#. Tag: para
+#: basic_mapping.xml:2753
+#, no-c-format
+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 "
+"<literal><typedef></literal> element. Typedefs assign a name to a "
+"custom type, and may also contain a list of default parameter values if the "
+"type is parameterized."
msgstr ""
+"Si usas cierto <literal>UserType</literal> muy frecuentemente, puede ser "
+"útil definir un nombre corto para é. Puedes hacer esto usando el elemento "
+"<literal><typedef></literal>. Los typedefs asignan un nombre a un tipo "
+"personalizado, y pueden también contener una lista de valores por defecto de "
+"parámetros si el tipo fuese parametrizado."
-#: index.docbook:2760
+#. Tag: programlisting
+#: basic_mapping.xml:2760
+#, no-c-format
msgid ""
- "<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" name=\"default_zero\">\n"
- " <param name=\"default\">0</param>\n"
- "</typedef>]]>"
+"<![CDATA[<typedef class=\"com.mycompany.usertypes.DefaultValueIntegerType\" "
+"name=\"default_zero\">\n"
+" <param name=\"default\">0</param>\n"
+"</typedef>]]>"
msgstr ""
-#: index.docbook:2762
+#. Tag: programlisting
+#: basic_mapping.xml:2762
+#, no-c-format
msgid "<![CDATA[<property name=\"priority\" type=\"default_zero\"/>]]>"
msgstr ""
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:2764
+#, no-c-format
+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."
-#: 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 custom type, it is nevertheless considered good form to use custom types for (non-entity) classes that occur frequently in your application. For example, a <literal>MonetaryAmount</literal> class is a good candidate for a <literal>CompositeUserType</literal>, even though it could easily be mapped as a component. One motivation for this is abstraction. With a custom type, your mapping documents would be future-proofed against possible changes in your way of representing monetary values."
+#. Tag: para
+#: basic_mapping.xml:2769
+#, no-c-format
+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 "
+"custom type, it is nevertheless considered good form to use custom types for "
+"(non-entity) classes that occur frequently in your application. For example, "
+"a <literal>MonetaryAmount</literal> class is a good candidate for a "
+"<literal>CompositeUserType</literal>, even though it could easily be mapped "
+"as a component. One motivation for this is abstraction. With a custom type, "
+"your mapping documents would be future-proofed against possible changes in "
+"your way of representing monetary values."
msgstr ""
+"Aunque el rico espectro de tipos prefabricados y soporte de componentes de "
+"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."
-#: index.docbook:2785
+#. Tag: title
+#: basic_mapping.xml:2785
+#, no-c-format
msgid "Mapping a class more than once"
-msgstr ""
+msgstr "Mapeando una clase más de una vez"
-#: 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 disambiguate between instances of the two mapped entities. (By default, the entity name is the same as the class name.) Hibernate lets you specify the entity name when working with persistent objects, when writing queries, or when mapping associations to the named entity."
+#. Tag: para
+#: basic_mapping.xml:2786
+#, no-c-format
+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 "
+"disambiguate between instances of the two mapped entities. (By default, the "
+"entity name is the same as the class name.) Hibernate lets you specify the "
+"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."
-#: index.docbook:2794
+#. Tag: programlisting
+#: basic_mapping.xml:2794
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
-#: index.docbook:2796
-msgid "Notice how associations are now specified using <literal>entity-name</literal> instead of <literal>class</literal>."
+#. Tag: para
+#: basic_mapping.xml:2796
+#, no-c-format
+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>."
-#: index.docbook:2804
+#. Tag: title
+#: basic_mapping.xml:2804
+#, no-c-format
msgid "SQL quoted identifiers"
-msgstr ""
+msgstr "identificadores SQL encomillados"
-#: 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. Hibernate will use the correct quotation style for the SQL <literal>Dialect</literal> (usually double quotes, but brackets for SQL Server and backticks for MySQL)."
+#. Tag: para
+#: basic_mapping.xml:2805
+#, no-c-format
+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. "
+"Hibernate will use the correct quotation style for the SQL <literal>Dialect</"
+"literal> (usually double quotes, but brackets for SQL Server and backticks "
+"for MySQL)."
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)."
-#: index.docbook:2812
+#. Tag: programlisting
+#: basic_mapping.xml:2812
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
-#: index.docbook:2818
+#. Tag: title
+#: basic_mapping.xml:2818
+#, no-c-format
msgid "Metadata alternatives"
-msgstr ""
+msgstr "Alternativas de metadatos"
-#: index.docbook:2820
-msgid "XML isn't for everyone, and so there are some alternative ways to define O/R mapping metadata in Hibernate."
+#. Tag: para
+#: basic_mapping.xml:2820
+#, no-c-format
+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."
-#: index.docbook:2825
+#. Tag: title
+#: basic_mapping.xml:2825
+#, no-c-format
msgid "Using XDoclet markup"
-msgstr ""
+msgstr "Usando marcado de XDoclet"
-#: index.docbook:2827
-msgid "Many Hibernate users prefer to embed mapping information directly in sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not cover this approach in this document, since strictly it is considered part of XDoclet. However, we include the following example of the <literal>Cat</literal> class with XDoclet mappings."
+#. Tag: para
+#: basic_mapping.xml:2827
+#, no-c-format
+msgid ""
+"Many Hibernate users prefer to embed mapping information directly in "
+"sourcecode using XDoclet <literal>@hibernate.tags</literal>. We will not "
+"cover this approach in this document, since strictly it is considered part "
+"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."
-#: index.docbook:2834
+#. Tag: programlisting
+#: basic_mapping.xml:2834
+#, no-c-format
msgid ""
- "<![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"
- "}]]>"
+"<![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"
+"}]]>"
msgstr ""
-#: index.docbook:2836
+#. Tag: para
+#: basic_mapping.xml:2836
+#, no-c-format
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."
-#: index.docbook:2843
+#. Tag: title
+#: basic_mapping.xml:2843
+#, no-c-format
msgid "Using JDK 5.0 Annotations"
-msgstr ""
+msgstr "Usando anotaciones JDK 5.0"
-#: 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 XDoclet annotations and better supported by tools and IDEs. IntelliJ IDEA, for example, supports auto-completion and syntax highlighting of JDK 5.0 annotations. The new revision of the EJB specification (JSR-220) uses JDK 5.0 annotations as the primary metadata mechanism for entity beans. Hibernate3 implements the <literal>EntityManager</literal> of JSR-220 (the persistence API), support for mapping metadata is available via the <emphasis>Hibernate Annotations</emphasis> package, as a separate download. Both EJB3 (JSR-220) and Hibernate3 metadata is supported."
+#. Tag: para
+#: basic_mapping.xml:2845
+#, no-c-format
+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 "
+"XDoclet annotations and better supported by tools and IDEs. IntelliJ IDEA, "
+"for example, supports auto-completion and syntax highlighting of JDK 5.0 "
+"annotations. The new revision of the EJB specification (JSR-220) uses JDK "
+"5.0 annotations as the primary metadata mechanism for entity beans. "
+"Hibernate3 implements the <literal>EntityManager</literal> of JSR-220 (the "
+"persistence API), support for mapping metadata is available via the "
+"<emphasis>Hibernate Annotations</emphasis> package, as a separate download. "
+"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."
-#: index.docbook:2856
+#. Tag: para
+#: basic_mapping.xml:2856
+#, no-c-format
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:"
-#: index.docbook:2860
+#. Tag: programlisting
+#: basic_mapping.xml:2860
+#, no-c-format
msgid ""
- "<![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"
- " @JoinColumn(name=\"CUSTOMER_ID\")\n"
- " Set<Order> orders;\n"
- "\n"
- " // Getter/setter and business methods\n"
- "}]]>"
+"<![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"
+" @JoinColumn(name=\"CUSTOMER_ID\")\n"
+" Set<Order> orders;\n"
+"\n"
+" // Getter/setter and business methods\n"
+"}]]>"
msgstr ""
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:2862
+#, no-c-format
+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."
-#: index.docbook:2871
+#. Tag: title
+#: basic_mapping.xml:2871
+#, no-c-format
msgid "Generated Properties"
-msgstr ""
+msgstr "translator-credits"
-#: index.docbook:2872
-msgid "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:2872
+#, no-c-format
+msgid ""
+"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."
msgstr ""
-#: index.docbook:2881
-msgid "Properties marked as generated must additionally be non-insertable and non-updateable. Only <xref linkend=\"mapping-declaration-version\"/>versions, <xref linkend=\"mapping-declaration-timestamp\"/>timestamps, and <xref linkend=\"mapping-declaration-property\"/>simple properties can be marked as generated."
+#. Tag: para
+#: basic_mapping.xml:2881
+#, no-c-format
+msgid ""
+"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."
msgstr ""
-#: index.docbook:2888
-msgid "<literal>never</literal> (the default) - means that the given property value is not generated within the database."
+#. Tag: para
+#: basic_mapping.xml:2888
+#, no-c-format
+msgid ""
+"<literal>never</literal> (the default) - means that the given property value "
+"is not generated within the database."
msgstr ""
-#: 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 like created-date would fall into this category. Note that even thought <xref linkend=\"mapping-declaration-version\"/>version and <xref linkend=\"mapping-declaration-timestamp\"/>timestamp properties can be marked as generated, this option is not available there..."
+#. Tag: para
+#: basic_mapping.xml:2892
+#, no-c-format
+msgid ""
+"<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..."
msgstr ""
-#: index.docbook:2900
-msgid "<literal>always</literal> - states that the property value is generated both on insert and on update."
+#. Tag: para
+#: basic_mapping.xml:2900
+#, no-c-format
+msgid ""
+"<literal>always</literal> - states that the property value is generated both "
+"on insert and on update."
msgstr ""
-#: index.docbook:2907
+#. Tag: title
+#: basic_mapping.xml:2907
+#, no-c-format
msgid "Auxiliary Database Objects"
msgstr ""
-#: 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 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:2908
+#, no-c-format
+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 "
+"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..."
msgstr ""
-#: index.docbook:2917
-msgid "The first mode is to explicitly list the CREATE and DROP commands out in the mapping file:"
+#. Tag: para
+#: basic_mapping.xml:2917
+#, no-c-format
+msgid ""
+"The first mode is to explicitly list the CREATE and DROP commands out in the "
+"mapping file:"
msgstr ""
-#: index.docbook:2921
+#. Tag: programlisting
+#: basic_mapping.xml:2921
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
-#: 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."
+#. Tag: para
+#: basic_mapping.xml:2922
+#, no-c-format
+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 ""
-#: index.docbook:2927
+#. Tag: programlisting
+#: basic_mapping.xml:2927
+#, no-c-format
msgid ""
- "<![CDATA[<hibernate-mapping>\n"
- " ...\n"
- " <database-object>\n"
- " <definition class=\"MyTriggerDefinition\"/>\n"
- " </database-object>\n"
- "</hibernate-mapping>]]>"
+"<![CDATA[<hibernate-mapping>\n"
+" ...\n"
+" <database-object>\n"
+" <definition class=\"MyTriggerDefinition\"/>\n"
+" </database-object>\n"
+"</hibernate-mapping>]]>"
msgstr ""
-#: index.docbook:2928
-msgid "Additionally, these database objects can be optionally scoped such that they only apply when certain dialects are used."
+#. Tag: para
+#: basic_mapping.xml:2928
+#, no-c-format
+msgid ""
+"Additionally, these database objects can be optionally scoped such that they "
+"only apply when certain dialects are used."
msgstr ""
-#: index.docbook:2932
+#. Tag: programlisting
+#: basic_mapping.xml:2932
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
msgstr ""
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
+#~ msgid "class"
+#~ msgstr "class"
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_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"
Modified: core/trunk/documentation/manual/translations/es-ES/content/batch.po
===================================================================
--- core/trunk/documentation/manual/translations/es-ES/content/batch.po 2007-10-27 12:53:39 UTC (rev 14153)
+++ core/trunk/documentation/manual/translations/es-ES/content/batch.po 2007-10-27 12:56:49 UTC (rev 14154)
@@ -1,342 +1,606 @@
-#, fuzzy
msgid ""
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: batch.xml:5
+#, no-c-format
msgid "Batch processing"
msgstr "Procesamiento por lotes"
-#: index.docbook:7
-msgid "A naive approach to inserting 100 000 rows in the database using Hibernate might look like this:"
-msgstr "Un enfoque ingenuo para insertar 100.000 filas en la base de datos usando Hibernate podría verse así:"
+#. Tag: para
+#: batch.xml:7
+#, no-c-format
+msgid ""
+"A naive approach to inserting 100 000 rows in the database using Hibernate "
+"might look like this:"
+msgstr ""
+"Un enfoque ingenuo para insertar 100.000 filas en la base de datos usando "
+"Hibernate podría verse así:"
-#: index.docbook:12
+#. Tag: programlisting
+#: batch.xml:12
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- "for ( int i=0; i<100000; i++ ) {\n"
- " Customer customer = new Customer(.....);\n"
- " session.save(customer);\n"
- "}\n"
- "tx.commit();\n"
- "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"for ( int i=0; i<100000; i++ ) {\n"
+" Customer customer = new Customer(.....);\n"
+" session.save(customer);\n"
+"}\n"
+"tx.commit();\n"
+"session.close();]]>"
msgstr ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- "for ( int i=0; i<100000; i++ ) {\n"
- " Customer customer = new Customer(.....);\n"
- " session.save(customer);\n"
- "}\n"
- "tx.commit();\n"
- "session.close();]]>"
-#: 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 newly inserted <literal>Customer</literal> instances in the session-level cache."
-msgstr "Esto podría caer sobre una <literal>OutOfMemoryException</literal> en algún sitio cerca de la fila 50.000. Esto es porque Hibernate tiene en caché todas las instancias de <literal>Customer</literal> recién instanciadas en el caché de nivel de sesión."
+#. Tag: para
+#: batch.xml:14
+#, no-c-format
+msgid ""
+"This would fall over with an <literal>OutOfMemoryException</literal> "
+"somewhere around the 50 000th row. That's because Hibernate caches all the "
+"newly inserted <literal>Customer</literal> instances in the session-level "
+"cache."
+msgstr ""
+"Esto podría caer sobre una <literal>OutOfMemoryException</literal> en algún "
+"sitio cerca de la fila 50.000. Esto es porque Hibernate tiene en caché todas "
+"las instancias de <literal>Customer</literal> recién instanciadas en el "
+"caché de nivel de sesión."
-#: 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 the use of JDBC batching, if you intend to achieve reasonable performance. Set the JDBC batch size to a reasonable number (say, 10-50):"
-msgstr "En este capítulo te mostraremos cómo evitar este problema. Primero, sin embargo, si estás haciendo procesamiento por lotes (batch processing), es absolutamente crítico que habilites el uso de loteo JDBC, si pretendes lograr un rendimiento razonable. Establece el tamaño de lote JDBC a un número razonable (digamos 10-50):"
+#. Tag: para
+#: batch.xml:20
+#, no-c-format
+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 "
+"the use of JDBC batching, if you intend to achieve reasonable performance. "
+"Set the JDBC batch size to a reasonable number (say, 10-50):"
+msgstr ""
+"En este capítulo te mostraremos cómo evitar este problema. Primero, sin "
+"embargo, si estás haciendo procesamiento por lotes (batch processing), es "
+"absolutamente crítico que habilites el uso de loteo JDBC, si pretendes "
+"lograr un rendimiento razonable. Establece el tamaño de lote JDBC a un "
+"número razonable (digamos 10-50):"
-#: index.docbook:27
+#. Tag: programlisting
+#: batch.xml:27
+#, no-c-format
msgid "<![CDATA[hibernate.jdbc.batch_size 20]]>"
-msgstr "<![CDATA[hibernate.jdbc.batch_size 20]]>"
+msgstr ""
-#: index.docbook:29
-msgid "Note that Hibernate disables insert batching at the JDBC level transparently if you use an <literal>identiy</literal> identifier generator."
-msgstr "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: para
+#: batch.xml:29
+#, no-c-format
+msgid ""
+"Note that Hibernate disables insert batching at the JDBC level transparently "
+"if you use an <literal>identiy</literal> identifier generator."
+msgstr ""
+"UNTRANSLATED! Note that Hibernate disables insert batching at the JDBC level "
+"transparently if you use an <literal>identiy</literal> identifier generator."
-#: 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:"
-msgstr "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
+#. Tag: para
+#: batch.xml:34
+#, no-c-format
+msgid ""
+"You also might like to do this kind of work in a process where interaction "
+"with the second-level cache is completely disabled:"
+msgstr ""
+"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:"
-#: index.docbook:39
+#. Tag: programlisting
+#: batch.xml:39
+#, no-c-format
msgid "<![CDATA[hibernate.cache.use_second_level_cache false]]>"
-msgstr "Inserciones en lote"
+msgstr ""
-#: 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 cache."
-msgstr "Al hacer persistentes objetos nuevos, debes limpiar con <literal>flush()</literal> y llamar a <literal>clear()</literal> en la sesión regularmente, para controlar el tamaño del caché de primer nivel."
+#. Tag: para
+#: batch.xml:41
+#, no-c-format
+msgid ""
+"However, this is not absolutely necessary, since we can explicitly set the "
+"<literal>CacheMode</literal> to disable interaction with the second-level "
+"cache."
+msgstr ""
+"UNTRANSLATED! However, this is not absolutely necessary, since we can "
+"explicitly set the <literal>CacheMode</literal> to disable interaction with "
+"the second-level cache."
-#: index.docbook:47
+#. Tag: title
+#: batch.xml:47
+#, no-c-format
msgid "Batch inserts"
+msgstr "Inserciones en lote"
+
+#. Tag: para
+#: batch.xml:49
+#, no-c-format
+msgid ""
+"When making new objects persistent, you must <literal>flush()</literal> and "
+"then <literal>clear()</literal> the session regularly, to control the size "
+"of the first-level cache."
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();]]>"
+"Al hacer persistentes objetos nuevos, debes limpiar con <literal>flush()</"
+"literal> y llamar a <literal>clear()</literal> en la sesión regularmente, "
+"para controlar el tamaño del caché de primer nivel."
-#: 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 of the first-level cache."
+#. Tag: programlisting
+#: batch.xml:55
+#, no-c-format
+msgid ""
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+" \n"
+"for ( int i=0; i<100000; i++ ) {\n"
+" Customer customer = new Customer(.....);\n"
+" session.save(customer);\n"
+" if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
+" //flush a batch of inserts and release memory:\n"
+" session.flush();\n"
+" session.clear();\n"
+" }\n"
+"}\n"
+" \n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
+
+#. Tag: title
+#: batch.xml:60
+#, no-c-format
+msgid "Batch updates"
msgstr "Actualizaciones en lote"
-#: index.docbook:55
+#. Tag: para
+#: batch.xml:62
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- " \n"
- "for ( int i=0; i<100000; i++ ) {\n"
- " Customer customer = new Customer(.....);\n"
- " session.save(customer);\n"
- " if ( i % 20 == 0 ) { //20, same as the JDBC batch size\n"
- " //flush a batch of inserts and release memory:\n"
- " session.flush();\n"
- " session.clear();\n"
- " }\n"
- "}\n"
- " \n"
- "tx.commit();\n"
- "session.close();]]>"
-msgstr "Para recuperar y actualizar datos se aplican las mismas ideas. Adicionalmente, necesitas usar <literal>scroll()</literal> para sacar ventaja de los cursores del lado del servidor en consultas que devuelvan muchas filas de datos."
-
-#: index.docbook:60
-msgid "Batch updates"
+"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 "
+"for queries that return many rows of data."
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();]]>"
+"Para recuperar y actualizar datos se aplican las mismas ideas. "
+"Adicionalmente, necesitas usar <literal>scroll()</literal> para sacar "
+"ventaja de los cursores del lado del servidor en consultas que devuelvan "
+"muchas filas de datos."
-#: 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 for queries that return many rows of data."
-msgstr "update/delete en masa"
-
-#: index.docbook:68
+#. Tag: programlisting
+#: batch.xml:68
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- " \n"
- "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
- " .setCacheMode(CacheMode.IGNORE)\n"
- " .scroll(ScrollMode.FORWARD_ONLY);\n"
- "int count=0;\n"
- "while ( customers.next() ) {\n"
- " Customer customer = (Customer) customers.get(0);\n"
- " customer.updateStuff(...);\n"
- " if ( ++count % 20 == 0 ) {\n"
- " //flush a batch of updates and release memory:\n"
- " session.flush();\n"
- " session.clear();\n"
- " }\n"
- "}\n"
- " \n"
- "tx.commit();\n"
- "session.close();]]>"
-msgstr "Como ya se ha discutido, el mapeo objeto/relacional automático y transparente se refiere al manejo de estado de objetos. Esto implica que el estado del objeto está disponible en memoria, por lo tanto actualizar o borrar (usando <literal>UPDATE</literal> y <literal>DELETE</literal> de SQL) datos directamente en la base de datos no afectará el estado en memoria. Sin 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)."
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+" \n"
+"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
+" .setCacheMode(CacheMode.IGNORE)\n"
+" .scroll(ScrollMode.FORWARD_ONLY);\n"
+"int count=0;\n"
+"while ( customers.next() ) {\n"
+" Customer customer = (Customer) customers.get(0);\n"
+" customer.updateStuff(...);\n"
+" if ( ++count % 20 == 0 ) {\n"
+" //flush a batch of updates and release memory:\n"
+" session.flush();\n"
+" session.clear();\n"
+" }\n"
+"}\n"
+" \n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
-#: index.docbook:73
+#. Tag: title
+#: batch.xml:73
+#, no-c-format
msgid "The StatelessSession interface"
-msgstr "La pseudo-sintáxis para sentencias <literal>UPDATE</literal> y <literal>DELETE</literal> es: <literal>( UPDATE | DELETE ) FROM? ClassName (WHERE WHERE_CONDITIONS)?</literal>. Algunos puntos a tener en cuenta:"
+msgstr "UNTRANSLATED! The StatelessSession interface"
-#: 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. A <literal>StatelessSession</literal> has no persistence context associated with it and does not provide many of the higher-level life cycle semantics. In particular, a stateless session does not implement a first-level cache nor interact with any second-level or query cache. It does not implement transactional write-behind or automatic dirty checking. Operations performed using a stateless session do not ever cascade to associated instances. Collections are ignored by a stateless session. Operations performed via a stateless session bypass Hibernate's event model and interceptors. Stateless sessions are vulnerable to data aliasing effects, due to the lack of a first-level cache. A stateless session is a lower-level abstraction, much closer to the underlying JDBC."
-msgstr "En la cláusula-from, la palabra clave FROM es opcional"
+#. Tag: para
+#: batch.xml:74
+#, no-c-format
+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. "
+"A <literal>StatelessSession</literal> has no persistence context associated "
+"with it and does not provide many of the higher-level life cycle semantics. "
+"In particular, a stateless session does not implement a first-level cache "
+"nor interact with any second-level or query cache. It does not implement "
+"transactional write-behind or automatic dirty checking. Operations performed "
+"using a stateless session do not ever cascade to associated instances. "
+"Collections are ignored by a stateless session. Operations performed via a "
+"stateless session bypass Hibernate's event model and interceptors. Stateless "
+"sessions are vulnerable to data aliasing effects, due to the lack of a first-"
+"level cache. A stateless session is a lower-level abstraction, much closer "
+"to the underlying JDBC."
+msgstr ""
+"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. "
+"A <literal>StatelessSession</literal> has no persistence context associated "
+"with it and does not provide many of the higher-level life cycle semantics. "
+"In particular, a stateless session does not implement a first-level cache "
+"nor interact with any second-level or query cache. It does not implement "
+"transactional write-behind or automatic dirty checking. Operations performed "
+"using a stateless session do not ever cascade to associated instances. "
+"Collections are ignored by a stateless session. Operations performed via a "
+"stateless session bypass Hibernate's event model and interceptors. Stateless "
+"sessions are vulnerable to data aliasing effects, due to the lack of a first-"
+"level cache. A stateless session is a lower-level abstraction, much closer "
+"to the underlying JDBC."
-#: index.docbook:89
+#. Tag: programlisting
+#: batch.xml:89
+#, no-c-format
msgid ""
- "<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- " \n"
- "ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
- " .scroll(ScrollMode.FORWARD_ONLY);\n"
- "while ( customers.next() ) {\n"
- " Customer customer = (Customer) customers.get(0);\n"
- " customer.updateStuff(...);\n"
- " session.update(customer);\n"
- "}\n"
- " \n"
- "tx.commit();\n"
- "session.close();]]>"
-msgstr "Puede haber sólo una clase mencionada en la cláusula-from, y <emphasis>no puede</emphasis> tener un alias."
+"<![CDATA[StatelessSession session = sessionFactory.openStatelessSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+" \n"
+"ScrollableResults customers = session.getNamedQuery(\"GetCustomers\")\n"
+" .scroll(ScrollMode.FORWARD_ONLY);\n"
+"while ( customers.next() ) {\n"
+" Customer customer = (Customer) customers.get(0);\n"
+" customer.updateStuff(...);\n"
+" session.update(customer);\n"
+"}\n"
+" \n"
+"tx.commit();\n"
+"session.close();]]>"
+msgstr ""
-#: 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 with any persistence context."
-msgstr "No puede especificarse ningún join (bien implícito o explícito) en una consulta masiva de HQL. Pueden usarse subconsultas en la cláusula-where."
+#. Tag: para
+#: batch.xml:91
+#, no-c-format
+msgid ""
+"Note that in this code example, the <literal>Customer</literal> instances "
+"returned by the query are immediately detached. They are never associated "
+"with any persistence context."
+msgstr ""
+"Note that in this code example, the <literal>Customer</literal> instances "
+"returned by the query are immediately detached. They are never associated "
+"with any persistence context."
-#: index.docbook:97
-msgid "The <literal>insert(), update()</literal> and <literal>delete()</literal> operations defined by the <literal>StatelessSession</literal> interface are considered to be direct database row-level operations, which result in immediate execution of a SQL <literal>INSERT, UPDATE</literal> or <literal>DELETE</literal> respectively. Thus, they have very different semantics to the <literal>save(), saveOrUpdate()</literal> and <literal>delete()</literal> operations defined by the <literal>Session</literal> interface."
-msgstr "La cláusula-where es también opcional."
+#. Tag: para
+#: batch.xml:97
+#, no-c-format
+msgid ""
+"The <literal>insert(), update()</literal> and <literal>delete()</literal> "
+"operations defined by the <literal>StatelessSession</literal> interface are "
+"considered to be direct database row-level operations, which result in "
+"immediate execution of a SQL <literal>INSERT, UPDATE</literal> or "
+"<literal>DELETE</literal> respectively. Thus, they have very different "
+"semantics to the <literal>save(), saveOrUpdate()</literal> and "
+"<literal>delete()</literal> operations defined by the <literal>Session</"
+"literal> interface."
+msgstr ""
+"The <literal>insert(), update()</literal> and <literal>delete()</literal> "
+"operations defined by the <literal>StatelessSession</literal> interface are "
+"considered to be direct database row-level operations, which result in "
+"immediate execution of a SQL <literal>INSERT, UPDATE</literal> or "
+"<literal>DELETE</literal> respectively. Thus, they have very different "
+"semantics to the <literal>save(), saveOrUpdate()</literal> and "
+"<literal>delete()</literal> operations defined by the <literal>Session</"
+"literal> interface."
-#: index.docbook:110
+#. Tag: title
+#: batch.xml:110
+#, no-c-format
msgid "DML-style operations"
-msgstr "Como un ejemplo, para ejecutar un <literal>UPDATE</literal> HQL, usa el método <literal>Query.executeUpdate()</literal>:"
+msgstr "update/delete en masa"
-#: 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 state is available in memory, hence manipulating (using the SQL <literal>Data Manipulation Language</literal> (DML) statements: <literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</literal>) data directly in the database will not affect in-memory state. However, Hibernate provides methods for bulk SQL-style DML statement execution which are performed through the Hibernate Query Language (<xref linkend=\"queryhql\"/>HQL)."
+#. Tag: para
+#: batch.xml:112
+#, no-c-format
+msgid ""
+"As already discussed, automatic and transparent object/relational mapping is "
+"concerned with the management of object state. This implies that the object "
+"state is available in memory, hence manipulating (using the SQL "
+"<literal>Data Manipulation Language</literal> (DML) statements: "
+"<literal>INSERT</literal>, <literal>UPDATE</literal>, <literal>DELETE</"
+"literal>) data directly in the database will not affect in-memory state. "
+"However, Hibernate provides methods for bulk SQL-style DML statement "
+"execution which are performed through the Hibernate Query Language (<link "
+"linkend=\"queryhql\">HQL</link>)."
msgstr ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- " Transaction tx = session.beginTransaction();\n"
- "\n"
- " 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();]]>"
+"Como ya se ha discutido, el mapeo objeto/relacional automático y "
+"transparente se refiere al manejo de estado de objetos. Esto implica que el "
+"estado del objeto está disponible en memoria, por lo tanto actualizar o "
+"borrar (usando <literal>UPDATE</literal> y <literal>DELETE</literal> de SQL) "
+"datos directamente en la base de datos no afectará el estado en memoria. Sin "
+"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>)."
-#: index.docbook:122
-msgid "The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE where_conditions)?</literal>. Some points to note:"
-msgstr "Para ejecutar un <literal>DELETE</literal> HQL, usa el mismo método <literal>Query.executeUpdate()</literal> (el método está nombrado para aquellos familiarizados con <literal>PreparedStatement.executeUpdate()</literal> de JDBC):"
+#. Tag: para
+#: batch.xml:122
+#, no-c-format
+msgid ""
+"The pseudo-syntax for <literal>UPDATE</literal> and <literal>DELETE</"
+"literal> statements is: <literal>( UPDATE | DELETE ) FROM? EntityName (WHERE "
+"where_conditions)?</literal>. Some points to note:"
+msgstr ""
+"La pseudo-sintáxis para sentencias <literal>UPDATE</literal> y "
+"<literal>DELETE</literal> es: <literal>( UPDATE | DELETE ) FROM? ClassName "
+"(WHERE WHERE_CONDITIONS)?</literal>. Algunos puntos a tener en cuenta:"
-#: index.docbook:130
+#. Tag: para
+#: batch.xml:130
+#, no-c-format
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
+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 "
+"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."
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();]]>"
+"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 "
+"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."
-#: 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 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."
-msgstr "El valor <literal>int</literal> devuelto por el método <literal>Query.executeUpdate()</literal> indica el número de entidades afectadas por la operación. Considera que esto puede o no correlacionarse al número de filas afectadas en la base de datos. Una operación masiva HQL podría resultar en que se ejecuten múltiples sentencias de SQL reales, para joined-subclass, por ejemplo. El número devuelto indica el número de entidades reales afectadas por la sentencia. Volviendo al ejemplo de joined-subclass, un borrado contra una de las subclases puede resultar realmente en borrados contra no sólo la tabla a la que está mapeada esa subclase, sino también la tabla \"raíz\" y potencialmente tablas de joined-subclass más debajo en la jerarquía de herencia."
+#. Tag: para
+#: batch.xml:143
+#, no-c-format
+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 "
+"the where-clause; the subqueries, themselves, may contain joins."
+msgstr ""
+"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 "
+"the where-clause; the subqueries, themselves, may contain joins."
-#: index.docbook:143
-msgid "No <xref linkend=\"queryhql-joins-forms\"/>joins (either implicit or explicit) can be specified in a bulk HQL query. Sub-queries may be used in the where-clause; the subqueries, themselves, may contain joins."
-msgstr "Ten en cuenta que existen actualmente unas pocas limitaciones con las operaciones HQL masivas, que serán atendidas en lanzamientos futuros; consulta la hoja de ruta de JIRA para más detalles."
-
-#: index.docbook:150
+#. Tag: para
+#: batch.xml:150
+#, no-c-format
msgid "The where-clause is also optional."
-msgstr ""
+msgstr "La cláusula-where es también opcional."
-#: 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 those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</literal>):"
+#. Tag: para
+#: batch.xml:156
+#, no-c-format
+msgid ""
+"As an example, to execute an HQL <literal>UPDATE</literal>, use the "
+"<literal>Query.executeUpdate()</literal> method (the method is named for "
+"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
+"literal>):"
msgstr ""
+"Como un ejemplo, para ejecutar un <literal>UPDATE</literal> HQL, usa el "
+"método <literal>Query.executeUpdate()</literal>(the method is named for "
+"those familiar with JDBC's <literal>PreparedStatement.executeUpdate()</"
+"literal>):"
-#: index.docbook:162
+#. Tag: programlisting
+#: batch.xml:162
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- "\n"
- "String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :oldName\";\n"
- "// or String hqlUpdate = \"update Customer set name = :newName where name = :oldName\";\n"
- "int updatedEntities = s.createQuery( hqlUpdate )\n"
- " .setString( \"newName\", newName )\n"
- " .setString( \"oldName\", oldName )\n"
- " .executeUpdate();\n"
- "tx.commit();\n"
- "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"String hqlUpdate = \"update Customer c set c.name = :newName where c.name = :"
+"oldName\";\n"
+"// or String hqlUpdate = \"update Customer set name = :newName where name = :"
+"oldName\";\n"
+"int updatedEntities = s.createQuery( hqlUpdate )\n"
+" .setString( \"newName\", newName )\n"
+" .setString( \"oldName\", oldName )\n"
+" .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
msgstr ""
-#: index.docbook:164
-msgid "HQL <literal>UPDATE</literal> statements, by default do not effect the <xref linkend=\"mapping-declaration-version\"/>version or the <xref linkend=\"mapping-declaration-timestamp\"/>timestamp property values for the affected entities; this is in keeping with the EJB3 specification. However, you can force Hibernate to properly reset the <literal>version</literal> or <literal>timestamp</literal> property values through the use of a <literal>versioned update</literal>. This is achieved by adding the <literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> keyword."
+#. Tag: para
+#: batch.xml:164
+#, no-c-format
+msgid ""
+"HQL <literal>UPDATE</literal> statements, by default do not effect the <link "
+"linkend=\"mapping-declaration-version\">version</link> or the <link linkend="
+"\"mapping-declaration-timestamp\">timestamp</link> property values for the "
+"affected entities; this is in keeping with the EJB3 specification. However, "
+"you can force Hibernate to properly reset the <literal>version</literal> or "
+"<literal>timestamp</literal> property values through the use of a "
+"<literal>versioned update</literal>. This is achieved by adding the "
+"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
+"keyword."
msgstr ""
+"HQL <literal>UPDATE</literal> statements, by default do not effect the <link "
+"linkend=\"mapping-declaration-version\">version</link> or the <link linkend="
+"\"mapping-declaration-timestamp\">timestamp</link> property values for the "
+"affected entities; this is in keeping with the EJB3 specification. However, "
+"you can force Hibernate to properly reset the <literal>version</literal> or "
+"<literal>timestamp</literal> property values through the use of a "
+"<literal>versioned update</literal>. This is achieved by adding the "
+"<literal>VERSIONED</literal> keyword after the <literal>UPDATE</literal> "
+"keyword."
-#: index.docbook:174
+#. Tag: programlisting
+#: batch.xml:174
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- "String hqlVersionedUpdate = \"update versioned Customer set name = :newName where name = :oldName\";\n"
- "int updatedEntities = s.createQuery( hqlUpdate )\n"
- " .setString( \"newName\", newName )\n"
- " .setString( \"oldName\", oldName )\n"
- " .executeUpdate();\n"
- "tx.commit();\n"
- "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"String hqlVersionedUpdate = \"update versioned Customer set name = :newName "
+"where name = :oldName\";\n"
+"int updatedEntities = s.createQuery( hqlUpdate )\n"
+" .setString( \"newName\", newName )\n"
+" .setString( \"oldName\", oldName )\n"
+" .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
msgstr ""
-#: index.docbook:176
-msgid "Note that custom version types (<literal>org.hibernate.usertype.UserVersionType</literal>) are not allowed in conjunction with a <literal>update versioned</literal> statement."
+#. Tag: para
+#: batch.xml:176
+#, no-c-format
+msgid ""
+"Note that custom version types (<literal>org.hibernate.usertype."
+"UserVersionType</literal>) are not allowed in conjunction with a "
+"<literal>update versioned</literal> statement."
msgstr ""
+"Note that custom version types (<literal>org.hibernate.usertype."
+"UserVersionType</literal>) are not allowed in conjunction with a "
+"<literal>update versioned</literal> statement."
-#: index.docbook:181
-msgid "To execute an HQL <literal>DELETE</literal>, use the same <literal>Query.executeUpdate()</literal> method:"
+#. Tag: para
+#: batch.xml:181
+#, no-c-format
+msgid ""
+"To execute an HQL <literal>DELETE</literal>, use the same <literal>Query."
+"executeUpdate()</literal> method:"
msgstr ""
+"Para ejecutar un <literal>DELETE</literal> HQL, usa el mismo método "
+"<literal>Query.executeUpdate()</literal>:"
-#: index.docbook:186
+#. Tag: programlisting
+#: batch.xml:186
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- "\n"
- "String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
- "// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
- "int deletedEntities = s.createQuery( hqlDelete )\n"
- " .setString( \"oldName\", oldName )\n"
- " .executeUpdate();\n"
- "tx.commit();\n"
- "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"String hqlDelete = \"delete Customer c where c.name = :oldName\";\n"
+"// or String hqlDelete = \"delete Customer where name = :oldName\";\n"
+"int deletedEntities = s.createQuery( hqlDelete )\n"
+" .setString( \"oldName\", oldName )\n"
+" .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
msgstr ""
-#: 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 operation. Consider this may or may not correlate to the number of rows effected in the database. An HQL bulk operation might result in multiple actual SQL statements being executed, for joined-subclass, for example. The returned number indicates the number of actual entities affected by the statement. Going back to the example of joined-subclass, a delete against one of the subclasses may actually result in deletes against not just the table to which that subclass is mapped, but also the \"root\" table and potentially joined-subclass tables further down the inheritence hierarchy."
+#. Tag: para
+#: batch.xml:188
+#, no-c-format
+msgid ""
+"The <literal>int</literal> value returned by the <literal>Query.executeUpdate"
+"()</literal> method indicate the number of entities effected by the "
+"operation. Consider this may or may not correlate to the number of rows "
+"effected in the database. An HQL bulk operation might result in multiple "
+"actual SQL statements being executed, for joined-subclass, for example. The "
+"returned number indicates the number of actual entities affected by the "
+"statement. Going back to the example of joined-subclass, a delete against "
+"one of the subclasses may actually result in deletes against not just the "
+"table to which that subclass is mapped, but also the \"root\" table and "
+"potentially joined-subclass tables further down the inheritence hierarchy."
msgstr ""
+"El valor <literal>int</literal> devuelto por el método <literal>Query."
+"executeUpdate()</literal> indica el número de entidades afectadas por la "
+"operación. Considera que esto puede o no correlacionarse al número de filas "
+"afectadas en la base de datos. Una operación masiva HQL podría resultar en "
+"que se ejecuten múltiples sentencias de SQL reales, para joined-subclass, "
+"por ejemplo. El número devuelto indica el número de entidades reales "
+"afectadas por la sentencia. Volviendo al ejemplo de joined-subclass, un "
+"borrado contra una de las subclases puede resultar realmente en borrados "
+"contra no sólo la tabla a la que está mapeada esa subclase, sino también la "
+"tabla \"raíz\" y potencialmente tablas de joined-subclass más debajo en la "
+"jerarquía de herencia."
-#: index.docbook:199
-msgid "The pseudo-syntax for <literal>INSERT</literal> statements is: <literal>INSERT INTO EntityName properties_list select_statement</literal>. Some points to note:"
+#. Tag: para
+#: batch.xml:199
+#, no-c-format
+msgid ""
+"The pseudo-syntax for <literal>INSERT</literal> statements is: "
+"<literal>INSERT INTO EntityName properties_list select_statement</literal>. "
+"Some points to note:"
msgstr ""
+"Ten en cuenta que existen actualmente unas pocas limitaciones con las "
+"operaciones HQL masivas, que serán atendidas en lanzamientos futuros; "
+"consulta la hoja de ruta de JIRA para más detalles."
-#: index.docbook:207
-msgid "Only the INSERT INTO ... SELECT ... form is supported; not the INSERT INTO ... VALUES ... form."
-msgstr ""
+#. Tag: para
+#: batch.xml:207
+#, no-c-format
+msgid ""
+"Only the INSERT INTO ... SELECT ... form is supported; not the INSERT "
+"INTO ... VALUES ... form."
+msgstr "translator-credits"
-#: index.docbook:210
-msgid "The properties_list is analogous to the <literal>column speficiation</literal> in the SQL <literal>INSERT</literal> statement. For entities involved in mapped inheritence, only properties directly defined on that given class-level can be used in the properties_list. Superclass properties are not allowed; and subclass properties do not make sense. In other words, <literal>INSERT</literal> statements are inherently non-polymorphic."
+#. Tag: para
+#: batch.xml:210
+#, no-c-format
+msgid ""
+"The properties_list is analogous to the <literal>column speficiation</"
+"literal> in the SQL <literal>INSERT</literal> statement. For entities "
+"involved in mapped inheritence, only properties directly defined on that "
+"given class-level can be used in the properties_list. Superclass properties "
+"are not allowed; and subclass properties do not make sense. In other words, "
+"<literal>INSERT</literal> statements are inherently non-polymorphic."
msgstr ""
-#: 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 checked during query compilation rather than allowing the check to relegate to the database. Note however that this might cause problems between Hibernate <literal>Type</literal>s which are <emphasis>equivalent</emphasis> as opposed to <emphasis>equal</emphasis>. This might cause issues with mismatches between a property defined as a <literal>org.hibernate.type.DateType</literal> and a property defined as a <literal>org.hibernate.type.TimestampType</literal>, even though the database might not make a distinction or might be able to handle the conversion."
+#. Tag: para
+#: batch.xml:220
+#, no-c-format
+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 "
+"checked during query compilation rather than allowing the check to relegate "
+"to the database. Note however that this might cause problems between "
+"Hibernate <literal>Type</literal>s which are <emphasis>equivalent</emphasis> "
+"as opposed to <emphasis>equal</emphasis>. This might cause issues with "
+"mismatches between a property defined as a <literal>org.hibernate.type."
+"DateType</literal> and a property defined as a <literal>org.hibernate.type."
+"TimestampType</literal>, even though the database might not make a "
+"distinction or might be able to handle the conversion."
msgstr ""
-#: 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 case its value is taken from the corresponding select expression) or omit it from the properties_list (in which case a generated value is used). This later option is only available when using id generators that operate in the database; attempting to use this option with any \"in memory\" type generators will cause an exception during parsing. Note that for the purposes of this discussion, in-database generators are considered to be <literal>org.hibernate.id.SequenceGenerator</literal> (and its subclasses) and any implementors of <literal>org.hibernate.id.PostInsertIdentifierGenerator</literal>. The most notable exception here is <literal>org.hibernate.id.TableHiLoGenerator</literal>, which cannot be used because it does not expose a selectable way to get its values."
+#. Tag: para
+#: batch.xml:232
+#, no-c-format
+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 "
+"case its value is taken from the corresponding select expression) or omit it "
+"from the properties_list (in which case a generated value is used). This "
+"later option is only available when using id generators that operate in the "
+"database; attempting to use this option with any \"in memory\" type "
+"generators will cause an exception during parsing. Note that for the "
+"purposes of this discussion, in-database generators are considered to be "
+"<literal>org.hibernate.id.SequenceGenerator</literal> (and its subclasses) "
+"and any implementors of <literal>org.hibernate.id."
+"PostInsertIdentifierGenerator</literal>. The most notable exception here is "
+"<literal>org.hibernate.id.TableHiLoGenerator</literal>, which cannot be used "
+"because it does not expose a selectable way to get its values."
msgstr ""
-#: index.docbook:247
-msgid "For properties mapped as either <literal>version</literal> or <literal>timestamp</literal>, the insert statement gives you two options. You can either specify the property in the properties_list (in which case its value is taken from the corresponding select expressions) or omit it from the properties_list (in which case the <literal>seed value</literal> defined by the <literal>org.hibernate.type.VersionType</literal> is used)."
+#. Tag: para
+#: batch.xml:247
+#, no-c-format
+msgid ""
+"For properties mapped as either <literal>version</literal> or "
+"<literal>timestamp</literal>, the insert statement gives you two options. "
+"You can either specify the property in the properties_list (in which case "
+"its value is taken from the corresponding select expressions) or omit it "
+"from the properties_list (in which case the <literal>seed value</literal> "
+"defined by the <literal>org.hibernate.type.VersionType</literal> is used)."
msgstr ""
-#: index.docbook:257
+#. Tag: para
+#: batch.xml:257
+#, no-c-format
msgid "An example HQL <literal>INSERT</literal> statement execution:"
msgstr ""
-#: index.docbook:261
+#. Tag: programlisting
+#: batch.xml:261
+#, no-c-format
msgid ""
- "<![CDATA[Session session = sessionFactory.openSession();\n"
- "Transaction tx = session.beginTransaction();\n"
- "\n"
- "String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c.name from Customer c where ...\";\n"
- "int createdEntities = s.createQuery( hqlInsert )\n"
- " .executeUpdate();\n"
- "tx.commit();\n"
- "session.close();]]>"
+"<![CDATA[Session session = sessionFactory.openSession();\n"
+"Transaction tx = session.beginTransaction();\n"
+"\n"
+"String hqlInsert = \"insert into DelinquentAccount (id, name) select c.id, c."
+"name from Customer c where ...\";\n"
+"int createdEntities = s.createQuery( hqlInsert )\n"
+" .executeUpdate();\n"
+"tx.commit();\n"
+"session.close();]]>"
msgstr ""
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
Modified: core/trunk/documentation/manual/translations/es-ES/content/best_practices.po
===================================================================
--- core/trunk/documentation/manual/translations/es-ES/content/best_practices.po 2007-10-27 12:53:39 UTC (rev 14153)
+++ core/trunk/documentation/manual/translations/es-ES/content/best_practices.po 2007-10-27 12:56:49 UTC (rev 14154)
@@ -1,168 +1,460 @@
-#, fuzzy
msgid ""
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: best_practices.xml:5
+#, no-c-format
msgid "Best Practices"
-msgstr "Mejores Prácticas"
+msgstr "Mejores Prácticas"
-#: index.docbook:9
-msgid "Write fine-grained classes and map them using <literal><component></literal>."
-msgstr "Escribe clase finamente granularizadas y mapealas usando <literal><component></literal>."
+#. Tag: term
+#: best_practices.xml:9
+#, no-c-format
+msgid ""
+"Write fine-grained classes and map them using <literal><component></"
+"literal>."
+msgstr ""
+"Escribe clase finamente granularizadas y mapealas usando <literal><"
+"component></literal>."
-#: 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."
+#. Tag: para
+#: best_practices.xml:11
+#, no-c-format
+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."
-#: index.docbook:19
+#. Tag: term
+#: best_practices.xml:19
+#, no-c-format
msgid "Declare identifier properties on persistent classes."
msgstr "Declara las propiedades identificadoras en clases persistentes."
-#: 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 'synthetic' (generated, with no business meaning)."
-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)."
+#. Tag: para
+#: best_practices.xml:21
+#, no-c-format
+msgid ""
+"Hibernate makes identifier properties optional. There are all sorts of "
+"reasons why you should use them. We recommend that identifiers be "
+"'synthetic' (generated, with no business meaning)."
+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)."
-#: index.docbook:29
+#. Tag: term
+#: best_practices.xml:29
+#, no-c-format
msgid "Identify natural keys."
msgstr "Identifica las claves naturales."
-#: index.docbook:31
-msgid "Identify natural keys for all entities, and map them using <literal><natural-id></literal>. Implement <literal>equals()</literal> and <literal>hashCode()</literal> to compare the properties that make up the natural key."
-msgstr "Identifica las claves naturales de todas las entidades, y mapealas usando <literal><natural-id></literal>. Implementa <literal>equals()</literal> y <literal>hashCode()</literal> para comparar las propiedades que componen la clave natural."
+#. Tag: para
+#: best_practices.xml:31
+#, no-c-format
+msgid ""
+"Identify natural keys for all entities, and map them using <literal><"
+"natural-id></literal>. Implement <literal>equals()</literal> and "
+"<literal>hashCode()</literal> to compare the properties that make up the "
+"natural key."
+msgstr ""
+"Identifica las claves naturales de todas las entidades, y mapealas usando "
+"<literal><natural-id></literal>. Implementa <literal>equals()</"
+"literal> y <literal>hashCode()</literal> para comparar las propiedades que "
+"componen la clave natural."
-#: index.docbook:39
+#. Tag: term
+#: best_practices.xml:39
+#, no-c-format
msgid "Place each class mapping in its own file."
msgstr "Coloca cada mapeo de clase en su propio fichero."
-#: 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."
+#. Tag: para
+#: best_practices.xml:41
+#, no-c-format
+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."
-#: index.docbook:49
+#. Tag: term
+#: best_practices.xml:49
+#, no-c-format
msgid "Load mappings as resources."
msgstr "Carga los mapeos como recursos."
-#: index.docbook:51
+#. Tag: para
+#: best_practices.xml:51
+#, no-c-format
msgid "Deploy the mappings along with the classes they map."
msgstr "Despliega los mapeos junto a las clases que mapean."
-#: index.docbook:57
+#. Tag: term
+#: best_practices.xml:57
+#, no-c-format
msgid "Consider externalising query strings."
msgstr "Considera externalizar las cadenas de consulta."
-#: 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."
+#. Tag: para
+#: best_practices.xml:59
+#, no-c-format
+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."
-#: index.docbook:67
+#. Tag: term
+#: best_practices.xml:67
+#, no-c-format
msgid "Use bind variables."
msgstr "Usa variables de ligado."
-#: 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."
+#. Tag: para
+#: best_practices.xml:69
+#, no-c-format
+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."
-#: index.docbook:77
+#. Tag: term
+#: best_practices.xml:77
+#, no-c-format
msgid "Don't manage your own JDBC connections."
msgstr "No manejes tus propias conexiones JDBC."
-#: 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>."
+#. Tag: para
+#: best_practices.xml:79
+#, no-c-format
+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>."
-#: index.docbook:87
+#. Tag: term
+#: best_practices.xml:87
+#, no-c-format
msgid "Consider using a custom type."
msgstr "Considera usar un tipo personalizado."
-#: 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. You should consider implementing <literal>org.hibernate.UserType</literal>. 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."
+#. Tag: para
+#: best_practices.xml:89
+#, no-c-format
+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. "
+"You should consider implementing <literal>org.hibernate.UserType</literal>. "
+"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."
-#: index.docbook:98
+#. Tag: term
+#: best_practices.xml:98
+#, no-c-format
msgid "Use hand-coded JDBC in bottlenecks."
msgstr "Usa JDBC codificado a mano en cuellos de botella."
-#: 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</emphasis> something is a bottleneck. And don't assume that direct JDBC is necessarily faster. If you need to use direct JDBC, it might be worth opening a Hibernate <literal>Session</literal> and using that JDBC 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."
+#. Tag: para
+#: best_practices.xml:100
+#, no-c-format
+msgid ""
+"In performance-critical areas of the system, some kinds of operations might "
+"benefit from direct JDBC. But please, wait until you <emphasis>know</"
+"emphasis> something is a bottleneck. And don't assume that direct JDBC is "
+"necessarily faster. If you need to use direct JDBC, it might be worth "
+"opening a Hibernate <literal>Session</literal> and using that JDBC "
+"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."
-#: index.docbook:110
+#. Tag: term
+#: best_practices.xml:110
+#, no-c-format
msgid "Understand <literal>Session</literal> flushing."
msgstr "Comprende la limpieza (flushing) de <literal>Session</literal>."
-#: 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 may sometimes minimize unnecessary flushing by disabling automatic flushing 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."
+#. Tag: para
+#: best_practices.xml:112
+#, no-c-format
+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 "
+"may sometimes minimize unnecessary flushing by disabling automatic flushing "
+"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."
-#: index.docbook:121
+#. Tag: term
+#: best_practices.xml:121
+#, no-c-format
msgid "In a three tiered architecture, consider using detached objects."
-msgstr "En una aplicación en tres gradas, considera usar objetos separados."
+msgstr "En una aplicación en tres gradas, considera usar objetos separados."
-#: 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 a new session to service each request. Use <literal>Session.merge()</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."
+#. Tag: para
+#: best_practices.xml:123
+#, no-c-format
+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 "
+"a new session to service each request. Use <literal>Session.merge()</"
+"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."
-#: index.docbook:132
+#. Tag: term
+#: best_practices.xml:132
+#, no-c-format
msgid "In a two tiered architecture, consider using long persistence contexts."
-msgstr "En una arquitectura en dos gradas, considera usar contexto de persistencia largos."
+msgstr ""
+"En una arquitectura en dos gradas, considera usar contexto de persistencia "
+"largos."
-#: 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 <emphasis>application transactions</emphasis>, a single unit-of-work from the point of view of a user. An application transaction might span several client request/response cycles. It is common to use detached objects to implement application transactions. An alternative, extremely appropriate in two tiered architecture, is to maintain a single open persistence contact (session) for the whole life cycle of the application transaction and simply disconnect from the JDBC connection at the end of each request and reconnect at the beginning of the subsequent request. Never share a single session across more than one application transaction, or you will be working with stale data."
-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 est!
arás trabajando con datos añejos."
+#. Tag: para
+#: best_practices.xml:134
+#, no-c-format
+msgid ""
+"Database Transactions have to be as short as possible for best scalability. "
+"However, it is often neccessary to implement long running "
+"<emphasis>application transactions</emphasis>, a single unit-of-work from "
+"the point of view of a user. An application transaction might span several "
+"client request/response cycles. It is common to use detached objects to "
+"implement application transactions. An alternative, extremely appropriate in "
+"two tiered architecture, is to maintain a single open persistence contact "
+"(session) for the whole life cycle of the application transaction and simply "
+"disconnect from the JDBC connection at the end of each request and reconnect "
+"at the beginning of the subsequent request. Never share a single session "
+"across more than one application transaction, or you will be working with "
+"stale data."
+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 "
+"datos añejos."
-#: index.docbook:148
+#. Tag: term
+#: best_practices.xml:148
+#, no-c-format
msgid "Don't treat exceptions as recoverable."
msgstr "No trates la excepciones como recuperables."
-#: 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 <literal>Session</literal>. If you don't, Hibernate can't guarantee that in-memory state accurately represents persistent state. As a special case of this, do not use <literal>Session.load()</literal> to determine if an 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."
+#. Tag: para
+#: best_practices.xml:150
+#, no-c-format
+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 "
+"<literal>Session</literal>. If you don't, Hibernate can't guarantee that in-"
+"memory state accurately represents persistent state. As a special case of "
+"this, do not use <literal>Session.load()</literal> to determine if an "
+"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."
-#: index.docbook:160
+#. Tag: term
+#: best_practices.xml:160
+#, no-c-format
msgid "Prefer lazy fetching for associations."
-msgstr "Prefiere la recuperación perezosa para las asociaciones."
+msgstr "Prefiere la recuperación perezosa para las asociaciones."
-#: 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 second-level cache. For associations to cached classes, where there is an a extremely high probability of a cache hit, explicitly disable eager fetching using <literal>lazy=\"false\"</literal>. When an join fetching is 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>."
+#. Tag: para
+#: best_practices.xml:162
+#, no-c-format
+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 "
+"second-level cache. For associations to cached classes, where there is an a "
+"extremely high probability of a cache hit, explicitly disable eager fetching "
+"using <literal>lazy=\"false\"</literal>. When an join fetching is "
+"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>."
-#: 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."
+#. Tag: term
+#: best_practices.xml:172
+#, no-c-format
+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."
-#: 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 purposes: first, they work around the problem that entity beans are not serializable; second, they implicitly define an assembly phase where all data to be used by the view is fetched and marshalled into the DTOs before returning control to the presentation tier. Hibernate eliminates the first purpose. However, you will still need an assembly phase (think of your business methods as having a strict contract with the presentation tier about what data is available in the detached objects) unless you are prepared to hold the persistence context (the session) open across the view rendering process. This is not a limitation of Hibernate! It is a fundamental requirement of safe transactional data access."
-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: 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. ¡Est!
a no es una limitación de Hibernate! Es un requerimiento fundamental de acceso seguro a datos transaccionales."
+#. Tag: para
+#: best_practices.xml:177
+#, no-c-format
+msgid ""
+"Hibernate frees the developer from writing tedious <emphasis>Data Transfer "
+"Objects</emphasis> (DTO). In a traditional EJB architecture, DTOs serve dual "
+"purposes: first, they work around the problem that entity beans are not "
+"serializable; second, they implicitly define an assembly phase where all "
+"data to be used by the view is fetched and marshalled into the DTOs before "
+"returning control to the presentation tier. Hibernate eliminates the first "
+"purpose. However, you will still need an assembly phase (think of your "
+"business methods as having a strict contract with the presentation tier "
+"about what data is available in the detached objects) unless you are "
+"prepared to hold the persistence context (the session) open across the view "
+"rendering process. This is not a limitation of Hibernate! It is a "
+"fundamental requirement of safe transactional data access."
+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: "
+"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."
-#: index.docbook:191
+#. Tag: term
+#: best_practices.xml:191
+#, no-c-format
msgid "Consider abstracting your business logic from Hibernate."
-msgstr "Considera abstraer tu lógica de negocio de Hibernate"
+msgstr "Considera abstraer tu lógica de negocio de Hibernate"
-#: index.docbook:193
-msgid "Hide (Hibernate) data-access code behind an interface. Combine the <emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> patterns. You can even have some classes persisted by handcoded JDBC, associated to Hibernate via a <literal>UserType</literal>. (This advice is 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!)"
+#. Tag: para
+#: best_practices.xml:193
+#, no-c-format
+msgid ""
+"Hide (Hibernate) data-access code behind an interface. Combine the "
+"<emphasis>DAO</emphasis> and <emphasis>Thread Local Session</emphasis> "
+"patterns. You can even have some classes persisted by handcoded JDBC, "
+"associated to Hibernate via a <literal>UserType</literal>. (This advice is "
+"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!)"
-#: index.docbook:203
+#. Tag: term
+#: best_practices.xml:203
+#, no-c-format
msgid "Don't use exotic association mappings."
-msgstr "No uses mapeos de asociación exóticos."
+msgstr "No uses mapeos de asociación exóticos."
-#: 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 case, it is much better to use two one-to-many associations to an intermediate link class. In fact, we think that most associations are one-to-many and many-to-one, you should be careful when using any other association 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."
+#. Tag: para
+#: best_practices.xml:205
+#, no-c-format
+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 "
+"case, it is much better to use two one-to-many associations to an "
+"intermediate link class. In fact, we think that most associations are one-to-"
+"many and many-to-one, you should be careful when using any other association "
+"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."
-#: index.docbook:215
+#. Tag: term
+#: best_practices.xml:215
+#, no-c-format
msgid "Prefer bidirectional associations."
msgstr "Prefiere las asociaciones bidireccionales."
-#: 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."
-
-msgid "ROLES_OF_TRANSLATORS"
-msgstr "<!--TRANS:ROLES_OF_TRANSLATORS-->"
-
-msgid "CREDIT_FOR_TRANSLATORS"
-msgstr "<!--TRANS:CREDIT_FOR_TRANSLATORS-->"
-
+#. Tag: para
+#: best_practices.xml:217
+#, no-c-format
+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."
Modified: core/trunk/documentation/manual/translations/es-ES/content/collection_mapping.po
===================================================================
--- core/trunk/documentation/manual/translations/es-ES/content/collection_mapping.po 2007-10-27 12:53:39 UTC (rev 14153)
+++ core/trunk/documentation/manual/translations/es-ES/content/collection_mapping.po 2007-10-27 12:56:49 UTC (rev 14154)
@@ -1,1285 +1,1931 @@
-#, fuzzy
msgid ""
msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: http://bugs.kde.org\n"
+"POT-Creation-Date: 2007-10-25 07:47+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Content-Type: text/plain; charset=utf-8\n"
-#: index.docbook:5
+"Language-Team: LANGUAGE <LL(a)li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Tag: title
+#: collection_mapping.xml:5
+#, no-c-format
msgid "Collection Mapping"
msgstr "Mapeo de Colecciones"
-#: index.docbook:8
+#. Tag: title
+#: collection_mapping.xml:8
+#, no-c-format
msgid "Persistent collections"
msgstr "Colecciones persistentes"
-#: 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:"
+#. Tag: para
+#: collection_mapping.xml:10
+#, no-c-format
+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:"
-#: index.docbook:15
+#. Tag: programlisting
+#: collection_mapping.xml:15
+#, no-c-format
msgid ""
- "<![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"
- "}]]>"
+"<![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"
+"}]]>"
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"
- "}]]>"
-#: index.docbook:17
-msgid "The actual interface might be <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> or ... anything you like! (Where \"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>.)"
+#. Tag: para
+#: collection_mapping.xml:17
+#, no-c-format
+msgid ""
+"The actual interface might be <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> or ... anything you like! (Where "
+"\"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>.)"
-#: 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 valued properties of newly instantiated (non-persistent) instances. When you make the instance persistent - by calling <literal>persist()</literal>, for example - Hibernate will actually replace the <literal>HashSet</literal> 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:"
+#. Tag: para
+#: collection_mapping.xml:26
+#, no-c-format
+msgid ""
+"Notice how we initialized the instance variable with an instance of "
+"<literal>HashSet</literal>. This is the best way to initialize collection "
+"valued properties of newly instantiated (non-persistent) instances. When you "
+"make the instance persistent - by calling <literal>persist()</literal>, for "
+"example - Hibernate will actually replace the <literal>HashSet</literal> "
+"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:"
-#: index.docbook:36
+#. Tag: programlisting
+#: collection_mapping.xml:36
+#, no-c-format
msgid ""
- "<![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!]]>"
+"<![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!]]>"
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!]]>"
-#: index.docbook:38
-msgid "The persistent collections injected by Hibernate behave like <literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, depending upon the interface type."
-msgstr "Las colecciones persistentes inyectadas por Hibernate se comportan como <literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</literal>, <literal>TreeSet</literal> o <literal>ArrayList</literal>, dependiendo del tipo de interface."
+#. Tag: para
+#: collection_mapping.xml:38
+#, no-c-format
+msgid ""
+"The persistent collections injected by Hibernate behave like "
+"<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
+"literal>, <literal>TreeSet</literal> or <literal>ArrayList</literal>, "
+"depending upon the interface type."
+msgstr ""
+"Las colecciones persistentes inyectadas por Hibernate se comportan como "
+"<literal>HashMap</literal>, <literal>HashSet</literal>, <literal>TreeMap</"
+"literal>, <literal>TreeSet</literal> o <literal>ArrayList</literal>, "
+"dependiendo del tipo de interface."
-#: index.docbook:45
-msgid "Collections instances have the usual behavior of value types. They are automatically persisted when referenced by a persistent object and automatically deleted when unreferenced. If a collection is passed from one persistent object to another, its elements might be moved from one table to another. Two entities may not share a reference to the same collection instance. Due to the underlying relational model, collection-valued properties do not support null value semantics; Hibernate does not 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."
+#. Tag: para
+#: collection_mapping.xml:45
+#, no-c-format
+msgid ""
+"Collections instances have the usual behavior of value types. They are "
+"automatically persisted when referenced by a persistent object and "
+"automatically deleted when unreferenced. If a collection is passed from one "
+"persistent object to another, its elements might be moved from one table to "
+"another. Two entities may not share a reference to the same collection "
+"instance. Due to the underlying relational model, collection-valued "
+"properties do not support null value semantics; Hibernate does not "
+"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."
-#: 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 you understand the semantics of bidirectional associations (discussed later)."
-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)."
+#. Tag: para
+#: collection_mapping.xml:56
+#, no-c-format
+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 "
+"you understand the semantics of bidirectional associations (discussed later)."
+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)."
-#: index.docbook:65
+#. Tag: title
+#: collection_mapping.xml:65
+#, no-c-format
msgid "Collection mappings"
-msgstr "Mapeos de colección"
+msgstr "Mapeos de colección"
-#: index.docbook:67
-msgid "The Hibernate mapping element used for mapping a collection depends upon the type of the interface. For example, a <literal><set></literal> element is used for mapping properties of type <literal>Set</literal>."
-msgstr "El elemento de mapeo de Hibernate usado para mapear una colección depende del tipo de la interface. Por ejemplom un elemento <literal><set></literal> se usa para mapear propiedades de tipo <literal>Set</literal>."
+#. Tag: para
+#: collection_mapping.xml:67
+#, no-c-format
+msgid ""
+"The Hibernate mapping element used for mapping a collection depends upon the "
+"type of the interface. For example, a <literal><set></literal> element "
+"is used for mapping properties of type <literal>Set</literal>."
+msgstr ""
+"El elemento de mapeo de Hibernate usado para mapear una colección depende "
+"del tipo de la interface. Por ejemplom un elemento <literal><set></"
+"literal> se usa para mapear propiedades de tipo <literal>Set</literal>."
-#: index.docbook:73
+#. Tag: programlisting
+#: collection_mapping.xml:73
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:75
-msgid "Apart from <literal><set></literal>, there is also <literal><list></literal>, <literal><map></literal>, <literal><bag></literal>, <literal><array></literal> and <literal><primitive-array></literal> mapping elements. The <literal><map></literal> element is representative:"
-msgstr "Aparte de <literal><set></literal>, existen además los elementos de mapeo <literal><list></literal>, <literal><map></literal>, <literal><bag></literal>, <literal><array></literal> y <literal><primitive-array></literal>. El elemento <literal><map></literal> es representativo:"
+#. Tag: para
+#: collection_mapping.xml:75
+#, no-c-format
+msgid ""
+"Apart from <literal><set></literal>, there is also <literal><"
+"list></literal>, <literal><map></literal>, <literal><bag></"
+"literal>, <literal><array></literal> and <literal><primitive-"
+"array></literal> mapping elements. The <literal><map></literal> "
+"element is representative:"
+msgstr ""
+"Aparte de <literal><set></literal>, existen además los elementos de "
+"mapeo <literal><list></literal>, <literal><map></literal>, "
+"<literal><bag></literal>, <literal><array></literal> y "
+"<literal><primitive-array></literal>. El elemento <literal><map>"
+"</literal> es representativo:"
-#: index.docbook:100
+#. Tag: programlisting
+#: collection_mapping.xml:100
+#, no-c-format
msgid ""
- "<![CDATA[<map\n"
- " name=\"propertyName\"\n"
- " table=\"table_name\"\n"
- " schema=\"schema_name\"\n"
- " lazy=\"true|extra|false\"\n"
- " inverse=\"true|false\"\n"
- " cascade=\"all|none|save-update|delete|all-delete-orphan|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"
- " mutable=\"true|false\"\n"
- " node=\"element-name|.\"\n"
- " embed-xml=\"true|false\"\n"
- ">\n"
- "\n"
- " <key .... />\n"
- " <map-key .... />\n"
- " <element .... />\n"
- "</map>]]>"
+"<![CDATA[<map\n"
+" name=\"propertyName\"\n"
+" table=\"table_name\"\n"
+" schema=\"schema_name\"\n"
+" lazy=\"true|extra|false\"\n"
+" inverse=\"true|false\"\n"
+" cascade=\"all|none|save-update|delete|all-delete-orphan|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"
+" mutable=\"true|false\"\n"
+" node=\"element-name|.\"\n"
+" embed-xml=\"true|false\"\n"
+">\n"
+"\n"
+" <key .... />\n"
+" <map-key .... />\n"
+" <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>]]>"
-#: index.docbook:103
+#. Tag: para
+#: collection_mapping.xml:103
+#, no-c-format
msgid "<literal>name</literal> the collection property name"
-msgstr "<literal>name</literal> el nombre de la propiedad de colección"
+msgstr "<literal>name</literal> el nombre de la propiedad de colección"
-#: 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)"
+#. Tag: para
+#: collection_mapping.xml:108
+#, no-c-format
+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)"
-#: 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"
+#. Tag: para
+#: collection_mapping.xml:114
+#, no-c-format
+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"
-#: 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 eagerly fetched, or to enable \"extra-lazy\" fetching where most operations 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)"
+#. Tag: para
+#: collection_mapping.xml:120
+#, no-c-format
+msgid ""
+"<literal>lazy</literal> (optional - defaults to <literal>true</literal>) may "
+"be used to disable lazy fetching and specify that the association is always "
+"eagerly fetched, or to enable \"extra-lazy\" fetching where most operations "
+"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)"
-#: 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."
+#. Tag: para
+#: collection_mapping.xml:129
+#, no-c-format
+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."
-#: index.docbook:135
-msgid "<literal>cascade</literal> (optional - defaults to <literal>none</literal>) enable operations to cascade to child entities"
-msgstr "<literal>cascade</literal> (opcional - por defecto a <literal>none</literal>) habilita operaciones en cascada a entidades hijas"
+#. Tag: para
+#: collection_mapping.xml:135
+#, no-c-format
+msgid ""
+"<literal>cascade</literal> (optional - defaults to <literal>none</literal>) "
+"enable operations to cascade to child entities"
+msgstr ""
+"<literal>cascade</literal> (opcional - por defecto a <literal>none</"
+"literal>) habilita operaciones en cascada a entidades hijas"
-#: 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"
+#. Tag: para
+#: collection_mapping.xml:141
+#, no-c-format
+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"
-#: 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."
+#. Tag: para
+#: collection_mapping.xml:147
+#, no-c-format
+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."
-#: 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)"
+#. Tag: para
+#: collection_mapping.xml:154
+#, no-c-format
+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)"
-#: 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."
+#. Tag: para
+#: collection_mapping.xml:161
+#, no-c-format
+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."
-#: 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."
+#. Tag: para
+#: collection_mapping.xml:168
+#, no-c-format
+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."
-#: index.docbook:174
-msgid "<literal>access</literal> (optional - defaults to <literal>property</literal>): The strategy Hibernate should use for accessing the collection property value."
-msgstr "<literal>access</literal> (opcional - por defecto a <literal>property</literal>): La estrategia que debe usar Hibernate para acceder al valor de la propiedad."
+#. Tag: para
+#: collection_mapping.xml:174
+#, no-c-format
+msgid ""
+"<literal>access</literal> (optional - defaults to <literal>property</"
+"literal>): The strategy Hibernate should use for accessing the collection "
+"property value."
+msgstr ""
+"<literal>access</literal> (opcional - por defecto a <literal>property</"
+"literal>): La estrategia que debe usar Hibernate para acceder al valor de la "
+"propiedad."
-#: 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 increment of the owning entity's version. (For one to many associations, it 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.)"
+#. Tag: para
+#: collection_mapping.xml:180
+#, no-c-format
+msgid ""
+"<literal>optimistic-lock</literal> (optional - defaults to <literal>true</"
+"literal>): Species that changes to the state of the collection results in "
+"increment of the owning entity's version. (For one to many associations, it "
+"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.)"
-#: 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 collection never change (a minor performance optimization in some cases)."
-msgstr "Claves foráneas de collección"
+#. Tag: para
+#: collection_mapping.xml:188
+#, no-c-format
+msgid ""
+"<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
+"A value of <literal>false</literal> specifies that the elements of the "
+"collection never change (a minor performance optimization in some cases)."
+msgstr ""
+"<literal>mutable</literal> (optional - defaults to <literal>true</literal>): "
+"A value of <literal>false</literal> specifies that the elements of the "
+"collection never change (a minor performance optimization in some cases)."
-#: index.docbook:198
+#. Tag: title
+#: collection_mapping.xml:198
+#, no-c-format
msgid "Collection foreign keys"
-msgstr "Las instancias de colección se distinguen en la base de datos por la clave foránea de la entidad que posee la colección. Se hace referencia a esta clave foránea como la <emphasis>columna clave de colección</emphasis> (o columnas) de la tabla de colección. La columna clave de la colección es mapeada por el elemento <literal><key></literal>."
+msgstr "Claves foráneas de collección"
-#: 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 <emphasis>collection key column</emphasis> (or columns) of the collection table. The collection key column is mapped by the <literal><key></literal> element."
-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>."
+#. Tag: para
+#: collection_mapping.xml:200
+#, no-c-format
+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 "
+"<emphasis>collection key column</emphasis> (or columns) of the collection "
+"table. The collection key column is mapped by the <literal><key></"
+"literal> element."
+msgstr ""
+"Las instancias de colección se distinguen en la base de datos por la clave "
+"foránea de la entidad que posee la colección. Se hace referencia a esta "
+"clave foránea como la <emphasis>columna clave de colección</emphasis> (o "
+"columnas) de la tabla de colección. La columna clave de la colección es "
+"mapeada por el elemento <literal><key></literal>."
-#: 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 "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
+#. Tag: para
+#: collection_mapping.xml:208
+#, no-c-format
+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>."
-#: index.docbook:215
+#. Tag: programlisting
+#: collection_mapping.xml:215
+#, no-c-format
msgid "<![CDATA[<key column=\"productSerialNumber\" not-null=\"true\"/>]]>"
-msgstr "La restricción de clave foránea puede usar <literal>ON DELETE CASCADE</literal>."
+msgstr ""
-#: index.docbook:217
-msgid "The foreign key constraint may use <literal>ON DELETE CASCADE</literal>."
-msgstr "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
+#. Tag: para
+#: collection_mapping.xml:217
+#, no-c-format
+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>."
-#: index.docbook:221
+#. Tag: programlisting
+#: collection_mapping.xml:221
+#, no-c-format
msgid "<![CDATA[<key column=\"productSerialNumber\" on-delete=\"cascade\"/>]]>"
-msgstr "Mira el capítulo anterior por una definición completa del elemento <literal><key></literal>."
+msgstr ""
-#: index.docbook:223
-msgid "See the previous chapter for a full definition of the <literal><key></literal> element."
-msgstr "Elementos de collección"
+#. Tag: para
+#: collection_mapping.xml:223
+#, no-c-format
+msgid ""
+"See the previous chapter for a full definition of the <literal><key></"
+"literal> element."
+msgstr ""
+"Mira el capítulo anterior por una definición completa del elemento "
+"<literal><key></literal>."
-#: index.docbook:231
+#. Tag: title
+#: collection_mapping.xml:231
+#, no-c-format
msgid "Collection elements"
-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."
+msgstr "Elementos de collección"
-#: 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 entities. This is an important distinction: an object in a collection might be handled with \"value\" semantics (its life cycle fully depends on the collection owner) or it might be a reference to another entity, with its own life cycle. In the latter case, only the \"link\" between the two objects is considered to be state held by the collection."
-msgstr "Se hace referencia al tipo contenido como el <emphasis>tipo de elemento de la colección</emphasis>. Los elementos de colección son mapeados por <literal><element></literal> o <literal><composite-element></literal>, o en el caso de referencias de entidades, con <literal><one-to-many></literal> o <literal><many-to-many></literal>. Las dos primeras mapean elementos con semántica de valor, los dos siguientes son usados para mapear asociaciones de entidades."
+#. Tag: para
+#: collection_mapping.xml:233
+#, no-c-format
+msgid ""
+"Collections may contain almost any other Hibernate type, including all basic "
+"types, custom types, components, and of course, references to other "
+"entities. This is an important distinction: an object in a collection might "
+"be handled with \"value\" semantics (its life cycle fully depends on the "
+"collection owner) or it might be a reference to another entity, with its own "
+"life cycle. In the latter case, only the \"link\" between the two objects is "
+"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."
-#: index.docbook:242
-msgid "The contained type is referred to as the <emphasis>collection element type</emphasis>. Collection elements are mapped by <literal><element></literal> or <literal><composite-element></literal>, or in the case of entity references, with <literal><one-to-many></literal> or <literal><many-to-many></literal>. The first two map elements with value semantics, the next two are used to map entity associations."
-msgstr "Colecciones indexadas"
+#. Tag: para
+#: collection_mapping.xml:242
+#, no-c-format
+msgid ""
+"The contained type is referred to as the <emphasis>collection element type</"
+"emphasis>. Collection elements are mapped by <literal><element></"
+"literal> or <literal><composite-element></literal>, or in the case of "
+"entity references, with <literal><one-to-many></literal> or "
+"<literal><many-to-many></literal>. The first two map elements with "
+"value semantics, the next two are used to map entity associations."
+msgstr ""
+"Se hace referencia al tipo contenido como el <emphasis>tipo de elemento de "
+"la colección</emphasis>. Los elementos de colección son mapeados por "
+"<literal><element></literal> o <literal><composite-element></"
+"literal>, o en el caso de referencias de entidades, con <literal><one-to-"
+"many></literal> o <literal><many-to-many></literal>. Las dos "
+"primeras mapean elementos con semántica de valor, los dos siguientes son "
+"usados para mapear asociaciones de entidades."
-#: index.docbook:254
+#. Tag: title
+#: collection_mapping.xml:254
+#, no-c-format
msgid "Indexed collections"
-msgstr "Todos los mapeos de colección, excepto aquellos con semántica de set o bag, necesitan una <emphasis>columna índice</emphasis> en la tabla de colección, una columna que mapea a un índice de array, o índice de <literal>List</literal>, o clave de <literal>Map</literal>. El índice de un <literal>Map</literal> puede ser de cualquier tipo básico, mapeado con <literal><map-key></literal>, o puede ser una referencia de entidad, mapeada con <literal><map-key-many-to-many></literal>, o puede ser un tipo compuesto, mapeado con <literal><composite-map-key></literal>. El índice de un array o lista es siempre de tipo <literal>integer</literal> y se mapea usando el elemento <literal><list-index></literal>. La columna mapeada contiene enteros secuenciales (numerados desde cero, por defecto)."
+msgstr "Colecciones indexadas"
-#: 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 maps to an array index, or <literal>List</literal> index, or <literal>Map</literal> key. The index of a <literal>Map</literal> may be of any basic type, mapped with <literal><map-key></literal>, it may be an entity reference mapped with <literal><map-key-many-to-many></literal>, or it may be a composite type, mapped with <literal><composite-map-key></literal>. The index of an array or list is always of type <literal>integer</literal> and is mapped using the <literal><list-index></literal> element. The mapped column contains sequential integers (numbered from zero, by default)."
+#. Tag: para
+#: collection_mapping.xml:256
+#, no-c-format
+msgid ""
+"All collection mappings, except those with set and bag semantics, need an "
+"<emphasis>index column</emphasis> in the collection table - a column that "
+"maps to an array index, or <literal>List</literal> index, or <literal>Map</"
+"literal> key. The index of a <literal>Map</literal> may be of any basic "
+"type, mapped with <literal><map-key></literal>, it may be an entity "
+"reference mapped with <literal><map-key-many-to-many></literal>, or it "
+"may be a composite type, mapped with <literal><composite-map-key></"
+"literal>. The index of an array or list is always of type <literal>integer</"
+"literal> and is mapped using the <literal><list-index></literal> "
+"element. The mapped column contains sequential integers (numbered from zero, "
+"by default)."
msgstr ""
- "<programlistingco> <areaspec> <area id=\"index1\" coords=\"2 45\"/> <area id=\"index2\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<list-index \n"
- " column=\"column_name\"\n"
- " base=\"0|1|...\"/>]]></programlisting> <calloutlist> <callout arearefs=\"index1\"> <para> <literal>column_name</literal> (requerido): El nombre de la columna que tiene los valores índice de la colección. </para> </callout> <callout arearefs=\"index1\"> <para> <literal>base</literal> (opcional, por defecto a <literal>0</literal>): El valor de la columna índice que corresponde al primer elemento de la lista o array. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"mapkey1\" coords=\"2 45\"/> <area id=\"mapkey2\" coords=\"3 45\"/> <area id=\"mapkey3\" coords=\"4 45\"/> </areaspec> <programlisting><![CDATA[<map-key \n"
- " column=\"column_name\"\n"
- " formula=\"any SQL expression\"\n"
- " type=\"type_name\"\n"
- " node=\"@attribute-name\"\n"
- " length=\"N\"/>]]></programlisting> <calloutlist> <callout arearefs=\"mapkey1\"> <para> <literal>column</literal> (opcional): El nombre de la columna que tiene los valores índice de la colección. </para> </callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> (opcional): Una fórmula SQL usada para evaluar la clave del mapa. </para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</literal> (requerido): el tipo de las claves del mapa. </para> </callout> </calloutlist> </programlistingco> <programlistingco> <areaspec> <area id=\"indexmanytomany1\" coords=\"2 45\"/> <area id=\"indexmanytomany2\" coords=\"3 45\"/> <area id=\"indexmanytomany3\" coords=\"3 45\"/> </areaspec> <programlisting><![CDATA[<map-key-many-to-many\n"
- " column=\"column_name\"\n"
- " formula=\"any SQL expression\"\n"
- " class=\"ClassName\"\n"
- "/>]]></programlisting> <calloutlist> <callout arearefs=\"indexmanytomany1\"> <para> <literal>column</literal> (opcional): El nombre de la columna clave foránea para los valores índice de la colección. </para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> <literal>formula</literal> (opcional): Una fórmula SQL usada para evaluar la clave foránea de la clave del mapa. </para> </callout> <callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> (requerido): La clase de entidad usada como clave del mapa. </para> </callout> </calloutlist> </programlistingco>"
+"Todos los mapeos de colección, excepto aquellos con semántica de set o bag, "
+"necesitan una <emphasis>columna índice</emphasis> en la tabla de colección, "
+"una columna que mapea a un índice de array, o índice de <literal>List</"
+"literal>, o clave de <literal>Map</literal>. El índice de un <literal>Map</"
+"literal> puede ser de cualquier tipo básico, mapeado con <literal><map-"
+"key></literal>, o puede ser una referencia de entidad, mapeada con "
+"<literal><map-key-many-to-many></literal>, o puede ser un tipo "
+"compuesto, mapeado con <literal><composite-map-key></literal>. El "
+"índice de un array o lista es siempre de tipo <literal>integer</literal> y "
+"se mapea usando el elemento <literal><list-index></literal>. La "
+"columna mapeada contiene enteros secuenciales (numerados desde cero, por "
+"defecto)."
-#: index.docbook:267
+#. Tag: sect2
+#: collection_mapping.xml:267
+#, no-c-format
msgid ""
- "<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> (required): The name of the column holding the collection index values. </para> </callout> <callout arearefs=\"index1\"> <para> <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. </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> (optional): The name of the column holding the collection index values. </para> </callout> <callout arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): A SQL formula used to evaluate the key of the map. </para> </callout> <callout arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguired): The type of the map keys. </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> (optional): The name of the foreign key column for the collection index values. </para> </callout> <callout arearefs=\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): A SQL formula used to evaluate the foreign key of the map key. </para> </callout> <callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> (required): The entity class used as the map key. </para> </callout> </calloutlist> </programlistingco>"
-msgstr "Si tu tabla no tiene una columna índice, y deseas aún usar <literal>List</literal> como tipo de propiedad, debes mapear la propiedad como un <emphasis><bag></emphasis> de Hibernate. Un bag (bolsa) no retiene su orden al ser recuperado de la base de datos, pero puede ser ordenado o clasificado opcionalmente."
+"<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> (required): The "
+"name of the column holding the collection index values. </para> </callout> "
+"<callout arearefs=\"index1\"> <para> <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. </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> (optional): The name of the "
+"column holding the collection index values. </para> </callout> <callout "
+"arearefs=\"mapkey2\"> <para> <literal>formula</literal> (optional): A SQL "
+"formula used to evaluate the key of the map. </para> </callout> <callout "
+"arearefs=\"mapkey3\"> <para> <literal>type</literal> (reguired): The type of "
+"the map keys. </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> (optional): The name of the foreign key "
+"column for the collection index values. </para> </callout> <callout arearefs="
+"\"indexmanytomany2\"> <para> <literal>formula</literal> (optional): A SQL "
+"formula used to evaluate the foreign key of the map key. </para> </callout> "
+"<callout arearefs=\"indexmanytomany3\"> <para> <literal>class</literal> "
+"(required): The entity class used as the map key. </para> </callout> </"
+"calloutlist> </programlistingco>"
+msgstr ""
-#: 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 a Hibernate <emphasis><bag></emphasis>. A bag does not retain its order when it is retrieved from the database, but it may be optionally sorted or ordered."
-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."
+#. Tag: para
+#: collection_mapping.xml:348
+#, no-c-format
+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 "
+"a Hibernate <emphasis><bag></emphasis>. A bag does not retain its "
+"order when it is retrieved from the database, but it may be optionally "
+"sorted or ordered."
+msgstr ""
+"Si tu tabla no tiene una columna índice, y deseas aún usar <literal>List</"
+"literal> como tipo de propiedad, debes mapear la propiedad como un "
+"<emphasis><bag></emphasis> de Hibernate. Un bag (bolsa) no retiene su "
+"orden al ser recuperado de la base de datos, pero puede ser ordenado o "
+"clasificado opcionalmente."
-#: 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 schema generation tool to get a feeling for how various mapping declarations translate to database tables."
-msgstr "Colecciones de valores y asociaciones muchos-a-muchos"
+#. Tag: para
+#: collection_mapping.xml:357
+#, no-c-format
+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 "
+"schema generation tool to get a feeling for how various mapping declarations "
+"translate to database tables."
+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."
-#: index.docbook:364
+#. Tag: title
+#: collection_mapping.xml:364
+#, no-c-format
msgid "Collections of values and many-to-many associations"
-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."
+msgstr "Colecciones de valores y asociaciones muchos-a-muchos"
-#: 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 "Para una colección de valores, usamos la etiqueta <literal><element></literal>."
+#. Tag: para
+#: collection_mapping.xml:366
+#, no-c-format
+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."
-#: index.docbook:373
-msgid "For a collection of values, we use the <literal><element></literal> tag."
+#. Tag: para
+#: collection_mapping.xml:373
+#, no-c-format
+msgid ""
+"For a collection of values, we use the <literal><element></literal> "
+"tag."
msgstr ""
- "<programlistingco> <areaspec> <area id=\"element1b\" coords=\"2 50\"/> <area id=\"element2b\" coords=\"3 50\"/> <area id=\"element3b\" coords=\"4 50\"/> </areaspec> <programlisting><![CDATA[<element\n"
- " column=\"column_name\"\n"
- " formula=\"any SQL expression\"\n"
- " type=\"typename\"\n"
- " length=\"L\"\n"
- " precision=\"P\"\n"
- " scale=\"S\"\n"
- " not-null=\"true|false\"\n"
- " unique=\"true|false\"\n"
- " node=\"element-name\"\n"
- "/>]]></programlisting> <calloutlist> <callout arearefs=\"element1b\"> <para> <literal>column</literal> (opcional): El nombre de la columna que tiene los valores de los elementos de la colección. </para> </callout> <callout arearefs=\"element2b\"> <para> <literal>formula</literal> (opcional): Una fórmula SQL usada para evaluar el elemento. </para> </callout> <callout arearefs=\"element3b\"> <para> <literal>type</literal> (requerido): El tipo del elemento de colección. </para> </callout> </calloutlist> </programlistingco> <para> Una <emphasis>asociación muchos-a-muchos</emphasis> se especifica usando el elemento <literal><many-to-many></literal>. </para> <programlistingco> <areaspec> <area id=\"manytomany1\" coords=\"2 60\"/> <area id=\"manytomany2\" coords=\"3 60\"/> <area id=\"manytomany3\" coords=\"4 60\"/> <area id=\"manytomany4\" coords=\"5 60\"/> <area id=\"manytomany5\" coords=\"6 60\"/> <area id=\"manytomany6\" coords=\"7 60\"/!
> <area id=\"manytomany7\" coords=\"8 60\"/> </areaspec> <programlisting><![CDATA[<many-to-many\n"
- " column=\"column_name\"\n"
- " formula=\"any SQL expression\"\n"
- " class=\"ClassName\"\n"
- " fetch=\"select|join\"\n"
- " unique=\"true|false\"\n"
- " not-found=\"ignore|exception\"\n"
- " entity-name=\"EntityName\"\n"
- " node=\"element-name\"\n"
- " embed-xml=\"true|false\"\n"
- " />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> <para> <literal>column</literal> (opcional): El nombre de la columna de clave foránea del elemento. </para> </callout> <callout arearefs=\"manytomany2\"> <para> <literal>formula</literal> (opcional): Una fórmula SQL opcional usada para evaluar el valor de clave foránea del elemento. </para> </callout> <callout arearefs=\"manytomany3\"> <para> <literal>class</literal> (requerido): El nombre de la clase asociada. </para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</literal> (opcional - por defecto a <literal>join</literal>): habilita la recuperación por unión externa o selección secuencial para esta asociación. Este es un caso especial; para una recuperación completamente temprana (en un solo <literal>SELECT</literal>) de una entidad y sus relaciones muchos-a-muchos a otras entidades, deberías habilitar la re!
cuperación <literal>join</literal> no sólo de la colección misma, sino también con este atributo en el elemento anidado <literal><many-to-many></literal>. </para> </callout> <callout arearefs=\"manytomany5\"> <para> <literal>unique</literal> (opcional): Habilita la generación DDL de una restricción de unicidad para la columna clave foránea. Esto hace la multiplicidad de la asociación efectivamente uno a muchos. </para> </callout> <callout arearefs=\"manytomany6\"> <para> <literal>not-found</literal> (opcional - por defecto a <literal>exception</literal>): Especifica cómo serán manejadas las claves foráneas que referencian filas perdidas: <literal>ignore</literal> tratará una fila perdida como una asociación nula. </para> </callout> <callout arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (opcional): El nombre de entidad de la clase asociada, como una alternativa !
a <literal>class</literal>. </para> </callout> </calloutlist> </progra
mlistingco>"
+"Para una colección de valores, usamos la etiqueta <literal><element></"
+"literal>."
-#: index.docbook:375
+#. Tag: sect2
+#: collection_mapping.xml:375
+#, no-c-format
msgid ""
- "<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> (optional): The name of the column holding the collection element values. </para> </callout> <callout arearefs=\"element2b\"> <para> <literal>formula</literal> (optional): An SQL formula used to evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> <para> <literal>type</literal> (required): The type of the collection element. </para> </callout> </calloutlist> </programlistingco> <para> A <emphasis>many-to-many association</emphasis> is specified using the <literal><many-to-many></literal> element. </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\"/> <area id=\!
"manytomany8\" coords=\"9 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"
- " property-ref=\"propertyNameFromAssociatedClass\"\n"
- " node=\"element-name\"\n"
- " embed-xml=\"true|false\"\n"
- " />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> <para> <literal>column</literal> (optional): The name of the element foreign key column. </para> </callout> <callout arearefs=\"manytomany2\"> <para> <literal>formula</literal> (optional): An SQL formula used to evaluate the element foreign key value. </para> </callout> <callout arearefs=\"manytomany3\"> <para> <literal>class</literal> (required): The name of the associated class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> <literal>fetch</literal> (optional - defaults to <literal>join</literal>): enables outer-join or sequential select fetching for this association. This is a special case; for full eager fetching (in a single <literal>SELECT</literal>) of an entity and its many-to-many relationships to other entities, you would enable <literal>join</literal> fetching not only of the collection itself, but also with this attribute on the <literal><many-to-many></literal!
> nested element. </para> </callout> <callout arearefs=\"manytomany5\"> <para> <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. </para> </callout> <callout arearefs=\"manytomany6\"> <para> <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. </para> </callout> <callout arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): The entity name of the associated class, as an alternative to <literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8\"> <para> <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>"
+"<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> (optional): The name of the column holding the "
+"collection element values. </para> </callout> <callout arearefs=\"element2b"
+"\"> <para> <literal>formula</literal> (optional): An SQL formula used to "
+"evaluate the element. </para> </callout> <callout arearefs=\"element3b\"> "
+"<para> <literal>type</literal> (required): The type of the collection "
+"element. </para> </callout> </calloutlist> </programlistingco> <para> A "
+"<emphasis>many-to-many association</emphasis> is specified using the "
+"<literal><many-to-many></literal> element. </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\"/> <area id=\"manytomany8\" coords=\"9 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"
+" property-ref=\"propertyNameFromAssociatedClass\"\n"
+" node=\"element-name\"\n"
+" embed-xml=\"true|false\"\n"
+" />]]></programlisting> <calloutlist> <callout arearefs=\"manytomany1\"> "
+"<para> <literal>column</literal> (optional): The name of the element foreign "
+"key column. </para> </callout> <callout arearefs=\"manytomany2\"> <para> "
+"<literal>formula</literal> (optional): An SQL formula used to evaluate the "
+"element foreign key value. </para> </callout> <callout arearefs=\"manytomany3"
+"\"> <para> <literal>class</literal> (required): The name of the associated "
+"class. </para> </callout> <callout arearefs=\"manytomany4\"> <para> "
+"<literal>fetch</literal> (optional - defaults to <literal>join</literal>): "
+"enables outer-join or sequential select fetching for this association. This "
+"is a special case; for full eager fetching (in a single <literal>SELECT</"
+"literal>) of an entity and its many-to-many relationships to other entities, "
+"you would enable <literal>join</literal> fetching not only of the collection "
+"itself, but also with this attribute on the <literal><many-to-many></"
+"literal> nested element. </para> </callout> <callout arearefs=\"manytomany5"
+"\"> <para> <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. </para> </callout> "
+"<callout arearefs=\"manytomany6\"> <para> <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. </para> </callout> <callout "
+"arearefs=\"manytomany7\"> <para> <literal>entity-name</literal> (optional): "
+"The entity name of the associated class, as an alternative to "
+"<literal>class</literal>. </para> </callout> <callout arearefs=\"manytomany8"
+"\"> <para> <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>"
+msgstr ""
+
+#. Tag: para
+#: collection_mapping.xml:480
+#, no-c-format
+msgid "Some examples, first, a set of strings:"
msgstr "Algunos ejemplos, primero, un conjunto de cadenas:"
-#: index.docbook:480
-msgid "Some examples, first, a set of strings:"
+#. Tag: programlisting
+#: collection_mapping.xml:484
+#, no-c-format
+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>]]>"
-#: index.docbook:484
+#. Tag: para
+#: collection_mapping.xml:486
+#, no-c-format
msgid ""
- "<![CDATA[<set name=\"names\" table=\"person_names\">\n"
- " <key column=\"person_id\"/>\n"
- " <element column=\"person_name\" type=\"string\"/>\n"
- "</set>]]>"
-msgstr "Un bag conteniendo enteros (con un orden de iteración determinado por el atributo <literal>order-by</literal>):"
-
-#: index.docbook:486
-msgid "A bag containing integers (with an iteration order determined by the <literal>order-by</literal> attribute):"
+"A bag containing integers (with an iteration order determined by the "
+"<literal>order-by</literal> attribute):"
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>]]>"
+"Un bag conteniendo enteros (con un orden de iteración determinado por el "
+"atributo <literal>order-by</literal>):"
-#: index.docbook:491
+#. Tag: programlisting
+#: collection_mapping.xml:491
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Un array de entidades - en este caso, una asociación muchos a muchos:"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:493
+#. Tag: para
+#: collection_mapping.xml:493
+#, no-c-format
msgid "An array of entities - in this case, a many to many association:"
-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>]]>"
+msgstr "Un array de entidades - en este caso, una asociación muchos a muchos:"
-#: index.docbook:497
+#. Tag: programlisting
+#: collection_mapping.xml:497
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Un mapa de índices de cadenas a fechas:"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:499
+#. Tag: para
+#: collection_mapping.xml:499
+#, no-c-format
msgid "A map from string indices to dates:"
-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>]]>"
+msgstr "Un mapa de índices de cadenas a fechas:"
-#: index.docbook:503
+#. Tag: programlisting
+#: collection_mapping.xml:503
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Una lista de componentes (discutidos en el próximo capítulo):"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:505
+#. Tag: para
+#: collection_mapping.xml:505
+#, no-c-format
msgid "A list of components (discussed in the next chapter):"
-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>]]>"
+msgstr "Una lista de componentes (discutidos en el próximo capítulo):"
-#: index.docbook:509
+#. Tag: programlisting
+#: collection_mapping.xml:509
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Asociaciones uno-a-muchos"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:514
+#. Tag: title
+#: collection_mapping.xml:514
+#, no-c-format
msgid "One-to-many associations"
-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:"
+msgstr "Asociaciones uno-a-muchos"
-#: 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 instancia de la clase entidad contenida no puede pertenecer a más de una instancia de la colección."
+#. Tag: para
+#: collection_mapping.xml:516
+#, no-c-format
+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:"
-#: 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 aparecer en más de un valor del índice de colección."
+#. Tag: para
+#: collection_mapping.xml:524
+#, no-c-format
+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."
-#: 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 asociación de <literal>Product</literal> a <literal>Part</literal> requiere la existencia de una columna clave foránea y posiblemente una columna índice a la tabla <literal>Part</literal>. Una etiqueta <literal><one-to-many></literal> indica que ésta es una asociación uno a muchos."
+#. Tag: para
+#: collection_mapping.xml:530
+#, no-c-format
+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."
-#: index.docbook:537
-msgid "An association from <literal>Product</literal> to <literal>Part</literal> requires existence of a foreign key column and possibly an index column to the <literal>Part</literal> table. A <literal><one-to-many></literal> tag indicates that this is a one to many association."
+#. Tag: para
+#: collection_mapping.xml:537
+#, no-c-format
+msgid ""
+"An association from <literal>Product</literal> to <literal>Part</literal> "
+"requires existence of a foreign key column and possibly an index column to "
+"the <literal>Part</literal> table. A <literal><one-to-many></literal> "
+"tag indicates that this is a one to many association."
msgstr ""
- "<![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"
- " />]]>"
+"Una asociación de <literal>Product</literal> a <literal>Part</literal> "
+"requiere la existencia de una columna clave foránea y posiblemente una "
+"columna índice a la tabla <literal>Part</literal>. Una etiqueta <literal><"
+"one-to-many></literal> indica que ésta es una asociación uno a muchos."
-#: index.docbook:550
+#. Tag: programlisting
+#: collection_mapping.xml:550
+#, no-c-format
msgid ""
- "<![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"
- " />]]>"
-msgstr "<literal>class</literal> (requerido): El nombre de la clase asociada."
+"<![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"
+" />]]>"
+msgstr ""
-#: index.docbook:553
+#. Tag: para
+#: collection_mapping.xml:553
+#, no-c-format
msgid "<literal>class</literal> (required): The name of the associated class."
-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."
+msgstr "<literal>class</literal> (requerido): El nombre de la clase asociada."
-#: index.docbook:558
-msgid "<literal>not-found</literal> (optional - defaults to <literal>exception</literal>): Specifies how cached identifiers that reference missing rows will be handled: <literal>ignore</literal> will treat a missing row as a null association."
-msgstr "<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:558
+#, no-c-format
+msgid ""
+"<literal>not-found</literal> (optional - defaults to <literal>exception</"
+"literal>): Specifies how cached identifiers 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 manejados los identificadores en caché que "
+"referencien filas perdidas: <literal>ignore</literal> tratará una fila "
+"perdida como una asociación nula."
-#: index.docbook:565
-msgid "<literal>entity-name</literal> (optional): The entity name of the associated class, as an alternative to <literal>class</literal>."
-msgstr "Observa que el elemento <literal><one-to-many></literal> no necesita declarar ninguna columna. Ni es necesario especificar el nombre de <literal>table</literal> en ningún sitio."
+#. Tag: para
+#: collection_mapping.xml:565
+#, no-c-format
+msgid ""
+"<literal>entity-name</literal> (optional): The entity name of the associated "
+"class, as an alternative to <literal>class</literal>."
+msgstr ""
+"<literal>entity-name</literal> (opcional): El nombre de entidad de la clase "
+"asociada, como una alternativa a <literal>class</literal>."
-#: index.docbook:573
-msgid "Notice that the <literal><one-to-many></literal> element does not need to declare any columns. Nor is it necessary to specify the <literal>table</literal> name anywhere."
-msgstr "<emphasis>Nota muy importante:</emphasis> Si la columna clave foránea de una asociación <literal><one-to-many></literal> es declarada <literal>NOT NULL</literal>, debes declarar el mapeo de <literal><key></literal> <literal>not-null=\"true\"</literal> o <emphasis>usar una asociación bidireccional</emphasis> con el mapeo de colección marcado <literal>inverse=\"true\"</literal>. Ver la discusión sobre asociaciones bidireccionales más adelante en este capítulo."
+#. Tag: para
+#: collection_mapping.xml:573
+#, no-c-format
+msgid ""
+"Notice that the <literal><one-to-many></literal> element does not need "
+"to declare any columns. Nor is it necessary to specify the <literal>table</"
+"literal> name anywhere."
+msgstr ""
+"Observa que el elemento <literal><one-to-many></literal> no necesita "
+"declarar ninguna columna. Ni es necesario especificar el nombre de "
+"<literal>table</literal> en ningún sitio."
-#: index.docbook:579
-msgid "<emphasis>Very important note:</emphasis> If the foreign key column of a <literal><one-to-many></literal> association is declared <literal>NOT NULL</literal>, you must declare the <literal><key></literal> mapping <literal>not-null=\"true\"</literal> or <emphasis>use a bidirectional association</emphasis> with the collection mapping marked <literal>inverse=\"true\"</literal>. See the discussion of bidirectional associations later in this chapter."
-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."
+#. Tag: para
+#: collection_mapping.xml:579
+#, no-c-format
+msgid ""
+"<emphasis>Very important note:</emphasis> If the foreign key column of a "
+"<literal><one-to-many></literal> association is declared <literal>NOT "
+"NULL</literal>, you must declare the <literal><key></literal> mapping "
+"<literal>not-null=\"true\"</literal> or <emphasis>use a bidirectional "
+"association</emphasis> with the collection mapping marked <literal>inverse="
+"\"true\"</literal>. See the discussion of bidirectional associations later "
+"in this chapter."
+msgstr ""
+"<emphasis>Nota muy importante:</emphasis> Si la columna clave foránea de una "
+"asociación <literal><one-to-many></literal> es declarada <literal>NOT "
+"NULL</literal>, debes declarar el mapeo de <literal><key></"
+"literal><literal>not-null=\"true\"</literal> o <emphasis>usar una asociación "
+"bidireccional</emphasis> con el mapeo de colección marcado <literal>inverse="
+"\"true\"</literal>. Ver la discusión sobre asociaciones bidireccionales más "
+"adelante en este capítulo."
-#: 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</literal>). Notice the use of a formula-based index."
+#. Tag: para
+#: collection_mapping.xml:588
+#, no-c-format
+msgid ""
+"This example shows a map of <literal>Part</literal> entities by name (where "
+"<literal>partName</literal> is a persistent property of <literal>Part</"
+"literal>). Notice the use of a formula-based index."
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>]]>"
+"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."
-#: index.docbook:594
+#. Tag: programlisting
+#: collection_mapping.xml:594
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Mapeos de colección avanzados"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:600
+#. Tag: title
+#: collection_mapping.xml:600
+#, no-c-format
msgid "Advanced collection mappings"
-msgstr "Colecciones ordenadas"
+msgstr "Mapeos de colección avanzados"
-#: index.docbook:603
+#. Tag: title
+#: collection_mapping.xml:603
+#, no-c-format
msgid "Sorted collections"
-msgstr "Hibernate soporta colecciones implementando <literal>java.util.SortedMap</literal> y <literal>java.util.SortedSet</literal>. Debes especificar un comparador en el fichero de mapeo:"
+msgstr "Colecciones ordenadas"
-#: index.docbook:605
-msgid "Hibernate supports collections implementing <literal>java.util.SortedMap</literal> and <literal>java.util.SortedSet</literal>. You must specify a comparator in the mapping file:"
+#. Tag: para
+#: collection_mapping.xml:605
+#, no-c-format
+msgid ""
+"Hibernate supports collections implementing <literal>java.util.SortedMap</"
+"literal> and <literal>java.util.SortedSet</literal>. You must specify a "
+"comparator in the mapping file:"
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>]]>"
+"Hibernate soporta colecciones implementando <literal>java.util.SortedMap</"
+"literal> y <literal>java.util.SortedSet</literal>. Debes especificar un "
+"comparador en el fichero de mapeo:"
-#: index.docbook:610
+#. Tag: programlisting
+#: collection_mapping.xml:610
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Los valores permitidos del atributo <literal>sort</literal> son <literal>unsorted</literal>, <literal>natural</literal> y el nombre de una clase que implemente <literal>java.util.Comparator</literal>."
+"<![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>]]>"
+msgstr ""
-#: index.docbook:612
-msgid "Allowed values of the <literal>sort</literal> attribute are <literal>unsorted</literal>, <literal>natural</literal> and the name of a class implementing <literal>java.util.Comparator</literal>."
-msgstr "Las colecciones ordenadas realmente se comportan como <literal>java.util.TreeSet</literal> o <literal>java.util.TreeMap</literal>."
+#. Tag: para
+#: collection_mapping.xml:612
+#, no-c-format
+msgid ""
+"Allowed values of the <literal>sort</literal> attribute are "
+"<literal>unsorted</literal>, <literal>natural</literal> and the name of a "
+"class implementing <literal>java.util.Comparator</literal>."
+msgstr ""
+"Los valores permitidos del atributo <literal>sort</literal> son "
+"<literal>unsorted</literal>, <literal>natural</literal> y el nombre de una "
+"clase que implemente <literal>java.util.Comparator</literal>."
-#: index.docbook:618
-msgid "Sorted collections actually behave like <literal>java.util.TreeSet</literal> or <literal>java.util.TreeMap</literal>."
-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."
+#. Tag: para
+#: collection_mapping.xml:618
+#, no-c-format
+msgid ""
+"Sorted collections actually behave like <literal>java.util.TreeSet</literal> "
+"or <literal>java.util.TreeMap</literal>."
+msgstr ""
+"Las colecciones ordenadas realmente se comportan como <literal>java.util."
+"TreeSet</literal> o <literal>java.util.TreeMap</literal>."
-#: 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>, <literal>bag</literal> or <literal>map</literal> mappings. This solution is only available under JDK 1.4 or higher (it is implemented using <literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This performs the ordering in the SQL query, not in memory."
+#. Tag: para
+#: collection_mapping.xml:623
+#, no-c-format
+msgid ""
+"If you want the database itself to order the collection elements use the "
+"<literal>order-by</literal> attribute of <literal>set</literal>, "
+"<literal>bag</literal> or <literal>map</literal> mappings. This solution is "
+"only available under JDK 1.4 or higher (it is implemented using "
+"<literal>LinkedHashSet</literal> or <literal>LinkedHashMap</literal>). This "
+"performs the ordering in the SQL query, not in memory."
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>]]>"
+"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."
-#: index.docbook:632
+#. Tag: programlisting
+#: collection_mapping.xml:632
+#, no-c-format
msgid ""
- "<![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>]]>"
-msgstr "Observa que el valor del atributo <literal>order-by</literal> es una ordenación SQL, no una ordenación HQL!"
+"<![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>]]>"
+msgstr ""
-#: index.docbook:634
-msgid "Note that the value of the <literal>order-by</literal> attribute is an SQL ordering, not a HQL ordering!"
-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."
+#. Tag: para
+#: collection_mapping.xml:634
+#, no-c-format
+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!"
-#: index.docbook:639
-msgid "Associations may even be sorted by some arbitrary criteria at runtime using a collection <literal>filter()</literal>."
-msgstr "<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name\" ).list();]]>"
+#. Tag: para
+#: collection_mapping.xml:639
+#, no-c-format
+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."
-#: index.docbook:644
-msgid "<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name\" ).list();]]>"
-msgstr "Asociaciones bidireccionales"
+#. Tag: programlisting
+#: collection_mapping.xml:644
+#, no-c-format
+msgid ""
+"<![CDATA[sortedUsers = s.createFilter( group.getUsers(), \"order by this.name"
+"\" ).list();]]>"
+msgstr ""
-#: index.docbook:649
+#. Tag: title
+#: collection_mapping.xml:649
+#, no-c-format
msgid "Bidirectional associations"
-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:"
+msgstr "Asociaciones bidireccionales"
-#: 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 "uno-a-muchos"
+#. Tag: para
+#: collection_mapping.xml:651
+#, fuzzy, no-c-format
+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/>"
-#: index.docbook:658
+#. Tag: term
+#: collection_mapping.xml:658
+#, no-c-format
msgid "one-to-many"
-msgstr "set o bag valorados en un extremo, monovaluados al otro"
+msgstr "uno-a-muchos"
-#: index.docbook:660
+#. Tag: para
+#: collection_mapping.xml:660
+#, no-c-format
msgid "set or bag valued at one end, single-valued at the other"
-msgstr "muchos-a-muchos"
+msgstr "set o bag valorados en un extremo, monovaluados al otro"
-#: index.docbook:666
+#. Tag: term
+#: collection_mapping.xml:666
+#, no-c-format
msgid "many-to-many"
-msgstr "set o bag valorados a ambos extremos"
+msgstr "muchos-a-muchos"
-#: index.docbook:668
+#. Tag: para
+#: collection_mapping.xml:668
+#, no-c-format
msgid "set or bag valued at both ends"
-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)."
+msgstr "set o bag valorados a ambos extremos"
-#: 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 "He aquí un ejemplo de una asociación bidireccional muchos-a-muchos; cada categoría puede tener muchos ítems y cada ítem puede estar en muchas categorías:"
+#. Tag: para
+#: collection_mapping.xml:677
+#, no-c-format
+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)."
-#: 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:"
+#. Tag: para
+#: collection_mapping.xml:684
+#, no-c-format
+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 ""
- "<![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>]]>"
+"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:"
-#: index.docbook:689
+#. Tag: programlisting
+#: collection_mapping.xml:689
+#, no-c-format
msgid ""
- "<![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>]]>"
-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:"
+"<![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>]]>"
+msgstr ""
-#: 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 memory for every bidirectional association, one link from A to B and another 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:"
+#. Tag: para
+#: collection_mapping.xml:691
+#, no-c-format
+msgid ""
+"Changes made only to the inverse end of the association are <emphasis>not</"
+"emphasis> persisted. This means that Hibernate has two representations in "
+"memory for every bidirectional association, one link from A to B and another "
+"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 ""
- "<![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]]>"
+"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:"
-#: index.docbook:699
+#. Tag: programlisting
+#: collection_mapping.xml:699
+#, no-c-format
msgid ""
- "<![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]]>"
-msgstr "El lado no-inverso se usa para salvar la representación en memoria a la base de datos."
+"<![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]]>"
+msgstr ""
-#: index.docbook:701
-msgid "The non-inverse side is used to save the in-memory representation to the database."
-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 <literal>inverse=\"true\"</literal>."
+#. Tag: para
+#: collection_mapping.xml:701
+#, no-c-format
+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."
-#: 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>."
+#. Tag: para
+#: collection_mapping.xml:705
+#, no-c-format
+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 ""
- "<![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>]]>"
+"Puedes definir una asociación bidireccional uno-a-muchos mapeando una "
+"asociación uno-a-muchos a la misma columna (o columnas) de tabla como una "
+"asociación muchos-a-uno y declarando el extremo multivaluado "
+"<literal>inverse=\"true\"</literal>."
-#: index.docbook:711
+#. Tag: programlisting
+#: collection_mapping.xml:711
+#, no-c-format
msgid ""
- "<![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=\"Child\">\n"
- " <id name=\"id\" column=\"child_id\"/>\n"
- " ....\n"
- " <many-to-one name=\"parent\" \n"
- " class=\"Parent\" \n"
- " column=\"parent_id\"\n"
- " not-null=\"true\"/>\n"
- "</class>]]>"
-msgstr "Mapear un extremo de una asociación con <literal>inverse=\"true\"</literal> no afecta la operación de cascadas; éstos son conceptos ortogonales!"
+"<![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=\"Child\">\n"
+" <id name=\"id\" column=\"child_id\"/>\n"
+" ....\n"
+" <many-to-one name=\"parent\" \n"
+" class=\"Parent\" \n"
+" column=\"parent_id\"\n"
+" not-null=\"true\"/>\n"
+"</class>]]>"
+msgstr ""
-#: 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 "Asociaciones bidireccionales con colecciones indexadas"
+#. Tag: para
+#: collection_mapping.xml:713
+#, no-c-format
+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!"
-#: index.docbook:721
+#. Tag: title
+#: collection_mapping.xml:721
+#, no-c-format
msgid "Bidirectional associations with indexed collections"
-msgstr "Requiere especial consideración una asociación bidireccional donde un extremo esté representado como una <literal><list></literal> o <literal><map></literal>. Si hay una propiedad de la clase hija que mapee a la columna índice, no hay problema, podemos seguir usando <literal>inverse=\"true\"</literal> en el mapeo de la colección:"
+msgstr "Asociaciones bidireccionales con colecciones indexadas"
-#: index.docbook:722
-msgid "A bidirectional association where one end is represented as a <literal><list></literal> or <literal><map></literal> requires special consideration. If there is a property of the child class which maps to the index column, no problem, we can continue using <literal>inverse=\"true\"</literal> on the collection mapping:"
+#. Tag: para
+#: collection_mapping.xml:722
+#, no-c-format
+msgid ""
+"A bidirectional association where one end is represented as a <literal><"
+"list></literal> or <literal><map></literal> requires special "
+"consideration. If there is a property of the child class which maps to the "
+"index column, no problem, we can continue using <literal>inverse=\"true\"</"
+"literal> on the collection mapping:"
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>]]>"
+"Requiere especial consideración una asociación bidireccional donde un "
+"extremo esté representado como una <literal><list></literal> o "
+"<literal><map></literal>. Si hay una propiedad de la clase hija que "
+"mapee a la columna índice, no hay problema, podemos seguir usando "
+"<literal>inverse=\"true\"</literal> en el mapeo de la colección:"
-#: index.docbook:729
+#. Tag: programlisting
+#: collection_mapping.xml:729
+#, no-c-format
msgid ""
- "<![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>]]>"
-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:"
+"<![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>]]>"
+msgstr ""
-#: 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 end of the association that is not available at the other end). In this case, we can't map the collection <literal>inverse=\"true\"</literal>. Instead, we could use the following mapping:"
+#. Tag: para
+#: collection_mapping.xml:731
+#, no-c-format
+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 "
+"end of the association that is not available at the other end). In this "
+"case, we can't map the collection <literal>inverse=\"true\"</literal>. "
+"Instead, we could use the following mapping:"
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>]]>"
+"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:"
-#: index.docbook:738
+#. Tag: programlisting
+#: collection_mapping.xml:738
+#, no-c-format
msgid ""
- "<![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>]]>"
-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."
+"<![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>]]>"
+msgstr ""
-#: 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 "Asociaciones ternarias"
+#. Tag: para
+#: collection_mapping.xml:740
+#, no-c-format
+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."
-#: index.docbook:748
+#. Tag: title
+#: collection_mapping.xml:748
+#, no-c-format
msgid "Ternary associations"
-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:"
+msgstr "Asociaciones ternarias"
-#: 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:"
+#. Tag: para
+#: collection_mapping.xml:750
+#, no-c-format
+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 ""
- "<![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>]]>"
+"Hay tres enfoques posibles para mapear una asociación ternaria. Una es usar "
+"un <literal>Map</literal> con una asociación como su índice:"
-#: index.docbook:755
+#. Tag: programlisting
+#: collection_mapping.xml:755
+#, no-c-format
msgid ""
- "<![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>]]>"
+"<![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>]]>"
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>]]>"
-#: index.docbook:757
+#. Tag: programlisting
+#: collection_mapping.xml:757
+#, no-c-format
msgid ""
- "<![CDATA[<map name=\"connections\">\n"
- " <key column=\"incoming_node_id\"/>\n"
- " <map-key-many-to-many column=\"outgoing_node